温度测量与控制系统
杨光,丁林玲
(常州大学怀德学院信息科学与工程系,江苏常州213000)
摘要:随着社会的发展,自动控制越来越受到人们的关注,温度的控制系统也成为人们备受关注的焦点之一。单片机的广泛应用已经成为高、新科学技术的重要内容和标志之一,它在国民经济的各个领域正在发挥着引人注目的作用。利用单片机技术和传感器技术设计了一种实时温度监控系统。设计的温度控制器的主控器是ATMEL 公司的AT89C51,传感器是使用较为广泛的数字温度传感DS18B20,它具有独特的单线接口方式,与微处理器连接时仅需要一条线即可实现微处理器与DS18B20的双向通信,通过键盘设置温度上下限,用LED 数码管显示实时温度,另外使用蜂鸣器进行超温时的警报,并用外部独立电源通过继电器对电阻丝和风扇进行加热和降温控制。
关键词:AT89C51;DS18B20;温度控制系统;Proteus;Keil
Temperature measurement and control system
Yang Guang, Ding Lin Ling
(Schoolof information science and Engineering, University of Changzhou Huaide academy, Jiangsu
Changzhou 213000)
Abstract:with the development of society, the automatic control has attracted more
and more attention, the temperature control system has become one of the focus of attention. Wide application of SCM has become one of the important content and symbol of high, new science and technology in all fields of the national economy, it is playing the role of attract sb.'s attention. A real-time temperature monitoring system using single chip computer technology and sensor technology. The main controller temperature controller design is ATMEL, AT89C51, digital temperature sensor DS18B20sensor is used widely, it has a single unique interface mode, and the microprocessor is connected only need one line can realize microprocessor and DS18B20two-way communication, through the keyboard to set upper and lower temperature, with LED digital tube display real-time temperature, in addition to using the buzzer for super high temperature alarm, and relay to the resistance wire heating and cooling and fan control by independent external power supply.
Keywords:AT89C51; DS18B20; temperature control system; Proteus; Keil
引言
随着科学技术和生产的不断发展和创新,需要对各种参数进行温度测量和设置。因此温度一词在生产生活当中出现的频率越来越多,与之相对应的,温度控制和测量也成为生活生产中被广泛使用的词语,同时它们在各行各业中也发挥着重要的作用,温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程与温度密切相关,因此温度控制是生产自动化的重要任务。例如:在农业温室大棚生产、冶金工业、化工生产、电力工程、造纸行业、机械制作和食品加工等诸多领域中,人们都需要对各类环境、加热炉、热处理炉、反应炉和锅炉中的温度进行检测。温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展都有非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。随着温度检测理论和技术的不断更新,温度传感器的种类也越来越多,不断的满足生产生活当中的需要。在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,然而传统的控制方式不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,采用单片机对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控制温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业中经常遇到的问题。基于单片机的温度控制系统可以实现对温度的显示、预警、控制等功能,对于工业生产效率的提高可以起到很大的作用。科学技术是第一生产力,对温度实现比较系统化的检测控制使人们的生产节奏有一个良好的循环。从而将节约更多的人力物力,降低生产过程中可以省略的一些繁琐的细节。一个简单有效地控制系统可以在一定程度上使工厂的生产效益上一个台阶,只要使用得当,就能发挥作用。
1系统总体设计方案
1.1系统方案的设计
该温度测量与控制系统的总体设计框图如图1所示,主要由单片机89C51、数字温度传感器DS18B20、LED数码管、键盘电路等组成。当传感器监测到温度信息后传输给单片机,单片机对接收到的数据进行处理,将数据实时显示到LED 数码管显示器上,系统设置了温度的上下限,当现场温度超过或低于这个范围时,系统就会通过灯显示,并且执行加热或降温控制。
单片机最小系统
AT89C51温度采集
键盘的输入电路数码管的显示电路加热控制降温控制
图1系统总体框图
1.2单片机AT89C51芯片
AT89C51的引脚功能如图2所示。
(1)电源引脚
VCC:电源
VSS:接地
(2)时钟电路引脚
XTAL1:振荡器反相放大器及内部时钟发生器的输入端,外接晶体的一个引脚,当采用外部振荡器时,此引脚接地。
XTAL2:振荡器反相放大器的输出端,当采用外部振荡器时,此引脚接外部振荡源。
(3)控制线与复位电路引脚
RST:复位输入引脚。当振荡工作时,RST引脚出现两个机器周期的高电平,将使单片机复位。
ALE/PROG:允许地址锁存输出/编程输入引脚。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。一般情况下,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC 指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:片内、片外程序存储器选择输出/编程输入引脚。当EA保持高电平时,访问片内程序存储器,当EA为低电平时,访问外部程序存储器。
(4)I/O口引脚
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。。P3口除了作为一般的I/O
口线外,更重要的用途是它的第二功能。
图2AT89C51
1.3传感器DS18B20
DS18B20是DALLAS 公司生产的最新可组网、单线式温度传感器,它将传感器、A/D、寄存器、接口电路集成在一个芯片上,采用1-Wire 总线协议,可直接与计算机连接,实现直接数字化输出,便于单片机处理及控制,在0—100摄氏度时,最大线形偏差小于1摄氏度,
性能非常优越,如图3
所示。
图3温度传感器
2系统硬件模块的设计
2.1单片机的最小系统
根据AT89C51的引脚定义,单片机、时钟电路、复位电路构成了单片机最小系统。对于单片机系统而言是必须的,因为单片机内部是由各种各样的数字逻辑器件构成,而这些器件又必须按时间顺序完成。所以在管脚的XTAL1和XTAL2引脚外接石英晶体和两个谐振电容,电容采用2个30u电容,采用12M的石英晶体。这样就可以构成单片机的基本时钟电路,时钟频率为12M。复位电路是对单片机进行初始化操作,使单片机处于一个确定的初始状态。而要AT89C51复位得在RESET 引脚上加5V的高电平信号就可以了。复位电路参数为30U的电解
容和10kΩ的电阻。如图4所示。
图4单片机的最小系统
2.2DS18B20、LED数码管与单片机的接口电路
LED 数码显示接口电路分静态显示和动态显示两种。所谓静态显示,就是每个显示器都要占用独立的具有锁存功能的I/O接口,显示的字型码送到接口电路。如图5所示,它是把所有显示器的同名字段互相连接在一起,并把它们连到字形口上。每个数码管的公共端受单片机的I/O口控制。CPU送出字段码,只有公共端符合条件的数码管才显示。
图5DS18B20、LED数码管与单片机的接口电路
2.3键盘输入电路
本次设计用了三个按键如图6所示,采用查询方式,一个用于选择切换设置报警温度,
另外两个分别用于设置报警温度的加和减。
图6键盘电路
2.4加热和降温控制
本次设计用P1口的端口1和端口2控制加热,当温度低于设定值的下限时,端口1控制指示灯点亮同时端口2变成低电平进行加热;用P1口的端口0和端口3控制降温,当温度高于设定值的上限时,端口0控制指示灯点亮同时端口3变成低电平,电动机工作开始降温。
3软件仿真
3.1主程序
#include"reg51.h"
#include"intrins.h"//延时函数用
#definedm P0//段码输出口
#defineuchar unsigned char
#defineuint unsigned int
void main()
{
dm=0x00;
w0=0;
w1=0;
w2=0;
w3=0;
for(h=0;h
{display[h]=0;}
ow_reset();
write_byte(0xcc);
write_byte(0x44);//开机先转换一次//SkipROM //发转换命令//开机显示"0000"//初始化端口
for(h=0;h
{scan();}
while(1)
{
if (temp1==0)
{
work_temp(read_temp());//处理温度数据
BEEP();
scan();
keyscan();
}
else keyscan();
}
}
3.2仿真的调试过程
首先要在Keil 软件编写源程序,经过编译、调试生成.HEX文件;然后双击Proteus ISIS 原理图中的单片机AT89C51,选择好要加载的.HEX文件;最后进行仿真运行。其中,红色方
//显示温度值
块代表高电平,蓝色代表低电平,灰色代表悬空。如图7
所示。
图7仿真结果
4结论
本文完成了一个基于AT89C51单片机的温度测量与控制的设计,对整个硬件电路和软件程序设计做了分析,学习了proteus 的仿真方法和步骤。此设计的温度控制在20度到39度之间,通过两个按键控制报警温度的增减。设计采用了AT98C51芯片作为单片机的控制单元,以温度传感器DS18B20采集温度,通过LED 数码管显示温度,当采集的实际温度低于20度,通过外部独立电源通过继电器对电阻丝进行加热升温,当采集的温度高于39度,通过降温模块控制小风扇对其降温控制。
参考文献:
[1]祁红岩,冯丽媛,景维鹏,等.MCS51单片机实践与应用[M].北京:机械工业出版社,2011.
[2]何宝祥,朱正伟,刘训非,储开斌.模拟电路及其应用[M].北京:清华大学出版社,2009.
[3]向艳,周天彤,程起才.C 语言程序设计[M].北京:清华大学出版社,2008.
[4]赵德安.单片机原理与应用[M].北京:机械工业出版社,2012.
[5]郭天祥.51单片机C 语言教程[M].北京:电子工业出版社,2012.
[6]朱清慧.Proteus 教程[M].北京:清华大学出版社,2008.
[7]杨磊,王波.电子信息类专业毕业设计指导与实例[M].北京:中国水利水电出版社,2011.
温度测量与控制系统
杨光,丁林玲
(常州大学怀德学院信息科学与工程系,江苏常州213000)
摘要:随着社会的发展,自动控制越来越受到人们的关注,温度的控制系统也成为人们备受关注的焦点之一。单片机的广泛应用已经成为高、新科学技术的重要内容和标志之一,它在国民经济的各个领域正在发挥着引人注目的作用。利用单片机技术和传感器技术设计了一种实时温度监控系统。设计的温度控制器的主控器是ATMEL 公司的AT89C51,传感器是使用较为广泛的数字温度传感DS18B20,它具有独特的单线接口方式,与微处理器连接时仅需要一条线即可实现微处理器与DS18B20的双向通信,通过键盘设置温度上下限,用LED 数码管显示实时温度,另外使用蜂鸣器进行超温时的警报,并用外部独立电源通过继电器对电阻丝和风扇进行加热和降温控制。
关键词:AT89C51;DS18B20;温度控制系统;Proteus;Keil
Temperature measurement and control system
Yang Guang, Ding Lin Ling
(Schoolof information science and Engineering, University of Changzhou Huaide academy, Jiangsu
Changzhou 213000)
Abstract:with the development of society, the automatic control has attracted more
and more attention, the temperature control system has become one of the focus of attention. Wide application of SCM has become one of the important content and symbol of high, new science and technology in all fields of the national economy, it is playing the role of attract sb.'s attention. A real-time temperature monitoring system using single chip computer technology and sensor technology. The main controller temperature controller design is ATMEL, AT89C51, digital temperature sensor DS18B20sensor is used widely, it has a single unique interface mode, and the microprocessor is connected only need one line can realize microprocessor and DS18B20two-way communication, through the keyboard to set upper and lower temperature, with LED digital tube display real-time temperature, in addition to using the buzzer for super high temperature alarm, and relay to the resistance wire heating and cooling and fan control by independent external power supply.
Keywords:AT89C51; DS18B20; temperature control system; Proteus; Keil
引言
随着科学技术和生产的不断发展和创新,需要对各种参数进行温度测量和设置。因此温度一词在生产生活当中出现的频率越来越多,与之相对应的,温度控制和测量也成为生活生产中被广泛使用的词语,同时它们在各行各业中也发挥着重要的作用,温度是工业生产中常见的工艺参数之一,任何物理变化和化学反应过程与温度密切相关,因此温度控制是生产自动化的重要任务。例如:在农业温室大棚生产、冶金工业、化工生产、电力工程、造纸行业、机械制作和食品加工等诸多领域中,人们都需要对各类环境、加热炉、热处理炉、反应炉和锅炉中的温度进行检测。温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展都有非常重要的作用。由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位。随着温度检测理论和技术的不断更新,温度传感器的种类也越来越多,不断的满足生产生活当中的需要。在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,然而传统的控制方式不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。近几年来快速发展了多种先进的温度控制方式,采用单片机对温度进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控制温度的技术指标,从而能够大大提高产品的质量和数量。因此,单片机对温度的控制问题是一个工业中经常遇到的问题。基于单片机的温度控制系统可以实现对温度的显示、预警、控制等功能,对于工业生产效率的提高可以起到很大的作用。科学技术是第一生产力,对温度实现比较系统化的检测控制使人们的生产节奏有一个良好的循环。从而将节约更多的人力物力,降低生产过程中可以省略的一些繁琐的细节。一个简单有效地控制系统可以在一定程度上使工厂的生产效益上一个台阶,只要使用得当,就能发挥作用。
1系统总体设计方案
1.1系统方案的设计
该温度测量与控制系统的总体设计框图如图1所示,主要由单片机89C51、数字温度传感器DS18B20、LED数码管、键盘电路等组成。当传感器监测到温度信息后传输给单片机,单片机对接收到的数据进行处理,将数据实时显示到LED 数码管显示器上,系统设置了温度的上下限,当现场温度超过或低于这个范围时,系统就会通过灯显示,并且执行加热或降温控制。
单片机最小系统
AT89C51温度采集
键盘的输入电路数码管的显示电路加热控制降温控制
图1系统总体框图
1.2单片机AT89C51芯片
AT89C51的引脚功能如图2所示。
(1)电源引脚
VCC:电源
VSS:接地
(2)时钟电路引脚
XTAL1:振荡器反相放大器及内部时钟发生器的输入端,外接晶体的一个引脚,当采用外部振荡器时,此引脚接地。
XTAL2:振荡器反相放大器的输出端,当采用外部振荡器时,此引脚接外部振荡源。
(3)控制线与复位电路引脚
RST:复位输入引脚。当振荡工作时,RST引脚出现两个机器周期的高电平,将使单片机复位。
ALE/PROG:允许地址锁存输出/编程输入引脚。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。一般情况下,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC 指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:片内、片外程序存储器选择输出/编程输入引脚。当EA保持高电平时,访问片内程序存储器,当EA为低电平时,访问外部程序存储器。
(4)I/O口引脚
P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL 逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。
P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。
P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。。P3口除了作为一般的I/O
口线外,更重要的用途是它的第二功能。
图2AT89C51
1.3传感器DS18B20
DS18B20是DALLAS 公司生产的最新可组网、单线式温度传感器,它将传感器、A/D、寄存器、接口电路集成在一个芯片上,采用1-Wire 总线协议,可直接与计算机连接,实现直接数字化输出,便于单片机处理及控制,在0—100摄氏度时,最大线形偏差小于1摄氏度,
性能非常优越,如图3
所示。
图3温度传感器
2系统硬件模块的设计
2.1单片机的最小系统
根据AT89C51的引脚定义,单片机、时钟电路、复位电路构成了单片机最小系统。对于单片机系统而言是必须的,因为单片机内部是由各种各样的数字逻辑器件构成,而这些器件又必须按时间顺序完成。所以在管脚的XTAL1和XTAL2引脚外接石英晶体和两个谐振电容,电容采用2个30u电容,采用12M的石英晶体。这样就可以构成单片机的基本时钟电路,时钟频率为12M。复位电路是对单片机进行初始化操作,使单片机处于一个确定的初始状态。而要AT89C51复位得在RESET 引脚上加5V的高电平信号就可以了。复位电路参数为30U的电解
容和10kΩ的电阻。如图4所示。
图4单片机的最小系统
2.2DS18B20、LED数码管与单片机的接口电路
LED 数码显示接口电路分静态显示和动态显示两种。所谓静态显示,就是每个显示器都要占用独立的具有锁存功能的I/O接口,显示的字型码送到接口电路。如图5所示,它是把所有显示器的同名字段互相连接在一起,并把它们连到字形口上。每个数码管的公共端受单片机的I/O口控制。CPU送出字段码,只有公共端符合条件的数码管才显示。
图5DS18B20、LED数码管与单片机的接口电路
2.3键盘输入电路
本次设计用了三个按键如图6所示,采用查询方式,一个用于选择切换设置报警温度,
另外两个分别用于设置报警温度的加和减。
图6键盘电路
2.4加热和降温控制
本次设计用P1口的端口1和端口2控制加热,当温度低于设定值的下限时,端口1控制指示灯点亮同时端口2变成低电平进行加热;用P1口的端口0和端口3控制降温,当温度高于设定值的上限时,端口0控制指示灯点亮同时端口3变成低电平,电动机工作开始降温。
3软件仿真
3.1主程序
#include"reg51.h"
#include"intrins.h"//延时函数用
#definedm P0//段码输出口
#defineuchar unsigned char
#defineuint unsigned int
void main()
{
dm=0x00;
w0=0;
w1=0;
w2=0;
w3=0;
for(h=0;h
{display[h]=0;}
ow_reset();
write_byte(0xcc);
write_byte(0x44);//开机先转换一次//SkipROM //发转换命令//开机显示"0000"//初始化端口
for(h=0;h
{scan();}
while(1)
{
if (temp1==0)
{
work_temp(read_temp());//处理温度数据
BEEP();
scan();
keyscan();
}
else keyscan();
}
}
3.2仿真的调试过程
首先要在Keil 软件编写源程序,经过编译、调试生成.HEX文件;然后双击Proteus ISIS 原理图中的单片机AT89C51,选择好要加载的.HEX文件;最后进行仿真运行。其中,红色方
//显示温度值
块代表高电平,蓝色代表低电平,灰色代表悬空。如图7
所示。
图7仿真结果
4结论
本文完成了一个基于AT89C51单片机的温度测量与控制的设计,对整个硬件电路和软件程序设计做了分析,学习了proteus 的仿真方法和步骤。此设计的温度控制在20度到39度之间,通过两个按键控制报警温度的增减。设计采用了AT98C51芯片作为单片机的控制单元,以温度传感器DS18B20采集温度,通过LED 数码管显示温度,当采集的实际温度低于20度,通过外部独立电源通过继电器对电阻丝进行加热升温,当采集的温度高于39度,通过降温模块控制小风扇对其降温控制。
参考文献:
[1]祁红岩,冯丽媛,景维鹏,等.MCS51单片机实践与应用[M].北京:机械工业出版社,2011.
[2]何宝祥,朱正伟,刘训非,储开斌.模拟电路及其应用[M].北京:清华大学出版社,2009.
[3]向艳,周天彤,程起才.C 语言程序设计[M].北京:清华大学出版社,2008.
[4]赵德安.单片机原理与应用[M].北京:机械工业出版社,2012.
[5]郭天祥.51单片机C 语言教程[M].北京:电子工业出版社,2012.
[6]朱清慧.Proteus 教程[M].北京:清华大学出版社,2008.
[7]杨磊,王波.电子信息类专业毕业设计指导与实例[M].北京:中国水利水电出版社,2011.