1、0摘要本论文主要介绍了利用 VB 来开发一套实现短信息收发功能的信息系统,并给出了短信息发送系统的软、硬件及设计过程,以及当前无线控制的发展趋势,与目前无线通信的紧密连接。该系统基于 GSM 原理利用手机通信的远程信息检视系统该系统利用了手机短信的远距离收发与单片机的有效结合,最大特点是可实现安全远距离实时监控,并记录监控结果,由于利用了 TC35 模块,所以硬件相对简单,主要有 PC 机、TC35 模块、单片机以及它们之间的串行接口,并进行编程来控制。PC 机与 TC35 模块之间的通信协议采 GSM 通用通信协议,利用 VB 语言的 MSC0MM 控件实现两者之间的通信,单片机部分采用了上
2、位机,使检测和检控在不同的地点,确保人员的安全,硬件看门狗使系统运行更可靠。关键词:VB;MSCOMM 控件;串口通信;短信息收发0目 录1 绪论 .01.1 无线 MODEM 的现状及应用领域 .01.2 无线 MODEM 的发展趋势 .01.3 本次毕业设计的主要内容 .12 无线 MODEM 设计的方案 .12.1 无线 MODEM 硬件电路的总体思路 12.2 无线 MODEM 设计软件工程实现的总体思路 13 短信息系统 .33.1 短信通信服务 33.2 基于短信息的远程控制系统 53.3 与短信息通信相关的 AT 指令 .53.4 短信息传输的格式 64 系统硬件 .94.1 西
3、门子 TC35 模块的外围电路 .94.2 MSP430 单片机介绍及外围电路 114.3 RS-232 的介绍及外围电路 124.4 复位电路 144.5 电源电路 155 Visusal Basic 的编程环境 .165.1 VB 软件介绍 165.2 VB6.0 的编程环境 .175.3 MSCOMM 控件 215.4 VB 对英文和汉字的处理 265.4 短信息收发系统的实现 .295.5 实现系统功能的调试 345.6 最终达到的结果 34总结 37致谢 38参考文 献 3901 绪论1.1 无线 MODEM 的现状及应用领域随着计算机通信技术的发展,计算机网络监控已成为各种重要现场
4、监控的必要技术手段,对于远程监控使用无线远程监控已经成为控制领域的发展趋势。GSM 网络由于其覆盖范围广、信号较稳定、无同频干扰、保密性好、可处理大量的短消息、数据和传真传送等业务功能,而 GSM 短消息具有随时在线(Always Online)不需拨号价格便宜覆盖范围广等特点,特别适合于需传送小流量数据的应用,而,广泛应用于油田、气象、港监、水网水文、环保监测、车辆船舶、移动作业等场所。以往这些领域往往采用集群通讯CDPD 网或有线 MODEM 来进行通讯,但这些技术大多存在通讯范围有限费用高每次通讯需先拨号等缺点。使用无线 MODEM,这些问题便迎刃而解。GSM 系统是目前基于时分多支技术
5、的移动通信体系中比较成熟、完善、应用最广泛的一种系统。主要提供话音、短信息、数据等多种业务。基于 GSM 短信息功能可以做成传输各种监测、监控数据信号和控制命令的数据通信系统,能广泛应用于远程监控、定位导航、个人通信终端等。由于 GSM 网络实现了联网和漫游,这样利用 GSM 网络传输数据不需要再组建专用通信网络,因此采用段心系方式传输数据的系统应用将会越来越广泛。此次通过单片机控制手机模块来实现数据传输的系统,该系统采用短信息的方式传输数据,该系统具有使用灵活、运行可靠等特点。1.2 无线 MODEM 的发展趋势随着无线数据业务的快速发展,许多从来没有的应用从理想变成了现实,如车辆导航远程监
6、控无线上网无线 POS物流控制、社区安防等,越来越多的设备开始要求具备无线通讯能力。无线 MODEM 无线通讯模块便是在这种背景下,由我们自己研发出的通讯产品。应用开发商通过它使自己的设备增添无线通讯能力,从而开发出各种各样的应用。该模块采用发展最成功的无线通讯技术,能提供短消息数据通讯功能,同时也可按照需求配备话音通讯功能。在一些监控系统中需要将数据传向远端服务器,实现这种应用的主要有有线传输和无线传输两种方式。有线传输具有可靠性高、成本低的特点,但是有线传输需要有电话线,这样就很大程度限制了应用场合。无线传输有数传电台的方式,由于采用电台的方式受通信距离的入网许可证等方面的限制,因此采用电
7、台方式1的无线数据传输系统在应用上也有很大的局限性。采用 GSM 网络传输数据具有介入方便、不需要组网等优点,加上短信息的广泛应用,因此采用短信息的方式传输数据将是一个实现远程传输数据的新的切入点。1.3 本 次 毕 业 设 计 的 主 要 内 容对于本次毕业设计的题目,主要设计是基于已有的硬件,利用 VB 来开发一套实现短信息收发功能的信息系统。2 无线 MODEM 设计的方案2.1 无线 MODEM 硬件电路的总体思路此次设计研究的是无线 MODEM 工作原理与工程实现短信息收发功能的信息系统,此设计硬件电路:基于单片机实现数据传输系统。基本原理:采用 TC35模块与单片机通过串口进行连接
8、,再串口使 PC 机与单片机进行通信。其系统原理框图如图 2-1 所示。图 2-1 系统原理框图2.2 无线 MODEM 设计软件工程实现的总体思路整个软件系统主要实现数据的传输。利用 VB 的编程,来编写一个工程界面,实现短信息收发系统。发送流程图如图 2-2 所示。2图 2-2 发送流程图接收短信息流程图如图 2-3 所示。3图 2-3 接收系统流程图整个信息接收系统是基于 MSComm 控件,利用收发 AT 指令进行数据交互,具体的实现是通过编码和解码的数据缓冲区来实现。3 短信息系统3.1 短信通信服务(1)短信中心服务GSM(Global System for Mobile Comm
9、unication)网络除了提供话音服务外,还提供面向字符的短信服务(SMS,Short Message Service)。SMS 占用信道的时间短、费用小,可使得两个 GSM 用户方便地进行点对点通信。由于因特网开发的时间较长,而且已经具有大量的支持软件,并形成了丰富的资源,因此目前众多的短信服务厂商几乎都与国际因特网相结合而形成统一的短信服务中心。如图 3-1是中国移动通信集团短信网络的结构,其中的简写短语意义如下:SMPP:Short Message Peer to Peer,短信点对点协议。CMPP:China Mobile Peer to Peer,中国移动点对点协议。ISMG:In
10、ternet Short Message Gateway,因特网短信网关。4图 3-1 中国移动通信短信息服务网络(2)基于串行口的单机短信通信GSM/GPRS/CDMA 是目前商业化的移动通信网络,属于 2.5G 通信产品,都提供标准的短信服务。但由于其短信中心服务只授权给运营商,科研单位要想开展基于短信的应用研究,目前只能通过移动设备提供的与 PC 串行通信口来实现。其结构和原理如图 3-2 所示。图 3-2 通信结构原理图(3) 基于串行口的短信通信通过短信可实现有限字符的通信,也可实现用户与因特网服务器之间的有限字符传送。利用这一特点可实现用户通过无线移动网络与因特网之间的通信,进而实
11、现远程控制的目的。这样的控制不受时间、地点和场所的限制。53.2 基于短信息的远程控制系统图 3-3 基于短信的油田控制系统结构3.3 与 短 信 息 通 信 相 关 的 AT 指 令与 SMS 有关的 GSM AT 指令(from GSM07.05)如下表 3-1 所示:AT 指令 功 能AT+CMGC Send an SMS command发出一条短消息命令AT+CMGD Delete SMS message删除 SIM 卡内存的短消息AT+CMGL List SMS message from preferred store列出 SIM 卡中的短消息 PDU/text: 0/“REC UN
12、READ”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/“ALL”-全部的AT+CMGR Read SMS message读短消息AT+CMGS Send SMS message发送短消息AT+CMGW Write SMS message to memory向 SIM 内存中写入待发的短消息AT+CMSS Send SMS message from storage从 SIN|M 内存中发送短消息internet6AT+CNMI New SMS message indications显示新收到的短消息AT+CPMS Preferr
13、ed SMS message storage选择短消息内存AT+CMGF Select SMS message formate选择短消息信息格式:0-PDU;1-文本AT+CSCA SMS service center address短消息中心地址AT+CSCB Select cell broadcast messages选择蜂窝广播消息AT+CSMP Set SMS text mode parameters设置短消息文本模式参数AT+CSMS Select Message Service选择短消息服务表 3-1 与 SMS 有关的 GSM AT 指令3.4 短信息传输的格式对短消息的控制共有
14、三种模式:Block Mode基于 AT 命令的 PDU Mode基于 AT 命令的 Text Mode使用 Block 模式需要手机生产厂家提供驱动支持,目前,PDU Mode 已取代 Block Mode, Text Mode 比较简单,使用 Text 模式收发短信代码简单,实现起来十分容易,但是最大的缺点是不能收发中文短信,实在是有点美中不足.不过 PDU模式完全可以解决这个问题,PDU 模式不仅支持中文短信,也能发送英文短信,堪称完美无缺.PDU 模式收发短信可以使用三种编码: 7-bit、8-bit 和 UCS2 编码. 7-bit 编码用于发送普通的 ASCII 字符,8-bit
15、编码通常用于发送数据消息,UCS2 编码用于发送 Unicode 字符。PDU 数据格式分析:例如,我们要将字符“Hi”字符发送到目的地“13677328099”PDU 字符串为:08 91 683108200805F0 11 00 0D 91 3176378290F9 00 00 00 02 C834(1)08短信息中心地址长度。指(91)+(683108200805F0)的长度。(2)91短信息中心号码类型。91 是 TON/NPI 遵守 International/E.1647标准,指在号码前需加+号;此外还有其它数值,但 91 最常用。9110010001BIT 76543210Nam
16、e 1数值类型 号码鉴别 数值类型(Type of Number):000未知,001国际,010国内,111留作扩展;号码鉴别(Numbering plan identification):0000未知,0001ISDN/电话号码(E.164/E.163),1111留作扩展;(3)683108200805F0短信息中心号码。由于位置上略有处理,实际号码应为:8613800280500(字母 F 是指长度减 1) 。这需要根据不同的地域作相应的修改。(1) 、 (2) 、 (3)通称短消息中心地址(Address of the SMSC) 。(4)11文件头字节。11&h=00010001&b
17、BIT 7 6 5 4 3 2 1 0 Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI Value 0 0 0 1 0 0 01 应答路径TP-RP(TP-Reply-Path):0不设置; 1设置;用户数据头标识TP-UDHL(TP-User-Data-Header-Indicator):0不含任何头信息; 1含头信息;状态报告要求TP-SPR(TP-Status-Report-Request):0需要报告; 1不需要报告;有效期格式TP-VPF(TP-Validity-Period-Format):00不提供(Not present) ; 10整
18、型(标准) ; 01预留; 11提供 8 位字节的一半(Semi-Octet Represented)拒绝复制TP-RD(TP-Reject-Duplicates):0接受复制; 1拒绝复制;信息类型提示TP-MTI(TP-Message-Type-Indicator):00读出(Deliver) ; 01提交(Submit) ;(5)00信息类型(TP-Message-Reference)8(6)0B被叫号码长度。(7)91被叫号码类型(同(2) ) 。(8)3176378290F9被叫号码,经过了位移处理,实际号码为“13677328099”。(6) 、 (7) 、 (8)通称目的地址(T
19、P-Destination-Address) 。(9)00协议标识 TP-PID(TP-Protocol-Identifier) 。BIT 76543210Bit No.7 与 Bit No.6: 00如下面定义的分配 Bit No.0Bit No.5;01参见 GSM03.40 协议标识完全定义;10预留;11为服务中心(SC)特殊用途分配 Bit No.0Bit No.5。一般将这两位置为 00Bit No.5:0不使用远程网络,只是短消息设备之间的协议;1使用远程网络。Bit No.0Bits No.4:00000隐含;00001电传;00010group 3 telefax;00100
20、语音;00101欧洲无线信息系统(ERMES) ;00110国内系统;10001任何基于 X.400 的公用信息处理系统;10010Email。(10)00数据编码方案 TP-DCS(TP-Data-Coding-Scheme)BIT 76543210Bit No.7 与 Bit No.6 :一般设置为 00;Bit No.5:0文本未压缩,1文本用 GSM 标准压缩算法压缩;Bit No.4:0表示 Bit No.1、Bit No.0 为保留位,不含信息类型信息,1表示 Bit No.1、Bit No.0 含有信息类型信息;Bit No.3与 Bit No.2:00默认的字母表,018bit
21、,10USC2(16bit) ,11预留;Bit No.1 与 Bit No.0:00Class 0,01Class 1,10Class 2(SIM 卡特定信息) ,11Class 3(11)00有效期 TP-VP(TP-Valid-Period)VP value(&h) 相应的有效期 00 to 8F (VP+1)*5 分钟 90 to A7 12 小时+(VP-143)*30分钟 A8 to C4 (VP-166)*1 天 C5 to FF (VP-192)*1 周 9(12)02用户数据长度 TP-UDL(TP-User-Data-Length) 。(13)C834用户数据 TP-UD(
22、TP-User-Data) “Hi”。短消息编码:设需要发送的短消息内容为“Hi” ,使用的 GSM 字符集为 7 位编码。首先将字符转换为 7 位的二进制,然后,将后面字符的位调用到前面,补齐前面的差别。例如:H 翻译成 1001000,i 翻译成 1101001,显然 H 的二进制编码不足八位,那么就将 i 的最后一位补足到 H 的前面。那么就成了 11001000(C8) ,i 剩下六位110100,前面再补两个 0,变成 00110100(34) ,于是“Hi”就变成了两个八进制数 C8 34。 4 系统硬件4.1 西门子 TC35 模块的外围电路TC35 模块是 siemens 公司
23、推出的一种无线通信 GSM 模块,可以快速安全可靠地实现系统方案中的数据传输、语音传输、短信息服务和传真服务。模块的工作电压为 3.3V5.5V,可以工作在 900MHZ 和 1800MHZ 两个频段,所在频段功耗分别为 2W(900MHZ)和 1W(1800MHZ)。模块有 AT 命令集接口,支持文本和 PDU 模式的短信息。此外,该模块还有电话簿功能、多方通话、漫游检测等功能。常见工作模式由省点模式、IDLE、TALK 等模式。通过 40 管脚的 zif 连接器,可分别连接SIM 卡支架和天线。TC35 模块主要有 GSM 基带处理器、GSM 射频模块、供电模块、闪存、zif 连接器和天线
24、接口 6 部分组成。作为 TC35 的核心,基带处理器主要处理 GSM 终端内的语音、数据信号,并涵盖了蜂窝射频设备中的所有的模拟和数字功能。在不需要额外硬件电路的前提下,支持 FR、HR 和 EFR 和语音编码。TC35 模块主要通过串口与单片机进行连接,从而单片家实现对 TC35 模块的控制。虽然 TC35 模块的串口提供了许多控制线,但是由于考虑到接口的简单性,并且与单片机的 UART 进行连接,所以采用两线(TXD、RXD)连接。对于 TC35 模块通信的控制可以通过软件来实现,采用软件实现控制具有使用比较灵活的特点,也能很好避免了过多的硬件信号的监测。对于 TC35 的其他管脚再不使
25、用的时候,如果该馆较为输出的话,一般让改管脚悬空,如果该管脚位输入管脚,需要将该管脚通过 10K 的电阻拉高。另由于/IGT 管脚是控制 TC35 模块工作的管脚,所以需要将管脚上拉,并且将该管脚与单片机进行连接,从而可以通过单片机来控制TC35 模块的工作状态。在此次连接是使将 TC35 的电源管脚全部连接在一起,由于 TC35 是一个功能完全的模块,因此不需要做任何的信号处理和射频处理。另外 TC35 模块还需要连接 SIM 卡座子,这样就实现了一个完整独立的 GSM 终端。10TC35 的接口电路如图 4-1 所示。图 4-1 TC35 的接口电路在进行串口连接时,虽然 TC35 模块的
26、串口管脚的工作电瓶是 COMS 电平,单片机的串口管脚的工作电平是 TTL 电平,但是由于单片机的高电平和低电平的逻辑判断电平可以实现与 TC35 模块的管脚进行连接,因此 TC35 模块的串口线直接与单片机的串口进行连接。对于 TC35 模块的串口管脚中 DTR0 和 RTS0 两个管脚为输入管脚,因此分别通过一个 10K 的电阻将这两个管脚拉高。/IGT 为 TC35 模块的工作状态控制管脚,该管脚首先通过一个电阻拉高,平时该管脚为高电平,处于不工作的状态;另外该管脚还同时与单片机的一般 I/O 口进行连接,这样通过单片机来实现对 TC35 模块工作状态的控制,当单片机在该管脚送低电平的好
27、似后,则 TC35 模块工作。TC35 模块的 SYNC 管脚用来指示 GSM 模块的工作状态,连接一个指示灯来指示工作状态。TC35 模块的 SIM 卡座子采用的是 MOLEX 座子,该座子优 个管脚,而 TC35 模块的 SIM 管脚只有 6 个管脚,具体的电路如图 4-2所示。11图 4-2 SIM 卡座子接口图从图中可知,SIM 座子只需要直接与 TC35 模块的 ZIP 连接器对应的 SIM 卡管脚进行连接,只是在需要的地方加电容进行滤波处理。对于跳线器 JP 不是必须的,图中加上主要是用来进行仿真模拟使用的。当 SIM 座子的管脚 8 与 TC35 模块的 CCIN 进行连接时,则
28、用来模拟 SIM 卡插入的情况;当 SIM 座子的管脚 8 不与 TC35 模块的 CCIN 进行连接时,则用来模拟 SIM 卡没有插入的情况。4.2 MSP430 单 片 机 介 绍 及 外 围 电 路单片机电路作为整个系统的核心控制部分,主要是完成与 TC35 模块的通信,与上位机进行通信。单片机 TC35 模块与 TC35 模块的通信采用单片机的串口0(UART0)实现,虽然单片机与 TC35 模块的供电电压不同,但是他们的接口电平可以直接接口,因此不需要进行电平转换。单片机与上位机通信通过单片机的串口 1(UART1)实现,由于单片机与上位机的接口电平不一致,所以需要通过串口芯片(SP
29、3220)完成接口电平的转换。另外单片机还需要通过一个 I/O 管脚来控制 TC35 模块的工作,在该管脚上输出低电平来使 TC35 模块工作。整个系统的单片机电路图如图 4-3 所示。12图 4-3 系统的单片机电路图从上图可以看出,此单片机的时钟与其他单片机的时钟有一定的区别,MSP430 单片机采用两个时钟输入,既一个 32KHZ 的时钟信号,一个 8MHZ 的时钟信号。该系统的时钟部分都是采用晶体振荡器来实现的。考虑到电源的输入纹波对单片机的影响,在电源的管脚增加一个 0.1uF 电容来实现滤波,以减小输入端受到的干扰。另外单片机还有模拟电源的输入端,因此在该系统中的干扰比较小,因此模
30、拟地和信号地共地,模拟电源输入端增加一个滤波电容以减小干扰。利用单片机的串口 0 与 TC35 模块接口。为了控制单片机控制 TC35 模块传输数据的时刻,利用单片机的一般 I/O 口 P1.5 来作为启动通信的按键,由于 P1.5 可以作为中断口使用,这里使用低电平触发方式,需要将该管脚拉高。单片机的串口 1 与上位机进行通信,因此串口 1 与 RS-232 芯片进行连接。另外单片机的 P1.0 作为输出口,与 TC35 模块的/IGT 管脚进行连接,实现控制 TC35 模块的工作,当/IGT管脚输出高电平的时候,TC35 模块不工作,当/IGT 管脚输出为低电平的时候,TC35 模块工作。
31、当 TC35 模块启动后,/IGT 管脚可以是高电平。4.3 RS-232 的介绍及外围电路在工业自动控制、智能仪器仪表中,单片机的应用越来越广泛。随着应用范围的扩大以及根据解决的问题的需要,对某些数据要做复杂的处理。由于单片机的运算功能较差,对数据进行较复杂的处理时,往往需要借助计算机系统。因此,单片机与 PC 机进行远程通信更具有实际意义。利用单片机的串口与 PC 机的串口13COM1 或 COM2 进行串行通信,将单片机采集的数据传送到 PC 机中,由 PC 机的高级语言或数据库语言对数据进行整理及统计等复杂处理,或者实现 PC 机对远程前沿单片机进行控制。在实现计算机与计算机、计算机与
32、外设间的串口通信时,通常采用标准通信接口。这样就能很方便地把各种计算机、外部设备、测量仪器等有机的连接起来,进行串口通信。RS232C 是有美国电子工业协会(EIA)正式公布的,在异步串口通信中应用最广的标准总线(C 表示此标准修改了 3 次) 。它包括了按位串行通信的电气和机械方面的规定,适用于短距离或带调制解调器的通信场合。为了底稿数据传输率和通信距离,EIA 又公布了 RS422,RS423 和 RS485 串口总线接口标准。RS232C 标准接口总线EIA RS232C 是目前最常用的串行接口标准,用于实现计算机与计算机之间、计算机与外部之间的数据通信。该标准的目的是定义数据终端设备(
33、DTE)之间接口的电气特性。一般的串行通信系统是指个人计算机和调制解调器(modem) 。调制解调器叫数据电路终端设备(简称 DCE) 。RS232C 提供了单片机与单片机、单片机与 PC 机间串行数据通信的标准接口。通信距离可达到 15m。RS232C 接口的具体规定如下:(1)范围RS232C 标准适用于 DCE 和 DTE 间的串行二进制通信,最高的数据速率为19.2kb/s。如果不增加其他设备的话,RS232C 标准的电缆长度最大为 15m。RS232C 不适于接口两边设备间要求绝缘的情况。(2)RS232C 的信号特性为了保证二进制数据能够正确传输,设备控制准确完成,有必要使所用的信
34、号电平保持一致。为了满足此要求,RS232C 标准规定了数据和控制信号的电压范围。由于 RS232C 是在 TTL 集成电路之前研制的,所以它的电平不是+5V 和地,而是采用负逻辑,规定+3V+15V 之间的任意电压表示逻辑 0 电平,-3V-15V 之间的任意电压表示逻辑 1 电平。信号电气特性与电平特性(1)电气特性为了增加信号在线路上的传输距离和提高抗干扰能力,RS232C 提高了信号的传输电平。该接口采用双极性信号、公共地线和负逻辑。使用 RS232C,数据传输的波特率允许范围为 0b/s20kb/s。在使用19200b/s 进行通信时,最大传输距离在 20m 之间。降低波特率可以增加
35、传输距离。(2)电平转换14RS232C 规定的逻辑电平与一般微处理器、单片机的逻辑电平是不一致的。因此,在实际应用时,必须把微处理器的信号电平(TTL 电平)转换为 RS232C电平,或者对两者进行逆转换。这两种转换是通过专用电平转换芯片实现的。对于连接在 RS232C 和单片机间的芯片很多,此次采用 MAX232。MAX232 芯片是 MAXIM 公司生产的、包含两路接收器和驱动器 IC 芯片,适用于各种 EIA-232C 和 V。28/V。24 的通信接口。MAX232 芯片内部有一个电源电压变换器,可以把输入的+5V 电源电压变成 RS232C 输出电平所需要的10V 电压。所以,采用
36、此芯片借口的串口通信系统只需单一的+5V 电源就可以了。对于没有12V 电源的场合,其适用性更强。加之其价格适中,硬件接口简单。其接口电路如图 4-4 所示。图 4-4 RS-232C 接口电路图4.4 复位电路在单片机系统里,单片机需要复位电路,复位电路可以采用 R-C 复位电路,也可以采用复位芯片来实现复位,R-C 复位电路据具有经济性,但是可靠性不高,用复位芯片实现的复位电路具有很高的可靠性,因此为了保证复位电路的可靠性,该系统采用复位芯片来实现复位电路。该电路中采用 MAX809 芯片,复位电路如图 4-5 所示。15图 4-5 复位电路为了减小电源的干扰,还需要在复位芯片的电源输入端
37、加一个 0.1uF 的电容来实现滤波,以减小输入端受到的干扰。4.5 电源电路整个系统采用 5V 供电。除了 TC35 外都采用 3.3V 电压供电,为了减小电源电路对整个系统的影响。电源电路采用 TPS76033 芯片来实现。电路图如图 4-6所示。16图 4-6 电源电路图为了使 3.3V 输出电源的纹波小,在输出部分用了一个 2.2Uf 和 0.1uF 的电容,另外在芯片的输入端也放置一个 0.1Uf 的滤波电容,来减小输入端受到的干扰。对于 TC35 模块采用 3.6V 电源供电,由于该电源部分的输出电流必须满足输出电流能达到 2A,在此采用 NATIONAL 公司生产的 LP3966
38、 芯片。该芯片的管脚 2为 shutdown 管脚,在使用时必须通过一个 10k 的电阻拉高到 5V。该芯片的输出位可调类型,该芯片通过电阻 R2 和 R1 实现输出电压的调节。输出电压调节换算公式为:R2=R1(Vout/1.216-1通过上式可以得知:只要给定电阻 R1 和确定输出电压 Vout 的情况下,就可以计算得到电阻 R2 的值。为了使 3.6V 输出电源的纹波小,在输出部分用了一个68Uf、33uF 和 0.1uf 的电容,实现滤波。另外在芯片的输入端也放置一个 68uF的滤波电容,减小输入端受到的 干扰。175 Visusal Basic 的编程环境5.1 VB 软件介绍Bas
39、ic 语言是 20 世纪 60 年代美国 Dartmouth 学院的两位教授共同设计的计算机程序设计语言,其含义是“初学者通用的符号指令代码” 。它简单易学、人机对话方便、程序运行调试方便,因此很快得到了广泛的应用。1988 年,Microsoft 公司推出的 Windows 操作系统,以其为代表的图形用户界面在微机上引起了很大的影响。在图形用户界面中,用户只要通过鼠标的点击和拖动便可以形象地完成各种操作,不必键入复杂的命令。但是对于程序员来说,可视化程序设计语言正式在这种背景下产生。可视化程序设计语言除了提供常规的编程外,还提供一套可视化的设计工具,便于程序员建立图形对象。1991 年 Mi
40、crosoft 公司推出的 Visusal Basic 语言是以结构化 Basic 语言为基础,以事件驱动为运行机制。继而 Visusal Basic 经历了 1.0 版、2.0 版、6.0 版的几次升级,他的功能也更加强大,更加完善。其主要的功能特点是:a) 具有面向对象的可视化设计工具b) 事件驱动的编程机制c) 提供了易学易用的应用程序集成开发环境d) 结构化的程序设计语言e) 强大的数据库操纵功能f) Active 技术g) 网络功能h) 多个应用程序向导i) 完备的 Help 联机帮助功能185.2 VB6.0 的 编 程 环 境图 5-1 VB6.0 编程环境图1、标题栏标题栏中的
41、标题为“ Microsoft Visusal Basic 设计”说明此时集成开发环境处于设计模式,在进入其他状态时,方括号中的文字将被做相应的变化。VB 有三种工作模式:设计模式:可进行用户界面的设计和代码的编制,来完成应用程序的开发。运行模式:运行应用程序,这时不可编辑代码,也不可编辑界面。中断模式:应用程序运行暂停中断,这时可以编辑代码,但是不可编辑界面。按 F5 键或单击“继续”按扭程序继续运行,单击“结束”按扭停止程序的运行。在此模式回弹出“立即”窗口,在窗口内可输入简短的命令,并立即执行。2、菜单栏VB6.0 菜单栏中包括 13 个下拉式菜单,这是程序开发过程中需要的命令。(1) 文
42、件(FIle):用于创建、打开、保存、显示最近的工程以及生成可执行文件的命令。(2) 编辑(Edit):用于程序源代码的编辑。19(3) 视图(View):用于集成开发环境下程序源代码、控件的查看。(4) 工程(Project):用于控件、模块和窗体等对象的处理。(5) 格式(Format):用于窗体控件的对齐等格式化的命令。(6) 调试(Debug):用于程序的调试、查错的命令。(7) 运行(Run):用于程序的启动、设置中断和停止的等程序运行的命令。(8) 查询(Query):VB6.0 新增,在设计数据库应用程序时用于设计 SQL属性。(9) 图表(Diagram):VB6.0 新增,在
43、设计数据库应用程序时编辑数据库的命令。(10) 工具(Tools):用于集成开发环境下工具的扩展。(11) 外接程序(Add-Ins):用于为工程增加或删除外接程序。(12) 窗口(Windows):用于屏幕查的层叠、平铺等布局以及列出所有打开文档窗口。(13) 帮助(Help):帮助用户系统学习掌握 VB 的使用方法及程序设计方法。3、工具栏工具栏可以迅速地访问常用的菜单命令。除了所有的标准工具栏外,还有编辑、窗体编辑器、调试等专用的工具栏。要显示或隐藏工具栏,可以选择“视图”菜单的“工具栏”命令或用鼠标在标准工具栏处单击右键选取所需的工具栏。4、窗体窗口窗口窗体在、如图 5-2 所示。图
44、5-2 窗口窗体图20窗体是 VB 应用程序的主要构成部分,用户通过与窗体上的控制部件可控制应用程序的运行,得到结果。每个窗体查必须有唯一的窗体名字。处于设计状态的窗体有网格点构成,网格点方便用户对控件的定位,网格点检举可以通过“工具”菜单的“选项”命令,在“通用”标签的“窗体设置网格”中输入“宽度”和“高度”来改变。运行时通过属性控制窗体的可见性一个应用程序至少有一个窗体窗口。5、属性窗口属性窗口如图 5-3 所示。图 5-3 属性窗口图所有窗体或控件的属性,如颜色、字体、大小等,可以通过属性窗体来修改。属性窗口由以下部分组成:对象列表框:单击其右边的下拉按扭可打开所选窗体所包含对象的列表。
45、属性显示排列方式:有“按字母序”和“按分类按扭” 。属性列表有中间一条线把其分成两个部分,左边列出的是各种属性;右边列出的则是响应的属性值。用户可以选顶某一属性,然后对该属性值进行设置或修改。属性含义说明:当在属性列表框选取某属性时,在该区显示所选属性的含义。6、程资源管理器窗口如图 5-4 所示。图 5-4 程资源管理器窗口21工程资源管理器窗口有三个按扭,分别为:“查看代码”按钮:切换到代码窗口,显示和编辑代码。“查看对象”按钮:切换到窗体窗口,显示和编辑对象。“切换文件夹”按钮:切换文件夹显示的方式。工程资源管理器下面的列表窗口,以层次列表形式列出组成这个工程的文件。他包含两种主要类型的
46、文件:窗体文件(.frm 文件):该文件存储窗体上使用的所有控件对象和有关的属性、对象相应的事件过程、程序代码。一个应用程序至少包含一个窗体文件。标准模块文件(.bas 文件):该文件存储所有模块级变量和用户自定义的通用过程。通用过程是指可以被应用程序各处条用的过程。7、代码窗口:代码窗口是专门用来进行程序设计的窗口,可显示和编辑程序代码,如 5-5图所示。图 5-5 代码窗口每个窗体都有各自的代码窗口,打开代码窗口有以下三种方法:(1) 从工程窗口中选择一个窗体或标准模块,并选择“查看代码”按钮;(2) 从窗体窗口中打开代码窗口,可用鼠标双击一个控件或窗体本身;(3) 从“视图”菜单中选择“
47、代码窗口”命令。代码窗口主要包括:(1) “对象”下拉式列表框:显示所选对象的名称。可以单击右边的下拉按钮,来显示此窗体中的对象名。其中“通用”表示与特定对象无关的通用代码,一般在次声明模块级变量或用户编写子定义过程。(2) “过程”下拉式列表框:列出所有对象对应于“对象”列表框中对象的事件过程名称。在对象列表框选择对象名,在过程列表框中选择事件过程名,即22可构成选中对象的事件过程模板,用户可在该摸板内输入代码。(3) “代码”框:输入程序代码。(4) “过程查看”按钮:只能显示所选的一个过程。(5) “全模块查看”按钮:显示模块中全部过程。5.3 MSCOMM 控件微软的软件系统中提供了M
48、SComm通讯控件。该控件在windows ystem 目录下,通讯控件是PC机通过串行端口与其它设备实现轻松连接的利器Visual basic等开发人员都可以使用它通过使用MSComm通讯控件,可简单高效的实现设备之间的通讯,而不必调用低级的API函数,从而使编程效率大大提高也降低了因编程不当导致系统不稳定。利用Mscomm控件完成一般的数据通信,使用此控件还是非常方便的,在接收数据方面可通过OnComm事件响应从而用Input属性从此控件的接收缓存区获得数据,在发送数据方面是通过给此控件的Output属性赋值来实现。在发送和接收时通过改变Output和Input的属性的类型来改变接收到的数
49、据:若设置为字符串类型,则按文本方式发送或接收;若设置为字节数据,则按二进制数据格式发送或接收。MSC0mm控件的主要属性:1)commPorL:设置并返回通讯端口号,在设计时,value可以设置成从1到16的任何数(缺省值为 1),注意:必须在打开端口之前设置CommPort属性;2)Settings:以字符串的形式设置并返回波特率、奇偶校验、数据位、停止位,设置的格式为“BBBB,P,D,S” ,BBBB为波特率,P为奇偶校验,D为数据位数,S为停止位数;3)PortOpen:设置并返回通讯端口的状态。也可以打开和关闭端口title表示串口打开;4)Input:从接收缓冲区返回和删除字符;5)Output:向传输缓冲区写一个字符串;6)InputMode:设置发送和接收数据的类型,0表示文本的方式1表示二进制的方式;7)Rthreshold:设置CommEvent属性为comEvReceive并产生OnComm之前设置并返回的要接收的字符数,若Rthreshold属性设置为0(缺省值)则不产生OnComm 事件;8)SThre