已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
常州大学常州大学常州大学常州大学 信息科学与工程学院信息科学与工程学院 毕毕 业业 设设 计计 论论 文文 毕业设计题目毕业设计题目:基于基于 51515151 单片机的室内湿度自动控制装置设计单片机的室内湿度自动控制装置设计 专专业:业:电电子子 年年级:级: 学学号:号: 姓姓名:名: 指指 导导 老老 师:师:徐徐权权 1 摘摘要要 在日常生活中加湿器得到了广泛的应用, 但是现有的加湿器都需要手工控制 开启和关闭并且不具备对室内空气温湿度的监测, 人们在使用过程中存在过度加 湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在安全隐患。 因 此开发设计一种价格低廉、功耗低、具有自动控制功能的加湿器显得尤为必要。 本设计采用智能控制,以 at89c51 单片机为核心,外接辅助电路,通过实现加湿 器的防干烧、 声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加 湿器的智能化。 2 目目目目录录录录 摘要-1 第一章 任务来源意义及目的-3 第二章设计方案- 4 2.1 总体设计- 4 2.2 实现方式- 4 2.3 理论基础- 5 2.3.1 单片机-5 2.3.2 ds18b20 传感器-6 2.3.3 1602lcd 液晶显示屏-7 第三章硬件设计- 9 3.1 设计方案- 9 3.2 电路图- 9 3.3 信号分析-10 3.4 功能描述-10 3.5 复位电路-11 3.6 液位定位及光电开关- 12 3.7 1602 显示屏-12 3.8 ds18b20 温度传感器- 13 第四章软件设计-14 4.1 整体设计及说明- 14 4.2 ds18b20 流程设计- 15 4.3 1602 字符型 lcd 流程设计-18 第五章系统调试-21 第六章总结-22 致谢- 23 参考文献-24 附录一1602160216021602 液晶模块资料液晶模块资料液晶模块资料液晶模块资料( ( ( (特点特点特点特点, , , ,引脚及指令引脚及指令引脚及指令引脚及指令) ) ) )-25 附录二lcd 控制及显示子程序-29 3 第一章第一章第一章第一章 任务来源意义及目的任务来源意义及目的任务来源意义及目的任务来源意义及目的 在日常生活中加湿器得到了广泛的应用, 但是现有的加湿器都需要手工控制 开启和关闭并且不具备对室内空气温湿度的监测, 人们在使用过程中存在过度加 湿和干烧的问题,不仅给室内空气舒适度造成负面影响并且还存在安全隐患。 因 此开发设计一种价格低廉、功耗低、具有自动控制功能的加湿器显得尤为必要。 本设计采用智能控制,以 at89c51 单片机为核心,外接辅助电路,通过实现 加湿器的防干烧、 声光报警、智能开启和关闭以及室内温湿度的显示功能基本实 现加湿器的智能化。 4 第二章第二章第二章第二章设计方案设计方案设计方案设计方案 2.12.12.12.1 总体设计总体设计总体设计总体设计 智能加湿器需满足以下要求: 1)相对湿度低于 40时自动加湿; 2)用户可以设置系统温湿度报警值; 3)由 5v 稳压直流电源供电,提供温湿度调节控制信号,实现自动控制; 4)检测得到的数据可以通过显示模块显示。 硬件设计不仅要满足系统需求,还要满足功能和外形尺寸要求。 根据设计要求确定了系统的总体方案, 包系统由两个 ds18b20 温度传感器一 个水位传感器、单片机、1602lcd 液晶显示屏、声光报警器、以及一个光电耦合 开关等部分组成。 系统功能原理图如图 1-1 所示,两个温度传感器分别采集室内 空气的干湿球温度, 并将采集的温度传送至单片机。单片机对这两个数据加以处 理并结合室内湿度要求参数控制加湿器的开启和闭合。另外,水位传感器还能监 测水位,单片机根据水位高低控制声光报警装置。自动加湿器包括加湿模块、 报 警模块、自动断电模块。 单片机 温度传感器 1 温度传感器 2 1602lcd 显示屏 水位传感器 加湿器开关 声光报警器 图 1-1自动加湿器功能原理图 5 2.22.22.22.2 实现方式实现方式实现方式实现方式自动加湿器功能原理图自动加湿器功能原理图自动加湿器功能原理图自动加湿器功能原理图 要达到自动加湿器功能要做好硬件和软件设计和调试三个方面的工作。 首先 硬件方面,通过合理的设计单片机管脚及其他外围电路的链接,使之既有 i/o 口的功能,又有控制型号的功能。由于时间仓促,没有找到合适的水位传感器, 在开发过程中利用三个按钮开关代替水位传感器分别代表高、中、低水位,而加 湿器开关则由一发光二级管代替,在方正过程中更容易观察系统开发效果。这方 面的内容详见硬件设计部分内容。其次软件方面,通过合理设计软件的结构和安 排子程序,使程序以最简洁有效的方式实现目的。最后,调试方面,程序编辑用 lac51 系列开发与仿真环境,编辑过程可使用软件仿真观察,并对其进行调试。 在程序编辑完成之后使用硬件仿真,最终用烧录器将程序写入单片机进行实测。 本系统分信号的主要有温度传感器的输入信号和单片机输出的控制信号构 成。首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机 待 ds18b20 完成收集到得温度信息进行 ad 处理并存储为数字信号后,开始读取 温度值,并对其信号做位处理使之达到用户需求的精度以及计算得到相对湿度, 最后通过 1602lcd 显示温湿度值。另外,系统在运行过程中还有专门的控制声光 报警系统、光电耦合开关的控制信号, 2.32.32.32.3 理论基础理论基础理论基础理论基础 2.3.12.3.12.3.12.3.1 单片机单片机单片机单片机 t89c2051 是一种带 2k 字节闪烁可编程可擦除只读存储器的单片机。单片机 的可擦除只读存储器可以反复擦除 1000 次。该器件采用 atmel 高密度非易失存 储器制造技术制造,与工业标准的 mcs-51 指令集和输出管脚相兼容。由于将多 功能 8 位 cpu 和闪烁存储器组合在单个芯片中,atmel 的 at89c51 是一种高效微 控制器,at89c2051 是它的一种精简版本。at89c51 单片机为很多嵌入式控制系 统提供了一种灵活性高且价廉的方案。外形及引脚排列如图 2-1 所示 6 图 2-1 at89s51 芯片引脚图 at89c51 共有 40 个引脚,大致可分为 4 类:电源引脚、时钟电路引脚、i/o 引脚、控制线引脚。根据开发的需要和单片机的结构,我们就可以实现单片机的 自动工作,即实现自动化! 2.3.22.3.22.3.22.3.2 ds18b20ds18b20ds18b20ds18b20 传感器传感器传感器传感器 传感器是一种按一定的精度把被测量转换为与之有确定关系的、 便于应用的 某种物理的测量器件或装置,用于满足系统信息传输、存储、显示、记录及控制 等要求。 在本系统的开发过程中主要用到了 ds18b20 数字温度传感器,这种传感 器提供 9-12 位摄氏温度测量 i fu b有一个由高低电平触发的可编程的不因电 源消失fu 改变的报警功能。ds18b20 通过一个单线接口发送或接受信息,因此 在中央处理器和 ds18b20 之间仅需一条连接线(加上地线)。它的测温范围为一 55- + 125 0c,并目在一 10-+850c 精度为士 5 0c。除此之外,ds18b20 能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个 ds 18b20 都 有一个独特的 64 位序列号, 从fu 允许多只 ds 18b20 同时连在一根单线总线上; 因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的 ds 18b20。 这一特性在 hvac 环境控制、探测建筑物、仪器或机器的温度以及过程监测和控 制等方面非常有用。 在测温操作方面,ds18b20 的核心功能是它的直接读数字的温度传感器。温 度传感器的精度为用户可编程的 9, 10, 11 或 12 位,分别以 0. 5 0c , 0 . 2 5 0c , 0. 12 5 0c 和 0. 06250c 增量递增。在上电状态下默认的精度为 12 位。 7 ds18b20 启动后保持低功耗等待状态;当需要执行温度测量和 ad 转换时,总线控 制器必须发出44h命令。在那之后,产生的温度数据以两个字节的形式被存 储到高速暂存器的温度寄存器中,ds18b20 继续保持等待状态。当 ds18b20 由外 部电源供电时,总线控制器在温度转换指令之后发起“读时序” ,ds18b20 正在 温度转换中返回 0,转换结束返回 1。如果 ds18b20 由寄生电源供电,除非在进 入温度转换时总线被一个强上拉拉高,否则将不会由返回值。寄生电源的总线要 求在口 618820 供电节详细解释。 图 2-2ds18b20 数字温度传感器内部结构 2.3.32.3.32.3.32.3.3 1602lcd1602lcd1602lcd1602lcd 液晶显示屏液晶显示屏液晶显示屏液晶显示屏 在单片机系统中应用液晶显示器作为输出器件有以下几个优点: 一、显示质 量高, 由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定 发光,而不像阴极射线管显示器(crt)那样需要不断刷新新亮点。因此,液晶 显示器画质高且不会闪烁。二、数字式接口,液晶显示器都是数字式的,和单片 机系统的接口更加简单可靠,操作更加方便。三、体积小、重量轻,液晶显示器 通过显示屏上的电极控制液晶分子状态来达到显示的目的, 在重量上比相同显示 面积的传统显示器要轻得多。四、功耗低,相对而言,液晶显示器的功耗主要消 耗在其内部的电极和驱动 ic 上,因而耗电量比其它显示器要少得多。 本系统选用的字符型 lcd 是一种专门用于显示字母、数字、符号等点阵式 lcd,目前常用 16*1,16*2,20*2 和 40*2 行等的模块。本次设计选用的是 1602 字符型液晶显示器。一般 1602 字符型液晶显示器实物如图 3-1: 8 图 2-31602 字符型液晶显示器实物图 1602lcd1602lcd 主要技术参数:主要技术参数: 显示容量:162 个字符 芯片工作电压:4.55.5v 工作电流:2.0ma(5.0v) 模块最佳工作电压:5.0v 字符尺寸:2.954.35(wh)mm 9 第三章硬件设计 3.13.13.13.1 设计方案设计方案设计方案设计方案 单片机 温度传感器 1 温度传感器 2 1602lcd 显示屏 水位传感器 加湿器开关 声光报警器 图 3-1自动加湿器功能原理图 3.23.23.23.2 电路图电路图电路图电路图 单片机是整个系统的控制中枢,它指挥外围器件协调工作,从而完成特定的 功能。硬件实现上采用模块化设计,每一模块只实现一个特定功能,最后再将各 个模块搭接在一起。 这种设计方法可以降低系统设计的复杂性。系统电路原理图 如图 2 所示。本系统主要硬件设计包括电源电路、蜂鸣器电路、晶振电路、复位 电路、lcd 显示电路以及温度传感器电路。 控制电路的核心器件是由美国 atmel 公司生产的 at89c51 单片机,属于 mcs-51 系列。at89c51 是一种低功耗、高性能的 cmos8 位微控制器,具有 2k 在 系统可编程flash存储器, 采用的工艺是atmel公司的高密度非易失存储器技术; 片上 flash 允许程序存储器在系统可编程,亦适于常规编程器;在单芯片上, 拥 有灵巧的 8 位 cpu 和在系统可编程 flash,使得 at89c51 为众多嵌入式控制应用 系统提供高灵活、超有效的解决方案;价格低廉、性能可靠、抗干扰能力强。 因 此广泛应用于工业控制和嵌入式系统中。 10 图 3-2 电路原理图 系统的声光报器电路(警蜂鸣和 led 发光二极管组成) 、振落电路、复位电 路。显示模块选用 1602 字符型液晶模块,是目前工控系统中使用最为广泛的液 晶屏之一,电路图如图所示。1602 字符型液晶模块是点阵型液晶,驱动方便, 经编码后显示内容多样化。由于时间仓促,没有找到合适的水位传感器,在开发 过程中利用三个按钮开关代替水位传感器分别代表高、中、低水位,而加湿器开 关则由一发光二级管代替,在方正过程中更容易观察系统开发效果。 3.33.33.33.3 信号分析信号分析信号分析信号分析 本系统分信号的主要有温度传感器的输入信号和单片机输出的控制信号构 成。首先由单片机向温度传感器发出读信号,随后温度传感器做出响应,单片机 待 ds18b20 完成收集到得温度信息进行 ad 处理并存储为数字信号后,开始读取 温度值,并对其信号做位处理使之达到用户需求的精度以及计算得到相对湿度, 最后通过 1602lcd 显示温湿度值。另外,系统在运行过程中还有专门的控制声光 报警系统、光电耦合开关的控制信号,这些控制信号比较简单,不再一一论述。 3.43.43.43.4 功能描述功能描述功能描述功能描述 参考舒适性空调的相对湿度采用 40%65%的要求x,在功能设计过程中以 40%为最适相对湿度参考值。单片机一方面通过监测加湿器内部的水位,达到加 11 湿器防干烧的功能, 即只有在水位在水位下限以上时加湿器才能通电工作。另一 方面通过处理两个温度传感器测得的干湿球温度得到室内相对湿度, 并和人体最 适相对湿度做比较。 在水位符合要求的前提下,若室内相对湿度高于人体最适值 则控制加湿器不动作, 反之则对加湿器通电开始加湿,直到室内空气达到最适湿 度时断电。另外,单片机通过和声光报警器以及 1602lcd 显示屏相连,还具有了 温湿度及水位的显示功能。 总之,在现有的加湿器内加入此单片机将实现加湿器 的防干烧、 声光报警、智能开启和关闭以及室内温湿度的显示功能基本实现加湿 器的智能化。 3.53.53.53.5 复位电路复位电路复位电路复位电路 复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后, 撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号, 以 防电源开关或电源插头分-合过程中引起的抖动而影响复位。图 3-3 所示的 rc 复位电路可以实现上述基本功能,图 3 为其输入-输出特性。但解决不了电源毛 刺(a 点)和电源缓慢下降(电池电压不足)等问题 而且调整 rc 常数改变延 时会令驱动能力变差。左边的电路为高电平复位有效右边为低电平 sm 为手动 复位开关ch 可避免高频谐波对电路的干扰。 图 3-3 上电及手动复位电路图 12 3.63.63.63.6 液位定位及光电开关液位定位及光电开关液位定位及光电开关液位定位及光电开关 由于开发过程时间紧迫, 暂时未购买到合适的液位监测传感器,因此在实际 开发过程中采用三个开关进行代替,按下按钮表示水位到达相应的水位。另外为 了直观的看出控制输出信号的转台, 开发过程中将光电开关改为一发光二级管并 与电阻串联接地。见图 3-4。 图 3-4 水位计光电开关替代元件 3.73.73.73.7 1602160216021602 显示屏显示屏显示屏显示屏 利用滑动变阻器调节背光灯与显示字符的对比度,利用三极管的及 p2.7 控 制背光的的暗与灭。接线原理见图 3-5。 13 图 3-5 1602 接线原理图 3.83.83.83.8 ds18b20ds18b20ds18b20ds18b20 温度传感器温度传感器温度传感器温度传感器 由于此款温度传感器输出串行通信信号,电路图相对简单,见图 3-6。 图 3-6 ds18b20 温度传感器接线图 14 第四章第四章第四章第四章软件设计软件设计软件设计软件设计 4.14.14.14.1 整体设计及说明整体设计及说明整体设计及说明整体设计及说明 系统单片机代码采用汇编语言编译,以伟福仿真器 v8/l 为开发环境。系统 软件实现的功能: 1)通过 lcd 显示温湿度值及水位; 2)比较监测到的水位,发现低水位时自动掉电并声光报警; 3)根据相对湿度值控制加湿器的开关。 根据监控系统功能要求,系统软件流程图设计如图所示。 显示温湿度 初始化 载入程序 读干球温度 t 读湿球温度 ts 求出相对湿度 d 读水位 h 判断 hho 是否成立 开启加湿器 判断d d0是 否成立 声光 报警 并关 闭加 是 否 是 否 关加 湿器 图 4-1 主程序流程图 15 初始化开始,然后载入程序,根据显示数据读出干球温度 t,湿球温度 ts, 根据干湿球温度求出相对湿度 d,然后读出显示的水位 h,判断水位 h 是否大于 最小水位 ho:若 hho 成 立后,判断相对湿度 d 与最小湿度 do 的大小比较,若 d=do 则开启加湿器,显 示温湿度,循环直至相对湿度 d=do,关闭加湿器,然后显示温湿度过程循环。 4.24.24.24.2 ds18b20ds18b20ds18b20ds18b20 流程设计流程设计流程设计流程设计 每个 ds18b20 温度传感器的流程图设计如下: 启动温度转换 读取温度 温度处理 跳过rom匹配 ds18b20 复位 跳过rom匹配 ds18b20 复位 图 4-2 ds18b20 模块程序流程图 传感器 ds18b20 复位,跳过 rom 匹配后启动温度转换,ds18b20 复位然后跳 过 rom 匹配,再读取温度后进行温度处理,保留一位小数。读取数据及传送的程 序如下: read_temp:;读 1820 内部温度子程序. call reset 16 jb 70h,ext1 call skip_rom call temp_conv ;温度 ad 变换 call delay_600ms call reset call skip_rom call temp_get ;发取温度的命令 call read ;接收. ext1: ret skip_rom:;跳过 rom 检测 mov a,#0cch ;#0cch 为跳过 rom 命令 call write ret recall_eprom:;重调 eprom mov a,#0b8h call write ret temp_conv: mov a,#44h ;ad 变换 call write ret temp_get: mov a ,#0beh;读 18b20 命令 call write ret ;* 18b20 基本时序子程序 reset:;初始化子程序 setb p1.2 nop clr p1.2;拉低 17 mov r3,#150 ; *4=600us call delay_by_r3 setb p1.2;拉高 mov r3,#15; 60us call delay_by_r3 mov r3,#60 ;4 个周期*60=240us 内检测 a1: jnb p1.2,a2 ;检测到低平信号 djnz r3,a1 ;如果没有应答的低电平信号,返回 a1 重新检测,超时后下一行, setb 70h ;ds1820 不存在. jmp a3 a2: clr 70h mov r3,120;240us;等恢复时间 2*120=240us djnz r3, $ a3: ret write: mov r2,#8;一个字节为 8 位 clr c ;c 位清 0 c 位用来放 a 的一位数据,用移位的方法放入 c b1: setb p1.2 nop clr p1.2 mov r3,#4 ;16us call delay_by_r3 rrc a;把 a 中的数送入 c mov p1.2,c;把 c 送入总线 mov r3,#12;48us(一位数据的发送:60ustx120us) call delay_by_r3 setb p1.2;拉高 1us 结束一位 nop djnz r2,b1 ret 18 read: mov r1,#4 ;接收 4 个字节数据依次是 1.低位 2.高位. 3.高限 4.低限 mov r0,#28h;低位放 28h;高位放 29h (1. 28h,2. 29h 3. 2ah 4. 2bh ) c0: mov r2,#8;一字节数据 8 位 c1: clr c ;清除 c setb p1.2 nop nop clr p1.2 ;拉低. nop ;1us 秒后拉高? setb p1.2 mov r3,#4;16us 后采数据 call delay_by_r3 mov c,p1.2 ;读出 18b20 的数据 rrca ;移入 a mov r3,#12;48us 恢复时间 call delay_by_r3 djnz r2,c1 ;一个字节收完 mov r0,a;移入存储位 incr0 ;下一位;29h djnz r1,c0 ;全部取完吗?没有重复 ret 4.34.34.34.3 1602160216021602 字符型字符型字符型字符型 lcdlcdlcdlcd 流程设计流程设计流程设计流程设计 1602 字符型 lcd 流程设计如下: 19 延时 15ms 显示模式设置 延时 5ms 显示关闭 显示清屏 延时 5ms 延时 5ms 显示光标移动设置 延时 5ms 显示开及光标设置 显示位置设置 延时 显示温度各位数值 1602 初始化 图 4-3 1602 液晶驱动程序流程图 显示器 1602 初始化后延时 15ms,显示模式设置,再延时 5ms,显示关闭, 20 延时 5ms 显示清屏,再延时 5ms 显示光标移动设置延时 5ms 显示开及光标设置, 然后显示位置设置,延时,显示温度各位数值。此部分主要程序过长,参见附录 一。 21 第五章第五章第五章第五章系统调试系统调试系统调试系统调试 系统与 lac51 系列的仿真环境下开发,编程过程中利用软件仿真调试系统, 当软仿通过则利用该仿真器仿真,并按顺序检查错误进行修改,最终将程序的 hex 文件烧录进入单片机进行实测。 22 第六章第六章第六章第六章总结总结总结总结 通过本次单片机学习课程的毕业设计, 使自己在理解单片机基本电路的基础 上掌握了简单电路的设计方法, 同时对整个课题的编程方法和技巧也有了一定的 认识和理解,并初步具备了独立编程和系统调试的能力。在本次课题设计中, 自 己遇到了不少问题,通过请教徐老师和翻阅资料,最终将问题解决。尤其是在调 试程序时,运用软件仿真,逐步排查错误,最终将程序调试成功。在此过程中, 自己的编程能力得到了加强,同时也锻炼了自己的耐性。总之,通过本次设计, 使自己受益匪浅。 另外,在智能加湿器的开发过程中我体会到了自动化得真正含 义, 对以后的学习和工作奠定了一定的基础,以后进一步的学习过程中一方面要 拓展智能的加湿器的功能和应用范围,使之更加完善。另一方面还要探究新的课 题,开发新的单片机应用系统,问何那得清如许,为由源头活水来!走上单片机 开发之路, 我要将自己的知识转化为社会可以运用的技术,为社会的进步尽自己 一份力量。 23 致致致致谢谢谢谢 在毕业设计期间,始终得到指导老师徐权的悉心指导。整个学习和设计过 程中,我深切的体会到了导师严谨的治学精神、渊博的知识、敏锐的思维、对 工作的热情态度和朴素高尚的人格修养,相信这些将使我终生受益。在此论文 完成之际,谨向我敬爱的导师表示最诚挚的敬意。 由衷地感谢老师给予我的许多指导和帮助。也由衷地感谢各位同学为我的 无私帮助,而且他们孜孜不倦的学习精神永远是我学习的榜样。同时,也向所 有帮助支持过我的老师、同学和朋友致以衷心的感谢。 24 参考文献参考文献参考文献参考文献 1. 周向红.mcs-51 系列单片机应用于实践教程【m】.北京航空航天大学出版社, 2008. 2. 公孙茂,马宝匍,孙晨.单片机入口接口实例集【m】.北京:北京航空航天出 版社,2002. 3. 何立民.mcs51 系列单片机应用设计系统配置与接口技术【m】. 北京:北 京航空航天出版社,1990. 4. 陈一民.计算机精梳车间湿度自动控制系统 【j】 .上海大学学报 (自然科学版), 1997 25 附录一附录一附录一附录一 1602160216021602 液晶模块资料液晶模块资料液晶模块资料液晶模块资料( ( ( (特点特点特点特点, , , ,引脚及指令引脚及指令引脚及指令引脚及指令) ) ) ) 这里介绍的字符型液晶模块是一种用 5x7 点阵图形来显示 字符的液晶显示器,根据显示的容量可以分为 1 行 16 个字、 2 行 16 个字、2 行 20 个字等等,这里以常用的 2 行 16 个字 的 1602 液晶模块来介绍它的编程方法。 1602 液晶模块内部的字符发生存储器(cgrom)已经存储了 160 个 不同的点阵字符图形,如表 1 所示,这些字符有:阿拉伯数字、英文 字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固 定的代码,比如大写的英文字母“a”的代码是 01000001b(41h), 显示时模块把地址 41h 中的点阵字符图形显示出来, 我们就能看到字 母“a” 26 16021602 引脚功能描述引脚功能描述: : 1602 采用标准的 14 脚接口,其中: 第 1 脚:vss 为地电源 第 2 脚:vdd 接 5v 正电源 第 3 脚:v0 为液晶显示器对比度调整端,接正电源时对比度最弱, 接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以 通过一个 10k 的电位器调整对比度 第 4 脚:rs 为寄存器选择,高电平时选择数据寄存器、低电平时选 择指令寄存器。 第 5 脚:rw 为读写信号线,高电平时进行读操作,低电平时进行写 27 操作。当 rs 和 rw 共同为低电平时可以写入指令或者显示地址,当 rs 为低电平 rw 为高电平时可以读忙信号,当 rs 为高电平 rw 为低电 平时可以写入数据。 第 6 脚:e 端为使能端,当 e 端由高电平跳变成低电平时,液晶模块 执行命令。 第 714 脚:d0d7 为 8 位双向数据线。 16021602 液晶模块指示介绍液晶模块指示介绍: : 1602 液晶模块内部的控制器共有 11 条控制指令,如表 2 所示, 它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 (说 明:1 为高电平、0 为低电平) 指令 1:清显示,指令码 01h,光标复位到地址 00h 位置 指令 2:光标复位,光标返回到地址 00h 指令 3:光标和显示模式设置 i/d:光标移动方向,高电平右移,低 28 电平左移 s:屏幕上所有文字是否左移或者右移。高电平表示有效, 低电平则无效 指令 4:显示开关控制。 d:控制整体显示的开与关,高电平表示开 显示, 低电平表示关显示 c: 控制光标的开与关, 高电平表示有光标, 低电平表示无光标 b:控制光标是否闪烁,高电平闪烁,低电平不闪 烁 指令 5:光标或显示移位 s/c:高电平时移动显示的文字,低电平时 移动光标 指令 6:功能设置命令 dl:高电平时为 4 位总线,低电平时为 8 位 总线 n:低电平时为单行显示,高电平时双行显示 f: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符 指令 7:字符发生器 ram 地址设置 指令 8:ddram 地址设置 指令 9:读忙信号和光标地址 bf:为忙标志位,高电平表示忙,此 时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据 指令 11:读数据 29 附录二附录二附录二附录二lcdlcdlcdlcd 控制及显示子程序控制及显示子程序控制及显示子程序控制及显示子程序 display: mov a,r1 movc a,a+dptr mov p0,a call write_data_to_lcd inc r1 djnz r0,display ret write_not_check_busy: setb e nop nop clr rs ;写入控制命令的子程序 clr rw clr e ret enable: setb e nop nop clr rs ;写入控制命令的子程序 clr rw clr e acall test_busy setb e ret test_busy: setb e nop nop mov p0,#0ffh ;判断液晶显示器是否忙的子程序 clr rs setb rw clr e nop setb e jb p0.7,test_busy ;如果 p0.7 为高电平表示忙就循环等待 ret write_data_to_lcd: setb e nop nop 30 setb rs ;rs=1 clr rw ;rw=0 ;准备写入数据 clr e ;e=0 ;执行显示命令 acall test_busy ;判断液晶模块是否忙? setb e ;e=1 ;显示完成,程序停车 ret ;*数据转换* data_conv:;数据转换 mov a,28h ;低字节 anl a,#0fh;去除高位 mov b,#6;乘 6 得到实际数值的 100 倍. mul ab mov b,#10 div ab mov 33h,a;小数位高 mov 32h,b; 小数位低 mov a,28h mov c,29h.0 ;29h 高位的低 4 字节 rrc a mov c,29h.1 rrc a mov c,29h.2 rrc a mov c,29h.3 rrc a mov 28h,a ;重新合成.结果存在 28h. mov a,28h mov b,#10 div ab mov 26h,a ;整数位高 mov 25h,b ;整数位低 ;- mov a,2ah mov b,#10 div ab mov 40h,b ;高温限值个位 mov b,#10 div ab mov 41h,b;十位 mov 42h,a;百位 ;- mov a,2bh mov b,#10 31 div ab mov 43h,b ;低温限值位个位 mov b,#10 div ab mov 44h,b ;十位 mov 45h,a ;百位 clr c mov a,28h;现温度值与高温限值比较 subb a,2ah jc big ;如果高.则关机器 clr c mov a,2bh;现温度与低温限值比较 subb a,28h jc x_big ;低温限值比现温高,则开机器 ajmp convert_end big: ajmp convert_end x_big: convert_end: ret ;*显示温度* display_18b20_temp: ;lcd_显示子程序 mov p0,#10000000b; 显示位置 acall enable ;执行指令 mov dptr,#tab3;显示wendu: mov r1,#0 ;码表初值 mov r0,#7;字数 call display ;-显示温度值高位 mov dptr,#led_data mov r1,26h ;码表初值 mov r0,#1;字数 call display ;-显示温度值低位 mov dptr,#led_data mov r1,25h ;码表初值 mov r0,#1;字数 call display ;-显示小数点 mov dptr,#dot mov r1,#0 ;码表初值 mov r0,#1;字数 call display 32 ;-显示温度值小数高位 mov dptr,#led_data mov r1,33h ;码表初值 mov r0,#1;字数 call display ;-显示温度值小数低位 mov dptr,#led_data mov r1,32h ;码表初值 mov r0,#1;字数 call display ;-显示单位度 mov dptr,#sign mov r1,#0 ;码表初值 mov r0,#2;字数 call display ret ;*显示限值.* display_18b20_temp_xz: mov p0,#11000000b; 显示位置 acall enable ;执行指令 mov dptr,#tab_l ; 显示l: mov r1,#0 ;码表初值 mov r0,#2;字数 call display ;-显示温度限值高位 mov dptr,#led_data mov r1,45h ;码表初值 mov r0,#1;字数 call display ;-显示温度限值低位 mov dptr,#led_data mov r1,44h ;码表初值 mov r0,#1;字数 call display ;- mov dptr,#led_data mov r1,43h ;码表初值 mov r0,#1;字数 call display mov p0,#11000111b; 显示位置 acall enable ;- - mov dptr,#tab_h ; 显示h: 33 mov r1,#0 ;码表初值 mov r0,#2;字数 call display ;-显示高温度限值高位 mov dptr,#led_data mov r1,42h ;码表初值 mov r0,#1;字数 call display ;-显示高温度限值低位 mov dptr,#led_data mov r1,41h ;码表初值 mov r0,#1;字数 call display ;- mov dptr,#led_data mov r1,40h ;码表初值 mov r0,#1;字数 call display ret ;* *提示语* display_18b20_hello: mov p0,#10000000b; 显示位置 acall enable ;执行指令 mov dptr,#tab_hello mov r1,#0 ;码表初值 mov r0,#16;字数 call display ret ;/* display_18b20_testing: mov p1,#10000000b; 显示位置 acall enable ;执行指令 mov dptr,#tab_testing mov r1,#0 ;码表初值 mov r0,#16;字数 call display ret ;*/ display_18b20_error: mov p0,#00000001b ;清屏并光标复位 acall enable mov dptr,#tab1 mov r1,#0 ;码表初值 34 mov r0,#16;字数 call display ret display_wating: mov p0,#00000001b ;清屏并光标复位 acall enable;调用写入命令子程序 mov p0,#10000000b; 显示位置 acall enable ;执行指令 mov dptr,#tab2 mov r1,#0 ;码表初值 mov r0,#13;字数 call display ret display_save: mov p0,#00000001b ;清屏并光标复位 acall enable;调用写入命令子程序 mov p0,#10000000b; 显示位置 acall enable ;执行指令 mov dptr,#tab_save mov r1,#0 ;码表初值 mov r0,#10;字数 call display ret display_seting_temp_h: mov p0,#00000001b ;清屏并光标复位 acall enable;调用写入命令子程序 mov p0,#10000000b; 显示位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年黑山县带编教师招聘笔试参考题库及答案解析
- 2026年革吉县带编教师招聘笔试模拟试题及答案解析
- 2026吉林大学白求恩第三医院非编合同制护理岗位招聘20人考试参考试题及答案详解
- 2026年荥经县带编教师招聘笔试模拟试题及答案解析
- 2026年河南省高职单独招生考试文化素质综合试卷
- 2026年二级建造师全国统一模拟考试试卷(全套三科含解析)
- 2026年灵川县带编教师招聘考试模拟试题及答案解析
- 茂县人力资源和社会保障局2026年增量政策性岗位招募的(15人)笔试参考题库及答案详解
- 2026年秦安县带编教师招聘笔试备考试题及答案解析
- 2026年山丹县带编教师招聘笔试模拟试题及答案解析
- 2026 年粒细胞缺乏患者保护性隔离护理措施
- 2026-2027学年人教版(新教材)小学美术六年级上册教学计划及进度表
- 2026年四川高考物理考试试卷真题及答案
- 2026年湖北省安全员《A证》考试题库及答案
- 产品核价流程实施规范
- 16D303-3 常用水泵控制电路图
- 畜牧业经济管理教案
- 国家电网南瑞集团招聘笔试题库2026
- 2025年普宁医疗岗事业编考试题及答案
- 饲料生产设备清制度
- 腹泻的治疗课件
评论
0/150
提交评论