《单片机在无线遥控模块中的应用.doc》由会员分享,可在线阅读,更多相关《单片机在无线遥控模块中的应用.doc(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目 录第1章 绪论61.1 课题背景61.2 遥控器原理61.3 设计任务61.4 设计的意义6第2章 无线遥控原理72.1 发射电路原理72.2 接收电路原理72.3 天线原理72.3.1 什么是天线72.3.2 天线的种类8第3章 遥控方案设计93.1 系统设计93.2 解决方案(一)103.3 解决方案(二)113.4 方案讨论12第4章 系统实现134.1 工具介绍134.1.1 Protus原理图与仿真134.1.2 Protel原理图与电路板制作134.2 器件介绍144.2.1 发射集成电路144.2.2 接受集成电路154.2.3 编码和解码芯片164.2.4 单片机AT89S
2、52164.2.5 LCD1602A显示原理174.3 键盘编码184.4 系统构架194.5 程序实现19第5章 系统测试205.1 无线发射接收测试205.2 程序测试215.3 系统总体测试22致 谢22参考文献22附 录22遥控器电路22接收部分电路图23源程序24第1章 绪论1.1 课题背景盆腔治疗仪采用物理的电、热、磁等生理作用,具有促进神经肌肉组织兴奋,局部血液循环和镇痛三种重要作用。电疗是由盆腔治疗仪产生复杂的中低频电流,经过探头流向贴在腹部两边的电极。电疗具有积极的生理作用。热疗是由在探头内部的加热线圈对探头进行加热,并有探头内部的温度传感器,反馈温度,并经过单片机控制加热的
3、温度,以实现盆腔炎的热疗疗法。本课题是基于对已研发的盆腔炎治疗仪进行改进设计的情况下提出的。盆腔治疗仪的改进包括温度控制改进、抗干扰改进、探头改进和增加无线遥控功能。本文正是为解决盆腔治疗仪无线遥控功能,而提出了自己的设计方案。对盆腔治疗仪进行改进,是针对多年来盆腔炎治疗仪在临床应用中存在的问题而提出的。在温度控制部分,要力求达到高精度和稳定性,一方面避免温度跳变对病人造成不适,另一方面也是为更好控制治疗的效果。在抗干扰方面,盆腔治疗仪的电疗输出电流是中低频电流,在治疗时人体感觉不到这种电流的通过。如果有跳变高频的电流,则容易使运放电路产生高频冲击,不但人体能感觉到,就连按摩电机也造成探头的有
4、明显的抖动。探头的设计应该更加人性化,按照人体的生理结构设计,让病人用得更舒服。无线遥控功能的增加,更是为方便盆腔治疗仪使用和提高盆腔治疗仪的智能化。1.2 遥控器原理遥控器的遥控功能实现,一般是以电磁波或红外线为数据传输介质,实现指令的传送功能。遥控器发送的数据要经过加密编码,调制,载波输出信号。接受模块,则进行相反的操作,提取出遥控器发射过来的命令,再由MCU执行相应的命令。1.3 设计任务对盆腔治疗仪增加无线遥控功能,要从仪器原有方案出发,考虑系统的兼容性,不能对仪器造成附加的干扰和影响。也要从经济角度考虑,在达到功能要求下,尽量节省成本,为整体仪器提高经济竞争力。同时从节能角度出发,实
5、现遥控器长时间的工作。1.4 设计的意义由于盆腔治疗仪对盆腔炎的治疗,具有无副作用和后遗症等优点,在妇科中得到广泛的应用。在治疗前,盆腔治疗仪的探头需要插入盆腔内,给女病人生理和心理上都造成一定的障碍,同时也给医生(特别是男医生)带来了许多的不便。具有无线遥控功能的盆腔治疗仪在一定程度上解决了这些问题,医生可以在屏蔽墙后,控制整个治疗过程。本文正是为解决此问题,提出了盆腔治疗仪遥控模块的解决方案。第2章 无线遥控原理无线遥控,有基于电磁波和红外线两种。红外遥控距离短,只能直线方向遥控。电磁波的遥控具有衍射作用,能跨越一定的屏障,遥控时也不需要直线。电磁波无线遥控,就是在发射端发射一定频率的电磁
6、波,接收端只提取出相同频率的电磁波信号,并经过解码得到发射端的数据。2.1 发射电路原理遥控器发射电路,有振荡电路、高频放大器,调制方式一般采用ASK和FSK。振荡电路可以采用电容、电感的振荡特性来设计,也可加入晶振来简单获得载波信号。一般载波信号的频率在 315MHZ-433MHZ,也可实现更高的频率。通过高频放大器,高频信号获得更高的发射能量,提高发射距离。图2-12.2 接收电路原理接收电路里面主要有:天线,滤波电路,解调电路等几部分组成。图2-22.3 天线原理2.3.1 什么是天线天线是一种导行波与自由空间波之间的转换器件或换能器。其基本功能是发射和接收无线电波:发射时,把高频电流转
7、换为电磁波;接收时,把电滋波转换为高频电流。衡量天线性能的一个指标是:天线增益计算公式:天线主瓣宽度越窄,增益越高。对于一般天线,可用下式估计其增益: G(dBi)=10Lg32000/(23dB,E23dB,H) 式中, 2 3dB,E与23dB,H分别为天线在两个主平面上的波瓣宽度 32000是统计出来的经验数据对于抛物面天线,可用下式近似计算其增益: G(dBi)=10Lg4.5(D/0)2 式中, D 为抛物面直径 0为中心工作波长 4.5 是统计出来的经验数据对于直立全向天线,有近似计算式 G(dBi)=10Lg2L/0 式中, L 为天线长度2.3.2 天线的种类螺旋天线如:图2-
8、4图2-4盘卷天线如:图2-5图2-5短的PCB短截线如:图2-6图2-6环路天线如:图2-7图2-7鞭型天线如:图2-8图2-8第3章 遥控方案设计3.1 系统设计遥控器部分框图如:图3-1图3-1遥控接受部分框图如:图3-2图3-23.2 解决方案(一)采用玩具遥控芯片TX-2/RX-2编码解码芯片。TX-2/RX-2是一对采用CMOS工艺制造的遥控专用集成电路.它具有功耗低,电源电压适用范围宽,工作稳定可靠,外围元件少等特点.TX-2是编码发射电路,RX-2是与TX-2配套使用的译码接收电路. 图3-3 图3-4TX-2/RX-2 的典型的应用电路如:图3-5/图3-6图3-5图3-6发
9、射模块:采用带放大三极管S8050的发射电路模块,一个串行数据输入,另外两个引脚供电,发射距离远。在不带电线的情况下也能有5-6m的距离,安装上电线发射距离达100m左右。天线设计采用鞭型天线。接受模块:采用自带天线的接受模块,一般为印刷天线,这样可以减少电路的体积,同时减轻天线的调试工作。3.3 解决方案(二)采用PT2262 和PT2272的编码解码芯片。PT2262和PT2272最多支持6位数据编码,一般支持4位数据编码。PT2262 和PT2272有三态地址编码功能,只有地址匹配时才能传输数据。PT2262 和PT2272 的典型应用电路如:图3-7 图3-8图3-7图3-8发射和接受
10、模块采用的设计。发射模块天线,采用螺旋天线,以减少遥控器占用的空间。3.4 方案讨论基于以上的提出的两个方案,结合现实考虑。在医疗应用中,同一个病房中可能有多台盆腔炎治疗仪,由于电磁波传播方向是全方位的,一个遥控器的遥控可能会对多台仪器产生影响。假如没有地址配对,那么在多台仪器工作时,遥控将会变得混乱,所以使遥控器与仪器的一一配对显得非常重要。基于以上考虑,采用第二种方案能达到现实的要求。发射接受模块,应该要满足体积小,通信距离远,抗干扰性强等要求,所以应该采用有发射放大三极管的发射电路,外加天线设计;接受模块采用印刷天线的设计方法。第4章 系统实现 4.1 工具介绍4.1.1 Protus原
11、理图与仿真在程序编写过程中,不可能一次就能成功,程序的测试非常重要。完全用硬件测试将会浪费很多的时间。软件工具辅助测试,把程序的编写与具体硬件实现独立起来,加快了开发的速度。程序测试原理图如:图4-1图4-1所选取的器件包括: 单片机 AT89C52 ,二态开关,LCD型号为:LM016L 等一些电阻、电容其他元件。4.1.2 Protel原理图与电路板制作Protel DXP 2004在电路设计方面,提供了从原理图设计到PCB制作的完整的集合。Protel 在PCB制作方面的很灵活,不但有从原理图转到PCB的功能,也提供了自动布线的功能。这更有利于我们实现遥控器的电路板制作,最重要的是能满足
12、遥控器的键盘实现。Protel 中实现的遥控测试原理图如:图4-2图4-24.2 器件介绍4.2.1 发射集成电路图4-3【主要特点】、 低功耗发射 、 声表稳频 、 无数据时发射电流为零 、 较宽的工作电压范围【应用说明】F05P采用SMT工艺,树脂封装,小体积,声表稳频,内部具有一级调制电路及限流电阻,适合短距离无线遥控报警及单片机无线数据传输。F05P具有较宽的工作电压范围及低功耗特性,ASK方式调制。F05P不能任意调整发射电流,单片机的数据可直接通过串口进入F05P的数据输入端。F05P在无数据输入时单片机必须为低电平状态;F05P+在无数据输入时单片机必须为高电平状态。F05P需要
13、输入数据才能发射,数据信号停止,发射电流为零。F05P对0.1-1ms的数据脉冲发射效果较理想,过宽过窄的脉冲会引起调制效率下降,过调制或调制不足使收发距离变近。F05P对直流电平及模拟信号不能发射。如在数据位前加一些乱码可以抑制接收机的零电平燥声干扰。若采用通用编码器2262,发射效果比单片机好,因为2262的数据无论怎么变,但脉宽是不变的,即使出现一点突发性的外界干扰,解码器的宽容性也会解码输出高电平。而单片机则会出现数据错误。所以单片机必须要工作在可靠的收发区域才能保证较低的误码率。F05P有4个功能引脚,因为体积小,功耗低,无天线只能满足短距离使用,而天线对距离起着很大的作用,天线能否
14、匹配,也是很关键,匹配良好的天线能增加几倍的距离,匹配不好的天线效果很差甚至会引起频率漂移。天线的长度应取发射频率的1/4波长,可以用一根直径0.5-1毫米,长度(433M)18厘米;(315M)24厘米的漆包线代替。但天线必须拉直,指向无所谓。短于1/4波长或弯曲的天线效果会很差。F05P应垂直安装在印板边部,应离开周围器件5mm以上,以免受分布参数影响而停振。FO5P发射距离与输入信号,发射电压,电池容量,发射天线及发射环境有关。在障碍区由于折射反射会形成一些死区及不稳定区域,不同的收发环境会有不同的收发距离,F05P最佳有效工作距离为100M左右。4.2.2 接受集成电路采用接受模块图4
15、-4【主要特点】、(0.15mA)特低功耗超再生接收模块、输出无噪声干扰、接收灵敏度高【应用说明】J04V工作电压范围:2.6-3.6V;2.6V时工作电流在0.15mA;3V时约0.2mA;3.5V时约在0.3mA。J04V适合电池或线性电源,可采用3.7K-4.7K电阻从5V取得3-3.5V,再加220UF电解电容滤波,电解电容的接地点必须靠近J04V的地,J04V输出能力可驱动一支发光二极管。如果从6V以上的电压用电阻降压会引起工作电压的不稳定。也可以从220V用电容降压整流滤波后用7805取得5V再用3.7K-4.7K电阻降压滤波取得3.3V。不适合用稳压管串联分压。接收模块的电源直接
16、影响到接收电路的稳定性,也是接收电路的主要干扰源,J04V不适合开关电源也不适合用实验室大整流电源做试验。J04V不适合与发射用同一电源做试验。J04V内部具有放大整形电路,只适合数据信号的接收而不适合模拟信号。J04V在A处点可根据需要接一支470K-1M的电阻可使J04V输出更干净,但接收灵敏度会降低。J04V应安装在印板边部并离开周围器件5mm以上,要垂直于线路板,否则会引起频率偏移。如果器件较多还必须注意地线布局合理,如果有晶振或其他信号源,必须远离J04V,否则会引起很多无法排除的干扰致使接收电路无法正常工作。J04V可外接天线提高接收灵敏度,天线长度不限。4.2.3 编码和解码芯片
17、 图4-5 图4-5PT2262和PT2272是CMOS三态编码集成芯片,这组器件广泛用于各种遥控器件上,只需较低的+3V电压就能工作。PT2262 是发射编码芯片,PT2272是接收解码芯片,两者的地址必须配对,而且振荡电阻必须符合要求。PT2262的TE端是发射允许端,接受低电平时,17脚DOUT端输出一串编码。该串编码在载波上发送出去,被接收端接受和解调,输入PT2272的14脚,当地址配对时,VT解码有效端输出高电平,数据端口就会输出与PT2262发射端口一致的数据,从而实现遥控功能。4.2.4 单片机AT89S52图4-6AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有
18、8K在系统可编程Flash存储器。使用Atmel 公司高密度非易失性存储技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适合于常规编程器。在单芯片上,拥有灵巧的8位 CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有一下功能: 8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时、计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0 HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,
19、CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护模式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。4.2.5 LCD1602A显示原理4.2.5.1 1602A引脚说明图表4-14.2.5.2 1602A指令表表4-2序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址0
20、01显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容4.2.5.3 基本操作时序表4-3读状态输入:RS=L,RW=H,E=H输出:D0-D7=状态字写指令输入:RS=L,RW=L,D0-D7=指令E=高脉冲输出:无读数据输入:RS=H,RW=H,E=H输出:D0-D7=数据写数据输入:RS=H,RW=L,D0-D7=数据,E=高脉冲输出:无指令1:清显示,指令码01H,光标复位到地址00H位置 指令2:光标复位,光标返回到地址00H 指令3:光标和显示模式设置 I/D:光标移动方向,高电平右
21、移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符指令7:字符发生器RAM地址设置指令8:DDRAM地址设置 指令9:读忙信号
22、和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据 指令11:读数据4.2.5.4 RAM地址映射图控制器内部带有808位(80字节)的RAM缓冲区,对应关系如:图4-7图4-74.3 键盘编码由于PT2262芯片只采用了4位的数据传输,一共可以传送24-1个指令,必须对这4路数据进行编码并分配相应的指令。表示按下 启动按钮。按下停止按钮强度上升一度强度下降一度时间上升一分钟时间下降一分钟疗程上升一疗程下降一天数上升一天数下降一键盘面板设计如:图4-8图4-84.4 系统构架图4-94.5 程序实现程序流程图如:图4-10图4-10
23、系统初始化:包括LCD1602A的初始化、开辟显示缓冲区、中断初始化、堆栈初始化等显示菜单:在LCD1602A显示屏上显示出仪器输出的参数菜单显示数据:显示缓冲区中的初始化数据等待中断:这里有两种中断,分别是INT0和内部定时中断。INT0主要响应外部信号中断,定时中断主要是为蜂鸣器的输出而设置的中断。更新数据:主要是更新LCD显示缓冲区中的数据和LED的数据设置定时中断:为蜂鸣器输出终止作定时蜂鸣器工作:主要是从P3.3口输出具体代码实现请参考附录:源程序(有详细的注释)第5章 系统测试无线发射与接受测试分为三个步骤:编码发射模块和接受模块通信测试单片机执行命令测试(软件仿真测试为主)系统总
24、体测试测试工作,应该按部就班,因为前一步的结果往往会影响下一步的结果。同时由简单的测试,到复杂的测试,再整合所有测试成果,才能实现复杂的系统。5.1 无线发射接收测试测试发射电路如:图5-1图5-1测试接收电路如:图5-2图5-25.2 程序测试程序测试,最好有单片机开发板,实现在线运行,跟踪单片机运行的每一步,从而找出程序中问题。假如没有的话,也可考虑软件仿真测试。本文采用软件仿真方式,进行程序的测试。采用Protus软件实现单片机的仿真与程序的测试。 本课题程序测试步骤: 测试LCD 1602初始化显示 测试初始化数据更新 测试中断 整体程序测试5.3 系统总体测试系统的总体测试,是在各个
25、部分完成相应功能后的一个整合。总体测试是要考虑系统各部分的兼容性,使各部分能协调工作。本课题的总体测试就是把发射与接受模块,同单片机与LCD显示器整合起来。系统总体测试原理图请参考附录:遥控器电路图 和 接收部分电路图致 谢本课题在方案设计阶段得到了余学飞老师的指导,使得课题明确了研究的方向和达到的目标。在实施过程中,得到了刘先锋和吴萧博师兄的协助,解决了不少的疑难问题。在此对他们表示感谢!参考文献【1】余学飞无线传送技术在医疗仪器设计中的应用医疗卫生装备2007 年第28 卷第2 期 :14-18【2】李广第 朱月秀 冷祖祁单片机基础(第三版)北京北京航空航天大学出版社2007.6【3】余周
26、军Protel DXP 使用教程北京中国铁道出版社2003【4】刘国权 韩晓东Protel DXP电路原理图设计指南北京中国铁道出版社2004【5】天线设计原理【6】李坚PT2262、PT2272芯片应用J现代通信1997( 2) 28- 29.【7】陈国华无线电发射/接收IC模块应用综述J国外电子元器件, 1997( 2) 36-38.【8】 李冰利用编、译码实现状态量的无线传送J应用科技2006( 1) 49- 51.【9】吴文佳PT2262/ PT2272 编解码IC 在无线智能报警系统中的应用J 世界电子元器件2004 【10】林凌. 新型单片机接口器件与技术M . 西安:西安电子科技
27、大学出版社,2005.【11】刘宜 胡学龙 顾庆明基于PT2262/PT2272的机器人遥控系统的设计国外电子测量技术2007附 录遥控器电路接收部分电路图源程序;/; 作者: 赖官铨 /; 生物医学工程学院04级医学信息方向 /; 毕业设计:盆腔炎治疗仪的遥控设计 /; 应用技术:单片机AT89S52,PT2262,PT2272, /; 射频发射和接收模块,LM1602A字符型液晶显示 /; /;/ORG 0000HRS EQU P3.0;确定具体硬件的连接方式RW EQU P3.1 ;确定具体硬件的连接方式E EQU P3.4 ;确定具体硬件的连接方式ajmp mainorg 003Hlj
28、mp exint0org 0bhljmp time0ORG 030Hmain:mov TCON ,#01H ;脉冲方式,低电平触发mov IE ,#83h ;外部中断0允许,定时器0中断允许mov ip,#01h ;外部中断0为高优先级mov sp,#03fh ;设置堆栈mov TMOD ,#01H ;初始化定时中断,定时器0为工作方式1CLR P3.3; 初始化显示缓冲区mov 30H,#30 ;强度地址:30hmov 31h,#30 ;时间地址:31hmov 32h,#1 ;疗程地址:32hmov 33h,#1 ;天数地址:33hmov 34h,#0 ;数码管显示缓冲区ACALL ENAB
29、LE ;调用写入命令子程序MOV P1,#00000001B ;清屏并光标复位ACALL ENABLE ;调用写入命令子程序MOV P1,#00111000B ;设置显示模式:8位2行5x7点阵ACALL ENABLE ;调用写入命令子程序MOV P1,#00001100B ;显示器开、光标关、光标不允许闪烁ACALL ENABLE ;调用写入命令子程序MOV P1,#00000110B ;文字不动,光标自动右移MOV R0,#81Hmov dptr,#firstmov r1,#15acall initacall display2AJMP $;.; 中断响应子程序,主要判断遥控发送过来的命令,
30、并执行相应的动作 .; 1、表示按下 启动按钮。 .; 2、按下停止按钮 .; 3、强度上升一度 .; 4、强度下降一度 .; 5、时间上升一分钟 .; 6、时间下降一分钟 .; 7、疗程上升一 .; 8、疗程下降一 .; 9、天数上升一 .; 10、天数下降一 .;.;显示说明: .; .; 1、强度显示3位,显示地址分别是:c1H c2H c3H .; 2、时间占4位,显示地址分别是: c5Hc6Hc7Hc8H .; 3、疗程占2位, 显示地址分别是: cAHcBH .; 4、天数占2位,显示地址分别是: cDHcEH .;中断子程序的执行,判断接受到的命令,并更新数据和显示数据 .;.e
31、xint0:SETB P3.3 ;蜂鸣器开始工作mov a,p2 ;读取接收到的数据anl a,#0fhcjne a,#1,no2 ;根据命令执行相应的操作;执行启动命令操作放于此mov 34h,#1jmp nextno2:cjne a,#2,no3;执行停止命令 命令操作放于此mov 34h,#2jmp nextno3:CJNE a,#3,no4mov 34h,#3inc 30hjmp nextno4:CJNE a,#4,no5mov 34h,#4dec 30hjmp nextno5:CJNE a,#5,no6mov 34h,#5inc 31hjmp nextno6:CJNE a,#6,no
32、7mov 34h,#6dec 31hjmp nextno7:CJNE a,#7,no8mov 34h,#7inc 32hjmp nextno8:CJNE a,#8,no9mov 34h,#8dec 32hjmp nextno9:CJNE a,#9,no10mov 34h,#9inc 33hjmp nextno10:CJNE a,#10,nextmov 34h,#10dec 33hnext:acall display2call disLEDmov th0,#0mov tl0,#0SETB TR0 ;启动定时器0RETI;显示LED子程序disLED: MOV A,34HMOV DPTR,#num
33、movc a,a+dptrmov p0,aRET ;定时器0 中断子程序 time0: call DELAY400MSclr p3.3reti;显示缓冲区的内容display2:mov a,30hmov r3,#0c1hacall displaymov a,31hmov r3,#0c5hacall displaymov a,32hmov r3,#0c9hacall displaymov a,33hmov r3,#0cdhacall displayret ;显示数据,参数:要显示的数字到 A 中,显示的开始地址 r3display: MOV B,#100DIV ABadd a,#30hMOV P
34、1,r3 ;写入显示起始地址ACALL ENABLE ;调用写入命令子程序MOV P1,a ;写入显示起始地址ACALL enable2 ;调用写入命令子程序MOV A,BMOV B,#10DIV ABadd a,#30hinc r3MOV P1,r3 ;写入显示起始地址ACALL ENABLE ;调用写入命令子程序MOV P1,a ;写入显示起始地址ACALL enable2 ;调用写入命令子程序inc r3mov a,badd a,#30hMOV P1,r3 ;写入显示起始地址ACALL ENABLE ;调用写入命令子程序MOV P1,a ;写入显示起始地址ACALL enable2 ;调
35、用写入命令子程序ret;LCD1602A初始化子程序init: MOV A,R0MOV P1,A ;写入显示起始地址(第一行第二个位置)ACALL ENABLE ;调用写入命令子程序clr AMOVC A,a+DPTR ;字母I的代码MOV P1,Ainc dptrcall enable2inc r0DJNZ R1,initretenable2: ;写入数据SETB RS ;RS=1CLR RW ;RW=0 ;准备写入数据CLR E ;E=0 ;执行显示命令ACALL DELAY ; 判断液晶模块是否忙?retENABLE:CLR RS ;写入控制命令的子程序CLR RWCLR EACALL DELAYSETB ERETDELAY:MOV P1,#0FFH ;判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待RETDELAY400MS:MOV R1,#200DL4_PB:MOV R2,#200DJNZ R2,$DJNZ R1,DL4_PBRETfirst: ;要显示的菜单 db INT TIM PT Daynum:db 3fh,30h,5bh,
限制150内