基于单片机的智能数字温度计设计.docx_第1页
基于单片机的智能数字温度计设计.docx_第2页
基于单片机的智能数字温度计设计.docx_第3页
基于单片机的智能数字温度计设计.docx_第4页
基于单片机的智能数字温度计设计.docx_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

现代测量仪器实验报告基于单片机的智能数字温度计设计2012/11/27实验内容:基于单片机的智能数字温度计设计1. 引言温度作为我们地球上一个重要物理参数在我们的生活、生产、科研、医疗等环节起着举足轻重的作用。比如,我们日常生活中穿什么衣服、食物怎样储存、是不适宜出行等等都与温度密切相关。再如,消防电气的非破坏性温度检测,电力设备的过热故障预知检测,空调系统的温度检测,各类运输工具组件的过热检测,医疗与诊断设备的温度测试等等。及时准确的知道实时温度的多少成为了一个提高我们生活质量,工作效率的重要消息。而生活中的温度计并不多见,偶尔看见有温度计也是玻璃制成,极易破碎而且读数极为不方便。本设计为基于单片机的数字智能温度计能实现温度的实时测量并通过数码管进行实时显示,测量准确、读数方便、使用简单制作成本低。2方案设计21总体方案温度传感器MCU显示模块电源模块总体结构总体构架如上图,具体器件采用stc公司生产的STC12C5A60S2作为我们的主控芯片,它有40个通用I/O口,1280字节片上RAM,具有高速、低功耗、抗干扰能力强等优点完全能够胜任温度的监测与显示。温度传感器选用美国DALLAS公司生产的DS18B20。DS18B20独特的单总线技术只需一个引脚进行通讯无需外部器件,可通过数据线供电待机零功耗。测温范围-55C+125C,以0.0005C递增完全能够满足我们日常测温需求。显示部分采用74HC138进行数码管段选、74HC573进行数码管位选完成显示转换。电源部分采用7V供电,7805芯片进行稳压输出5V工作电压。22硬件设计221电源稳压模块电路采用7V供电,用7805芯片进行稳压,得到5V稳定电压输出,为单片机、74HC138、74HC573和温度传感器DS18B20供电。D2为电源指示灯。稳压电路如图:2.2.2温度检测模块温度检测由单片机的P10口接温度传感器,进行数据传输。DS18B20单独供电,P3为插DS18B20的接口。S4为复位按钮电路图如下:2.2.3温度显示模块数码管显示我们采用了74HC573和74HC138分别进行数码管的位选与段选,完成数码管显示。电路如图:23软件设计采用DS18B20分辨力为0.0005C,为提高转化速率,采用外部供电,测量为能到达55C128C,仅采用单总线方式进行数据传输,工作稳定,实用于多种复杂环境,实用性强。价格便宜,分辨率高,可在温度显示要求较高的环境下实用。下面介绍一下DS18B20的工作时序初始化时序图:读时序图:DS18B20测温流程图如下:3实验结果我们将DS18B20测温程序在51开发板上进行了测试能进行到小数点后四位的温度显示,且温度变化及时。达到了温度的实时测量显示效果如图:我们在开发板上进行了温度计测试:1、用一只精度为0.1的水银温度计作对照标准,把它和温度传感器DS18B20一起放入同一杯冷水中,水银温度计读数为4.0,调节数字温度计,使其显示值也为4.0,然后逐次向烧杯加热水改变水温,记下每次两只温度计的读数1(标准值)与2(测试值后三位忽略),其数据表格如表所示。表 温度数据列表标准温度计/4.010.015.020.025.030.035.040.045.050.060.0数字温度计/4.010.315.120.324.930.234.839.745.150.060.3经对对照,两只温度计读数相差最大为0.3,平均相差仅有0.17。总体上讲,此温度计达到了预期设计要求。4问题与不足由于本方案仅仅限于理论设计未做实物,对于器件的选择未做大小选择,实物做出来会比较大不方便携带。如果选择集成度更高的器件本温度计可实现随身携带。同时加上扩展接口,可以实现多种功能。由于时间较短等问题只做了硬件电路的设计并未作硬件电路的调试可能硬件电路有瑕疵。5结论利用STC12C5A60S2单片机和DS18B20数字温度传感器可以实现温度的实时检测。系统具有信号数字化、硬件简单化和抗干扰能力强等特点,为我们的日常生活提供了重要参考指标。如果与相应的可扩展接口芯片相连,并在简单修改程序则可实现更多路温度的测量与控制,以适应工业生产的需要。附:温度计源程序1:对DS18B20操作子程序#include #define uint unsigned int#define uchar unsigned charsbit DQ = P10; /DS18B20数据口/*=延时N*16us=*/void delay(uint N)uint i;for(i = 0; i N; i+); /*=复位=*/uchar reset_DQ()uchar presence;DQ = 1;delay(4);DQ = 0;delay(470); /延时480usDQ = 1;delay(60); /延时60uspresence = DQ;delay(400); /延时400usreturn(presence); /*void reset_DQ(void)uchar n;DQ = 1;delay(8);DQ = 0;delay(80);DQ = 1;delay(8);n = DQ;delay(4); */ /*=写位=*/void W_bit(uchar bitval)DQ = 0;if(1 = bitval)DQ = 1;delay(60); /延时60usDQ = 1;/*=写字节=*/void W_byte(uchar val)uchar i, temp;for(i = 0; i i;temp &= 0x01;W_bit(temp);delay(60);/*=读位=*/uchar R_bit()DQ = 0;DQ = 1;return DQ;/*=读字节=*/uchar R_byte()uchar i, value = 0;for(i = 0; i 8; i+)if(R_bit()value |= 0x01i;delay(60);return value;/*=*/2. 测温子程序#include #include #define uint unsigned int#define uchar unsigned charuchar code table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;uint TH, TL;void delay_1ms(uint k)uchar i, j;for(i = 0; i k; i+)for(j = 0; j 114; j+);void delay(uint);void init_ds18b20();uchar reset_DQ();void W_bit(uchar);void W_byte(uchar);uchar R_bit();uchar R_byte();void main()unsigned long int temp;while(1)reset_DQ();W_byte(skip_ROM);W_byte(c_temper);delay(300);reset_DQ();W_byte(skip_ROM);W_byte(r_scrat);TL = R_byte();TH = R_byte(); temp = (TL | (TH 8);temp = (temp * 625);P0 = tabletemp / 1000000;P2 = 0;delay_1ms(5);P0 = tabletemp % 1000000 / 100000;P2 = 1;delay_1ms(5);P0 = tabletemp % 100000 / 10000 | 0x80;P2 = 2;delay_1ms(5);P0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论