基于单片机的温度控制器设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.

附录

相关文档
最新文档