基于单片机的温度控制器设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的温度控制器设计
1引言
1.1设计目的
1.温度显示的基本范围-55℃—128℃;
2.精度误差等于0.1℃;
3.所测温度值由四位数码管显示;
4.可以任意设定温度的上下限报警功能。
1.2设计要求
设计一个温度控制电路,用AT89C51作为温度测试控制系统设计的核心器件,用数字温度传感器DS18B20实现温度的测量,用数码管显示对应的温度。通过指示灯和报警器完成温度上下限的报警指示功能,并通过对电风扇和电热丝的操作,使其恢复到要求的范围内。设计加、减按钮以及设置按钮实现上下限温度的任意设定。
2系统方案设计
该方案使用了AT89C51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,对各点温度进行检测,设置温度上下限,超过其温度值就报警指示,并通过控制使温度恢复到要求的范围内。显示电路采用4位共阴极LED数码管显示。使用三极管,电阻,指示灯和蜂鸣器组成的报警指示电路,设计温度控制器,实现温度的测量、控制、报警、显示、设置等功能。总体设计方框图如图1所示:
图1 总体设计方框图
3硬件设计
3.1温度传感器与单片机的连接
用AT89C51作为温度控制系统设计的核心器件。AT89C51是一种低损耗、高性能、CMOS八位微处理器。DS18B20与单片机的接口电路非常简单,DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机I/O口。
测量温度范围在-55℃到+128℃之间,数字温度计的分辨率用户可以从9位到12位选择,内部有温度上、下限告警设置。总线上传输的所有数据和命令都是以字节的低位在前。DS18B20在使用时,一般都采用单片机来实现数据采集。温度传感器的单总线与单片机的P3.7连接,单片机与温度传感器的连接图如图2所示:
图2 单片机与温度传感器的连接图
3.2报警温度调整按键
本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度,另外两个分别用于设置报警温度的加和减。按键电路图如图3所示:
图3 按键电路图
3.3单片机与报警控制电路
系统中的报警电路是由三极管,蜂鸣器,发光二极管和限流电阻组成,并与单片机的P1.5~P1.7端口连接。控制电路由滑动变阻器,电热丝(电灯泡)和电风扇(电动机)组成,与单片机的P1.3~P1.4端口连接。报警控制电路图如图4所示:
图4 报警控制电路图
3.4显示电路
显示电路采用4位共阴极LED数码管,P2端口是一个内部带上拉电阻的8位双向I/O,作为段码输出。P3口的低四位作为数码管的位选端。采用动态扫描的方式显示。数码管显示电路图如图5所示:
图5 数码管显示电路图
4系统软件设计
系统程序主要包括主程序,显示数据程序,读出温度程序,按键扫描程序等。
4.1主程序
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,其程序流程见图6所示:
图6 主程序流程图
4.2显示数据程序
显示数据刷新程序主要是对分离后的温度显示数据进行刷新操作,当标志位为1时将符号显示位移入第一位。程序流程图如图7所示:
图7 显示数据程序流程图
4.3读出温度程序
读出温度程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图8所示:
图8 程序流程图
4.4按键扫描程序
按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。按键扫描程序流程图图如图9所示:
图9 按键扫描程序流程图
5系统仿真及实际调试
进入Proteus界面后,连接好电路,并将程序下载进去。将DS18B20精度的
改为0.1,数码管显示温度与传感器的温度相同,温度显示仿真图如图10所示:
图10 温度显示仿真图
当按下SET键一次时,进入温度报警上线调节,此时显示软件设置温度报警上线,按ADD或DEC时,分别对报警温度进行加1或减1;当再次按下SET键时,进入温度报警下线调节,此时显示软件设置温度报警下线,按ADD或DEC 时,分别对报警温度进行加1或减1;当第三次按下SET键时,退出温度报警线设置,显示当前温度。温度调试仿真图如图11所示:
图11 温度调试仿真
当温度超过设定的上限温度时,报警器开始报警且指示灯(红灯)开始闪烁,同时,电动机带动电风扇转使温度降低;当温度超过设定的下限温度时,报警器
开始报警且指示灯(绿灯)开始闪烁,同时,电热丝发热使温度升高;报警控制显示仿真图如图12所示:
图12 报警控制显示仿真图
6总结
通过这次温度控制器的设计与仿真,让我更多的了解了设计电路的程序,以及温度控制器的工作原理与设计理念,同时在设计过程中也暴露出许多问题,刚开始设计时,没有过多的查询相关资料,只是盲目的开始设计,以致设计工作停止不前,对编程不是很熟练,使得花了大量的时间用于软件编程。把程序调试完好后,一切工作也都能迎刃而解了。
从这次的课程设计中,我意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习使用单机片机更是如此,程序只有在经常的读写过程中才能提高,也能提高查询资料、分析问题、进而解决问题的能力。
参考文献
[1]王思明,张鑫等.单片机原理及应用系统设计[M].北京:科学出版社,2012.
[2]陶红艳,余成波.传感器与现代检测技术[M].北京:清华大学出版社,2009.
[3]康华光.电子技术基础—数字部分[M].北京:高等教育出版社,2008.
[4]朱清惠等.Proteus教程:电子线路设计制版与仿真[M].北京:清华大学出版社,2009.
[5]谭浩强.C程序设计[M].北京:清华大学出版社,2008.
附录