电子温度计

  • 格式:doc
  • 大小:322.00 KB
  • 文档页数:14

基于DS18B20的电子温度计指导教师专业班级学号时间在现在这个信息技术告诉发展的社会,电子产业正在飞速前进。

环境温度是试验环境中的一项重点,环境温度的高低直接影响产品的电气和机械性能参数,环境温度的准确度对测试温度的方法要求越来越高,而对环境温度的控制更显的重要。

我们所知道的只是冰山一角,有很大的发展空间,前景一片光明。

为了准确的测试与控制环境温度,而温度传感器DS18B20性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。

传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点,本文用DS18B20设计并制作了一款基于单片机AT89C2051的8位数码管显示的数字温度控制系统,其电路简单,软硬件结构模块化,可根据外界温度的变化,直接在数码管上显示温度值,易于实现对温度的控制。

本文设计了一种基于AT89C2051 单片机与DS18B20 的温度控制系统。

该设计通过AT89C2051 单片机驱动数字温度传感器DS18B20,进行温度数据采集、读取、处理,并通过数码管显示出来。

1 系统总体方案设计该温度控制系统的设计包括硬件设计和软件设计两大部分,结合实际情况,该系统应具备如下功能:(1)实时采集温度;(2)显示温度;(3)串行传送数据;(4)控制外设;在该温度控制系统中AT89C2051单片机不仅与温度传感器DS18B20。

系统上电后,AT89C2051单片机驱动温度传感器DS18B20 工作,进行温度数据采集,传输。

2 系统硬件设计系统的硬件设计部分主要由以下几部分组成:(1)单片机最小系统:采用AT89C2051 单片机;(2)温度采集模块:采用DS18B20 温度传感器;(3)温度显示模块:采用8位LED 双数码管显示;2.1 单片机最小系统设计单片机是整个系统的核心处理器,其负责驱动温度传感器DS18B20 工作、温度显示、控制外围设备的工作以及与上位机进行通信等工作。

本系统选用美国ATMAL 公司生产的AT89C2051 单片机。

此外AT89C2051 单片机有8 KB的程序存储器和256 B 的数据存储器,不需外部扩展存储芯片,可以降低硬件电路的复杂度。

单片机最小系统主要由两块组成,其一为晶振起振电路,其二为复位电路。

2.2 温度采集模块设计温度传感器是该系统的关键器件,本系统选用的是美国Dallas 半导体公司生产的数字化温度传感器DS18B20。

DS18B20 有三个管脚:GND 为电源地,DQ 为数字信号输入/输出端,VDD 为外接供电电源接入端(用寄生电源方式时接地)。

在外部电源供电方式下,DS18B20 工作电源由VDD 引脚接入,此时I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时理论上总线可以挂接任意多个DS18B20 传感器,组成多点测温系统。

在外部供电的方式下,DS18B20 的GND 引脚不能悬空,否则不能转换温度,读取的温度总是85℃。

本系统中DS18B20 的DQ 口与单片机的P1.0 口连接,GND 接地,VDD 接电源,R1 为信号和5V 电源之间的上拉电阻,其电路连接所示。

2.3 温度显示模块设计2.4 串行通信模块设计2.5 外部设备控制电路设计3 系统软件设计本系统采用AT89C2051 作为核心处理器件,把经过DS18B20 现场实时采集到的温度数据,存入AT89C51 的内部数据存储器,并送LED 数码管显示。

与硬件电路相关联,本温度控制系统的软件设计主要分为以下几个部分:主程序,温度上下限值设定子程序、温度读取子程序、温度显示子程序、串口通信子程序、输出控制子程序和报警子程序等。

4 总结该温度控制系统在Protues 上仿真成功后,进行了电路实物的制作,并成功完成了整机的调试,因此可证明本设计具有可行性。

若将此设计适当加以适当扩展,可以组成功能更加强大的温度控制系统,形成多点温度远程监控网络,真正做到服务于生产和生活的目的。

1 系统主要组成部分控制器:at89c2051 传感器:ds18b20 显示:数码管PS:晶振,复位2 温度检测电路温度检测部分采用集成温度传感器DS18B20,它采用独特的单口接线方式传输,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯,不需要外围器件,全部传感元件及转换电路集成在形如一只三极管的集成电路内,外加电源范围是3.0~5.5V,测温范围从-55%到+125℃,在-1O℃~+85℃同有分辨率为0.5℃,测量结果以9位到12位数字量方式直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

3 元器件明细表名称数量规格ds18b20 1at89c2051 1数码管 1 共阳极8段双位电池盒 1 4节LED 1 1.7V电容 1 33uf电容 2 33pf电阻 2 10K电阻8 200电阻 2 2K晶振 1 12MHZ三极管 2 9013单片机引脚座 1 20脚数码管因引脚座 1 10脚电池 4 5号4 实验原理图实验原理图温度计仿真图PCB版图秒表仿真图实物图5 C程序#include <reg51.h> //头文件#include <intrins.h>#define uchar unsigned char //宏定义#define uint unsigned intuchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //数码管显示uint tempe; //变量tempebit flag = 1; //定义标志位bit flag_1 = 1;int count = 0;sbit DQ=P3^7; //位定义sbit p=P3^1;sbit q=P3^0;void timer0();void int0();void delay1(uint z) // 延时函数{ uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--) ;}void delay(uint t) //延时函数{while(t--);}void display(void){p=1;P1=table[tempe/10];delay1(20);p=0; //数码管1有效P1=0xff;q=1; //数码管2有效P1=table[tempe%10];delay1(20);q=0;P1=0xff; }void init_ds18b20(void) //ds18b20头文件{uchar sample;DQ=1;delay(8);DQ=0;delay(80);DQ=1;delay(8);sample=DQ; //return(sample)带返回检测器件响应delay(4);}void wr_ds18b20(uchar dat){ uchar i;for(i=0;i<8;i++){DQ=0;DQ=dat&0x01;delay(4);DQ=1;dat>>=1; }delay(4);}uchar re_ds18b20(void) {uchar i;uchar result;for(i=0;i<8;i++){DQ=0;result>>=1;_nop_();DQ=1;if(DQ)result|=0x80;delay(4); }return(result); }uchar rd_temperature(void) {uchar a,b;init_ds18b20();wr_ds18b20(0xcc); //跳过ROMwr_ds18b20(0x44); //启动温度测量delay(300);init_ds18b20();wr_ds18b20(0xcc);wr_ds18b20(0xbe);a=re_ds18b20();b=re_ds18b20();b<<=4;b+=(a&0xf0)>>4;return(b);}void main() //主函数{ timer0();int0();while(1){ if(flag == 1) //执行显示温度的程序{TR0 = 0;tempe=rd_temperature();display();delay(1);display();delay(1);}else{if(flag_1 == 1) //否则执行显示秒表的程序,温度设置为0 {flag_1 = 0;tempe = 0;}TR0 = 1;display();}}}void timer0() //时间函数{EA = 1;TMOD = 0x11;ET0 = 1;TR0 = 0;TH0 = (65535 - 50000)/256;TL0 = (65535 - 50000)%256;}void time0()interrupt 1{ TH0 = (65535 - 50000)/256;TL0 = (65535 - 50000)%256;count++;if(count==20){ count=0;tempe++;if(tempe==100)tempe = 0;}}void int_0()interrupt 0{ flag_1 = 1;flag = !flag;}void int0(){EA =1;EX0 = 1;IT0 = 1;}6 总结通过本次实验,实现了温度传感器的设计与制作,更贴近了生活中的应用,使我们更加有信心的制作电子产品,在实验中我们充分的感受到了团队合作的力量,使我们在团队合作中进步的更大。

但是在制作过程中暴漏出很多问题:对平时上课讲的理论知识没有完全掌握消化,到了实际操作中还的查找资料,在焊接的基本功夫掌握不到家,手上功夫还是很欠缺的,是得电路板不是很美观。

这些问题的发现是我们进一步认识到:实际不等于理论,他们之间还有一定的距离,但他们之间有一座无形的桥,那就是思考与动手。

这也进一步的告诫我们理论联系实际。

有助于提高我在以后的工作和学习中对此类问题的认识,确保不再同一问题上再次犯错。