




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机课程设计报告设计课题:DS18B20数字温度计的设计专业班级: 09 通信工程 小组成员:金双凤066谭晓平153朱传毅指导教师: 田茂 设计时间: 2011-11-202011-12-25DS18B20数字温度计的设计1、 功能要求数字温度计测温范围在-55+125,误差在0.5以内,采用四位一体七段数码显示管直接显示。2、 方案论证在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持。其缺点如下:硬件电路复杂;软件调试复杂;制作成本高。 本数字温度计设计采用温度传感器DS
2、18B20作为检测元件,测温范围55125,最高分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。数字温度计总体结构框图如图1所示。图1 数字温度计总体结构框图三、系统硬件电路的设计温度计电路的设计原理图如图2所示,控制器使用单片机AT89C2051,温度传感器使用DS18B20,用4位共阳七段数码显示管以动态扫描法实现温度显示。图2 设计原理图(1) 主控制器单片机AT89C2051具有低电压供电和小体积等特点,两个端口刚好满
3、足电路系统的设计需要,很适合便携手持式产品的设计使用。系统可用两节电池供电。(2) 显示电路显示电路采用4位共阳七段数码显示管,从P1口输出段码,列扫描用P3.0P3.3口来实现,列驱动用9012三极管。(3) 温度传感器工作原理a.DS18B20的性能特点DS18B20温度传感器是一种改进型智能温度传感器。与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际需要通过简单的编程实现912位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在唯一的三线上,实现多点组网功能;不需要外部器件;可通过数据线供电,电压范围
4、为3.05.5V;零待机功耗;温度以912位数字量读出;用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度的器件;负电压特性,电源电压接反时,温度计不会因发热而烧毁,只是不能正常工作。b.DS18B20的内部结构 DS18B20采用3脚PR35封装或8脚SOIC封装,其内部结构框图如图3所示。图3 DS18B20内部结构框图 64位ROM的位结构如图4所示。开始8位是产品类型的编号;接着是每个器件的唯一的序号,共有48位;最后8位的前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数
5、据。图4 DS18B20的64位ROM的位结构 DS18B20温度传感器的内部存储器还包括一个高速暂缓RAM和一个非易失性的可电擦除的EEPROM。高速暂缓RAM的结构为9字节的存储器,其结构如图5所示。前2字节包含测得的温度信息。第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5字节为配置寄存器,其内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。图5 DS18B20高速暂缓RAM的结构图该字节各位的定义如图6所示,其中,低5位一直为1;TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20
6、出厂时,该位被设置成0,用户不要去改动;R1和R0决定温度转换的精度位数,即用来设置分辨率,其定义方法见下表。图6 高速暂缓RAM各位字节的定义由表可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM是第6、7、8字节保留未用,表现为全逻辑1。第9字节是前面所以8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接受到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式储存在高速暂缓RAM的第1、2字节中。单片机可以通过单线接口读出该
7、数据,读数据时,低位在先,高位在后,数据格式以0.0625/LSB形式表示。温度值格式如图7所示。图7 DS18B20温度值格式图中,S表示符号位。当S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当S=1时,表示测得的温度值为负值,要先将补码变为原码,再计算十进制值。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或T0;t-);/*显示扫描函数*/scan()char k; for(k=0;k0; i-) /DQ=1;_nop_();_nop_(); DQ = 0;_nop_();_nop_();_nop_();_nop_();
8、_nop_();/5usDQ = val&0x01; /最低位移出delay(6); /66usval=val/2; /右移一位DQ = 1;delay(1); /*18B20读1个字节函数*/从总线上读取一个字节uchar read_byte(void)uchar i;uchar value = 0;for (i=8;i0;i-)DQ=1;_nop_();_nop_();value=1;DQ = 0; /_nop_();_nop_();_nop_();_nop_(); /4usDQ = 1;_nop_();_nop_();_nop_();_nop_(); /4us if(DQ)value|=
9、0x80;delay(6); /66usDQ=1;return(value);/*读出温度函数*/read_temp()ow_reset(); /总线复位write_byte(0xCC); / 发Skip ROM命令write_byte(0xBE); / 发读命令temp_data0=read_byte(); /温度低8位temp_data1=read_byte(); /温度高8位ow_reset();write_byte(0xCC); / Skip ROMwrite_byte(0x44); / 发转换命令/*温度数据处理函数*/work_temp()uchar n=0; /if(temp_d
10、ata1127) 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=display1/10;display1=display1%10;if(!display3)display3=0x0A;if(!display2)
11、display2=0x0A;/最高位为0时都不显示if(n)display3=0x0B;/负温度时最高位显示-/ /*主函数*/main()Disdata=0xff; /初始化端口discan=0xff;for(h=0;h4;h+)displayh=8;/开机显示8888ow_reset(); / 开机先转换一次write_byte(0xCC); / Skip ROMwrite_byte(0x44); / 发转换命令for(h=0;h500;h+) scan(); /开机显示88882秒while(1) read_temp(); /读出18B20温度数据 work_temp(); /处理温度数
12、据 for(h=0;h500;h+) scan(); /显示温度值2秒 六、调试及性能分析系统调试以程序调试为主。硬件检查比较简单,首先检测电路的焊接是否正确,然后可以用万用表检测或通电检测。软件调试可以先编写显示程序并进行硬件的正确性检测,然后分别进行主程序,读出温度子程序,温度转换命令主程序,计算温度子程序还有显示数据刷子程序等的编程和调试。由于DS18B20与单片机采用串口数据传输,因此,对DS18B20进行读/写编程时必须严格的保证读写时序,否则将无法读取测量结果。本程序采用c语言编写,用Keil c51编译器编译测试。软件测试到能显示温度值,而且是在用温度变化时有(例如用手去接触)显
13、示温度改变,就基本完成。性能测试可以制作的温度计和已有的成品温度计同时进行检测比较,由于DS18B20精度很高,所以误差指标可以限制在0.5以内。另外-55+125的测温范围是的该温度计完全适合一般的应用场合,其低电压供电的特性可做成用电池供电的手持式电子温度计。DS18B20温度计还可以在高低温时报警、远距离多点测温控制等方面进行应用开发,但是在实际应用中应注意一下几个方面:l DS18B20工作是电流高达1.5mA,总线上挂接点数较多且同时进行转换时要考虑增加总线驱动,可以用单片机端口在温度转换时导通一个MOSFET供电。l 连接DS18B20的总线电缆是有长度限制的,因此在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配等问题。l 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号。一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时要给予一定的重视。七、结束语学习了一个学期的单片机,起初学习的时候,觉得单片机很难学,好多的指令要掌握,什么定时器.计数器,什么中断系统,还有一些协议不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 子女的离婚协议书范本
- 《跨境电商》课件-询盘分析
- 法务专员-律所简历
- 外墙腻子涂料施工方案
- 大雪节气与环保意识
- 唱响英语学习
- 制药行业职业引航
- 2025年中考数学一轮复习 第29讲 与圆有关的计算(课件)
- 2025至2030年中国科室牌数据监测研究报告
- 加大农业高等教育投资力度的策略
- 医院财务知识培训
- 绿植花卉租赁合同
- 2025年内蒙古建筑职业技术学院单招职业适应性测试题库及答案1套
- 部编人教版小学一年级道德与法制教案全册
- DeepSeek从入门到精通进阶科普
- 眼视光行业现状及展望
- 2025年多旋翼无人机超视距驾驶员执照参考试题库500题(附答案)
- 电子教案-《3D打印技术概论》
- JBT 11699-2013 高处作业吊篮安装、拆卸、使用技术规程
- 2024年全国版图知识竞赛(小学组)考试题库大全(含答案)
- 2024年北京控股集团有限公司招聘笔试参考题库含答案解析
评论
0/150
提交评论