基于51单片机的空气智能加湿器的设计资料_第1页
基于51单片机的空气智能加湿器的设计资料_第2页
基于51单片机的空气智能加湿器的设计资料_第3页
基于51单片机的空气智能加湿器的设计资料_第4页
基于51单片机的空气智能加湿器的设计资料_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于51单片机的空气智能加湿器的设计目 录1任务来源意义及目的22设计方案22. 22. 2 32 单片机32. 3. 2DS18B20传感器42.3.3 1602LCD液晶显示屏53硬件设计63. 1设计方案63.3信号分析83.4功能描述83.5复位电路83. 6液位定位及加湿器的光电开关93. 7 1602 显示屏104软件设计114.1整体设计及说明114. 2 DS18B20 流程设计124.3 1602字符型LCD流程设计155系统调试176总结17致谢18附录一:1602LCD简介20附录二LCD限制及显示子程序24 摘要:在日常生活中加湿器得到了广泛的应用,但是

2、现有的加湿器都需要手工限制开启和关 闭并且不具备对室内空气温湿度的监测,人们在使用过程中存在过度加湿和干烧的问题,不 仅给室内空气舒适度造成负而影响并且还存在平安隐患.因此开发设计一种价格低廉、功耗 低、具有自动限制功能的加湿器显得尤为必要.本设il采用智能限制,以AT80S51单片机 为核心,外接辅助电路,通过实现加湿器的防干烧、声光报警、智能开启和关闭以及室内温 湿度的显示功能根本实现加湿器的智能化.关键词:单片机、智能、加湿器、相对湿度、传感器1任务来源意义及目的在日常生活中加湿器得到了广泛的应用,但是现有的加湿器都需要手工限制 开启和关闭并且不具备对室内空气温湿度的监测,人们在使用过程

3、中存在过度加 湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在平安隐患.因 此开发设计一种价格低廉、功耗低、具有自动限制功能的加湿器显得尤为必要.本设计采用智能限制,以AT80S51单片机为核心,外接辅助电路,通过实现 加湿器的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能根本实 现加湿器的智能化.2设计方案2.1总体设计智能加湿器需满足以下要求:1相对湿度低于40%时自动加湿;2用户可以设置系统温湿度报警值;3由5V稳压直流电源供电,提供温湿度调节限制信号,实现自动限制;4检测得到的数据可以通过显示模块显示.硬件设计不仅要满足系统需求,还要满足功能和外形尺寸要求.根据设计

4、要求确定了系统的总体方案,包系统由两个DS18B20温度传感器一 个水位传感器、单片机、1602LCD液晶显示屏、声光报警器、以及一个光电耦合 开关等局部组成.系统功能原理图如图1-1所示,两个温度传感器分别釆集室內 空气的干湿球温度,并将采集的温度传送至单片机.单片机对这两个数据加以处 理并结合室内湿度要求参数限制加湿器的开启和闭合.另外,水位传感器还能监 测水位,单片机根据水位上下限制声光报警装置.自动加湿器包括加湿模块、报 警模块、自动断电模块.图1-1自动加湿器功能原理图2.2实现方式要到达自动加湿器功能要做好硬件和软件设计和调试三个方面的工作.首先 硬件方面,通过合理的设计单片机管脚

5、及其他外围电路的链接,使之既有I/O 口的功能,又有限制型号的功能.由于时间仓促,没有找到适宜的水位传感器, 在开发过程中利用三个按钮开关代替水位传感器分别代表髙、中、低水位,而加 湿器开关那么由一发光二级管代替,在方正过程中更容易观察系统开发效果.这方 面的内容详见硬件设计局部内容.其次软件方面,通过合理设计软件的结构和安 排子程序,使程序以最简洁有效的方式实现目的.最后,调试方面,程序编辑用 VW8系列方针器环境,编辑过程可使用软件仿真观察,并对其进行调试.在程序 编辑完成之后使用硬件仿真,最终用烧录器将程序写入单片机进行实测.本系统分信号的主要有温度传感器的输入信号和单片机输出的限制信号

6、构 成.首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机 待DS18B20完成收集到得温度信息进行AD处理并存储为数字信号后,开始读取 温度值,并对其信号做位处理使之到达用户需求的精度以及计算得到相对湿度, 最后通过1602LCD显示温湿度值.另外,系统在运行过程中还有专门的限制声光 报警系统、光电耦合开关的限制信号,2.3理论根底2.3.1单片机T89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机.单片机 的可擦除只读存储器可以反复擦除1000次.该器件采用ATMEL高密度非易失存 储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容.由于将多功能

7、8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89S51是一种髙效微限制器,AT89C2051是它的一种精简版本.AT89S51单片机为很多嵌入式限制系统提供了一种灵活性髙且价廉的方案.外形及引脚排列如图2-1所示了456?891011121314151617181920P1.0fT2VCCP1.1)T2EXADOP1.2/RXD1ADIP1.3)TZD1AD2P1.4/INT2AD3P1.5/INT3AD4P1.6/INT4ADSP1.7/INT5AD6R5TAD7P3.0/RZD0EAP3.1/RXD0ALEP3.2/INT0PSENP3.3/INT1A15P2.?)P3.4fT

8、0A14(P2.6)P3.5/T1A13(P2.5)P3.6/WRA12(P2.4)RDA11(P2.3)XTAL2A10(P2.2)XTAL1A9(P2.1)GNDA8(P2.0)AT89C513938373635343332313029282726252423222140图2-1 AT89S51芯片引脚图AT89S51共有40个引脚,大致可分为4类:电源引脚、时钟电路引脚、I/O 引脚、限制线引脚.根据开发的需要和单片机的结构,我们就可以实现单片机的 自开工作,即实现自动化! 2. 3.2 DS18B20 传感器传感器是一种按一定的精度把被测量转换为与之有确定关系的、便于应用的 某种物理的

9、测量器件或装置,用于满足系统信息传输、存储、显示、记录及限制 等要求.在本系统的开发过程中主要用到了 DS18B20数字温度传感器,这种传感 器提供9-12位摄氏温度测量i fub '有一个由髙低电平触发的可编程的不因电 源消失fu改变的报警功能.DS18B20通过一个单线接口发送或接受信息,因此 在中央处理器和DS18B20之间仅需一条连接线加上地线.它的测温范围为一 55- + 125 0C,并目'在一 10-+850C 精度为士 5 0C.除此之外,DS18B20 能直接从单线通讯线上汲取能量,除去了对外部电源的需求.每个DS 18B20都 有一个独特的64位序列号,从f

10、u允许多只DS 18B20同时连在一根单线总线上; 因此,很简单就可以用一个微限制器去限制很多覆盖在一大片区域的DS 18B20. 这一特性在HVAC环境限制、探测建筑物、仪器或机器的温度以及过程监测和控 制等方面非常有用.在测温操作方面,DS18B20的核心功能是它的直接读数字的温度传感器.温 度传感器的精度为用户可编程的9, 10, 11或12位,分别以0. 5 0C , 0 . 2 5 0C , 0. 12 5 0C和0. 06250C增量递增.在上电状态下默认的精度为12位. DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控 制器必须发出44h)命令.在那

11、之后,产生的温度数据以两个字节的形式被存 储到高速暂存器的温度存放器中,DS18B20继续保持等待状态.当DS18B20由外 部电源供电时,总线限制器在温度转换指令之后发起“读时序,DS18B20正在 温度转换中返回0,转换结束返回1.如果DS18B20由寄生电源供电,除非在进 入温度转换时总线被一个强上拉拉高,否那么将不会由返回值.寄生电源的总线要 求在口 618820供电节详细解释.Vfu图2-2 DS18B20数字温度传感器内部结构2. 3.3 1602LCD液晶显示屏在单片机系统中应用液晶显示器作为输出器件有以下几个优点:一、显示质 量髙,由于液晶显示器每一个点在收到信号后就一直保持那

12、种色彩和亮度,恒定 发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点.因此,液晶 显示器画质高且不会闪烁.二、数字式接口,液晶显示器都是数字式的,和单片 机系统的接口更加简单可靠,操作更加方便.三、体积小、重量轻,液晶显示器 通过显示屏上的电极限制液晶分子状态来到达显示的目的,在重量上比相同显示 面积的传统显示器要轻得多.四、功耗低,相对而言,液晶显示器的功耗主要消 耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多.本系统选用的字符型LCD是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1, 16*2, 20*2和40*2行等的模块.本次设计选用的是长沙

13、 太阳人电子的1602字符型液晶显示器.一般1602字符型液晶显示器实 物如图3-1:图2-3 1602字符型液晶显示器实物图1602LCD主要技术参数:显示容量:16X2个字符芯片工作电压:4. 55. 5V工作电流:2. 0mA (5. 0V)模块最正确工作电压:5. 0V字符尺寸:2. 95X4. 35(WXH)mm3硬件设计3.1设计方案图3-1自动加湿器功能原理图3.2电路图单片机是整个系统的限制中枢,它指挥外围器件协调工作,从而完成特定的 功能.硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各 个模块搭接在一起.这种设计方法可以降低系统设计的复杂性.系统电路原理图

14、如图2所示.本系统主要硬件设计包括电源电路、蜂鸣器电路、晶振电路、复位 电路、LCD显示电路以及温度传感器电路.限制电路的核心器件是由美国Atmel公司生产的AT89S51单片机,属于 MCS-51系列<> AT89S51是一种低功耗、高性能的CM0S8位微限制器,具有2K在 系统可编程Flash存储器,采用的工艺是Atmel公司的高密度非易失存储器技术; 片上Flash允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上,拥 有灵巧的8位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式限制应用 系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰水平强.

15、因 此广泛应用于工业限制和嵌入式系统中.£二£烹命二9e«aMOMJ»TI>PX*<TD) fXFXTAUXT.U2an恥巨匸 刃屛BRJ;ADPOO L<ADI>PDI :;8: gSS、(Ago aw ;x:aj>: (All>p:5 皿g WA ! (A!*;i2 4 严浮VCC GM> 1FJOWOL二二图3-2电路原理图系统的声光报器电路警蜂鸣和LED发光二极管组成、振落电路、复位电 路如图?、图?、图?所示.显示模块选用1602字符型液晶模块,是目前工控 系统中使用最为广泛的液晶屏之一,电路图如图?所

16、示.1602字符型液晶模块 是点阵型液晶,驱动方便,经编码后显示内容多样化.由于时间仓促,没有找到 适宜的水位传感器,在开发过程中利用三个按钮开关代替水位传感器分别代表 高、中、低水位,而加湿器开关那么由一发光二级管代替,在方正过程中更容易观 察系统开发效果.3.3信号分析本系统分信号的主要有温度传感器的输入信号和单片机输出的限制信号构 成.首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机 待DS18B20完成收集到得温度信息进行AD处理并存储为数字信号后,开始读取 温度值,并对其信号做位处理使之到达用户需求的精度以及计算得到相对湿度, 最后通过1602LCD显示温湿度值.另

17、外,系统在运行过程中还有专门的限制声光 报警系统、光电耦合开关的限制信号,这些限制信号比拟简单,不再一一论述. 3.4功能描述参考舒适性空调的相对湿度采用40%65%的要求x,在功能设计过程中以 40%为最适相对湿度参考值.单片机一方面通过监测加湿器内部的水位,到达加 湿器防干烧的功能,即只有在水位在水位下限以上时加湿器才能通电工作.另一 方面通过处理两个温度传感器测得的干湿球温度得到室内相对湿度,并和人体最适相对湿度做比拟.在水位符合要求的前提下,假设室内相对湿度髙于人体最适值 那么限制加湿器不动作,反之那么对加湿器通电开始加湿,直到室内空气到达最适湿 度时断电.另外,单片机通过和声光报警器

18、以及1602LCD显示屏相连,还具有了 温湿度及水位的显示功能.总之,在现有的加湿器内参加此单片机将实现加湿器 的防干烧、声光报警、智能开启和关闭以及室内温湿度的显示功能根本实现加湿 器的智能化.3.5复位电路复位电路的根本功能是:系统上电时提供复位信号,直至系统电源稳定后, 撤销复位信号.为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以 防电源开关或电源插头分-合过程中引起的抖动而影响复位.图3-3所示的RC 复位电路可以实现上述根本功能,图3为其输入-输出特性.但解决不了电源毛 刺A点和电源缓慢下降电池电压缺乏等问题而且调整RC常数改变延 时会令驱动水平变差.左边的电路为髙电平复位

19、有效 右边为低电平Sm为手动 复位开关Ch可防止高频谐波对电路的干扰.S4VCC10uFRSTR410K图3-3上电及手动复位电路图3. 6液位定位及光电开关由于开发过程时间紧迫,暂时未购置到适宜的液位监测传感器,因此在实际 开发过程中采用三个开关进行代替,按下按钮表示水位到达相应的水位.另外为 了直观的看出限制输出信号的转台,开发过程中将光电开关改为一发光二级管并与电阻串联接地.见图3-4.S1P2.3oo52P2.4oo153P2.5ooP2.6DS2R51K图3-4水位计光电开关替代元件3.7 1602显示屏利用滑动变阻器调节背光灯与显示字符的比照度,利用三极管的及P2.7控 制背光的的

20、暗与灭.接线原理见图3-5.3.8 DS18B20温度传感器由于此款温度传感器输出串行通信信号,电路图相对简单,见图3-6.P2Ploemoo-sdPl.3vccVCC图3-6 DS18B20温度传感器接线图4软件设计4.1整体设计及说明系统单片机代码采用汇编语言编译,以伟福仿真器V8/L为开发环境.系统 软件实现的功能:1通过LCD显示温湿度值及水位;2比拟监测到的水位,发现低水位时自动掉电并声光报警;3根据相对湿度值限制加湿器的开关.根据监控系统功能要求,系统软件流程图设计如下图.声光报警并 关闭加湿器图4-1主程序流程图初始化开始,然后载入程序,根据显示数据读出干球温度T,湿球温度TS,

21、 根据干湿球温度求出相对湿度D,然后读出显示的水位H,判断水位H是否大于 最小水位H.:假设H<=Ho,那么声光报警并关闭加湿器,然后显示温湿度,再读出一 个干球温度T,湿球温度TS,计算出相对湿度D,读出水位H循环,直至HHo成 立后,判断相对湿度D与最小湿度Do的大小比拟,假设D<=Do那么开启加湿器,显 示温湿度,循环直至相对湿度D<=Do,关闭加湿器,然后显示温湿度过程循环.4. 2 DS18B20流程设计每个DS18B20温度传感器的流程图设计如下:图4-2 DS18B20模块程序流程图传感器DS18B20复位,跳过ROM匹配后启动温度转换,DS18B20复位然后跳

22、 过ROM匹配,再读取温度后进行温度处理,保存一位小数.读取数据及传送的程 序如下:READ_TEMP:;读1820内部温度子程序.CALL RESETJB 70h,EXT1CALLSKIP_ROMCALLTEMP_CONV ;温度 AD 变换CALL DELAY_600MSCALL RESETCALLSKIP_ROMCALLTEMP_GET ;发取温度的命令CALL READ ;接收EXT1:RETSKIP_ROM:;跳过 ROM 检测MOV A,#0CCH ;#0CCH 为跳过 rom 命令CALL WRITERETRECALL_EPROM:;重调 EpromMOV A,#0B8HCALL

23、 WRITERETTEMP_CONV:MOV A,#44H ;AD 变换CALL WRITERETTEMP_GET:MOV A ,#0BEH;读 18b20 命令CALL WRITERET;18B20根本时序子程序RESET:;初始化子程序SETB P1.2NOPCLR P1.2;拉低MOV R3,#150 ;*4=600USCALL DELAY_BY_R3SETB P1.2;拉高MOV R3,#15 ;60USCALL DELAY_BY_R3MOV R3,#60 ;4 个周期*60=240US 内检测A1: JNB P1.2,A2 ;检测到低平信号DJNZ R3,A1 ;如果没有应答的低电平

24、信号,返回A1重新检测,超时后下一行,SETB 70h ;DS1820 不存在.JMPA3A2: CLR 70hMOV R3,120;240US;等恢复时间 2*120=240usDJNZ R3, $A3:RETWRITE:MOV R2,#8;个字节为8位CLR C;C位清0 C位用来放A的一位数据,用移位的方法放入CB1:SETB P1.2NOPCLR P1.2MOV R3,#4 ;16USCALL DELAY_BY_R3RRCA;把A中的数送入CMOV P1.2,C;把.送入总线MOV R3,#12;48US(位数据的发送:60us<tx<120us)CALL DELAY_BY

25、_R3SETB P1.2 ;拉高1us结束一位NOPDJNZ R2,B1RETREAD:MOVR1,#4;接收4个字节数据依次是1.低位2.高位.3.高限4低限MOV R0,#28H;低位放 28H;高位放 29h (1.28H,2. 29H 3. 2AH 4. 2BH ) CO: MOV R2,#8;一字节数据8位C1:CLRC;去除 CSETB P1.2NOPNOPCLR P1.2 ;拉低.NOP Jus秒后拉高?SETB P1.2MOV R3,#4 ;16us 后采数据CALL DELAY_BY_R3MOV C,P1.2 ;读出18b20的数据RRC A;移入AMOV R3,# 12;4

26、8US 恢复时问CALL DELAY_BY_R3DJNZ R2,C1 ;一个字节收完MOV R0,A ;移入存储位INC RO ;下一位;29hDJNZ R1,C0 ;全部取完吗?没有重复RET4.3 1602字符型LCD流程设计1602字符型LCD流程设计如下:图4-3 1602液晶驱动程序流程图显示器1602初始化后延时15ms,显示模式设置,再延时5ms,显示关闭, 1延时5ms显示清屏,再延时5ms显示光标移动设置延时5ms显示开及光标设置, 然后显示位置设置,延时,显示温度各位数值.此局部主要程序过长,参见附录O5系统调试系统与VW8系列的仿真环境下开发,编程过程中利用软件仿真调试系

27、统,当 软仿通过那么利用该仿真器仿真,并按顺序检查错误进行修改,最终将程序的HEX 文件烧录进入单片机进行实测.6总结通过本次单片机学习课程的毕业设计,使自己在理解单片机根本电路的根底 上掌握了简单电路的设计方法,同时对整个课题的编程方法和技巧也有了 一定的 熟悉和理解,并初步具备了独立编程和系统调试的水平.在本次课题设计中,自 己遇到了不少问题,通过请斂贺老师和翻阅资料,最终将问题解决.尤其是在调 试程序时,运用软件仿真,逐步排查错误,最终将程序调试成功.在此过程中, 自己的编程水平得到了增强,同时也锻炼了自己的耐性.总之,通过本次设计, 使自己受益匪浅.另外,在智能加湿器的开发过程中我体会

28、到了自动化得真正含 义,对以后的学习和工作奠定了一定的根底,以后进一步的学习过程中一方面要 拓展智能的加湿器的功能和应用范围,使之更加完善.另一方面还要探究新的课 题,开发新的单片机应用系统,问何那得清如许,为由源头活水来!走上单片机 开发之路,我要将自己的知识转化为社会可以运用的技术,为社会的进步尽自己 一份力量.致谢作者在毕业设计期间,始终得到指导老师贺新民老师的悉心指导.整个学 习和设计过程中,我深切的体会到了导师严谨的治学精神、渊博的知识、敏锐 的思维、对工作的热情态度和朴素高尚的人格修养,相信这些将使我终生受益. 在此论文完成之际,谨向我敬爱的导师表示最诚挚的敬意.山衷地感谢王玉芝老

29、师在课题研究期间给予我的许多指导和帮助.也山衷 地感谢各位同学为我的课题提供的无私帮助,而且他们孜孜不倦的学习精神永 远是我学习的典范.同时,也向所有帮助支持过我的老师、同学和朋友致以衷 心的感谢.I参考文献:1薛殿华空气调节北京:清华大学出版社,1991.2赵玉刚邱东传.感器根底.北京:中国林业岀版社;北京大学出版社,2006. 83张俊谟.单片机中级教程:原理与应用.北京:北京航空航天大学出版社,2006. 104黄晓因.张连根.干湿球法测量相对湿度算法研究及单片机实现J.云南族大学学报:自 然科学版.2003, 1 2 ( 3 ) : 155 -1575胡玉峰.自动与人工观测数据的差异J

30、).应用气象学报,2004. 15(fi).6孙晓波.DS18B20在多点温控系统中的应用J.哈尔滨商业大学学报(自然科学版), 2002, 18(4):年,卷(期).7李广弟等编著,?单片机根底?,北京航空航天大学岀版社,2001年7月.I附录一:1602LCD简介引脚功能说明1602LCD采用标准的14脚无背光或16脚带背光接口,各引脚接口 说明如表3-1所示:表3-1:引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极1()D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7DO

31、数据15BLA背光源正极8DI数据16BLK背光源负极第1脚:VSS为地电源.笫2脚:VDD接5V正电源.笫3脚:VL为液晶显示器比照度调整端,接正电源时比照度最弱,接地时 比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个10K的电位器 调整比照度.笫4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令 存放器.第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作. 当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W 为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据.第6脚:E端为使能端,当E端山高电平跳变成低电平时,

32、液晶模块执行命 令.第714脚:DOD7为8位双向数据线.第15脚:背光源正极.笫16脚:背光源负极.表3-2:限制命令表序号指令RSRAVD7D6D5D4D3D2D1DO1淸显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关限制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001 DL N F *7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数拯内容11从CGRAM或DDRAM读数11读岀的数

33、拯内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的. 说明:1为高电平、0为低电平指令1:清显示,指令码01H,光标复位到地址00H位置.指令2:光标复位,光标返回到地址00H.指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左 移S:屏幕上所有文字是否左移或者右移.高电平表示有效,低电平那么无效.指令4:显示开关限制.D:限制整体显示的开与关,高电平表示开显示, 低电平表示关显示C:限制光标的开与关,高电平表示有光标,低电平表示无光 标B:限制光标是否闪烁,高电平闪烁,低电平不闪烁.指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光

34、 标.指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N: 低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高 电平时显示5x10的点阵字符.指令7:字符发生器RAM地址设置.指令8: DDRAM地址设置.指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块 不能接收命令或者数据,如果为低电平表示不忙.指令10:写数据.指令11:读数据.1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令前一定要确认模块的 忙标志为低电平,表示不忙,否那么此指令失效.要显示字符时要先输入显示字符 地址,也就是告诉模块在哪

35、里显示字符,图3-5是1602的内部显示地址.LCD16字乂2行000102030405060708090A0BOC0D0EOF1027404142434445464748494A4B4C4D4E4F5067图3-5 1602LCD内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标 定位在第二行第一个字符的位置呢?这样不行,由于写入显示地址时要求最高位 D7恒定为高电平1所以实际写入的数据应该是01000000B (40H)+10000000B (80H) =UOOOOOOB (COH).在对液晶模块的初始化中要先设巻苴显示模式,在液晶模块显示字符时光标是自动右

36、 移的,无需人工干预.每次输入指令前都要判断液晶模块是否处于忙的状态.1602液晶模 块内部的字符发生存储器(CGROM)已经存储了 160个不同的点阵字符图形,这些字符有: 阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固泄的 代码,比方大写的英文字母的代码是01000001B (41H),显示时模块把地址41H中 的点阵字符图形显示出来,我们就能看到字母“A:其中字符代码与字符图形对应关系如 图36所示:OOQO00100011010001010110011110J01011110O11011110nnxxxxooooCGRAM09pp«p(1)XX

37、XX0001(2)91AQqn7厶 qXXXX0010(3)2BRbrr川Bexxxxoou<4>uJCScsJ><ooXXXX0100<s>$4DTdtX卜护nXXXX0101%5EUe*uo才B0xxxxono(?>&6FVIV牛力3P£XXXX0111(8>>7Gw8w74CXXXX1000(1>(8HXhX9*IXXXXX1M1(2>)9IYIy巾rJ屁yXXXX1O10VJZiX3UJ千xxxxiMi(4>+cKCk(才tOX万xxxxnoo(5)7VL¥11te77QAxxxxnoi

38、«)Mm1JXXy+XXXXlllO(D>NB3tA八nxxxxmi(S)/T00e-77V口0 1602LCD的一般初始化(复位)过程延时15mS写指令38H 不检测忙信号延时5mS写指令38H 不检测忙信号延时5mS写指令38H 不检测忙信号以后每次写指令、读/写数据操作均需要检测忙信号写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令OCH:显示开及光标设置液晶显示模块的设计本设计液晶显示模块的设计如下列图3-7所示,该电路实现的功能是:通过 AT89S51的P00P07八个口输出限制信号,限制液晶的8位双向数据线,

39、通过 单片机的P24、P25、P26向液晶模块发送命令,限制液晶执行各种命令,其中 P24限制液晶的使能端,当E端山高电平跳变成低电平时,液晶模块执行命令, P23限制液晶模块的读写,高电平时进行读操作,低电平时进行写操作.当P25 和P26共同为低电平时可以写入指令或者显示地址,当P26为低电平P25为高电 平时可以读忙信号,当P26为高电平P25为低电平时可以写入数据,P26限制寄 存器的选择,高电平时选择数据存放器、低电平时选择指令存放器.液晶局部引脚说明:笫1脚:VSS为地电源第2脚:VDD接5V正电源笫3脚:V0为液晶显示器比照度调整端,接正电源时比照度最弱,接地电 源时比照度最高,

40、比照度过高时会产生“鬼影,使用时可以通过一个10K的电 位器调整比照度第15脚:背光源正极第16脚:背光源负极附录二LCD限制及显示子程序DISPLAY: MOVA,R1MOVCA,A+DPTRMOV P0,ACALL WRITE_DATA_TO_LCDINC R1DJNZ RO,DISPLAYRETWRITE_NOT_CHECK_BUSY:SETB ENOPNOPCLR RS ;写入限制命令的子程序CLR RWCLR ERETENABLE:SETB ENOPNOPCLR RS ;写入限制命令的子程序CLR RWCLR EACALLTEST_BUSYSETB ERETTEST_BUSY:SET

41、BENOPNOPMOV P0,#0FFH ;判断液晶显示器是否忙的子程序CLR RSSETB RWCLR ENOPSETBEJB P07,TEST_BUSY ;如果P0.7为髙电平表示忙就循环等待RETWRITE_DATA_TO_LCD:SETB ENOPNOPSETB RS ;RS=1CLR RW ;RW=0 ;准备写入数据CLR E ;E=0 ;执行显示命令ACALL TEST_BUSY ;判断液晶模块是否忙?SETB E ;E=1 ;显示完成,程序停车RET;嘰据转换DATA_CONV:;数据转换MOV A,28H ;低字节ANLA,#0FH;去除髙位MOV B,#6;乘6得到实际数值的

42、100倍.MULABMOV B,#10DIV ABMOV 33H,A;小数位髙MOV 32H,B;小数位低MOV A,28HMOV C,29H.O ;29h髙位的低4字节RRCAMOV C,29H.1RRCAMOV C,29H.2RRCAMOV C,29H.3RRCAMOV 28H,A ;重新合成结果存在28H.MOV A,28HMOV B,#10DIV ABMOV 26H,A ;整数位高MOV 25H,B ;整数位低MOV A,2AHMOV B,#10DIV ABMOV 40H,B ;高温限值个位MOV B,#10DIV ABMOV41H,B;十位MOV 42H,A;百位MOV A.2BHM

43、OV B,#10DIV ABMOV 43H,B ;低温限值位个位MOV B,#10DIV ABMOV 44H,B ;十位MOV 45H,A;百位CLRCMOV A,28H;现温度值与髙温限值比拟SUBBA,2AHJC BIG ;如果高那么关机器CLRCMOV A,2BH;现温度与低温限值比拟SUBBA,28HJC X_BIG ;低温限值比现温髙,那么开机器AJMP CONVERT_ENDBIG:AJMP CONVERT_ENDX_BIG:CONVERT_END:RET*w*www*w 显 亍、爲 曲 *DISPLAY8B20_TEMP: ;LCD_显示子程序MOV P0,#10000000B;

44、显示位甕ACALL ENABLE ;执行扌旨令MOV DPTR,#TAB3;显示WENDUYMOV R1,#0 ;码表初值MOV RO,#7;字数CALL DISPLAY;显示温度值高位MOV DPTR,#LED_DATAMOV R1,26H ;码襄初值MOV R0,#1;字数CALL DISPLAY;显示温度值低位MOV DPTR,#LED_DATAMOV R1,25H ;码襄初值MOV R0,#1 ;字数CALL DISPLAY;显示小数点MOV DPTR,#DOTMOV R1,#0 ;码表初值MOV R0,#1;字数CALL DISPLAY;显示温度值小数高位MOV DPTR,#LED_

45、DATAMOV R1,33H ;码襄初值MOV R0,#1 ;字数CALL DISPLAY;显示温度值小数低位MOV DPTR,#LED_DATAMOV R1,32H ;码襄初值MOV R0,#1;字数CALL DISPLAY;显示单位度MOV DPTR,#SIGNMOV R1,#0 ;码表初值MOV RO,#2;字数CALL DISPLAYRET;显示限值DISPLAY_18B20_TEMP_XZ:MOV P0,#11000000B;超示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_L ;显示LTMOV R1,#0 ;码表初值MOV RO,#2;字数CALL DISPL

46、AY;显示温度限值高位MOV DPTR,#LED_DATAMOV R1,45H ;码襄初值MOV R0,#1;字数CALL DISPLAY;显示温度限值低位MOV DPTR,#LED_DATAMOV R1,44H ;码套初值MOV R0,#1;字数CALL DISPLAYMOV DPTR,#LED_DATAMOV R1,43H ;码襄初值MOV R0,#1;字数CALL DISPLAYMOV P0,#11000111B;显示位置ACALLENABLEMOV DPTR,#TAB_H ;显示卅MOV R1,#0 ;码表初值MOV RO,#2;字数CALL DISPLAY;显示高温度限值髙位MOV

47、DPTR,#LED_DATAMOV R1,42H ;码襄初值MOV R0,#1;字数CALL DISPLAY;显示高温度限值低位MOV DPTR,#LED_DATAMOV R1,41H ;码襄初值MOV R0,#1;字数CALL DISPLAYMOV DPTR,#LED_DATAMOV R1,40H ;码襄初值MOV R0,#1;字数CALL DISPLAYRET*W*W*W 方二 j五 *DISPLAYS 8B20_HELLO:MOV P0,#10000000B;显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_HELLOMOV R1,#0 ;码表初值MOV RO,#1

48、6;字数CALL DISPLAyRET;/*DISPLAY_18B20_TESTING:MOV P1,#10000000B;显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_TESTINGMOV R1,#0 ;码表初值MOV RO,#16;字数CALL DISPLAyRET;*/DISPLAY_18B20_ERROR:MOV PO,#00000001B ;清屏并光标复位ACALLENABLEMOV DPTR,#TAB1MOV R1,#0 ;码表初值MOV R0,#16;字数CALL DISPLAyRETDISPLAY_WATING:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P0,#10000000B;显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB2MOV R1,#0 ;码表初值MOV R0,#13;字数CALL DISPLAyRETDISPLAY_SAVE:MOV P0,#00000001B ;清屏并光标复位ACALL ENABLE;调用写入命令子程序MOV P0,#10000000B;显示位置ACALL ENABLE ;执行指令MOV DPTR,#TAB_SAVEMOV R1,#0 ;码表初值MOV R0,#10;字数CALL DISPL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论