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

下载本文档

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

文档简介

基于AT89S52单片机的数字温度计设计一引言在生活和生产中,经常要用到一些测温设备,但是传统的测温设备具有制作成本高、硬件电、和软件设计复杂等缺点。基于AT89S52单片机的数字温度计具有制作简单、成本低、读数方便、测温范围广和测温准确等优点,应用前景广阔。二项目要求基于AT89S52单片机的数字温度计设计具体要求如下:(1)温度值用LED显示。(2)围为-30℃~100℃,且测量误差不得大于(3)成本的体积、质量要尽可能小。三系统设计1框图设计根据设计要求分析,基于AT89S52单片机的数字温度计设计由AT89S52单片机控制器、电源、显示电路、温度传感器、复位电路和时钟电路组成,系统框图如图1所示。电源给整个电路供电,显示电路显示温度值,时钟电路为AT89S52提供时钟频率。传感器采用美国DALLAS半导体公司生产的一种智能温度传感器DS18B20,其测温范围为-55~125℃,最高分辨率可达0.0625℃电源电源复位电路时钟电路AT89S52控制器显示电路DS18B20图一基于AT89S52单片机的数字温度计系统框图2知识点本项目需要通过学习和查阅资料,掌握和了解如下知识:+5V电源原理及设计。单片机复位电路工作原理及设计。单片机晶振电路工作原理及设计。按键电路的设计。数码管的特性及使用。DS18B20的特性及使用。74LS07的特性及使用。AT89S52单片机引脚。单片机C语言程序设计。四硬件设计1电路原理图控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以动态扫描法实现温度显示,电路图可见仿真图所示。2元件清单基于AT89S52单片机的数字温度计元件清单如表1所示。表1基于AT89S52单片机的数字温度计元件清单元件名称型号数量∕个用途单片机AT89S521控制核心晶振12MHZ1晶振电路电容30Pf2晶振电路电解电容10μF∕10V1复位电路电阻1KΩ5复位电路上拉电阻集成块74LS071显示驱动集成块DS18B201显示驱动集成块DS18B201测温电路电阻4.7KΩ1复位电路按键+5V∕0.5A1复位电路电源4位1提供+5V七段4位1显示电路数码管电阻4.7KΩ1测温电路五软件设计1程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20测量的当前温度值,温度测试每1S进行一次。这样可以在1S之内测量一次被测温度,其程序流程图如图3所示。读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写,其程序流程图如图4所示。}DQ=1;}voidwrite_byte(ucharval)//18B20写命令函数{uchari;for(i=8;i>0;i--)//{DQ=1;_nop_();_nop_();DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();//5usDQ=val&0x01;//最低位移出delay(6);//66usval=val/2;//右移一位}DQ=1;delay(1);}ucharread_byte(void)//从总线上读取一个字节{uchari;ucharvalue=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;//_nop_();_nop_();_nop_();_nop_();//4usDQ=1;_nop_();_nop_();_nop_();_nop_();//4usif(DQ)value|=0x80;delay(6);//66us}DQ=1;return(value);}read_temp()//读出温度函数{ow_reset();//总线复位write_byte(0xCC);//发SkipROM命令write_byte(0xBE);//发读命令temp_data[0]=read_byte();//温度低8位temp_data[1]=read_byte();//温度高8位ow_reset();write_byte(0xCC);//SkipROMwrite_byte(0x44);//发转换命令}work_temp()//温度数据处理函数{ucharn=0;//if(temp_data[1]>127){temp_data[1]=(256-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1;}//负温度求补码display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]];display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);//display[3]=display[4]/100;display[1]=display[4]%100;display[2]=display[1]/10;display[1]=display[1]%10;if(!display[3]){display[3]=0x0A;if(!display[2]){display[2]=0x0A;}}//最高位为0时都不显示if(n){display[3]=0x0B;}//负温度时最高位显示"-"}main()//主函数{Disdata=0xff;//初始化端口discan=0xff;for(h=0;h<4;h++){display[h]=8;}//开机显示8888ow_reset();//开机先转换一次write_byte(0xCC);//SkipROMwrite_byte(0x44);//发转换命令for(h=0;h<500;h++){scan();}//开机显示"8888"2秒while(1){read_temp();

温馨提示

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

评论

0/150

提交评论