基于单片机的电器遥控器设计毕业设计论文.doc

上传人:laozhun 文档编号:2986636 上传时间:2023-03-07 格式:DOC 页数:48 大小:1,001KB
返回 下载 相关 举报
基于单片机的电器遥控器设计毕业设计论文.doc_第1页
第1页 / 共48页
基于单片机的电器遥控器设计毕业设计论文.doc_第2页
第2页 / 共48页
基于单片机的电器遥控器设计毕业设计论文.doc_第3页
第3页 / 共48页
基于单片机的电器遥控器设计毕业设计论文.doc_第4页
第4页 / 共48页
基于单片机的电器遥控器设计毕业设计论文.doc_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《基于单片机的电器遥控器设计毕业设计论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的电器遥控器设计毕业设计论文.doc(48页珍藏版)》请在三一办公上搜索。

1、毕业设计(论文) 题 目:基于单片机的电器遥控器设计皖西学院本科毕业设计(论文)创作诚信承诺书1.本人郑重承诺:所提交的毕业设计(论文),题目基于单片机的电器遥控器设计是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容; 2.毕业设计(论文)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已标注说明来源; 3. 毕业设计(论文)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况; 4.本人已被告知并清楚:学校对毕业设计(论文)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业设计(论文)成绩

2、不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果; 5.若在省教育厅、学校组织的毕业设计(论文)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学校按有关规定给予的处理,并承担相应责任。 学生(签名): 日期: 年 月 日目 录前言21控制信息的传递方式21.1无线电遥控方式21.2红外遥控方式31.3wifi方式31.4ZigBee方式31.5方式选择42总体设计方案42.1方案一:最简红外遥控电路42.2方案二:红外遥控开关电路(简单控制)42.3方案三:利用红外遥控开关电路(复杂控制)52.4方案比较63硬件部分设计6

3、3.1单片机的选择63.2显示器的选择73.3调光器的选择73.4按键的选择73.5红外发射管与接收头的选择73.6电路设计84软件部分设计134.1遥控码的信息协议134.2程序设计155最后总结186主要参考文献19基于单片机的电器遥控器设计学生:(指导老师:)(皖西学院机械与电子工程学院)摘 要:遥控,即控制对象的远程控制,使其根据指令执行动作。而如今随着科技的飞速发展遥控控制在生产生活中起到了越来越重要的作用。小到日常生活中的电器控制,大到工业上高危高险作业的遥控以及航天科学上的卫星管控,这些都是遥控的现实应用。基于单片机的遥控器设计采用AT89C51单片机为核心处理器,设计分为发射电

4、路与接收处理电路2个部分。发射端电路采用码分制的信息传输格式并通过红外线载体传递控制信号;接收端通过解码器解码识别发射端发射的红外信号再由单片机AT89C51输出相对应的控制电平控制受控的对象。本设计是以单片机为核心设计的一种智能型红外遥控器,可以对发出的红外信号进行识别与处理。关键词:遥控器;单片机;红外信号;解码器Electric Remote Control Microcontroller Based DesignStudent: chenyang (Faculty Adviser:zhangbin)(College of Mechanical and Electronic Engine

5、ering,West Anhui University)Abstract: remote control, namely the controlled object remote control to operate according to instructions. And now with the rapid development of remote control technology plays an increasingly important role in the production of life. Small everyday electrical control, h

6、igh-risk insurance to large industrial operations, and satellite remote control on space science, these are the realities of remote applications. With the development of electronic technology using single-chip micro remote control system is an important direction for future development of the contro

7、l field. Microcontroller-based remote control designed using AT89C51 core processors, designed into the transmitter and receiver circuit processing circuit two parts. Code transmitter circuit using the transmission format of the system information and control signals transmitted by infrared carrier;

8、 receiving side transmits an infrared signal decoded by the decoder to identify the transmitting end corresponding to the further control level for controlling the controlled object output from the microcontroller AT89C51. The design is based on the design of a microcontroller as the core of intelli

9、gent infrared remote control that can be emitted by the infrared signal recognition and treatment.Keywords: Remote control; MCU; infrared signal; decoder前言随着科技的不断发展以及人们生活水平的不断提高,越来越多的电器产品进入了寻常百姓的家中。电器使人们的生活更加便捷舒适,而如今电器产品所着重的不仅仅是功能上的全面、能耗上的性价比还有操作上的便利。智能化以及远程操控更是未来电器的发展方向。如通过物联网技术用户可以在任意时间任意地点完成对联网电器

10、的操作。不过鉴于本人知识水平的限制,本设计只能通过红外遥的方式控制5个电器的开关,以及队一组LED灯光的明暗控制。1控制信息的传递方式1.1无线电遥控方式无线电遥控电路比较复杂实现难度比较大,但是无线电的控制范围广,近从零点几米远则可以突破地球到达外太空!无线电遥控发射电路模块是由电路广泛接受,当接收器接收由发射器控制电子开关的工作发射的无线电波。因此,无线电波收发器和发送器的接收频率必须相同。脉冲发射有调频、调幅、数字脉冲发射三种;从开关来说分有单通道遥控和多通道遥控。由于无线电的使用可能会干扰和影响其他电子设备的工作,比如飞机在飞行中要求乘员关闭手机等无线通讯设备。所以依据各国的无线电管理

11、条列(如中华人民共和国无线电管理条例),无线电的使用被严格划分。在不同的场合、不同的工作性质下都有专门的对无线电的频率、功率的约束。国家也对于用无线电业余爱好者,留下了了特定的波段。单纯从遥控的效果来说,无线电的发射功率、接收器件的接受灵敏度以及工作频率都是影响它的重要因素。但是因为无线电的使用受到了管制(发射功率、工作频率),我们只能从提高接受灵敏度、加强电路抗干扰能力入手改进电路。而这两点恰恰就是无线电遥控电路设计的重点。并且用无线电传送控制指令还要有一定的安全性问题(指令的正确收发)。因此为了达到设计要求在基础的收发电路之上我们就需要加入许多附加电路。综上所述,使用无线电遥控本身实现复杂

12、,并且无线电的使用受到了国家法律法规的约束。因此对于本设计无论是成本上、实现难度上、以及设计本身的应用范围上来说使用无线电遥控都不是最佳选择,甚至都不是可选项。1.2红外遥控方式 红外遥控是用红外线发光LED,发射波长940nm的红外不可见光,来传送信号。发射端经过红外线发射LED发送红外线控制信号,信号被红外接收模块接受,并对信号进行译码而做出相匹配的控制动作完成遥控。因为红外光谱中的可见光以外,所以抗干扰性的红外传输。和基本性能用的红外光,而且不容易产生相互干扰的直线传播,是理想的信息载体的传播。信息可以被调制的红外光透射,而长波红外波长小于无线电波,以便不干扰的红外线遥控器等电气设备,也

13、不会影响到相邻的无线电设备。再者,使用红外遥控器件时,工作电压低,功耗小,附加电路简单,对于本设计来说恰恰符合需求。1.3wifi方式Wifi无线网络,可为计算机,便携式设备(手机,平板)等终端以无线方式互相连接的技术。不过本设计如果使用wifi传递控制信息,则遥控器端以及受控端要加装wifi模块。虽然这样做加大了控制范围,但是成本上还是相对来说比较高昂。1.4ZigBee方式ZigBee是一种无线连接,可工作在2.4GHz分别具有最高250kbit/s、20kbit/s和40kbit/s的传输速率,它的传输距离在10-75m的范围内,但可以继续增加。从上所述,ZigBee单纯的性能以及成本方

14、面来考量似乎是最优的选择。但是ZigBee在实际使用过程中还要考虑不同设备之间同时收发信息时设备之间的冲突问题。而解决此问题可以考虑在设备之间的控制核心上编写一套简单的通信协议来处理信息冲突。本设计中使用的是AT89C51单片机,在功能上就难以支持ZigBee复杂的信息传递,并且对此设计本身来说使用ZigBee来说成本还是过高。1.5方式选择对以上几种信息传递方式的对比与选择后,确定本设计使用红外遥控的方式对设备进行遥控。红外遥控应用简单、成本低廉、控制范围基本能达到设计要求。2总体设计方案2.1方案一:最简红外遥控电路在仅仅需要控制单一受控目标的情况下,使用一般集成电路组成单通道红外遥控电路

15、。这种简单的控制电路并不需要专门配置译码器,所以成本比较低。红外发射端示意图: 图2.1最简红外发射端考虑到该程序是一个简单的单通道遥控器,可以直接产生一个合适频率再通过红外LED发射。红外接收端示意图: 图2.2红外接收端当红外接收端接收到控制频率时,由一个附加电路对其进行解调并产生相对应的控制功能。2.2方案二:红外遥控开关电路(简单控制)红外线发射/接收电路均采用单片机来实现,输出控制方式可选择,实用性强。红外发射端示意图:图2.3简单红外发射端当按下遥控按键时,单片机发出对应的控制脉冲,由红外LED发射出去。红外接收端示意图: 图2.4简单红外接收端当红外接收端接收到控制脉冲后,由控制

16、方式选择开关模式是“互锁”还是单路控制,再由单片机处理以后,对相应的受控目标进行控制。2.3方案三:利用红外遥控开关电路(复杂控制)使用单片机制作一个红外电器遥控器,可以控制最多5个电器的电源开关,和一个发光LED的开关,并且可以对发光LED的亮度进行调节。红外发射端示意图:图2.5复杂控制红外发端按下相应的单片机控制脉冲的按钮,用红外发射出去。红外接收端示意图:图2.6复杂红外接收端当控制接收通过微控制器发送的红外脉冲将解析到显示器上的控制对象的信息,并确定LED是否调光,调光,如果需要调光跳跃处理的调光电路的功能。2.4方案比较以上三套方案中,方案一功能简单过于单一,没有才用单片机控制,只

17、能对一路电器进行简单的开关遥控;方案二和方案三的红外遥控发射器/接收器使用单片机电路,该电路比较简单,实用性强。不过,方案二虽然实现了对多个电器的控制但是只能进行简单的开关变换,功能上来说还是比较单薄。而方案三则不仅实现了多个电器的控制还能对LED进行亮度的调节。所以相比较而言本设计使用方案三。3硬件部分设计3.1单片机的选择本设计所采用的单片机选择用AT89C51来实现。AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C20

18、51是闪存2K字节微控制器的可擦可编程只读存储器。单片机的EEPROM可擦除重复1000次。该设备采用了高密度非易失性存储器ATMEL公司的制造技术,与工业标准的MCS-51指令集和输出管脚相兼容。因为CPU8和多功能组合在单个闪速存储器芯片中,ATMEL AT89 C51是用于单片机一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机的灵活、高效、廉价,使它成为嵌入式行业内常用的单片机主控芯片。3.2显示器的选择单片机系统使用中应用最多的显示器主要有LED和LCD(液晶显示器)。这2种显示器成本低廉,配置灵活与单片机的I/O接口方便。不过它们之间的使用也是各有特点:L

19、ED接口简单不需要专门的驱动程序;LCD显示的字体比较丰富,也清楚,但是LCD的接口复杂要想显示文字还要自己造字库,难度比较大。对于本设计来说用LED表示控制目标的受控状态就够了,故没必要使用LCD。3.3调光器的选择本设计中用到的调光功能只是调节LED等的亮暗,因此不用使用复杂的调光控制系统,使用一个光电耦合器就可以完成。光电耦合器是以光为媒介传输电信号的一种电一光一电转换器件。光电耦合器具有体积小、使用寿命长、工作温度范围宽、抗干扰性能强无触点且输入与输出在电气上完全隔离等。本设计使用PS2019光电耦合器。3.4按键的选择本设计所控制的电器数目比较少,因此没必要外加键盘,直接使用单片机上

20、的控制接口,使用8个点触式开关就够了。3.5红外发射管与接收头的选择LF5038是一种无色透明已经封装完毕的红外线发射管,LF0038F是鼻梁状的一体化红外接收头。LF5038有2个引脚,“A”和“K”是它的阳极和阴极。LF0038F具有3个引脚:GND为接地端;VCC为输入电源端,正常的工作电压范围在2.7-5.5V之间;OUT为数据输出端,默认未接受状态为输出高电平,使用时一般需要外接一个大于20K的电阻。LF5038主要参数为:峰值波长940nm;正向工作电压值为1.2V,最大电压值为1.5V;一般来收正向工作电流越大LF5038的发射距离越远。LF0038F的载波频率的值为28kHZ;

21、当红外线发射管的正向电流为300mA时,LF0038F的最小接收距离为15m、接收角度的范围为上下45;当无信号接收时LF0038F的静态工作电流为0.4mA;若以宽度为600us发射脉冲,在5m的范围内,取50次平均值得到LF0038F的接收脉冲宽度范围是500-700us。3.6电路设计3.6.1发射电路部分3.6.1.1遥控发射本遥控发射器采用码分制遥控方式,码分制红外遥控就是指令信号产生电路以不同的脉冲编码(不同的脉冲数目及组合)代表不同的控制指令。当不同的指令键被按下时,指令信号电路产生不同脉冲编码的指令信号,也就是进行编码,然后经调制电路调制,变为编码脉冲编码脉冲调制信号,再由驱动

22、电路驱动红外发射器发射红外信号。发射过程示意图:图3.1遥控发射过程3.6.1.2红外发射电路的载波、数字基带信号的产生因为一体化接收头的载波频率为38KHZ,所以发射模块需要以38KHZ的载波来发射信号。使用AT89C51单片机可以很简单的产生这种载波信号,但是需要使用单片机自带的一个定时器资源。为了是单片机的利用更加效率,提高性能,我们使用石英晶体多谢振荡器来生成38KHZ的载波信号。红外发射的数字基带信号也可以用单片机产生。数字基带信号使用单极性非归零(NRZ)的形式编码,通过单片机自带的定时器生成特殊频率的方波信号,并由P3.4端口输出。数字基带信号和载波信号经过“与非”门输出以后成为

23、红外发射端的控制信号。下图为输出L和OUT的波形图:图3.2L和OUT波形3.6.1.3发射管驱动电路设计因为输出的电流的最大值能达到25Ma,但是红外发射的有效距离由红外发射管IF的数值决定。所以为了增加有效距离必须要重新设计驱动电路。红外发射管的驱动电路主要有:NPN管构成的驱动电路和PNP管构成的驱动电路。考虑到三极管的最大集电极电流要大于红外发射管的IF,三极管9012和9013都能符合技术要求。下图为2种驱动电路图:图3.3发射驱动管电路从以上分析可知:L恒定输出高电平作为红外发射管的关断信号。因此发射端电路使用NPN电路。3.6.1.4发射电路设计在确定使用AT89C51作为核心芯

24、片和点触式开关作为控制按键以后,加上简单的红外发射电路和12M晶体振荡器就可以实现红外发射。图示为核心电路图:图3.4发射端核心电路图中第9脚(RST)所接的是一个最简单的RC上电复位电路(用来替代看门狗)。P3.5接一个74LS92和一个门电路用来计数发射的脉冲数;计数完成后由三级管发光二级管利用红外光为介质,将控制信以红外光脉冲的形式发射去,由接收电路再进行放大,解调,信号还原。晶体三极管主要用于放大电路中起放大用,本设计采用的是一个NPN型的三级管9013,为了得到更大的放大倍数,采了类似共射级接法。因为从p3.5口出来的为高电压,而三级管9013不能承受此电压,所以采用了一个阻值较大的

25、电阻来起分压作用,从而缓冲了加到三级管上的电压。3.6.1.3发射电路完整电路图图3.5发射端完整电路上图为发射电路完整电路图,图中第1脚到第7脚接7个点触式开关。其中第1到第5脚控制电器的开关,第6脚为可调LED 7脚与第8脚为控制LED灯亮度的开关,按下7脚灯变亮,按下8脚灯变暗,第9脚为复位脚,使用简单的RC上电复位电路,15脚为红外线遥控码的输出端口,输出40KHZ载波编码,第18、19脚接12MHZ晶振。3.6.2接收电路部分3.6.2.1接收部分红外遥控系统中的指令信号以及检出电路,在码分制系统中由编码电路和解码电路组成。并且因为码分制系统编码脉冲的频率很低,为超低频,所以需要有调

26、制和解调的过程。否则就有可能因为外界的光线突变造成对接收电路的干扰,产生误响应,系统的抗干扰能力和可靠性就较差。接收过程图:图3.6接收过程3.6.2.2红外接收电路电源的要求因为电路中使用塑料封装完毕的一体化红外接头接收数据,所以对电源要求比较苛刻。因此在接收电路中,使用直流稳压电源或者3节1.5V干电池串联供电比较适用。但是不适合使用波纹大的开关电源,以及和发射模块使用同一电源驱动接收模块电路。下图为红外接收模块电源电路图:图3.7电源电路图3.6.2.2接收电路设计在确定发射电路的硬件构成,本着尽量使用相同原件的原则。设计出如下电路图3.8接收端完整电路图从上图可知:单片机第1号端口到第

27、8号端口接8位数码管,用来显示被控制LED发光2极管的亮度,数码管显示范围从0到8,显示8时最亮然后逐级递减到0最暗。第25号端口到第39号端口接作为5个电器的电源控制输出。其中第34号端口是可以调节光暗的电灯,第28端口是电耦合器调光等的调光脉冲输出,第10号端口为50HZ交流电(市电)相位基准输入,第12号端口是中断输入,第11号端口是用来接收红外线遥控码信号。4软件部分设计4.1遥控码的信息协议本设计中遥控器主机与从机(发射端与接收端)之间的信息交换格式采用脉冲个数编码,不同的脉冲个数代表不同的码,最大为9脉冲,最小为2脉冲。为了确保传输的稳定性与可靠性,我们设置第一位码宽为3ms其余为

28、1ms,遥控码数据帧间隔大于10ms。以第10号端口输出波形为例:图 4.1 10号端口输出波形4.1.1遥控码的发射当控制开关被激活时,单片机读取所述第一密钥,然后根据脉冲数键值设置远程控制代码,然后调制为40KHZ的方波,通过一个红外发光二极管发射的信号。下图为15号端口发送器电路的输出调制波形:图 4.2 15号端口输出挑吃波形4.1.2数据帧的处理当红外线接收端输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧,在接收数据帧是,会对启事位码的码宽进行验证。如果第一位低电平码的脉冲位宽小于2ms,将其作为错误码处理。当间隔位的高电平脉冲位宽大于3ms时,结束接受,然后由累加

29、器A中的脉冲个数,执行相应额输出口的操作,图示为红外线接收端输出一帧遥控码的波形:图 4.3红外接收器的一帧遥控码波形4.2程序设计4.2.1发射端程序设计红外端发射的初始化代码应该包含初始化T0和系统一上电运行就关闭红外输出这两步。初始化T0,使T0用作为定时器并使其处于模式一工作状态。初始化设置默认不允许开T0中断,并且也不允许启动T0。只有键盘的状态变化才能决定是否开T0中断并且启动T0。单片机上电复位时,4个并行I/O端口默认输出为高电平,所以当系统上电时必须强制P3.4引脚输出低电平使红外输出处于关闭的状态。图示为发射端程序的流程图,首先初始化硬件系统启动程序,然后循环扫描键位。图

30、4.4发射程序流程按键扫描模块:先判断按键是否被按下,如果有按键被按下则循环扫描,按照P口值查找按下的键号。最后按照键号调用发射模块,流程图如下:图4.5按键扫描流程红外发射模块:首先装入发射脉冲个数(发射时3ms脉冲,停止时1ms脉冲),如果脉冲个数为1则返回主程序,反之如果不为1则发射1ms脉冲,然后停发1ms脉冲。以上为一个完整的发射过程。在实际应用中,使用红外线遥控方式时,受到遥控距离,遥控角度等因素影响,使用的效果不是很理想。如果采用调频或者调幅发射接收码,可有效提高遥控的范围,并且屏蔽了角度的影响。下图为红外信号的发射过程流程图:图4.6发射过程流程4.2.2接收端程序设计遥控接受

31、端的主程序及其初始化延迟过程如下:先初始化,然后按照显示亮度数据设定调光脉冲延时数值,看P3.0端口的脉冲数值是否为0,如果不为0则调入延迟程序,此时喷.7端口输出调光脉冲然后返回;如果为0则直接返回。程序流程图如下:图4.7接收程序流程接收端中断过程:首先判断低电平脉宽度是否大于2ms,如果脉宽不到2ms,则中断返回;如果低电平大于2ms,则接收并基数低电平脉冲个数,然后判断高电平脉宽度是否大于3ms,如果小于3ms,则返回上一阶段计数过程;如果大于3ms,则按照脉冲个数找到对应的功能程序,此时中断返回。图为中断过程程序流程图:图4.8中断流程5最后总结本系毕业论文先确定了遥控信息的传递方式

32、。通过对比红外传递、无线电电波传递、wifi、zigbee等方式,从中选择了最合适于本课题的红外线传递控制信息的方式。然后进一步了解了红外线传递的具体知识,设计了三套应用于红外线的设计方案,最后根据课题的实际情况(时间限制、难易度、功能多少)确定了以第三套方案为主的设计。运用了大学期间所学的主要课程:微机原理、通信原理、数电、模电等课程的知识完成了本设计的硬件实现;经过对C语言、汇编的的强化训练完成了本设计的软件部分。通过本次课题使我自己所学有一个总体认识,复习巩固了大学期间所学的专业知识;同时也学习新的专业知识,也让我对大学四年所学的专业课程有了一次综合性的实践。6主要参考文献1.何希才.

33、新型软开关电源的设计与应用M . 北京:科学出版社,2000.2.先锋工作室,单片机程序设计实例.北京:清华大学出版社,20033.李朝清.单片机原理及接口技术. 北京:航空航天大学出版社,19974.范寿康等编著,单片微型计算机的应用开发技术. 北京:人民邮电出版社,19985.李珍,付植桐编著.单片机原理与应用技术M. 北京:清华大学出版社,20036.万福君,潘松峰.单片微机原理系统设计与应用.中国科学技术大学出版社.7.李华. MCS-51系列单片机实用接口技术.北京:航空航天大学出版社,1999.8.张肃文,陆兆文.高频电子电路.高等教育出版社.1993.第三版.9.瞿雷,刘圣德,胡

34、咸斌.ZigBee技术及应用. 北京航空航天大学出版社.第1版 (2007年9月1日)附录部分程序测试代码: KEY_PORT EQU P3 ;P3.4-P3.7 LCD_PORT EQU P0 ;lcd控制与驱动 RS BIT P2.3 ;lcd控制与驱动RW BIT P2.4 ;lcd控制与驱动E BIT P2.5 ;lcd控制与驱动 SCLK BIT P2.0 ;DS1302控制与驱动 IO BIT P2.1 ;DS1302控制与驱动 RST BIT P2.2 ;DS1302控制与驱动 PHWX BIT P3.2 ;HWX-INT0 DQ BITP3.5;18B20数据输入/输出端 KE

35、Y_BUSY BIT 00H ;startup check timer display load SEC EQU 30H MIN EQU 31H HOUR EQU 32H DAY EQU 33H MONTH EQU 34H YEAR EQU 35H WEEK EQU 36H COM EQU 38H DAT EQU 39H KEY_CNT EQU 3DH HWX_NUM1 EQU 80H ;接收首数据存放地址HWX_NUM2 EQU 81H ;接收首数据存放地址HWX_NUM3 EQU 82H ;接收首数据存放地址HWX_NUM4 EQU 83H ;接收首数据存放地址 HWX_STO EQU 4

36、1H ;receivd hwx data HWX_FLG BIT 07H ; RECIEVED HWX_SIGNAL HWX_BUSY BIT 08H ; startup check timer display load TEM_L EQU 34H TEM_H EQU 35H TEM_NUM EQU 36HALARM BIT P3.4SHI EQU 42HGEE EQU 43H ORG 0000H LJMP MAIN ORG 0003H LJMP IR ORG 0030H MAIN:SETB EA SETB EX0 SETB IT0 SJMP RUNDS1302 runds1302: MOV

37、SP,#0dfH mov a,#00h mov r1,#0FFh mov r0,#0FDh LOOP1302: mov r1,a DEC r1 djnz r0,loop1302 mov KEY_CNT,#80h mov p0,#0ffh LCALL INITIAL;液晶初始化子程序 ;CLR KEY_BUSY;开关忙标志清零 LOOP0: SETB ALARM LCALL RUN1 ;显示第一屏,字符 MOV COM,#01H LCALL LCD_W_CMD ;清屏 LCALL SET1302 LCALL RUN2 ;显示第二屏,时间 RUN2:LCALL GET1302 LCALL DISP

38、LAY2;第二屏初显示 LCALL DELAY /* M02:LCALL CHK_KEY JB KEY_BUSY,M02 ;开关标志忙么?如忙 则一直检测开关状态,不忙则显示时间 */ MD1:JNB HWX_FLG, MD0 SETB ALARMCLR HWX_FLG LCALL HWX_SCAN MD0:JB HWX_BUSY, MD1 SJMP run2 RET RUN18B20:MOV SP,#0DFH MOV DPTR,#TAB1820 MOV A,#00H MOV R1,#0FFH MOV R0,#0FDHLOOP1820: MOV R1,A DEC R1 DJNZ R0,LOOP

39、1820;内寄存器清零 MOV P0,#0FFH LCALL INITIALLOOP1: LCALL GET_TEM LCALL TEM_COV LCALL DISPLAY1820 MT1: LCALL HWX_SCANSETB ALARMSJMP LOOP1 run1:lcall display1 ;字符显示retSCAN_KEY: SETB P3.4 SETB P3.5 SETB P3.6 SETB P3.7 MOV A, KEY_PORT CPL A ANL A, #0F0H RET ;读取开关值 CHK_KEY: LCALL SCAN_KEY JZ NO_KEY1 LCALL DELA

40、Y100US LCALL SCAN_KEY JZ NO_KEY1 MOV R2, A;保护键值 WAIT1: LCALL SCAN_KEY LCALL DELAY100US JNZ WAIT1;等待释放 MOV A, R2 KEYACC: NOP LX: JB ACC.4, SHIFT ;P3.4控制转移 JB ACC.5, ADD_ONE ;p3.5控制加1 JNB ACC.6, LX1 ;p3.6控制减1 LJMP SUB_ONE LX1: JNB ACC.7,NO_KEY1 LJMP SETUP ; 距离太长,跳转不到p3.7控制确定按键 NO_KEY1: RET SHIFT: NOP

41、SETB KEY_BUSY SFT1: MOV A, KEY_CNT; 开关状态,根据此状态,确定修改相应值 RL AMOV KEY_CNT,A MOV A, KEY_CNT JB ACC.0, TO_YX1 JB ACC.1, TO_MX1 JB ACC.2, TO_DX1 JB ACC.3, TO_WX1 JB ACC.4, TO_HX1 JB ACC.5, TO_MNX1 JB ACC.6, TO_SX1 JB ACC.7, X0 X0: mov key_cnt, #80h RETTO_YX1:MOV COM,#83H LCALL LCD_W_CMD;光标根据开关状态跟踪地址 RETTO_MX1:MOV COM,#86H LCALL LCD_W_CMD RETTO_DX1:MOV COM,#89H LCALL LCD_W_CMD RETTO_WX1:MOV COM,#0CFH LCALL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号