51单片机数字温度计的设计_第1页
51单片机数字温度计的设计_第2页
51单片机数字温度计的设计_第3页
51单片机数字温度计的设计_第4页
51单片机数字温度计的设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

1、一任务及功能要求设计制作一个数字温度计,该温度计要求测温范围在-30110,误差在0.5以内,用LED数码管直读显示。二方案论证 传统的测温元件有热电偶和热电阻,而它们测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,电路复杂,软件调试复杂,制作成本高。所以我们改用一种智能传感器DS18B20作为检测元件,测温范围-55125,分辨率最大可达0.0625。DS18B20可以直接读出被测温度值。而且采用3线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。三系统硬件电路设计系统由3个模块组成:主控制器.测温电路和显示电路。结构框图如下所示。3.1主控制器单片机使用AT

2、89S52。易于调试及烧录。3.2显示电路 显示电路采用4位共阳LED数码管,从P1口输出段码,列扫描用P3.2P3.5来实现,列驱动用9012三极管。3.3系统设计电路原理图:四系统程序的设计系统程序的设计主要包括C程序主函数.DS18B20复位函数. DS18B20写字节函数. DS18B20读字节函数.温度计算转换函数和显示函数等。程序清单:# include reg51.h# include intrins.h# define disdata P1# define discan P3# define uchar unsigned char# define uint unsigned i

3、ntsbit DQ =P37;sbit DIN =P17;uint h;uchar code ditab16=0X00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09;uchar code dis_712= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf;uchar code scan_con4=0xfb,0xf7,0xef,0xdf;uchar data temp_data2=0x00, 0x00,;uchar data

4、 display5=0x00,0x00,0x00,0x00,0x00;void delay(uint t)for(;t0;t-);scan()char k; for(k=0;k0;i-) DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=val/2; DQ=1; delay(1); uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); value

5、 =1; DQ=0; _nop_();_nop_();_nop_();_nop_(); DQ=1;_nop_();_nop_();_nop_();_nop_(); if (DQ)value|=0x80; delay(6); DQ=1; return(value); read_temp() ow_reset(); write_byte(0xcc); write_byte(0xbe); temp_data0=read_byte(); temp_data1=read_byte(); ow_reset(); write_byte(0xcc); write_byte(0x44); work_temp()

6、 uchar n=0; if(temp_data1127) temp_data1=(256-temp_data1); temp_data0=(256-temp_data0);n=1; display4=temp_data0&0x0f;display0=ditabdisplay4; display4=(temp_data0&0xf0)4)|(temp_data1&0x0f)4) ; display3=display4/100; display1=display4%100; display2=display4/10; display1=display4%10; if(!display3)displ

7、ay3=0x0a; if(!display2)display2=0x0a; if(n)display3=0x0b; main () disdata=0xff; discan=0xff; for(h=0;h4;h+)displayh=8; ow_reset(); write_byte(0xcc); write_byte(0x44); for(h=0;h500;h+) scan(); while(1) read_temp(); work_temp(); for(h=0;h500;h+) scan(); 本程序经调试通过。五调试及性能分析系统调试以程序为主。硬件调试首先检查电路的焊接是否正确,然后用万用表测试或通电检测。软件调试以编程序并进行硬件的正确性检验。由于DS18B20与单片机采用串行数据传送,因此,对DS18B

温馨提示

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

评论

0/150

提交评论