1、 摘 要目前,市场上的无线遥控系统每一时刻只能控制一台设备,且控制多台不能同时工作,当两个控制按键同时按下时会出现设备错误动作等问题,新设计一无线遥控系统,使其能输出8个控制信号;在控制信号发送端,可实现信号按键的优先判断;控制信号接收端可实现信号的自锁。本设计是基于单片机实现的无线遥控系统。分为无线发射模块、无线接收模块、单片机控制部分。系统通过无线电实现控制信号的传递,单片机作为控制部件协调处理整个系统的工作,并产生相应的信号,对各种设备进行控制。选用STC89C52RC单片机,内部包含Flash存储器,在系统的开发过程中支持在线下载。而且该单片机控制方便,内部资源丰富。采用315M无线收
2、发系统实现控制信号的无线传输1,该无线传输系统抗干扰能力强,传输距离远,还可以实现保密通信;驱动电路简单,易于控制,成本低,能提供较大的功率,适应各种自动化控制设备的大功率应用。本系统具有很强的通用性和实用性,可以将其用于各种电子电器设备中实现无线控制,也可以广泛应用于各种电器、机器人和各种自动化控制领域中的遥控装置。关键词 无线收发系统 STC89C52RCIV Abstract 本设计是基于单片机AT89S51实现的无线遥控系统。分为无线发射模块、无线接收模块、单片机控制部分和电机驱This paper is relate to wireless telecontrol system th
3、at accomplished base on miccontroller. It is composed of radio transmit module, wireless receive module, miccontrollor control section and motor driven part .本系统用无线实现控制信号的传递,单片机作为控制部件协调处理整个系统的工作,并产生相应的方向信号和PWM信号实现对直流电机的控制(正转、反转、This system transfered the control signal depend on wireless radio ,The
4、Singlechip is a control unit take charge of processing work of total system ,and brought relevant Direction signal and PWM signal, Which can control the electromotor performed positive running ,reversal running, speedup , slowdown . The system has a strong versatility and practicality, can be used f
5、or a variety of electrical and electronic equipment in the wireless control can also be widely used in various electrical appliances, robots and various automatic control in the field of remote control devices.The system uses a 315M wireless transceiver system for wireless transmission of control si
6、gnals,the wireless transmission system and strong anti-interference, transmission distance, you can achieve secure communication; drive circuit is simple, easy to control, low cost,can provide greater power, to adapt to a diverse array of automated control equipment for high-power applications.This
7、system choose the STC89C52RC by way of controller, because it interior contain Flash memory , besides it offered download program on-line. Key words wireless transmit and receive system STC89C52RC 目 录摘 要IABSTRACT II第1章 绪 论11.1 引言11.2 国内外发展现状11.3系统存在的问题21.4 设计任务2第2章 方案设计42.1 方案比较42.1.1无线发射与接收方案42.1.2
8、 系统控制部分方案62.2 方案设计72.2.1 总体设计思路72.2.2 设计方案7第3章 硬件系统设计83.1 无线发射和无线接收模块83.1.1 编码和解码原理83.1.2 无线发射、接收原理123.1.3 电路设计133.2 控制部分153.2.1 复位电路设计173.2.2 时钟电路设计183.2.3 驱动接口设计183.2.4 下载接口设计19第4章 软件设计214.1开发软件介绍214.2软件实现方法224.2.1 软件流程图22第5章 系统测试245.1各部分电路测试245.2测试中遇到的问题和解决方法25结 论26致 谢27参考文献28附录130附录233附录338附录444
9、45第1章 绪 论1.1 引言无线遥控是指实现对被控目标的非接触遥远控制。在遥控技术中,无线遥控技术占着极其重要的位置。无线遥控与红外遥控、声控相比较,具有覆盖范围宽、控制距离远、穿透力强等特点。因此,在诸如爆破遥控,火力生控制和一些地形地貌险要、操作人员难接近或不能接近的实际场合中更突出用途,倍加令人注目。相对电缆连线的优点在于安装成本低,提高了灵活性并降低了维护成本。近年来在汽车防盗报警中,在门、窗、库房控制中,在儿童玩具中,在无线数据传输、无线定时控制中,无线遥控取得广泛的应用。无线遥控技术主要是通过无线发射器将人的操作指令经过数字化编码、加密后通过无线的方式传递给远方的接收系统2,接收
10、系统经解码转换后将控制指令还原,实现对各种机械设备的控制;同时,要求在强磁场、强电场及无线电信号复杂的环境中具有百分之百的抗干扰能力。1.2 国内外发展现状随着工业自动化水平的提高,遥控技术已不再局限于单一设备的控制,它还应该追求多通道控制和受控对象的信息反馈,再根据受控对象的相应信息,适时进行遥控操作。而所有这一切都依赖于电子技术及微控制技术的进步与提高。当前,国内外远程遥控技术的发展趋势有如下几个方面3:1)基于GSM蜂窝系统的手机远程遥控利用手机远程遥控电器一直是国际研发的焦点。由于手机遥控是基于手机SIM卡号码身份认证基础上进行的,无需输入密码既可进行安全保密、方便快捷的遥控操作。2)
11、基于红外遥控方式的远程遥控指通过按键经控制电路发出控制信息,驱动红外发光管发射红外线,以波长为940nm的红外光为载体来传递遥控信息的,它包含发射器和接收器两大部分。红外线遥控方式工作稳定,操作简易方便。 3)基于计算机网络的远程遥控PC的远程控制是指由一台设备(电脑、PDA或遥控器等)在一定的距离之外去控制一台设备的技术。这里通过计算机网络可以轻松控制远程计算机,实现远程遥控、文件传输、远程屏幕浏览、键盘交谈、Internet连接,有的还可以进行语音交谈、故障报警,并通过Web页面进行远程控制,甚至还可以进行远程重启计算机、远程格式化硬盘、远程系统安装、远程软件安装等。计算机的远程控制被普遍
12、应用在网络管理、远程协作、远程办公等多种领域。其优点是稳定,可靠。4)基于蓝牙(Bluetooth)技术的远程遥控蓝牙(Bluetooth)是一种新型的低成本、低功率,近距离(20m200m)无线连接技术标准的代称,是实现数据与语音无线传输的开放性规范。它以微波直接取代传统网络中的电缆,在蓝牙设备间实现方便快捷、灵活安全、低成本、小功耗的数据和语音通信。蓝牙系统支持“点对点”和“点对多点”通信,蓝牙系统与GSM、CDMA等大型通信系统不同,它采用一种灵活的无基站组网方式,随着家电产品数字化程度的不断提高,我们可以设想所有的信息家电通过一个遥控器来进行控制。这一个遥控器不但可以控制电视、计算机、
13、空调器,同时还可以用作无绳电话或者移动电话,甚至可以在这些信息家电之间,共享有用的信息。1.3系统存在的问题以往的几种无线遥控的方法虽然有稳定可靠、方便灵活等优点,但是同时也存在巨大的缺陷。例如:GSM蜂窝系统的手机远程遥控缺点是要记住控制指令,实现的技术难度大。而蓝牙(Bluetooth)技术的远程遥控缺点是只能在可以上网的时候控制,可能有网络安全的隐患,家电需要连接到网络上。蓝牙技术最大的障碍是过于昂贵。突出表现在蓝牙芯片价格是一个大问题,而任何蓝牙产品都离不开蓝牙芯片,这就制约了蓝牙产品的推出。 1.4 设计任务本设计将理论知识和实践相互结合,针对目前无线遥控系统每一时刻只能控制一台设备
14、,且多台设备不能同时工作,当两个控制按键同时按下时会出现设备错误动作等问题,重新设计一种无线遥控系统,使其能控制输出信号8个;在控制信号发送端,可实现信号按键的优先判断;控制信号接收端可实现信号的自锁和急停。设计的系统要求具有可靠性高、成本低、控制简单、易调试等特点。避免老式机器的笨重;有效地解决控制距离短和信号之间干扰的问题。 第2章 方案设计2.1 方案比较2.1.1无线发射与接收方案无线收发方案的关键问题有两个:一是信号的编码和解码;二是信号的发射与接收。系统的原理框图如图2-1所示。图 2-1 无线收发系统原理框图控制信号由设定的按键输入,然后对其编码,再将编码信号调制成适合发射的信号
15、后发射出去;接收端接收到信号后解调产生原编码信号,最后由解码电路解码就恢复出了原控制信号,也就实现了控制信号的无线传输4。(1)、编码和解码编码的目的就是让各个控制信号有所区别,以便收到编码信号后通过解码又可以独立的恢复出原控制信号来,各控制信号不会出现混乱。方案一:由于传输的控制信号只有8路,所以可以采用分立的电路来实现。用8个振荡器分别产生8个不同频率的信号,接收端只要能识别出8个不同频率的信号也就等于得到了8路控制信号。具体实现是:用555构成多谐振荡器,也可以用反向器构成环形振荡器。用555电路简单,工作频率稳定。解调可以用锁相环,如LM567:LM567是一种广泛应用于电话系统中的锁
16、相环音频译码电路,内部由相位比较器,压控振荡器,正交相位检波器和逻辑输出放大器等组成。LM567的工作过程可以简述为:当3脚输入信号的频率落在其内部压控震荡器的中心频率附近时,它的逻辑输出端8脚就会由高电平变为低电平。利用这种变化也就可以实现控制信号的识别。方案二:由编解码芯片实现。此类编码与解码电路一般都是由两片配套的芯片组成。比如PT2262/PT2272,PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最
17、多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。上述两种方案从对硬件的要求而言,方案一需要8个555构成的振荡器和8个由锁相环LM567构成的解码识别电路,而方案二只需要两片芯片,电路简单。而且方案二中的编码解码芯片是无线遥控方面的专用芯片,使用方便。(2)、发射与接收5这部分电路是本遥控系统能够实现无线收发的关键所在,实现无线收发传输控制信号有两种方式:方案一:红外收发方式。使用红外发射管PH303将编码信号发射出去,然后接收端使用红外接收管PH302接收,或是直接使用红外接收头实现红外的接收。红外发射电路如图2-2所示,接收电路如图2-3所
18、示,使用红外接收头接收。 图 2-2 红外发射电路图2-3 红外接收方案二:无线电收发。使用高频无线电通过天线发射出去,然后再由天线接收无线电信号,再对接收到的信号进行放大、解调等处理后,最后解码得到发送端传出的控制信号。本方案将在下一章中做出详细的介绍。方案一使用红外实现无线收发,电路简单,干扰较小容易实现,可是红外收发方式的传输距离一般比较小,而且发射与接收的角度也比较小,所以要实现远距离遥控只能选择传输距离较远的方案二。方案二天线发射功率大,覆盖范围广,很适合远距离传输,所以本系统将选用方案二作为收发模块,实现控制信号的传输。2.1.2 系统控制部分方案本部分是整个系统的核心,负责协调整
19、个系统的工作,对传来的控制信号进行判断,然后发出相应的控制信号,控制执行部件实现具体的功能。具有处理能力的芯片都可以完成本部分的功能,处理芯片有信号处理芯片如DSP,嵌入式芯片如ARM,单片机等6。本系统对处理芯片的要求不是很高,只要能对接收到的控制信号做出判断,能产生控制信号就够了。所以从成本和本电路的要求考虑,处理芯片采用单片机。2.2 方案设计2.2.1 总体设计思路为了实现遥控电路能够对控制信号进行较远距离的有效传送,接收到的控制信号能够被主控制系统识别并产生控制信号,驱动执行部件,本系统将采用PT2262/PT2272编码解码芯片进行编解码;使用315MHz的发射、接收头实现无线传输
20、信号;采用STC89C52RC作为MCU控制处理整个系统7。发射接收部分的关键问题是:如何有效的实现控制信号的无线传输。控制部分的关键问题是:如何根据接收到的控制信号产生对应的输出信号。2.2.2 设计方案系统的整体设计方框图如图2-4所示。 图 2-4 系统整体设计框图由不同的按钮进行通道选择,先送往编码芯片编码,再调制发射出去8。在接收端把收到的无线信号解调后送入解码芯片,恢复出来的控制信号输入单片机进行处理,单片机对设备发出控制信号。第3章 硬件系统设计本章将根据上章选出的方案,详细的介绍各个单元电路的具体设计和电路的原理,电路中所使用元件的参数设置等。最终将设计出具体的、可实现的硬件电
21、路,为软件的设计和电路测试做准备。最终能否实现所有的设计要求,完成所有的功能,本章的设计是否合理、是否可实现非常关键。3.1 无线发射和无线接收模块本部分电路要完成的功能是:按钮开关作为控制键发出控制信号,再对控制信号编码,最后把编码信号以无线电波的形式发射出去。3.1.1 编码和解码原理本系统选用的编码解码芯片是PT2262/PT22729。编码解码的原理是:编码芯片PT2262发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对地址一致后,VT脚才输出高电平,与此同时与PT2262相对应的数据脚输出高电平,如果发送端一直按住
22、按键,编码芯片就会连续发射。PT2262、PT2272的引脚图如图3-1所示,各引脚功能见表3-1,表3-2。 图 3-1 PT2262,PT2272引脚图名称管脚说明A0-A111-8、10-13地址管脚,可置为“0”,“1”,“悬空”,与2262一致才解码D0-D57-8、10-13数据管脚,地址码与2262一致时,对应位输出高电平Vcc、Vss18、9电源正端()、电源负端()或是接地DIN14数据信号输入端,来自接收模块输出端OSC1 OSC216、15振荡电阻输入、输出端,振荡电阻决定振荡频率VT17解码有效确认输出端(常低)解码有效变成高电平(瞬态)表3-1 PT2262的引脚功能
23、表3-2 PT2272的引脚功能名称管脚说明A0-A111-8、10-13地址管脚,用于地址编码,可置为“0”,“1”,“悬空”D0-D57-8、10-13数据输入端,有一个为“1”即有编码发出,内部下拉Vcc、Vss18、9电源正端()、电源负端()或是接地TE14编码启动端,用于多数据的编码发射,低电平有效OSC1、OSC216、15振荡电阻输入、输出端,振荡电阻决定振荡频率Dout17编码输出端(正常时为低电平)2262每次发射时至少发射4组码字,2272只有在连续两次检测到相同的地址码加数据码后才会把数据码中的“1”驱动相应的数据输出端置为高电平同时把VT端置为高电平。因为无线发射的特
24、点,第一组字码非常容易受零电平干扰,往往会产生误码,所以作丢弃处理10。 PT2262发射芯片地址编码输入有“1”、“0”和“开路”三种状态,数据输入有“1”和“0”两种状态。由各地址、数据的不同接脚状态决定,编码信号从输出端Dout输出。其编码时序波形如图3-2所示。OSC1、OSC2外接的电阻决定载波频率。图3-2 PT2262的编码时序图 PT2272解码芯片有不同的后缀,表示不同的功能,有L4/M4/L6/M6之分,其中L表示锁存输出,数据只要成功接收就能一直保持对应的电平状态,直到下次遥控数据发生变化时改变。M表示非锁存输出,数据脚输出的电平是瞬时的而且和发射端是否发射相对应,可以用
25、于类似点动的控制。后缀的6和4表示有几路并行的控制通道,当采用4路并行数据时(PT2272-M4),对应的地址编码应该是8位,如果采用6路的并行数据时(PT2272-M6),对应6位。PT2262和PT2272除地址编码必须完全一致外,振荡电阻还必须匹配,否则无法有效解码接收到的信号。随着技术的发展市场上出现一批兼容芯片(例如:SC2262/2272,CS5211/5212),振荡电阻的几组典型匹配阻值和芯片代换。 表3-3 编码解码芯片振荡电阻匹配编码发射芯片编码接收芯片PT2262PT2260SC2260SC2262SC5211PT2272/SC2272/CS52121.2M无3.3M1.
26、1M1.3M200K1.5M无4.3M1.4M1.6M270K2.2M无6.2M2M2.4M390K3.3M无9.1M3M3.6M680K4.7M1.2M12M4.3M5.1M820K本系统的振荡电阻使用的是4.7M/820K的组合,解码芯片PT2272的输入端是Din,信号从Din端输入解码。编码和解码芯片的地址设置一致时才能解码,同时VT置为高电平。PT2272的解码时序图如图3-3所示。本系统中解码电路使用的是锁存型的解码芯片11。图3-3 PT2272的解码时序图编解码芯片PT2262/PT2272的工作电压范围是315V,收发数据最多可到6位。地址编码为8位。3.1.2 无线发射、接
27、收原理本系统电路实现无线收发采用315MHz无线发射和超再生式无线接收。(1)无线发射电路二进制启闭键控(OOK:On-Off Keying)又名二进制振幅键控(2ASK),它是以单极性不归零码序列来控制正弦载波的开启与关闭。该调制方式的出现比模拟调制方式还早,Morse码的无线电传输就是使用该调制方式。由于OOK的抗噪声性能不如其他调制方式,所以该调制方式在目前的卫星通信、数字微波通信中没有被采用,但是由于该调制方式的实现简单,在光纤通信系统中,振幅键控方式却获得广泛应用12。该调制方式的分析方法是基本的,因而可从OOK调制方式入门来研究数字调制的基本理论。ASK指的是振幅键控方式。这种调制
28、方式是根据信号的不同,调节正弦波的幅度。幅移键控法(ASK)的载波幅度是随着调制信号而变化的,其最简单的形式是,载波在二进制调制信号控制下通断,此时又可称作开关键控(OOK)。 多电平MASK调制方式是一种比较高效的传输方式,但由于它的抗噪声能力较差,尤其是抗衰落的能力不强,因而一般只适宜在恒参信道下采用。早期的发射机较多使用LC振荡器,频率漂移较为严重。声表器件的出现解决了这一问题,其频率稳定性与晶振大体相同,而其基频可达几百兆甚至上千兆赫兹。无需倍频,与晶振相比电路极其简单。图3-4所示电路为常见的发射机电路,由于使用了声表器件,电路工作非常稳定,即使手碰到天线、声表器件或者电路的其他部位
29、,发射频率均不会漂移。 图3-4 315MHz发射电路(2)315MHz无线接收电路接收机可使用超再生电路或超外差电路。超再生电路成本低,功耗小可达100uA左右,调整良好的超再生电路灵敏度和一级高放、一级振荡、一级混频以及两级中放的超外差接收机差不多17。所以本系统将采用超再生电路作为接收电路 。3.1.3 电路设计本系统的发射电路采用图3-4所示的方案。这部分功能可以独立出来,我们可以把发射和接收电路单独制作成小模块:发射头和接收头,然后再嵌入到发射、接收模块电路中去实现整个电路的功能。理论和实践证明,当天线的长度为无线电信号波长的1/4时,天线的发射和接收转换效率最高。因此,天线的长度将
30、根据所发射和接收信号的频率即波长来决定。只要知道对应发射和接收的中心频率就可以用下面的公式算出对应的无线电信号的波长,再将算出的波长除以4就是对应的最佳天线长度。已知信号频率为315MHz,频率与波长的换算公式为:,式中,电磁波波长,电磁波波速,发射频率,天线长度。数据代入公式:=310,=0.95=0.24根据频率计算需要使用大约25cm的漆包线绕制成天线。(1)发射模块电路设计发射模块电路原理图如图3-5所示。 图3-5 发射电路原理图发射电路由PT2262编码构成4路发射电路,振荡电阻选用的是1.2M的电阻,图中PT2262的18脚VDD是通过按键和二极管向芯片供电的,只有当按键按下时二
31、极管导通才向PT2262芯片供电;没有键按下时,PT2262并不耗电,这种设计特别适合使用电池供电的场合。如果使用的电源电压较低(如3V),则二极管应选用低压差的型号(如1N60等),若是工作电压较大(如5V)时,可以使用分压较大的IN414818。地址编码由8位拨码开关的状态构成,可以分别置为“0”或“1”。当按下按钮中的一个时,PT2262对应的数据输入端就由低电平被置为高电平,同时18脚也得到高电平PT2262工作,将数据码和地址码一起编码,从17脚输出编码信号。17脚是编码信号输出端。(2)接收模块电路电路设计接收模块电路原理图如图3-6所示。图3-6 接收电路原理图接收电路:315M
32、Hz接收头接收到信号后送入锁存型的解码芯片PT2272的数据输入端14脚解码,振荡电阻选用200K的电阻与PT2262匹配。8位地址编码必须与编码芯片PT2262的地址编码一致才能实现解码,解码成功时第17脚将会输出高电平19。3.2 控制部分控制电路的主要元件是单片机,单片机在工业控制、电子产品、仪器仪表等行业中已得到广泛应用。我们利用单片机进行开发应用时,都必须先了解单片机的硬件配置、软件编写、提供的内部资源等等资料。本系统选用的是STC89C52RC, STC89C51RC/RD+ 系列单片机是宏晶科技推出的新一代超强抗干扰/高速/ 低功耗的单片机,指令代码完全兼容传统8051 单片机,
33、12 时钟/ 机器周期和6 时钟/ 机器周期可任意选择,最新的D 版本内部集成MAX810 专用复位电路20。特点:1 增强型6 时钟/ 机器周期,12 时钟/ 机器周期 8051 CPU2 工作电压:5.5V - 3.4V(5V 单片机) / 3.8V - 2.0V(3V 单片机)3 工作频率范围:0 - 40 MHz,相当于普通8051 的 080MHz.实际工 作频率可达48MHz.4 用户应用程序空间 4K / 8K / 13K / 16K / 20K / 32K / 64K 字节5 片上集成 1280 字节 / 512 字节 RAM6 通用I/O 口(32/36 个),复位后为: P
34、1/P2/P3/P4 是准双向口/ 弱上拉(普通8051 传统I/O 口)P0 口是开漏输出,作为总线扩展用时,不用加上拉电阻,作为I/O 口用时,需加上拉电阻。7 I S P (在系统可编程)/ I A P (在应用可编程),无需专用编程器/ 仿真器可通过串口(P3.0/P3.1)直接下载用户程序,8K 程序3 秒即可完成一片8 EEPROM 功能9 看门狗引脚分配:1 P0口与2272相互连接,用于接收2272收到的控制信号2 P2口与驱动电路相互连接,用于输出驱动信号 3 P3口与发光二极管相互连接,用于表示是否收到控制信号3.2.1 复位电路设计单片机的第9脚为复位脚,在该脚接一个10
35、K的电阻R16到地,以保证该脚在正常工作时为低电平0,同时,为了加电时给该脚一个高电平的复位脉冲,因此用一个10uF的电解电容C10连接到电源,利用电容两端的电压不能突变的特性,加电后给9脚施加一个短暂的高电平脉冲,该脉冲的宽度与电组R16和C10的容量都有关,电阻和电容越大加电后9脚的高电平脉冲就越宽,相反就越小21。在电容C10的两端还有一个手动复位按钮,为了避免按键时电容C10两端的电压通过按钮接点瞬间放电造成对按钮接点的大电流冲击,为此在按钮支路串入一个电阻R14这样电容通过R14放电时,就不会出现瞬间的大电流放电脉冲,因此可有效的避免按钮接点氧化和接触不良的现象。当开关按钮按下时,R
36、ST直接与电源连通,其电位被置为+5V,即为高电位,实现单片机的复位;当开关按钮打开时,PNP型三极管电路导通,沿着电流的方向其集电极电位小于+5V,此时单极电容导通,也即 RST端电位为低电位,即单片机不能实现复位。其中二极管起到开关的作用 图3-7 复位电路原理图3.2.2 时钟电路设计单片机的18、19脚接12MHz石英晶体,在晶体两端各接一个22P的电容到地,接电容的目的有三个:一是加快上电后的起振速度,二是保证起振后能够保持平稳的振荡,避免出现停振,三是可以通过改变两个电容的容量,微调振荡频率22。 图3-8 时钟电路原理图3.2.3 驱动接口设计ULN2003是大电流驱动阵列,多用
37、于单片机、智能仪表、PLC、数字量输出卡等控制电路中23。可以直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。ULN2003是高耐压、大电流达林顿阵列,由七个硅NPN达林顿管组成。该电路的特点如下:每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器。具有电路增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动系统。 图3-9 ULN2003内部电路图图3-10 驱动接口设计原理图3.2.4 下载接口设计 图3-11 单片机在线下载口但是由于单片机的外部中单片机编译好
38、的程序就是从此烧写口写进单片机执行的24,STC89C52RC支持在线下载的优点就体现在这里。在电路板上留下程序下载口,软件调试时就变得非常方便,不需要每次都把芯片取下来使用专用的烧写器下载好后再装上调试,直接可以实现在线调试。P1口的输入就是接收模块接收到的数据,也就是发射模块的8个按键产生的高低电平控制信号。也就是说通过无线收发后,8个按键就对应于解码芯片PT2272的数据输出8个,在这控制模块中输入到单片机的P1口。接收模块的VT端输入到单片机的INT0口,用于产生中断信号。在接收模块中当有有效信号输入时PT2272解码置对应的数据端为高,同时也置VT为高电平。所以VT表示发射电路的按键
39、按下时被识别到了,所以用VT作为中断信号在适合不过了。断是低电平有效的,而VT是高电平。所以需要加入一个非门,然而特意的加入一个非门会增加不必要的开销。所以就加了一个由三极管构成的非逻辑结构。为了知道VT什么时候变高电平、是否变高电平,我在VT端加了一个绿色的LED作为指示,限流电阻为200欧。三极管非门的输入端必须加上输入电阻,否则非门不会很好的工作,要有0.7V左右的电压就b、e极就导通了,而且LED也始终不会点亮,因为此点被钳位在0.7V。控制模块电路原理图见附录4。第4章 软件设计本系统的软件开发是使用Keil C51来完成的,具体开发过程包括:程序的编写、编译、软件仿真、最后生成he
40、x文件下载到单片机。本程序使用C语言编写。4.1开发软件介绍Keil C51是美国Keil Software公司出品的与51系列单片机兼容的单片机C语言软件开发系统。与汇编语言相比 C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C 来开发,体会更加深刻Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高。多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现出高级语言的优势。C51 forWindows 和for Do
41、s 的集成开发环境(IDE) 可以完成编辑、编译、连接、调试、仿真等整个开发流程,开发人员可用IDE本身或其它编辑器编辑C 或汇编源文件,然后分别由C51 及A51 编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS) ABS 文件由OH51 转换成标准的Hex文件等待下载。KEIL软件使用说明:(1) 点击“工程”“新建工程”,新建一个工程文件PWM;(2) 选择芯片类型,本系统选用的是”STC89C52RC”.(3) 在目标1的源程序组1上点击鼠标右键,加入已编缉好的源程序文件W.ASM,也可以在点“新建”
42、,在出现的空白文件中输入源程序然后在以.ASM后缀保存即可。(4) 在菜单“工程”“目标1属性”中选中“输出”标签,在“生成HEX文件”上打勾,其它的一般都使用默认值。(5) 选中菜单“工程重新构造所有目标”,当编译出现0个错误0个警告时,就表示编译成功并产生了可以烧录的HEX文件。4.2软件实现方法本系统采用中断控制,中断信号来自接收模块的VT端。VT在接收模块中表示的是有有效的控制信号输入到解码芯片PT2272,所以这样设计就能够实现只要有确切的控制信号传到单片机就产生中断,执行中断程序。控制信号是从P1口输入的,所以单片机的P1口需要初始化为高电平等待输入信号。4路控制信号,当一路是高电
43、平时其它的就是低电平,所以单片机只要在中断信号到来的时候查询P1口的前4位就可以识别出是哪个控制信号。PT2272选用的是锁存型的,所以控制信号将会一直保存到下一个控制信号产生后来取代它为止。所以,查询程序应该设计在中断程序中,等中断一产生就查询是哪路信号,也就是对应于发射模块的哪个按键被按下。4.2.1 软件流程图主程序流程图如图4-1所示。 本系统的软件部分规模不大,所以使用C语言编写,而且C语言更接近机器语言,所以使用C语言编写的程序执行效率很高。特别适合实时性要求较高的系统。本系统的总程序清单见附录3。图4-1 主程序流程图 第5章 系统测试5.1各部分电路测试经过以上的准备,已经从理
44、论上设计出了整个系统电路的硬件和软件。现在将进入测试阶段,这是整个系统的实现阶段。包括:1做出硬件电路板,并调试排除所有的硬件障碍;2硬件正常后下载软件到单片机中进行测试,用示波器检测是否产生信号。硬件测试首先需要制作出硬件电路板。根据第二章所设计的电路,应用电路设计软件Protel 99SE 制作。首先制作出原理图,再根据原理图生成PCB图,然后布线;布线完成后也就完成了Protel的任务,接下来就是制作电路板,制作电路板的步骤和方法在以前的课程设计中就已经熟悉,在此就不再累赘。(1)发射电路测试发射电路选用的电源是+5V,首先用万用表测电压,当K1、K2、K3、K4分别按下时,对应的数据输
45、入端是否是5V,PT2262的18脚是否在4.3V以上,按键的下拉电阻选用的是2.7K,与18脚之间加的二极管选用的是IN4148,如果都正常那么键盘电路就正常了。解码芯片PT2262的振荡电阻选用的是1.2M ,可以用示波器测试跳线断口的与芯片连接的那端,当有按键按下发射数据时应输出大约1.4K左右的方波信号。发射电路通过测试无误后将跳线帽接上接通315M无线发射头,就可以发射信号了。由于遥控电路的发射部分需要移动,固定在一个地方将失去遥控的意义。所以本电路的发射部分的电源应该由电池提供,而本电路采用了省电设计,只有在有按键按下时,才会接通电源对电路供电,平时不耗电。所以电路使用电池供电,使
46、用时间长。为了得到较大的发射功率可以选用电压大于5V的电源。由6V电池供电。(2)接收电路测试接收电路主要由315M接收头和PT2272构成,PT2272选用的振荡电阻阻值是200K,必须与PT2262匹配才能解码。需要注意的还有,地址编码必须与发射电路一致才能实现解码。(3)控制模块测试控制模块是整个电路的核心部位,所以它的稳定工作尤其重要。电路的功能、原理、各个部分之间的连接情况、各信号的流向问题在前面的设计阶段已经详细介绍过了,在这里就只将调试不再叙述功能和原理。首先必须检查的就是中断信号,发射端按下按键发射数据时VT会被置为高电平,经过三极管反向后在INT0中断脚就会变为低电平,所以可以用万用表测试INT0脚的电压是否平时一直是高电平,当绿色指示灯亮后就跳变为高电平。5.2测试中遇到的问题和解决方法1 在各部分电路测试正常后,按下控制端发射按键,发现所对应的设备不工作,用示波器测试,发射端发出高电平,但是接