10 基于单片机的温度控制系统设计(LCD显示)
第7~14脚:D0~D7为8位双向数据线。 第15、16脚:LCD背光电源正、负极。
LCD1602显示原理
DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表
显示地址
显示位 1 2 3 4 5 6 7 …… 40
置
DDRAM 第一行 00H 01H 02H 03H 04H 05H 06H …… 27H 地址 第二行 40H 41H 42H 43H 44H 45H 46H …… 67H 表3.1 也就是说想要在LCD1602屏幕的第一行第一列显示一个\字,就要向DDRAM的00H地址写入“A”字的代码就行了。但具体的写入是要按LCD模块的指令格式来进行的。那么一行有40个地址,但在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下:
DDRAM地址与显示位置的对应关系
表3.2
“A”字的对应上面高位代码为0100,对应左边低位代码为0001,合起来就是01000001,也就是41H。可见它的代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1='A'这样的方法。PC在编译时就把“A”先转为41H代码了。
3.4温度控制电路和报警电路的设计
控制执行系统所要完成的功能是根据数据处理结果,单片机的对应的I/O输出高电平或者低电平,控制继电器的闭合,达到控制电炉或风扇的启动和停止,但是单片机I/O口的输出电流仅为20mA,不足以驱动继电器,同时也为提高其驱动能力和抗干扰能力,系统设计了继电器驱动电路,在风扇控制电路中由三极管Q2与电阻R6组成放大电路,而二极管D2构成泄放回路,用以在系统断电时迅速将继电器自感电动势迅速拉低,起到保护作用。通过继电器的闭合来控制大功率设备的开与关,达到自动控制的目的。P1.3输出高电平时,三极管Q2的B极为高电平,Q2工作状态为开关管状态,CE导通,则继电器线圈通电,继电器工作。工作时发光二极管D3亮。输出为低电平时,光耦不导通。继电器无法形成回路,故不工作。继电器驱动电路原理图如图3.3所示:
10
11 基于单片机的温度控制系统设计(LCD显示)
图3.3继电器驱动电路
温度检测系统由DS18B20采集的温度信号,转换输出与某温度值相对应的二进制8位BCD码,传输给ATC89C51单片机,经其计算、转换出的实测温度值与设定上下限值比较,若温度值超限,则单片机控制蜂鸣器,使它发出报警声,若是低于下限就启动制热器,若是高于上限值就启动制冷器,使温度恢复到正常范围,从而实现了报警、控制功能。
图3.4温度控制报警电路
3.5键盘电路的设计
按键部分实现的主要原理是单片机读取与按键相连接的I/O口状态,来判定按键是否按下,达到系统参数设置的目的。键盘在单片机应用系统中的作用是实现数据输入、命令输入,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。
编码键盘是由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一个选通脉冲通知微处理器,一般还具有反弹跳和同时
11
12 基于单片机的温度控制系统设计(LCD显示)
按键保护功能。这种键盘容易使用,但硬件比较复杂,对于主机任务繁重的情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。
矩阵式按键结构由行线和列线组成,按键位于行列的交叉点上。矩阵键盘工作的原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。矩阵式按键结构的优点就是节约单片机I/O口,适用于按键比较多的场合。 独立式按键结构,独立式按键就是按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键的工作状态,不会影响其他I/O口线上的工作状态。各按键开关均需要采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平。当输入口线内部已有上拉电阻,外电路的上拉电阻可省去。因此,通过检测输入线的电平状态就可以很容易判断是哪个按键被按下了。
优点:电路配置灵活,软件结构简单。缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。此键盘适用于按键较少或操作速度较高的场合。由于只需要四个按键,所以采用独立式键盘结构。
图3.5 主电路图
12
13 基于单片机的温度控制系统设计(LCD显示)
第四章 温度控制系统软件的设计与仿真
本系统要完成温度信号的采集与控制,需要实现温度信号的采集、数据处理、数据显示、数据传输等基本功能。从功能上可将其分为温度信号采集、数据处理、人机交互、执行四大部分进行设计,软件系统框图四大部分 :
4.1设计思路、流程图
温度信号采集子程序,主要完成温度信号采集,由于数字温度传感器DS18B20是采用单总线结构,所以软件设计需要根据单总线协议来完成温度数据采集、传输。温度信号采集子程序主要包括传感器初始化、单片机给传感器写命令、单片机给传感器写数据、单片机从传感器读数据等部分。
数据处理子程序,当单片机收到温度传感器发送的温度数据后,数据处理子程序对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据。
人机交互子程序包括按键子程序、LCD显示子程序。按键子程序是完成按键识别功能,实现系统参数的设置。按键子程序又包括设置子程序、加一子程序、减一子程序等。LCD显示子程序的功能是,实现将数据处理后的十进制温度数据,使用LCD显示出来。而LCD显示子程序又包括LCD初始化子程序、写命令子程序、写数据子程序等。
执行子程序,该子程序所实现的功能,是把按键子程序设置的系统温度限定值与数据处理子程序处理后的当前温度值进行比较,根据比较的结果,执行单片机的I/O口输出的状态。I/O口的高低电平控制继电器闭合达到控制大功率设备的目的。主程序流程图如图4.1所示:
13
相关推荐: