基于gsm的电热水器远程控制本科学位论文.doc
本科毕业论文(设计)题 目: 基于GSM的电热水器远程控制 学 院: 自动化工程学院 专 业: 电子信息科学与技术 姓 名: 李涛 指导教师: 李相伟 2011年 6 月 3 日The Design of Remote-Controlled Electric Water Heater Based On GSM摘 要信息时代,家居智能化不断发展,家具的远程操控使得人们的生活更加便捷、舒适。随着生活水平的不断提高,省时省电、节能环保、体积小、加热效率高的电热水器在淋浴、洗涮等各方面的到广泛应用。但目前的大部分电热水器在使用时,需要贴近操作或近距离遥控操作。这样的电热水器在智能化远程操作方面已远远落伍。在现有的条件下,对其进行远程智能化改造,就显得经济而又必要。 本设计方案基于一般电热水器远程操控的改造需求,利用现在成熟的GSM网络,采用89C51单片机、GSM模块、HS0038一体化接收器等器件,设计了一个低功耗电热水器远程操控系统。该系统能够学习原电热水器的遥控器命令,接收用户终端手机所发出的短信命令,通过单片机实现电热水器的基本功能:开/关功能、温度控制功能。同时,也可简便扩展到其他电器设备的远程控制。关键字:GSM模块;红外遥控学习;89C51单片机;HS0038一体化接收器AbstractAt Information age, intelligent furniture is developing fast. The remote control makes people's lives more convenient and comfortable. With the continuous improvement of living standards, time and energy -saving, small size and high efficiency electric water heater have a wide range of applications in the shower, washing and other aspects but At present, most of the water heater need to close operations or close remote control when you use. This kind of Electric water heater is far from outdated.The design, based on the mature GSM network now, is to achieve remote control transformation of Basic functions of the general electric water heater, using the 89C51 microcontroller, GSM module, HS0038 integration of the receiver and other devices it is a low-power system.Keywords: GSM module、Infrared remote control learning、89C51 microcontroller、HS0038目 录绪 论51. 系统设计61.1 系统主要功能:61.2 设计要求62 系统硬件设计72.1 单片机及其硬件电路设计72.1.1 单片机简介72.1.2 单片机内部结构82.1.3 单片机外部引脚功能92.2 硬件串行口连接152.2.1 MAX232电平转换芯片152.2.2 RS-232C结构162.2.3 串行口连接电路162.3 TC35模块172.3.1 TC35简介172.3.2 TC35使用测试182.3.3 单片机连接TC35192.4 HS0038模块202.4.1、 红外遥控系统202.4.2、 一体化红外线接收器HS0038202.4.3、 红外遥控数据原理213 系统软件设计243.1. 单片机与TC35通信软件设计243.1.1 定时/计数器设计243.1.2 串行口设置263.1.3 中断控制系统293.1.4 通信软件流程333.2 单片机与HS0038通信软件设计333.2.1 红外解码原理333.2.2 解码方案选择334. 系统调试35结束语36谢辞词37前 言进入二十一世纪以来,信息化已经成为各行各业的必然发展趋势。与此同时,各种电信新技术不断发展,极大地推动了人类文明的进步。近年来,我国的通信网络日益完善,新技术不断在应用过程中。伴随着中国电信业3G网络、光线到户FTTH工程的实施,人们的网络通信方式和速度更加多样化和快速化。由此,带动的物联网技术与智能家居技术应用也日渐多起来,远程控制的技术也日益广泛应用于生活当中。远程控制,就是管理者或用户利用终端设备通过现有的通信网络对异地的设备进行操作。远程控制系统应用广泛,遍及生产生活的方方面面,通过发展新技术或利用的现有的技术对现在不具有远程控制功能的设备进行改造,都将产生极大地效益,提高人们的生活水平与质量。目前远程控制主要借助于电话网和Internet网络两种方式。电话网和Internet网络方式,以现有的网络为支撑,不需额外建设通信网络,但由于电话网和Internet网覆盖面有限,网络接入点受到限制,局限性很大。同时,网络运行质量与于网络运营商也有很大关系,线路安全不能得到保证。GSM 网络是目前基于时分多址技术的移动通信体制中最成熟完善、覆盖面最广、功能最强、用户最多的移动通信网络。利用现有的GSM网络实现远程控制在成本、可靠性、信号稳定性、使用便利性和维护难易程度等方面都具有很大的优势。短消息业务(SMS)是GSM(GlobalSystem for Mobile communication)网络的一种基本业务,具有使用简单、费用低、覆盖范围广、实现方便等优点,因此基于短消息业务的各种应用也广泛发展起来。短消息借助无线传输,经当地通信服务商的短消息中心完成存储和转发的功能。因短消息的可靠传递优点,GSM 专业通信模块如TC35的出现使得GSM 的应用进入生产生活的各方面,改变了以语音为主的通信手段,使 GSM 网络数据通信得到广泛的应用。目前市场上的GSM模块提供了 RS232 标准数据接口,采用 AT 指令控制,为后续的开发提供了便利。因此本文利用GSM网络,通过GSM短消息开发远程控制系统。1. 绪论1.1 课题研究背景进入二十一世纪以来,随着电子信息技术的不断发展进步,智能化家居、物联网技术日渐成熟,应用日益广泛。给予有线和网线的数据传输方式,很多家具设备都已实现了远程控制和信息实时反馈。融合了的计算机、电子技术、通信技术的现代智能家居,给人们带来了健康、安全、舒适、便捷的生活。人们可以通过各种手持终端设备实现对家居的远程异地任意时刻的集中、高效、便捷的远程控制。在无线控制技术中,红外遥控技术在家庭设备中得到了作为广泛的应用。在现代家庭中,电视机、空调、冰箱、DVD等均实现了红外遥控操作。红外遥控的使用,省去了人们贴近被控设备的不便与麻烦。在红外遥控高技术的基础上的远程异地控制,更是极大地拓展了人们的活动范围。用户身在单位或在回家的路上,通过手持手机等终端设备,可以实现对家中设备的远程操作,节省了大量的宝贵时间,提高了用户的生活和工作效率。电热水器作为家庭设备中常见的一员,因其高效、节能、环保、体积小等优点,在淋浴、洗涮等方面得到广泛使用。现在的电热水器多数配备了红外遥控功能。通过红外遥控器实现电热水器的开关和温度控制等功能。但因其距离的限制和加热时间的问题,用户只能就近提前打开电热水器,设置水的温度。对此,本课题将在现有红外遥控的电热水器的基础上,通过改进其遥控器来增加其远程控制的能力。用户通过改进后的遥控器,可以在到家之前,提前开启并设置好电热水器,实现远程操作。因此,进过这样的改造后,可以实现电热水器的远程控制,节省了用户的大量时间。基于相同原理,系统还可以实现其他遥控设备的远程操作控制。1.2 系统设计系统有硬件和软件两部分组成。硬件部分有MCS-51系列的AT89C51单片机、TC35GSM通信模块、HS0038一体化红外接收器、遥控器组成。软件部分有本系统将首先学习遥控器的开关功能和温度控制功能,将遥控器的开、关、升温、降温等四项功能的红外遥控编码预存在系统的微处理器单片机内部。单片机与具有GSM通信功能的GSM模块TC35和红外解码功能的HS0038模块相连。GSM模块负责接收用户手机发送的短消息,并将收到的短消息传送给单片机。单片机通过周期性的向TC35发现读取短信命令读取收到的短信内容。单片机处理短消息得到相应的用户命令,匹配预存在单片机内部的对应的红外遥控编码,最终经调制后由单片机实现红外信号的发送。图 系统整体结构1.2 设计要求1. 以MCS-51系列单片机AT89C51为核心,作为MCU单元,连接TC35和HS0038,模块。2. 以TC35模块为接收信息终端,为单片机提供短信内容。3. 利用MAX232芯片实现PC与MCS-51单片机的连接通信。4. 用单片机C语言编写通信软件,实现TC35、HS0038与单片机的通信。1.3 软件工具Keil C51仿真软件简介与汇编语言相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大提高了工作效率和项目开发周期。另外,它还能嵌入汇编语言中,使程序达到接近于汇编语言的工作效率。Keil µVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统如图2-1所示,使用接近于传统C语言的语法来开发。Keil C51软件提供了丰富的库函数和功能强大的集成开发调试工具,全Windows界面,能够让人们在很短的时间内就能学会使用Keil C51来开发单片机应用程序。另外,编译后生成的汇编代码,效率非常高,多数语句生成的汇编代码很紧凑,容易理解,在开发大型软件时更能体现高级语言的优势。2 系统硬件设计2.1 单片机及其硬件电路设计2.1.1 单片机简介单片机(single chip microcomputer或one chip microcomputer)将中央处理单元CPU、一定容量的数据存储器RAM、一定容量的程序存储器ROM、定时/计数器T/C、并行输入输出接口I/O、串行通讯接口UART 、等多个功能部件集成在一块芯片上,是一块具有完整计算功能的大规模集成电路。1由于单片机具有体积小、功能全、价格低、软件丰富、面向控制、开发应用方便等优点,又可以将其嵌入产品内部,使产品智能化,因此得到极其广泛的应用。在本系统中,采用MCS-51系列的89c51单片机作为主要控制单元(MCU)。单片机的应用相当广泛,其系统功能也各不相同。由此,在设计相应的系统时,系统规模、构成相差很大,大致可以分为基本系统与扩展系统两种类型。1. 基本系统又称最小应用系统,仅有基本的单片机模块构成,即由一片片内含有程序存储器和数据存储器的单片机构成。除此之外,仅在其外部加以电源、输入输出设备。这种应用系统不需要额外扩展程序存储器和数据存储器,本身的存储器即可满足需要。基本系统构成的控制系统往往成本低而可靠性高。图 单片机基本系统结构图2. 扩展系统在较为复杂的系统设计过程中,因单片机自身不能满足系统设计的要求,需要在基本单片机的系统上,进行系统扩展已达到要求。单片机的扩展是通过单片机的I/O口或串行口作为总线,连接外部的程序存贮器或数据存储器及其他的输入输出设备等,已达到最终的设计要求。单片机的系统扩展结构如图所示。图 单片机扩展系统结构图2.1.2 单片机内部结构单片机是一个大规模集成电路芯片,其上集成有CPU、存储器、I/O口(串行口、并行口)、其他辅助电路(如中断系统、定时器/计数器、振荡电路及时钟电路等)。MCS-51单片机内包含下列几个部分:l 一个8位CPU。l 一个片内振荡器及时钟电路。l 4KB ROM程序存储器。l 256B RAM数据存储器。l 两个16位定时器/计数器。l 可寻址64KB外部数据存储器和64KB外部程序存储器空间的控制电路。l 32条可编程的I/O线(4个8位并行I/O端口)。l 一个可编程全双工串行口。l 具有5个中断源、两个优先级嵌套中断结构。单片机内部结构如图所示:图 单片机内部结构图1. 中央处理器CPU中央处理器CPU是单片机的核心部件。按照其处理字节的能力,可划分为1位机、4位机、8位机、16位机和32位机等。因单片机在CPU的处理速度、数据处理能力、中断和实时控制能力的各不相同,不同的单片机的性能差别较大。这都是衡量其中央处理器的主要技术指标。2. 存储器单片机的存储器可分为程序存储器和数据存储器,一般两者是分开的。单片机一般用于控制方面,其具有较大的程序存储器和较小的数据存储器,由此,其电路类型也不同。(1) 程序存储器ROM作为单片机的程序存储器,一般为只读存储器,其大小在164KB不等。单片机是面向控制的专用控制系统,在设计好系统后,其程序一般不会轻易变动。因此,只读型程序存储器提高了系统的可靠性与安全性,同时降低了系统的开发的成本,便于集成。(2) 数据存储器RAM单片机内部的数据存储器有静态随机存储器RAM组成,其大小一般在64256B。单片机内部数据存储器通常可以作为工作寄存器、堆栈、位标识和数据缓冲器使用等功能,提高了单片机内部存储空间的灵活性和程序运行的效率。3. I/O接口和一些特殊功能模块单片机自身带有并行和串行接口,方便与外部设备进行连接与通信,扩展系统。大部分单片机带有一至两个串行口,可实现异步串行通信。另外,单片机内部还有定时/计数器。其他特殊功能部件如A/D、PWM、DMA、HSIO等的数量和种类因单片机的类型而有所不同。2.1.3 单片机外部引脚功能MCS-51单片机大多采用双列直插式设计,含有40个引脚,另外,也有方形封装形式。40引脚的双列直插式单片机如下图所示:图 单片机AT89S52引脚图引脚除电源引脚(VCC40引脚+5V)和电源地引脚(VSS20引脚)外,按照功能,其它引脚可分为三大部分。1. 时钟电路单片机的时钟信号用来提供单片机内部各种操作的时间基准,时钟电路用来产生单片机工作所需要的时钟信号。单片机内部有一个高增益的反相放大器,其输入端XTAL1和XTAL2用于外接晶体和电容,以构成自激振荡器,其发出的脉冲直接送入内部的时钟电路。XTAL1(19引脚)单片机内部振荡电路输入端。XTAL2(18引脚)单片机内部震荡电路输出端。MCS-51系列单片机的时钟分为内部时钟方式和外部时钟方式两种。(1) 内部时钟方式利用其内部振荡电路,单片机外接定时元件,单片机内部振荡电路即可产生自激振荡。定时元件可以采用电容、石英晶体组成的并联谐振电路,接在XTAL1和XTAL2引脚两端。晶体可以选择1.2MHZ12MHZ规格,电容可以选择20Pf60pF规格,一般选择30pF即可。为能够微调时钟频率,可以连接两个电容。两个电容的大小对振荡频率有微小影响。在系统设计时,尽可能将晶体和电容靠近单片机,这样可以减少寄生电容,保证振荡器的可靠工作。常用连接方法如下图所示:图 单片机内部时钟方式(2) 外部时钟方式如下图所示,采用外部时钟方式时,XTAL1引脚接地,XTAL2引脚则连接外部振荡源或振荡器。外部振荡源信号没有特殊要求,但是,由于XTAL2引脚的电平不是TTL电平,因此需要在XTAL2端接一个上拉电阻。同时 ,外部振荡器应是频率低于12MHZ的方波。图 单片机外部时钟方式2. 控制信号(1) 复位信号RST/VPD(9脚)单片机复位是使CPU和系统中的其他功能部件恢复为初始状态,并从这个状态开始工作。要实现复位操作,必须使RES 引脚至少保持两个机器周期(24个振荡器周期)的高电平。CPU在第二个机器周期内执行内部复位操作,以后每一个机器周期重复一次,直至RES端电平变低。复位期间不产生ALE及PSEN信号,即ALE=1和PSEN=1。这表明单片机复位期间不会有任何取指操作。当RES引脚返回低电平以后,CPU从0000H地址开始执行程序。单片机时钟电路正常工作后,在RST/VPD(9脚)上出现两个周期的高电平即可引发芯片内部初始复位。复位后单片机内部寄存器的状态如下表所示。P0P3口输出的为高电平。堆栈指针SP写入的初值为07H,程序寄存器PC和其它特殊功能寄存器清零。但单片机内部RAM则不受初始复位的影响。若RST/VPD(9脚)保持高电平,则单片机将循环复位。RST/VPD(9脚)发生从高电平到低电平的变化时,单片机将从0号单元开始执行程序。同时,RST/VPD(9脚)还具有复用的功能。当VPD(9脚)接+5V备用电源时,若VCC突然断电或者是电位出现下降,能够保护片内RAM信息的完整,不发生丢失。复电后依旧能够正常工作。MCS-51系列单片机有两种复位电路:上电自动复位和按键复位。上电复位电路如图(a)所示,由RC构成微分电路,在上电瞬间,产生一个微分脉冲,其宽度若大于两个机器周期,单片机将复位。为保证微分脉冲宽度足够大,RC时间常数应大于两个机器周期。一般取22µF电容、1k电阻。按键复位电路如图(b)所示,该电路除具有上电复位功能外,若要复位,只需按下图中的RESET键,R1、C2仍构成微分电路,使RST端产生一个微分脉冲复位,复位完毕C2经R2放电,等待下一次按下复位按键。 图 复位电路单片机在复位后内部寄存器状态如下图所示:特殊功能寄存器 初始状态特殊功能寄存器初始状态A 00HTMOD00HB 00HTCON00H PSW 00H TH000HSP07HTL000HDPL00HTH100HDPH00HTL100HP0P3FFHSBUF不定IP *00000BSCON00H IE0*00000B PCON0*B 图 单片机复位后内部寄存器状态说明:表中符号*为随机状态;l A00H,表明累加器已被清零;l PSW00H,表明选寄存器0组为工作寄存器组;l SP07H,表明堆栈指针指向片内RAM 07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;l Po-P3FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;l IP×××00000B,表明各个中断源处于低优先级;l IE0××00000B,表明各个中断均被关断;(2) ALE/PROG*(30脚)地址锁存信号ALE/PROG*地址锁存信号决定了P0口上传送的是数据信息还是地址信息。在单片机扩展系统中需要访问外部存储器是,P0口在ALE/PROG*地址锁存信号的控制下,输出低8位地址,之后,实现与外部存储器的信息传送。在ALE高电平期间,P0口上传送的为地址信息;在ALE下降沿时,则会将P0口上的地址信息锁存到外部地址存储器中。在ALE低电平期间,P0口上传送的为指令和数据信息。(3) PSEN*(29脚)片外程序存储器读选通单片机访问外部程序存储器时,程序计数器PC通过P2口和P0口输出十六位指令地址。当PSEN*为低电平时,作为程序存储器读信号,将相应存储单元的指令读出并送到P0口上,供单片机执行。1(4) EA*/VPP(31脚)内部和外部程序存储器选择信号单片机内部一般含有4KB的程序存储器,当EA*为高电平时,CPU访问程序存储器有两种情况:l 地址小于4KB时,单片机访问内部程序存储器。l 当地址大于4KB时,单片机访问外部程序存储器;若EA*为低电平或者是接地时,单片机不使用内部程序存储器,总是访问外部程序存储器。3. I/O口MCS-51系列单片机有4个I/O口P0P3,均为8位双向口。其中,P0口为双向三态口,可负载8个LSTTL门电路。P1P3口为准双向口,在做输入口时,口锁存器必须为1,可负载4个LSTTL门电路。1 P0口(P0.0P0.7,3932脚)三态双向口P0口为三态双向口,可以作为数据和地址总想使用,也可以作为通用I/O口使用。当P0口用作地址/数据总线时,就不能再用作通用I/O口。P0口用作输出口时,输出级属漏极开路,必须外接上拉电阻,才有高电平输出2 P1口(P1.0P1.7,18脚)准双向口P1口可以作为通用I/O口使用,同时还有其他的一些功能。在EPROM编程和验证程序时,可以作为低八位地址输入口。在8032和8052系列中,P1.0和P1.1则具有多种功能:P1.0可作为定时器/计数器2的外部计数触发输入端T2;P1.1可以作为定时器/计数器2的外部控制输入端T2EX。3 P2口(P2.0P2.7,2128脚)准双向口P2口可以作为通用I/O口使用,同时可以作为地址总线使用。若在单片机系统中有外部存储器时,P2口则可输出高八位地址A15A8。若系统有外部数据存储器时,如果外部数据存储器容量为256B,则只需P0口送出8位地址即可,P2引脚上的信号在整个访问外部数据存储器期间不会改变,此时P2口可作为通用I/O口;如果外部数据存储器的容量大于256B,则在传送地址时,需要有P0口和P2口共同送出16位地址。4 P3口(P3.0P3.7,1017脚)双功能口P3口是一个多功能口,同时也是一个准双向口,和P1口类似,可以作为第一功能口,也可给每一位单独定义第二功能。P3口作为第一功能口时,作为通用I/O口;作为第二功能口时,可每一位接口都具有不同的功能,用于串行口、中断源输入、计数器、片外RAM选通等。如下图所示:口线 第二功能 信号名称 P3.0 RXD串行数据接收 P3.1 TXD串行数据发送 P3.2 INT0*外部中断0申请 P3.3INT1*外部中断1申请 P3.4 T0定时器/计数器0计数输入 P3.5 T1定时器/计数器1计数输入 P3.6 WR外部RAM写选通 P3.7 RD外部RAM读选通 图 P3口第二功能定义2.2 硬件串行口连接2.2.1 MAX232电平转换芯片系统中,单片机使用TTL电平,而TC35模块的RS232C使用的是EIA电平。TTL电平与EIA电平被广泛应用于各种电子元器件中,但两者的电气化标准不同。TTL电平用电压的高低来表示“1”“0:高电平为+5V,低电平为0V;EIA电平用电压的正负表示“1”“0”:高电平为+3V+15V,低电平为-3V-15V,在实际应用中常用±12V或±15V。由于EIA电平与TTL电平完全不同,必须进行相应的电平转换,将RS232C和单片机串口的TTL电平相互转换,使得两个设备可以相互通讯。系统中用RS232/TTL转换芯片MAX232实现两者的相互通信。MAX232芯片由MAXIM公司生产,其内部含有两路接收器和驱动器,可实现EIA与TTL电平的转换。MAX232内部含有一个电源电压转换器,能够将输入的TTL电平(+5V)变换成RS232C的电平(正负10V)。MAX232的工作电压是+5V。芯片如下图所示:图 MAX232芯片引脚图内部结构由三个部分构成:第一部分:电荷泵电路,由1、2、3、4、5、6脚和4只电容构成。产生+12v和-12v两个电源,提供给RS-232串口。第二部分:数据转换通道,由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL电平数据从T1IN、T2IN输入转换成RS-232电平数据,从T1OUT、T2OUT输出;D RS-232电平从R1IN、R2IN输入转换成TTL电平数据后从R1OUT、R2OUT输出。第三部分是供电,有15脚GND、16脚VCC(+5v)构成。2.2.2 RS-232C结构RS-232是PC机与通信工业中应用最广泛、低速率串行通讯的一种串行接口。其结构如图所示:图 RS232串口引脚RS-232C标准的DB9接口各引脚功能如下:1CD载波检测2RXD接收数据3TXD发送数据4DTR数据终端准备好5GND信号地6DSR通讯设备准备好7RTS请求发送8CTS允许发送9RI响铃指示器2.2.3 串行口连接电路整个电路只要求信号的收发,所以只用到RS232C接口中的RXD、TXD和地,通过电平转换电路连接在单片机的TXD、RXD和地。电路结构如下图所示:图 串行口连接电路2.3 TC35模块2.3.1 TC35简介TC35是西门子公司的一款双频900/1800MHZ高度集成的GSM模块。在GSM网络日臻完善的今天,TC35易于集成,可以在较短的时间内花费较少的成本开发出新颖的产品。在远程监控和无线公话以及无线POS终端等领域得到广泛作用,产品质量和性能得到保证。TC35可以快速、安全、可靠地实现信息传输通信中的数据传输、语音传输、短消息服务(SMS)和传真等功能。同时,还有呼叫转移、多方通话、计费显示等功能。TC35模块的工作电压为3.3V至5.5V,有两个工作频率:900MHZ工作频率,功耗为2W;1800MHZ工作频率,功耗为1W。常用的工作模式有省电模式(MAX:100A),通话模式:(典型值300mA),空闲模式(MAX:3.5mA )。串口通讯波特率: 300bps.115kbps自动波特率范围:4.8kbps.115kbps;通过RS232或SIM接口的软件下载功能。TC35在通信及相关操作中使用AT命令。其短消息有文本模式和PDU两种模式。传真为第三组的二类模式。支持2.4K、4.8K、9.6K三种非透明模式。TC35通过40引脚的ZIF连接器,是此案电源连接、指令传输、数据发送与接收、语音信号双向传输、控制信号传输与反馈等。同时,可以借助ZIF连接器,连接SIM卡支架和50天线。TC35模块主要有六部分构成:GSM基带处理器、GSM射频模块、供电模块、闪存、ZIF连接器、天线接口等。GSM基带处理器是TC35的核心,主要完成GSM终端的语音和数据处理,及通信设备中的全部模拟和数字功能。2.3.2 TC35使用测试 在系统整体调试之前,需保证系统的各个模块均能正常工作,尤其是首次使用的模块。因此,对TC35模块进行测试,验证其是否正常。TC35模块的通讯全部采用AT指令完成。将TC35与电脑串口相连,使用AT命令进行测试。1. 启动串口调试程序设置串口调试程序的工作状态:串口选择、波特率、校验位、数据位、停止位等。TC35波特率在300bps.115kbps,可以不断测试各个波特率。图 串口调试程序界面2. 查看响应命令向TC35发送“AT”命令,若窗口显示为“OK”,,说明TC35可接受命令。3. 设置波特率命令格式:AT+IPR=XXXXTC35的默认波特率为19.2kbps,实际波特率在300bps115kbps。例:设置波特率为38.4kbps:AT+IPR=384004. 设置TC35的短信模式根据GSM07.05的规范,GSM模块的短信模式有三种:第一种是Block模式;第二种是基于AT命令的Text模式;第三种是基于AI命令的PDU 模式。Block模式需要生产厂家提供的专门驱动支持。PDU模式可以发送和接收中文和英文两种字符。Text模式仅支持英文字符。相比而言,使用英文字符,后续的单片机处理更为简单。本系统中选择Text模式。命令:AT+CMFG=1; /选择Text模式;5. 短信读取命令格式:AT+CMGR=XX可取0、1、2、3、4五种:0代表未读“REC UNREAD”,1代表已读“REC READ”,2代表待发“STO UNSENT”,3代表已发“STO SENT”,4代表全部“ALL”。2.3.3 单片机连接TC352.4 HS0038模块2.4.1、 红外遥控系统本系统中,红外系统部分由原热水器红外遥控器、单片机、红外一体化模块HS0038构成。如下图所示:图1 红外线遥控系统框图2.4.2、 一体化红外线接收器HS0038本部分系统中,接收遥控器发出的红外信号的是HS0038塑封一体化红外接收器,用黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m。HS0038集红外线接收、放大、整形于一体的集成电路,其不需要任何外界元件,就能完成从红外接收到输出与TTL电平相兼容的所有工作。在没有接收到红外信号时,其输出为高电平;接收到红外信号时输出为低电平。图 红外接收电路图1. 测试与连接在HS0038 的电源端与信号输出端之间连接一个二极管及一个发光二极管,并配上额定的工作电源(为5V)。若按动遥控器任意键时,发光二极管能够闪烁,说明红外接收头和遥控器均能工作都正常;若发光二极管不发光,说明红外接收头和遥控器至少有一个已损坏。但是,只要保证遥控器工作正常,就能判断红外接收头的正常与否。图 HS0038连接测试图连接线路时,在电源VCC与地脚GND之间并联加入一个0.1uF(104)的电容可以改进加强信号质量。这样既可以用于遥控编码接收,也可以用于码率较低的数据通讯。HS0038是直立侧面收光型红外接收器件。38kHz红外发射信号在HS0038接收角度范围的边沿区域时,接收到的信号不断振荡无法稳定。因此为保证信号质量,在使用HS0038时发射器应与其尽力正对;其用于数据接收时,需要用到单片机的定时器。2. 系统组成在本部分系统中,硬件电路由以下几部分组成:(1) 电源电路:为单片机、TC35、HS0038提供电源。(2) 微处理器:单片机作为MCU。(3) 红外发射源:电热水器遥控器。2.4.3、 红外遥控数据原理在红外遥控器器中,每一个按键都对应着一组二进制编码。当按下某一个键后,内部电路对其进行相应的编码、调制、发送。(1) 红外数据的解调遥控器发出载波为38KHZ的红外信号,经HS0038接收并解调。HS0038输出为TTL电平,但由于其在接收到信号时输出的为低电平,故其最终解调出的二进制信号是遥控器发出的二进制信号反码,经非门后得到原信号。图 红外数据的解调(2) 红外信号的调制单片机收到HS0038解调出的二进制码组后,利用单片机产生38KH的脉冲信号对二进制码组进行调制,即将脉冲信号与二进制码组相乘。对二进制码组进行调制,可以增加信号的抗干扰能力,提高信号的传输效率。图:红外信号的调制(3) 红外信号的数据格式红外遥控编码采用脉冲位置编码(PPM)方式,其数据格式中包含引导码、16bit用户地址码、16bit操作码。引导码又称起始码,是一个遥控编码的起始部分,作为接受脉冲的准备提示。引导码有一个9ms的高电平和一个4.5ms的低电平组成。16bit用户地址码,是为防止多个遥控设备间的红外干扰,给予设备的一个唯一编码,用于识别各个设备。用户地址码包含8bit地址码和8bit地址反码组成。地址反码是用来检验地址妈的正确与否,起差错作用。16bit操作码,给予被控设备相应的执行动作。有8bit操作码和8bit操作反码组成。反码同样起差错功能。(4) 遥控编码中二进制“0”“1”的定义红外编码中用户地址码和操作码中的每一位均可用“0”或“1”表示。“0”用脉冲宽度为0.56ms,周期为1.12ms的组合表示;“1”用脉宽为0.56ms,周期为2.24ms的组合表示。图 二进制码“1” 图 二进制码“0”图 一组完整的编码脉冲3 系统软件设计3.1. 单片机与TC35通信软件设计 在单片机与TC35通信软件设计中,需分别对单片机的定时/计数器、串行口和终端系统进行设计。MCS-51系列单片机含有两个16位定时/计数器:T0和T1;一个全双工串行口UART;中断系统。3.1.1 定时/计数器设计定时/计数器具有可编程特性,通过相应的编程,可以确定其工作方式是定时还是计数;预置定时或计数初值;定时时间到或计数终止时,开放或禁止中断响应;如何启动定时或计数器工作等设置。1. 定时/计数器工作原理(1) 定时器定时原理:设定为定时器方式时,定时输入信号来自CPU内部振荡信号,在每一个机器周期计数器做一次“+1”运算。如果定时器的计数器+1产生溢出,则标志定时时间到,向CPU提出中断申请。定时器的计数频率为振荡频率的1/12,因此,计数周期为12分频。例:若单片机的晶振主频为24MHz,则计数周期为2µs。(2) 计数器计数原理:设定为计数器工作方式时,由外部引脚(T0为P3.4 ,T1为P3.5)输入计数脉冲外部输入脉冲发生负跳变时,进行“+1”计数,外部输入脉冲宽度应大于2个机器周期。定时、计数不占用CPU时间,产生溢出时将向CPU提出中断申请。2. 定时计数器的方式寄存器和控制寄存器定时/计数器工作在计数状态还是定时状态,使用哪种工作方式以及要不要中断参与控制,都是通过编程实现的。编程就是对定时/计数器的方式寄存器TMOD和控制寄存器TCON写入初值的过程。(1) 方式寄存器TMOD方式寄存器TMOD是单片机内部的一个8位可编程的特殊寄存器,字节地址为89H。其中低4位控制计数器T0,高4位控制计数器T1。其格式如下:TMOD(89H)GATE