《毕业设计(论文)-基于TC35模块的GSM远程智能家居控制系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于TC35模块的GSM远程智能家居控制系统的设计.doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、毕业设计论文-基于TC35模块的GSM远程智能家居控制系统的设计 基于TC35模块的GSM远程控制系统的设计摘要随着 GSM Global System for Mobile communication 移动通信网络的迅速普及和竞争的日益剧烈,新技术和新业务的开发和应用已经提到一个十分重要的位置。短消息业务SMS作为 GSM 网络的一种根本业务,已得到越来越多的系统运营商和系统开发商的重视,基于这种业务的各种应用也蓬勃开展起来。本文提出了一种基于 GSM 短消息的远程控制系统,在给出系统的总体设计的根底上,设计了系统的硬件和软件,并对其应用领域作了一些探讨和研究。系统以 GSM 网络作为远程信
2、号的传输平台。对 GSM 网络体系结构作了详细的讲解,并且着重讲述了对于本课题相当重要的短消息业务的通信原理。数据的传输方式主要是短消息方式,系统中采用 PDU 模式,对短消息的 PDU 编码和解码进行详细的讲述。短消息的接收和发送是通过 AT 指令来实现的,讲述了常见的 AT 指令及其使用方法。系统的硬件设计中,对主要硬件 TC35 和 MSP430F149 单片机及其外围电路进行了详细的讲述。系统分为两个局部进行设计控制中心站和远程控制分站:控制中心站硬件包括一台 PC 机,GSM 通信模块 TC35,两者通过 RS232 连接;远程控制分站硬件包括 GSM 通信模块 TC35,MSP43
3、0F149 单片机,显示单元,各种传感器和数据采集与处理单元。系统的软件设计包括控制中心站软件设计和远程控制分站软件设计。远程控制分站软件设计中运用 IAR 公司为 MSP430 系列单片机开发的 C430 集成开发环境和 C 语言调试器作为程序开发工具,其软件包括单片机初始化、主程序、信号采集中断程序、通过串口的短消息接收和发送程序。论文的最后局部以 GSM 短消息的远程控制系统为根底,结合温度检测技术设计出一套基于 GSM 的远程温度控制系统,并给出了此系统应用领域的一些探讨和研究。关键词:MSP430,GSM,TC35,远程控制,AT指令AbstractAlong with rapid
4、popularization and furious competition of GSM net work ,research and application of new technology and new operation have been mentioned to a quite important position. SMS as a basic service of GSM network has been attented by more and more system operator and developer ,and kinds of applications ba
5、sed on this service have been rapid developed .This paper present a remote monitoring system based on GSM-SMS, this paper first presents the system design as a whole, then presents the hard ware and software design of system, at last presents some discussions and investigation in applying field.In t
6、his system GSM network is a medium for transmitting the remote signal, it presents detailed explanation of GSM networks system structure and emphasizes the communication principle that is important for the task. The mode of transmitting data is most SMS. PDU mode is used during transmitting SMS. It
7、presents en cording and decoding of SMS PDU mode. Transmitting and receiving SMS is realized by using AT command. It presents the familiar AT command and using method.It presents TC35 and microchip MSP430F149 MCU and peripheral circuit during design of system hardware. Hardware of system includes tw
8、o parts: the monitoring center and the remote monitoring station. It consists of a computer and a TC35 communication module of GSM in the monitoring center puter and TC35 are joined by RS232. It includes a TC35 communication module of GSM, a MSP430F149 MCU, a display part and a gathering data part.I
9、t includes the monitoring center software and the remote monitoring station software in design of system software. The remote monitoring station software is designed with C430 integration developing environment that IAR designed forMSP430 single chip and C-language debugger. It includes single chip
10、initialization and main program and interrupt of gathering signal and SMS receiving and transmitting program through the serial port .In the end of the paper, it presents a remote temperature monitoring system based on GSM, using the designed system of remote monitoring system based on GSM-SMS and t
11、echnique of measuring temperature. And then presents any discussions and investigation in applying field.Keywords: GSM; SMS; remote monitoring; PDU mode; AT command;MSP430目 录摘要IAbstractII目 录IV前言- 1 -1 总体方案与论证- 3 -1.1 设计方案模块- 3 -1.2 无线通信模块- 4 -1.3 控制单元模块的选择- 4 -1.4 电源模块的选择- 5 -1.5 系统总体框架- 5 -2 系统硬件模块
12、设计- 7 -2.1 电源及复位电路的设计- 7 - MSP430电源模块的设计- 7 - TC35的电源模块- 7 -、复位电路- 8 -2.2 串口通信模块设计- 9 -2.3 GSM模块接口设计- 10 -、GSM模块简介- 10 - GSM模块接口设计- 10 - 指示灯电路- 12 - SIM卡电路- 13 -2.4 串行存储器的设计- 14 -2.5 采集系统模块设计- 15 -2.6 外部继电器控制模块设计- 16 -2.7 单片机模块的设计- 17 -3系统软件设计- 21 -3.1串口程序设计- 22 -始化程序- 22 -务程序- 23 -3.2 存储程序设计- 25 -
13、25 - 27 -3.3短消息程序设计- 29 - AT命令介绍- 29 - 短消息的设置- 33 -3.4信息采集控制程序设计- 39 -总结- 41 -致谢- 42 -参考文献- 43 -附件- 44 -附件一:系统总电路图- 44 -前言短消息业务 SMS 作为 GSM GlobalSystem for Mobile communication 网络的一种根本业务,以其连接简单、费用低廉、覆盖范围广、实现方便等优点得到越来越多的系统运营商和系统开发商的重视,基于短消息业务的各种应用也蓬勃开展起来。短消息业务与语音及 是 GSM 网络提供的主要电信业务,它通过无线控制信道进行传输,经短消息
14、中心完成存储和转发功能,每条短消息的信息量为 140bit。在短消息的可靠传递根底上,GSM 专业调制解调器的出现给 GSM 的开展注入了新的活力,它改变了传统的以语音为主要的通信手段,使 GSM 网络数据通信得到广泛的应用1-3。目前市场上提供的GSM 调制解调器和模块提供了 RS232 标准数据接口,采用 AT 指令控制,符合 ETSI 标准 GSM0707 和 GSM0705。基于这种技术,以 GSM 网络作为无线传输平台可以开发出多种应用领域。目前远程控制主要有以下几种方式:短距离长线控制;通过市话网;通过 Internet 网络;通过自组网络 CDPD 网 ;通过数传电台方式。短距离
15、长线控制和通过自组网络 CDPD网 首先要自行建设通信网络,建网初期投资巨大,运营期间自主维护消耗人力物力较大,信号质量得以保证,效果好,相对运营费用高;通过市话网和 Internet 方式以现有的网络为依托,无需自行建设通信网络,但是由于市话网和 Internet 难以到达工业现场覆盖面,接入网络受到限制,局限性很大,网络运行效果取决于网络运营商,线路平安不能得到保证,其通信效果好,信号量大,运营费用相对低廉;数传电台出现较早,应用很广泛,是一种不错的无线数传方式,但是建网初期投资巨大,数传电台的传输范围有限,而且容易受到空间无线信号的干扰,信号不能得到保障,但是数传电台信号传输实时性好,运
16、行费用低。远程控制系统应用广泛,普及国民经济的很多领域,而目前这些控制系统无论从本钱、可靠性、稳定性、使用方便性、还是维护的难易程度等方面都不能最大限度的使人满意。因此本文把 GSM网络引入到远程控制系统中,提出了基于 GSM 短消息的远程控制系统。GSM 网络是目前基于时分多址技术的移动通信体制中最成熟完善、覆盖面最广、功能最强、用户最多的移动通信网络,GSM 短消息业务不需要建立拨号连接,只需把待发的消息加上目的地址发送至短消息中心,再由短消息中心转发到最终目标。运用 GSM 短消息实现远程控制可靠性高、信号传播距离远、覆盖面积广,并且可以节省建网初期的巨额投资,运营期间无需维护网络,运行
17、费用低廉。1 总体方案与论证1.1 设计方案模块本设计是一个基于GSM模块的远程控制系统,GSM就是global system for mobile communications 【电信】全球通, 全球移动通信系统 亦称“泛欧数字式移动通信系统, 是一个根据欧洲电信标准协会出版的 GSM 技术标准建造的国际无线蜂窝网 。GSM模块,是将GSM射频芯片、基带处理芯片、存储器、功放器件等集成在一块线路板上,具有独立的、GSM射频处理、基带处理并提供标准接口的功能模块。1.2 无线通信模块我们设计此系统的前提是基于短信方式,简单、方便使用、价格低廉的实用性系统,而不需要联网使用的GPRS通信模块,如
18、SIM300T和MC35等系列模块。所以我们有两种选择,一是用TC35模块和TC35i模块。TC35和TC35i功能相似,随着西门子公司对TC35系列产品的开展,TC35i在相同技术领域相对TC35更胜一筹,但它的价格比TC35要昂贵得多,而且在本设计系统中的技术要求TC35同样能够到达标准,因此综合来考虑,选择TC35做为本设计系统的无线通信模块。1.3 控制单元模块的选择控制模块是本设计的核心,通过外围电路和向GSM模块写入相关程序,控制局部要实现能够控制GSM模块短消息的接收和发送、接收频率、功耗大小、工作模式等各项参数的功能。因此必须需要一个微控制器才能到达要求,而MSP430F149
19、单片机开发板不仅满足设计要求,而且是自带A/D转换器、显示器和本设计调试时所需的温度传感器模块,在短时间内和有限的条件下使设计更加轻松和方便。因此本设计采用MSP430F149单片机开发板作为系统的控制核心。1.4 电源模块的选择单片机的供电电压要求是3.3V,TC35模块要求的供电电压要求是2.5V5.0V。由于收音机模块的应用范围很广,比方 中就采用3.7V锂电池供电,DVD、电视等系统中那么是对220V市电进行变压后供电。本设计中采用7805稳压芯片对系统进行供电,由于这个电源可以很容易得到,设计中不再单独给出。1.5 系统总体框架本系统采用MSP430控制TC35无线模块进行远程通信。
20、通过读取TC35接收到的短信内容从而控制相应的外部继电器组工作,或者控制数据采集系统工作,把相应的数据通过串口0发给TC35模块,进而发送数据。图1.1所示为系统远程端系统框图:图1.1 系统远程端框图系统远程端负责数据采集及控制外部设备,以及存储重要的数据。系统由MSP430单片机主控,TC35作为无线通信模块,继电器组控制外部设备,传感器组为数据采集模块,24LC02B串行存储器作为数据存储器,电源模块提供模块的电源供给。图1.2所示为系统终端系统框图:图1.2 系统终端框图系统终端由用户GSM 或者PC机,PC由串口接TC35模块,上位机控制TC35模块通信。2 系统硬件模块设计通过图1
21、.1可知,硬件系统主要包括电源模块、串口模块、采集控制模块、GSM模块、串行存储器模块及单片机模块。下面对各个模块进行详细介绍。2.1 电源及复位电路的设计 MSP430电源模块的设计MSP430电源模块:使用TPS70633稳压芯片经稳压得到3.3V电压。如图2.1所示。为了使输出的3.3V输出电源的纹波小,在输出局部用了一个100uf和0.1uf的电容,另外在芯片的输入管脚也放置了一个100nf的滤波电容,以减小输入端受到的干扰。 TC35的电源模块对于TC35模块采用的4V供电,为了使输出的4V电压的纹波小,在输出局部用了一个22pf和100uf的电容,实现滤波。另外在芯片的输入管脚也放
22、置了100nf的滤波电容,以减小输入端受到的干扰。、复位电路在单片系统中,为了保证系统在上电时进行初始化,同时也为了保证对电源的监视,需要采用复位芯片,在此系统中采用809STR芯片,复位电路如下列图: 图2.4 复位电路由上图可以看出:该电路非常简单,只在电源管脚处加了一个0.1uf的电容进行滤波处理,以减小干扰。2.2 串口通信模块设计该系统实现的串口电路RS-232电路主要是MSP430与上位机进行通信,实现单片机系统与上位机进行通信处理。由于单片机与上位机进行通信时接口电平不同,因此需要进行接口转换,这里采用3238E芯片来完成接口电平的转换。具体的RS-232电路图如下图。 图2.5
23、 RS-232电路图由图可以看出,通过一个上拉电阻将SHDN管脚拉高,使该芯片一直处于工作状态,如果系统需要处于低功耗状态,也可以通过单片机来控制该管脚。工作时将该管脚设置为低电平,需要处于低功耗时将该管脚设置为高电平这样很容易实现控制。在管脚C1+、C1-、C2+、C2-、V+和V-分别放置0.1uf电容实现充电作用,满足相应的充电电泵的要求,管脚T1OUT、TIN、R1OUT和RIN分别是232转换的输入/输出脚,实现单片机的TTL电平与上位机的接口电平的转换。考虑到减小电源的干扰,还需要在芯片的电源输入管脚加一个104pf的电容来实现滤波,以减小输入端受到的干扰。2.3 GSM模块接口设
24、计、GSM模块简介本系统采用TC35。TC35是西门子公司推出的一种完整的无线GSM模块,主要由GSM基带处理器、GSM射频模块、供电模块ASIC、闪存、ZIF连接器、天线接口六局部组成。它可以快速、平安可靠地实现系统方案中的数据传输、语音传输、短消息效劳Short Message Service和 效劳。模块的工作电压为3.34.8V由图可以看出,TC35接口电路的设计比较简单。在进行串口设计时,虽然TC35模块串口管脚的工作电平是CMOS电平,单片机串口管脚的工作电平是TTL电平,但由于单片机的高电平和低电平的逻辑判断电平可以实现屯TC35的管脚进行连接具体可以参看MSP430F149的数
25、据手册,因此TC35模块的串口线直接与单片机的串口线进行连接。由于TC35模块的串口管脚中的DTR0和RTS0两个管脚是输入管脚,因此分别通过10K的电阻将这两个管脚拉高。/IGT为TC35模块的工作状态控制管脚,该管脚首先通过一个电阻拉高,平时该管脚为高电平,处于不工作状态;另外该管脚还同时与单片机的一般I/O端口进行连接,这样通过单片机来实现对TC35模块的工作状态的控制,当单片机在该管脚送低电平时,那么TC35模块工作。TC35模块的SYNC管脚用来指示GSM模块的工作状态,连接一个指示灯来指示工作状态,如图2.6、图2.7所示。图2.6 TC-35_ZIF管脚接口电路 指示灯电路TC3
26、5 有一个同步信号脚SYNC 32脚 synchronization signal ,该脚是一个同步信号输出端,该脚输出的信号,反响了模块的工作情况。本系统在该端通过一个三级管接入 LED 灯,接法如图 2.7 所示。 LED 灯受到该脚信号控制,可以显示 TC35模块运行的状态。图2.7 指示灯电路1 、 LED 灯熄灭时:表示 TC35 处于关闭、休眠、报警或者充电状态二;2 、 LED灯 600ms 亮 600ms 暗:表示 SIM 卡没有插入,或者正在搜索网络,或者正在认证用户,或者正在注册网络;3 、 LED 灯 75ms 亮 3S 暗: 表示已经注册上网,处于待机状态二; 4 、
27、LED灯 75ms 亮 75ms 暗 75ms 亮 3S 暗:表示一个或多个 GPRS 文件被激活二; 5 、 LED 灯闪烁:表示 GPRS 的数据传输,当 GPRS 数据传输时,在交换一个数据包后, LE 。灯将会在一秒内点亮。闪烁的持续时间约为 0 . 5 秒。 SIM卡电路TC35模块的SIM卡座采用的是Molex座,该座有8个管脚,而TC35模块的SIM管脚只有6个管脚,如下列图所示。其中编程端我们不用,其它的接口分别对应于 TC35 的 5 个管脚,SIM上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35的同名端直接相连 图2.8 SIM卡接口示
28、意图图2.8 所示的图为SIM座接口电路图,由图可以看出SIM座直接与TC35模块的ZIF连接器对应的SIM卡管脚进行连接,在需要的地方加了电容进行滤波处理。当SIM座的管脚7与TC35模块的SIMDATA进行连接时,那么用来模拟SIM卡插入的情况;当SIM座的管脚7不与TC35模块的SIMDATA进行连接时,那么用来模拟SIM卡没有插入的情况。图2.9为sim座接口电路。 图2.9 SIM座接口电路图2.4 串行存储器的设计在本系统中,串行存储器使用24LC02B芯片来实现。24LC02B主要是通过I2C实现与单片机的连接,具体的电路如图2.10所示。 图2.10 串行存储器电路由图可以看出
29、,该电路的设计比较简单。将24LC02B的第7管脚写保护管脚接地,可使该芯片始终处于可以进行读/写的状态。在实际设计的时候,也可以将WP管脚与单片机的一个一般I/O端口进行连接,通过单片机来控制24LC02B就处于写保护状态;单片机在该管脚输出低电平,那么24LC02B不处于写保护状态。在本电路中,主要为了简化设计,直接将WP管脚接地,使24LC02B不处于写保护状态。24LC02B的A0、A1和A2都接地,表示该器件的地址为000.由于I2C是总线工作方式,该总线上可以挂接很多器件,所以总线上的每个器件都应该有相应的地址,这样才能实现寻址操作。24LC02B的SCL和SDA管脚分别与单片接,
30、连接的方式是I2C总线方式。由于MSP430系列单片机里有的单片机没有I2C接口,因此本系统在设计时采用MSP430单片机的一般I/O为I2C总线的SCL和SDA线,采用软件来模拟I2C总线,从而实现与24LC02B进行接口。在设计时,需要将SCL和SDA分别通过一个10K的电阻将其拉高,以满足I2C工作条件。此外,为了减小电源的干扰,还需要在24LC02B芯片的电源输入管脚加一个0.1uf的电容来实现滤波,以减小输入端受到的干扰。2.5 采集系统模块设计在该系统中主要考虑模拟前端为传感器,从传感器送来的是标准信号,即4mA到20mA,这样设计具有一定的通用性,只要前端接不同的传感器就可以采集
31、不同的信号源。由于A/D转折基准为电压,也就是参考源为电压,所以A/D转换的是电压,这样需要将电流信号转换成电压信号。如图2.11所示为模拟量采集具体的电路。图2.11 采集电路设计由图可以看出,采集电路通过一个电阻将电流信号转换成电压信号,为了提高采集的进度,需要采用高精度的电阻,这里采用的是精度为1%的电阻。电路中采用二极管作为ESD保护电路,考虑到干扰问题,采用电容进行滤波处理,增加采集电路的抗干扰问题。2.6 外部继电器控制模块设计在某些应用场合,需要控制设备的状态,比方开机或者关机,因此本系统也设计了相应的控制电路。该控制电路相比照较简单,主要利用继电器来实现,具体的控制电路如图2.
32、12所示。在图2.12中,P4.0、P4.1、机连接的同时也接地。在一般状态下,继电器处于开路状态,当单片机在P4.0、P4.1、出高电平时,继电器吸合,那么电路导通,这样就可以控制设备的状态了。图2.12 控制电路2.7 单片机模块的设计MSP430F149 结构概述MSP430 系列单片机是一个特别强调超低功耗性能的单片机品种。它适合应用在各种要求极低功耗的场合,具有一定的技术特点。在这个系列中有多个型号,它们由一些根本功能模块按不同的应用目标组合而成。其中 FLASH 型芯片又可分为几个分支,如 11x、11x1、13x、14x 等。它们都具有开发设备简便、可现场编程等特点。MSP430
33、 系列采用存储器-存储器结构,即用一个公共的空间对全部功能模块寻址,同时用精简指令组对全部功能模块进行操作34,35。图2.13 是 MSP430F14x 系统结构图。首先来看一下 CPU Central Processing Unit 。MSP430 的 CPU 运行正交的精简指令集,由 16 位 ALU Arithmetic and Logic Unit 、指令控制逻辑和 16 个存放器组成。存放器中有 4 个具有特殊用途,即程序计数器R0/PC Register 0/Program counter 、堆栈指针 R1/SP Stack pointer 、状态存放器和常数发生器 R2/SR/
34、CG1 Special Register/Constant Generator 1 、R3/CG2。除了 CG1 和 CG2,所有存放器都可作为通用存放器,用所有指令操作。常数发生器只用于指令执行时提供常数,但不能存储数据。对CG1、CG2 访问时的寻址模式可以区分所获得的常数数值。PC program counter 、SP 和 SR 配合精简指令所实现的控制,可以使应用系统的程序设计实现复杂的寻址模式和软件算法。对程序存储器进行访问时,对于程序代码总是以字形式取得,而对于数据可以用字或字节指令进行访问。每次访问均需要 16 位数据总线 MDB,即:Memory Data Bus 和访问当前
35、存储器模块所需的地址总线 MAB,即:Memory Address Bus 。存储模块由内部模块允许信号自动选中,这样可以减少总的电流消耗。对于 MSP430F 系列,程序存储器是 FLASH 的。在程序设计中,可以将数据安排在程序存储器中,它们可以用字或字节指令方式访问,因此可以实现查表处理等应用。64 KB 空间顶部的 16 字 0FFFFh0FFE0h 保存用作复位及中断的向量地址。数据存储器 RAM 与程序存储器相同,经地址总线 MAB 和数据总线 MDB 与 CPU 相连。RAM 内的数据可以以字或字节宽度访问。RAM与程序存储器是经过相同的地址总线和数据总线与 CPU 相连。 图2
36、.13 单片机电路图单片机电路作为整个系统的核心控制局部,主要采集来自传感器的数据,将数据传输数据中心。单片机通过A/D通道进行数据采集,单片机与GSM模块之间的通信采用单片机的串口0UART0来实现,GSM模块与单片机接口时不不需要进行电平转换。单片机与PC通信那么需要通过串口芯片SP3220完成接口电平的转换。此外,单片机还与串行存储器接口,以记录某些关键数据。单片机电路如图2.13所示。通过图2.13可以看出,该单片机的接口电路非常简单。在单片机的时钟设计上与其他单片机有一定的区别:MSP430F149单片机采用两个时钟输入,即一个32KHZ的时钟信号,另外一个为8MHZ的时钟信号,该系
37、统的时钟局部都是采用晶体振荡器来实现的。考虑到电源的输入纹波对单片机的影响,在电源的管脚增加一个0.1uf的电容来实现滤波,以减小输入管脚处受到的干扰,另外单片机还有模拟电源的输入端,因此在这里需要考虑干扰问题,由于在该系统中的干扰比较小,因此模拟地和数字地共地,并在模拟电源输入管脚增加一个滤波电容以减小干扰。单片机的串口0与GSM模块接口,串口1与PC进行通信,由于接口电平不同,因此串口1与RS-232芯片进行连接。单片串行存储器进行接口。此外,单片机的P4.0、P4.1、继电器进行连接,以控制设备的状态。3系统软件设计经过前面的系统硬件设计可知,系统的软件主要包括串口程序、存储程序、短消息
38、程序、采集控制程序和测试程序等。本系统软件采用了前后台的设计方式,前台系统是主程序,后台是由所有的中断效劳程序,如串口接收中断效劳程序,定时器中断效劳程序等功能模块组成。装置的远程报警和开启功能通过软件控制实现,在使用装置前需准备好一张已开通的GSM网SIM卡,并在 终端上向SIM卡第一个 本位置存入报警的目的 号码无+86,此号码也是用户进行远程开启时的唯一有效号码;向SIM卡的第一个短信存储位置存入欲发送的报警短信内容。将设置好的SIM卡装入装置并上电后,装置即可按程序设计的流程运行。IAR 公司为 MSP430 系列单片机开发的 C430 集成开发环境和 C 语言调试器作为程序开发工具,
39、程序主要由三局部代码组成:启动与初始化、报警监控、远程开启与控制。启动与初始化的设计图3.1 TC35模块的初始化装置上电后首先必须对单片机、系统变量等进行初始化,然后通过拉低IGT启动TC35,并通过发送AT命令进行模块的初始化设置,初始化流程如图3.1所示。单片机的初始化包括设置波特率、设置外部中断 电平触发方式 和串口中断等,TC35的初始化包括设置短信到达时提醒方式、接收短信的存储位置、 薄的寻址位置等,初始化过程中用到的AT命令详见表1。在本系统中,串口0与GSM模块接口,串口程序局部需要实现串口0。串口程序主要包括初始化和中断效劳程序两个局部。下面具体介绍程序实现的代码。始化程序串
40、口初始化程序主要包括初始化和中断效劳程序两个局部。下面为体和程序。void Init_UART0 void /将存放器的内容清零 U0CTL 0X00; /数据位为8bit U0CTL + CHAR; /将存放器的内容清零 U0TCTL 0X00; /波特率发生器选择SMCLK U0TCTL + SSEL1; /波特率为19200 UBR0_0 0Xa1; UBR1_0 0X01; /调整存放器 UMCTL_0 0X49; /使能UART0的TXD和RXD ME1 | UTXE0 + URXE0; /使能UART0的RX中断 IE1 | URXIE0; /使能UART0的TX中断 IE1 |
41、UTXIE0; P3SEL | BIT4; P3SEL | BIT5; P3DIR | BIT4; return; 通过上面的程序可以看出,只要设置相应的存放器就可以设置串口工作的参数。在上面的程序中,串口0的通信率为19200波特/秒。务程序串口进行数据的发送和接收处理时,采用中断效劳程序来实现,下面为具体的中断效劳程序。/ 处理来自串口 0 的接收中断#if _VER_ 200 interrupt UART0RX_VECTOR void UART0_RX_ISR void #else #pragma vector UART0RX_VECTOR _interrupt void UART0_R
42、X_ISR void #endif char chrTemp; /接收来自的数据 UART0_RX_BUFnRX0_Len_temp RXBUF0; nRX0_Len_temp + 1; chrTemp UART0_RX_BUFnRX0_Len_temp - 1; if chrTemp 13 | chrTemp 10 /接收到一帧信号 nRX0_Len nRX0_Len_temp; nRev_UART0 1; nRX0_Len_temp 0; / 处理来自串口 0 的发送中断#if _VER_ 200 interrupt UART0TX_VECTOR void UART0_TX_ISR voi
43、d #else#pragma vector UART0TX_VECTOR_interrupt void UART0_TX_ISR void #endif if nTX0_Len ! 0 / 表示缓冲区里的数据没有发送完nTX0_Flag 0;TXBUF0 UART0_TX_BUFnSend_TX0;nSend_TX0 + 1;Delay_us 5 ;if nSend_TX0 nTX0_Len /数据发送完毕 nSend_TX0 0; nTX0_Len 0; nTX0_Flag 1; 在上面的中断效劳程序中,为了与其他程序进行数据交互,使用全局变量或者全局缓冲区来实现,例如“UART1_TX_B
44、UF和“Ntx1_Flag等。3.2 存储程序设计在本系统中,利用串行存储器存储某些重要数据。单片机通过I2C与串行存储器进行接口。由于本系统使用的单片机是MSP430F149,该单片机没有I2C外围接口,因此需要采用一般的I/O端口来模拟I2C总线的功能,从而实现串行存储器的读/写操作。本系统使用的串行存储器为24LC02B.串行存储器主要有读/写操作,下面分别进行详细介绍。24LC02B的写操作有两种形式:单字节写和按页写。下面对单字节写和按页写两种方式分别进行介绍。单字节写就是在指定的地址中写入内容。首先单片机发送控制字节,然后发送地址字节,最后输入写的内容,具体程序如下。int Wri
45、teSingleByte char nAddr,char nValue int nTemp 0xA0;/写命令/ 启动数据总线I2C_START ;/ 发送控制字节I2C_TxByte nTemp ;/ 等待 ACKnTemp I2C_GetACK ;if nTemp & BIT3 return 0;/ 发送地址字节I2C_TxByte nAddr ;/ 等待 ACKnTemp I2C_GetACK ;if nTemp & BIT3 return 0;/ 发送数据字节I2C_TxByte nValue ;/ 等待 ACKnTemp I2C_GetACK ;if nTemp & BIT3 ret
46、urn 0;/ 停止总线I2C_STOP ; return nTemp & SDA ; 按页写是一次写入8个字节。按页写操作的第一个字节的操作和按字节写操作是一致的。当写完第一个字节后,单片机继续写下一个内容,在写完最后一个字后,单片机在总线上产生停止信号,需要注意的是:一次最多只能写入8个字节,如果操作多于8个字节,那么写入的内容会被黑覆盖。下面为具体的程序。int PageWrite char nAddr,char pBuf int i;int nTemp 0xA0;/写命令/ 启动数据总线I2C_START ;/ 发送控制字节I2C_TxByte nTemp ;/ 等待 ACKnTemp I2C_GetACK ;if nTemp & BIT3 return 0;/ 发送地