欢迎来到天天文库
浏览记录
ID:50610965
大小:685.50 KB
页数:20页
时间:2020-03-12
《基于51单片机与DS18B20的数字温度计设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.信息与通信工程学院课程设计项目:基于单片机的DS18B20数字温度计设计指导老师:湛腾西设计人:尹世强彭娇礼班级:电实11-1BF2013年06月18日...1设计要求1.1基本要求1、测量精度0.5℃2、范围:-50℃-110℃3、可测多点温度,演示两点以上4、LED直读显示5、可任意设计温度报警的上限与下限6、可上传通信(RS232口),也可以相互对通(485口)1.2扩展功能温度报警,能任意设定温度范围实现声光报警;每隔10分钟记录一次温度数据,至少能查询过去10个时刻的温度情况。2元器件清单序号耗材名称数量1AT89S5112FJ5461B
2、H,共阳极四合一数码管13欧姆龙按键44DS18B20,串口温度传感器,25485串行通信驱动电路(封装DIP)16120/0.5W电阻127PNP三极管48发光二极管直径5mm,红一绿一29蜂鸣器110辅铜板10cm*20cm1111k/(1/8w),412插座DIP40113与RS232电路配套的DIP插座114电源板插(SIP2套件)4...15双排IDC10排插,RS232通信接插在板接插座116DB9串口通信接头(阴)1170.75导线3米(红、黑、白各1米218芯排线一米13总体方案设计2.1方案论证2.1.1方案一由于本设计是测温电路,
3、可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采样,进行A/D转换后就可以用单片机进行数据处理,实现温度显示。这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。2.1.2方案二考虑到在单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,起体积小、构成的系统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。另外DS18B20具有3引脚的小体积封装,测温范围为-55~+125摄氏度,测温分辨率可达0.0625摄氏度,其测量范围与精度
4、都能符合设计要求。以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、范围等方面都能很好地达到要求,故本设计采用方案二。单片机报警电路显示电路测温电路按键输入电路时钟、复位电路图1系统总体方框图...2.2总体设计框图本方案设计的系统由单片机系统、数字温度传感器、LED显示模块、按键控制模块、温度报警模块组成,其总体架构如图1。3硬件设计3.1单片机系统1.本设计采用STC89C52单片机作为控制器,完成所有功能的控制,包括:lDS18B20数字温度传感器的初始化和读取温度值lLED数码管显示驱动与控制l按键识别和
5、响应控制l温度设置和报警l温度值的存储和读取2.单片机系统电路原理图:图2单片机系统原理图...4.1数字温度传感器模块4.1.1DS18B20性能l独特的单线接口仅需一个端口引脚进行通信l简单的多点分布应用l无需外部器件l可通过数据线供电l零待机功耗l测温范围-55~+125℃,以0.5℃递增l可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃l温度数字量转换时间200ms,12位分辨率时最多在750ms内把温度转换为数字l应用包括温度控制、工业系统、消费品、温度计和任何热感测系统l负压特性:电源极
6、性接反时,传感器不会因发热而烧毁,但不能正常工作4.1.2DS18B20外形及引脚说明图3DS18B20外形及引脚lGND:地lDQ:单线运用的数据输入/输出引脚lVD:可选的电源引脚...4.1.3DS18B20接线原理图单总线通常要求接一个约4.7K左右的上拉电阻,这样,当总线空闲时,其状态为高电平。图4DS18B20接线原理图4.1.4DS18B20时序图主机使用时间隙来读写DS18B20的数据位和写命令字的位。1.初始化时序如下图:图5DS18B20初始化时序2.DS18B20读写时序:...图6DS18B20读写时序4.1.5数据处理高速暂
7、存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。图7字节分配下表为12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,...这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125℃的数字输出为07D0H,实际温度=07D0H*0.06
8、25=2000*0.0625=125℃。例如-55℃的数字输出为FC90H,则应先将11位数据位取反加1得3
此文档下载收益归作者所有