论文部分内容阅读
【摘要】利用80C51系列单片机、HD7279A键盘管理芯片、DS18B20温度传感器以及128×64液晶显示模块设计了一个具有人机交互功能的温度控制系统,在20℃至+70℃范围内可以较为精确地把环境温度控制在设定的范围之内,控制精度为±0.5℃;当温度超出设定的范围时,系统具有自动控制和报警功能。该设计可用于恒温箱、烘箱等系统的温度控制,具有简洁、实用的特点。
【关键词】温度控制 单片机 DS18B20温度传感器 128×64液晶显示 HD7279A
【中图分类号】S219.02 【文献标识码】A 【文章编号】1009-9646(2008)09(b)-0149-02
随着微电子技术和微控制器技术的发展,数字化和智能化的产品层出不穷,甚至可以说人们无时无刻不在接触和使用着各种智能仪器和系统。作为一名信息工程类的本科高年级学生,在享受它们带来巨大便利的同时,也常常在思考:其便利究竟来源于何处,智能化控制究竟是如何实现的?我们是否可以运用已经学过的知识进行相关的实践和尝试?在好奇心驱使下,利用实验室的资源模拟设计了一个简易的智能化温度测量与控制系统,从而在理论学习和具体实践的相互印证之中体会到了“智能”这神秘面纱之下的本质。
本设计利用AT89C51单片机、HD7279A智能芯片、DS18B20温度传感器以及128×64液晶显示模块实现了一个具有人机交互功能的简易温度控制系统,在20℃至+70℃范围内可以较为精确地把环境温度控制在设定的范围之内(如果加上制冷装置则可以达到-20℃至+70℃或更宽),温度控制精度达到±0.5℃,且当所测温度超出设定的范围时,系统具有自动控制和报警功能。
1 系统硬件设计
硬件组成结构如图1所示:
(1)HD7279A是采用I2C总线接口的键盘显示管理芯片,可连接8×8键盘矩阵,内部自带译码器和去抖动电路,能自动扫描键盘得到键值。本系统用按键输入温度的上下报警限,要用到0~9和‘-’这11个字符,其中0~9键盘可以自动译码,而‘-’号通过软件设定由某个特定的译码值代替。
(2)DS18B20是采用1-wire总线的温度传感器,在硬件设计上十分方便。其温度测量范围为-55℃~+125℃,转换精度为9~12位二进制数;9位精度时,可以精确到±0.5℃,转换时间为93.75ms,内部有存放温度上下限的存储器,并具有报警标志,可以比較精确快速地实现温度的控制。
(3)128×64液晶显示模块具有内置控制器,可以显示8×4个16×16点阵的汉字,但不带字库,所以要显示的字符和汉字须事先利用取模软件生成字库文件。系统中由LCD显示实际测量的温度,设置的温度上下限和报警信息等。
(4)系统中采用大功率电阻充当模拟热源,以便产生一个可变温度的环境,其加热与否由单片机的口线直接控制,对于降温过程,采用自然冷却的方式进行。
(5)AT89C51需要实现温度的采集与控制、按键读入、LCD显示以及相应接口模块的控制,为了实现系统这些功能,需要对单片机的I/O口资源进行合理的分配,其具体的分配如下:
2 系统软件设计
整个系统监控程序流程如图2所示,工作流程为:(1)用户利用键盘输入所需要控制的温度范围(即温度上下限,取整数);(2)向传感器发出测量命令,等待并读取测量得到的当前温度值;(3)在液晶显示屏上显示出当前温度;(4)用此温度值与用户输入的温度上下限进行比较,若大于上限值,则停止加热,且在显示屏上显示警告,若小于下限值,则开始加热,同时也在显示屏上显示警告,若所测温度在设定的温度范围之内则重复前述的测量过程。
软件设计总体包括五个部分:HD7279A读键盘操作、DS18B20温度测量及读取控制、128×64LCD显示控制、中断报警控制以及显示字符的字库文件。
3 测试与结果
软硬件分别调试完毕后,进行了温控精度和响应时间的测试。通过按键设定温度上、下限分别为:41℃和36℃,开始工作后,系统实测温度为26.1℃,未到设定温度,于是单片机控制大功率电阻通电,随着电阻的发热实测温度不断上升,当达到设定温度上下限之间的中值左右时(本设置中,停止加热的温度为39℃,停止冷却的温度为38℃),停止给电阻通电。整个过程不到2分钟,温度测量周期为200ms,显示刷新周期为1秒。图3为被测温度在设定温度范围内时系统的显示结果。如果系统设置有制冷装置,那么系统的温控范围可以扩大到-20℃~70℃或更宽的范围。
4 结语
经过实验测试,在20℃至+70℃范围内,系统能够较为精确地把传感器所处的环境温度控制在设定的范围之内,超出温度范围时可以准确地发出警告。由于DS18B20测量温度本身具有偏差和时间上的延迟,再加上程序执行需要一定时间,若直接用所测温度值和设定的上下限值进行比较,环境温度往往很容易超出范围,所以两边都应该留有一定的余量。若所测环境相对稳定,还可以根据温度变化曲线对所测得的值进行修正,这可以有效地提高测量精度。此温控系统以80C51单片机为核心,外围电路设计和实现较为简单,硬件开销小,成本低廉,且基本具备了人机交互的功能,所以在精度要求不是很高的情况下具有很大的优势。
参考文献
[1] 王汀.微机系统及应用[Z].化工出版社,2004.
[2] 张迎新.单片机初级教程[M].北京:北京航空航天大学出版社,2000.
[3] 王晓萍、刘玉玲.微机系统及应用实验指导书[Z].浙江大学,2007.
【关键词】温度控制 单片机 DS18B20温度传感器 128×64液晶显示 HD7279A
【中图分类号】S219.02 【文献标识码】A 【文章编号】1009-9646(2008)09(b)-0149-02
随着微电子技术和微控制器技术的发展,数字化和智能化的产品层出不穷,甚至可以说人们无时无刻不在接触和使用着各种智能仪器和系统。作为一名信息工程类的本科高年级学生,在享受它们带来巨大便利的同时,也常常在思考:其便利究竟来源于何处,智能化控制究竟是如何实现的?我们是否可以运用已经学过的知识进行相关的实践和尝试?在好奇心驱使下,利用实验室的资源模拟设计了一个简易的智能化温度测量与控制系统,从而在理论学习和具体实践的相互印证之中体会到了“智能”这神秘面纱之下的本质。
本设计利用AT89C51单片机、HD7279A智能芯片、DS18B20温度传感器以及128×64液晶显示模块实现了一个具有人机交互功能的简易温度控制系统,在20℃至+70℃范围内可以较为精确地把环境温度控制在设定的范围之内(如果加上制冷装置则可以达到-20℃至+70℃或更宽),温度控制精度达到±0.5℃,且当所测温度超出设定的范围时,系统具有自动控制和报警功能。
1 系统硬件设计
硬件组成结构如图1所示:
(1)HD7279A是采用I2C总线接口的键盘显示管理芯片,可连接8×8键盘矩阵,内部自带译码器和去抖动电路,能自动扫描键盘得到键值。本系统用按键输入温度的上下报警限,要用到0~9和‘-’这11个字符,其中0~9键盘可以自动译码,而‘-’号通过软件设定由某个特定的译码值代替。
(2)DS18B20是采用1-wire总线的温度传感器,在硬件设计上十分方便。其温度测量范围为-55℃~+125℃,转换精度为9~12位二进制数;9位精度时,可以精确到±0.5℃,转换时间为93.75ms,内部有存放温度上下限的存储器,并具有报警标志,可以比較精确快速地实现温度的控制。
(3)128×64液晶显示模块具有内置控制器,可以显示8×4个16×16点阵的汉字,但不带字库,所以要显示的字符和汉字须事先利用取模软件生成字库文件。系统中由LCD显示实际测量的温度,设置的温度上下限和报警信息等。
(4)系统中采用大功率电阻充当模拟热源,以便产生一个可变温度的环境,其加热与否由单片机的口线直接控制,对于降温过程,采用自然冷却的方式进行。
(5)AT89C51需要实现温度的采集与控制、按键读入、LCD显示以及相应接口模块的控制,为了实现系统这些功能,需要对单片机的I/O口资源进行合理的分配,其具体的分配如下:
2 系统软件设计
整个系统监控程序流程如图2所示,工作流程为:(1)用户利用键盘输入所需要控制的温度范围(即温度上下限,取整数);(2)向传感器发出测量命令,等待并读取测量得到的当前温度值;(3)在液晶显示屏上显示出当前温度;(4)用此温度值与用户输入的温度上下限进行比较,若大于上限值,则停止加热,且在显示屏上显示警告,若小于下限值,则开始加热,同时也在显示屏上显示警告,若所测温度在设定的温度范围之内则重复前述的测量过程。
软件设计总体包括五个部分:HD7279A读键盘操作、DS18B20温度测量及读取控制、128×64LCD显示控制、中断报警控制以及显示字符的字库文件。
3 测试与结果
软硬件分别调试完毕后,进行了温控精度和响应时间的测试。通过按键设定温度上、下限分别为:41℃和36℃,开始工作后,系统实测温度为26.1℃,未到设定温度,于是单片机控制大功率电阻通电,随着电阻的发热实测温度不断上升,当达到设定温度上下限之间的中值左右时(本设置中,停止加热的温度为39℃,停止冷却的温度为38℃),停止给电阻通电。整个过程不到2分钟,温度测量周期为200ms,显示刷新周期为1秒。图3为被测温度在设定温度范围内时系统的显示结果。如果系统设置有制冷装置,那么系统的温控范围可以扩大到-20℃~70℃或更宽的范围。
4 结语
经过实验测试,在20℃至+70℃范围内,系统能够较为精确地把传感器所处的环境温度控制在设定的范围之内,超出温度范围时可以准确地发出警告。由于DS18B20测量温度本身具有偏差和时间上的延迟,再加上程序执行需要一定时间,若直接用所测温度值和设定的上下限值进行比较,环境温度往往很容易超出范围,所以两边都应该留有一定的余量。若所测环境相对稳定,还可以根据温度变化曲线对所测得的值进行修正,这可以有效地提高测量精度。此温控系统以80C51单片机为核心,外围电路设计和实现较为简单,硬件开销小,成本低廉,且基本具备了人机交互的功能,所以在精度要求不是很高的情况下具有很大的优势。
参考文献
[1] 王汀.微机系统及应用[Z].化工出版社,2004.
[2] 张迎新.单片机初级教程[M].北京:北京航空航天大学出版社,2000.
[3] 王晓萍、刘玉玲.微机系统及应用实验指导书[Z].浙江大学,2007.