aabcfbgdeecddpfgpdaabcfbgdeecddpfgpdaabcfbgdeecddpfgpd333aabcfbgdeecddpfgpdDPYDPYDPYDPY3LED1LED2LED3LED476421190764211907642119076421190C374HC164555R1R2R3R4R5R6R7R33220*8R8R9R10R11R12R13R14R34220*8R15R16R17R18R19R20R21R35220*8R22R23R24R25R26R27R28R36220*8345610111213345601111213345601111213QAAQBBQCCLKQDCLRQEQFGNDQVCCGQHQAAQBBQCCLKQDCLRQEQFGNDQVCCGQHQAAQBBQCCLKQDCLRQEQFGNDQGVCCQH174174174+5V+5V+5V174P3.11289128912891289QAAQBBQCCLKQDCLRQEQFGNDQGVCCQHC174HC164C274HC164345610111213C474HC164+5VP3.0R292K5+5V
图3.4-1 显示模块电路
74HC164的逻辑功能介绍如下:
当清除端(CLEAR)为低电平时,输出端(QA-QH)均为低电平。 串行数据输入端(A,B)可控制数据当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态。
H-高电平 L-低电平 X-任意电平 ↑-低到高电平跳变 QA0,QB0,QH0 -规定的稳态条件建立前的电平 QAn,QGn -时钟最近的↑前的电平。
。
图3.4-2 74HC164时序图
在单片机的TXD(P3.1)运行时钟信号,将显示数据由RXD(P3.0)口串行输出至74HC164的A、B端。 3.5 温度设置模块
温度设置部分采用独立式按键,S4为温度值加1按键,与单片机的P0.0口相连;S3为温度值减1按键,与单片机的P0.1口相连。当没有键按下时,单片机与之相连的输入口线为高电平,当任何一个按键按下时,与之相连的 输入口线被置为低电平,产生外中断条件,在 中断服务程序中读取键盘值。温度设置电路如图3.5-1所示。
+5VR302KR312KP0.0P0.1S3DECS4ADD
图3.5-1 温度设置模块电路
3.6 控制电路
控制电路与单片机的P0.2口相连,由于单片机输出控制信号非常微弱,需要用三极管来驱动外围电路,三极管选用NPN型的 9014,当检测温度低于设定温度时,在单片机的P0.2口输出高电平控制信号,使三极管9014导通,使继电器两控制端产生压差,从而使继电器吸合,常开触点接通,控制外部电路对锅炉进行加热;当检测温度高于设定温度时,单片机输出低电平信号,三极管截止,继电器不吸合,外部电路停止加热。控制电路电路图如图3.6-1所示。
+5V+5VD1IN4007452Q231R391KP0.2R322KQ19014JDQ
图3.6-1 控制电路
4 软件设计
系统软件要实现的功能如下:
利用4只共阴数码管,LED1显示检测温度十位,LED2显示检测温度个位,LED3显示设定温度十位,LED4显示设定温度个位,显示分辨率为1℃。单片机复位后默认设定温度为40℃,当每按下一次设定温度上升按钮ADD时,设定温度增加1℃,最高为120℃,当每按下一次设定温度下降按钮DEC时,设定温度减少1℃,最低设定为0℃。当设定温度大于检测温度时加热输出,当设定温度小于检测温度时加热停止。 4.1 主程序流程图
温度控制程序的设计应考虑如下:
◆键盘扫描、键码识别和温度显示; ◆炉温采样; ◆数据处理; ◆越限报警和处理。 系统流程图如图4.1-1所示。
开始 初始化 停止加热 判断按键 检测温度 加 减 设定值减 大于设定值加 显 示 与设定温度比较 小于显 示 启动加热 4.2 温度传感器DS18B20工作过程及时序
图4.1-1 系统流程图
DS18B20工作过程中的协议如下:
初始化——ROM操作命令——存储器操作命令——处理数据 4.2.1 初始化时序
时序如图4.2.1-1所示。主机总线发送复位脉冲(最短为480μS,最高时间为960μS的低电平信号),接着再释放总线(置总线为高电平)并进入接收状态。DS18B20在检测到总线的上升沿后等待15—60μS发出器件存在脉冲(低电平持续60—240μS)。初始化程序如下所示:
INIT: SETB
NOP CLR P3.4 MOV R0,#0FFH DJNZ SETB
R0,$ P3.4 P3.4
LIU:
MOV R0,#100 JNB DJNZ
P3.4,IT3 R0,LIU
CLR 38H SJMP
IT7
IT3: IT7:
SETB 38H MOV R0,#240 DJNZ SETB RET
R0,$ P3.4