基于单片机与DS18B20设计的恒温器.doc

基于单片机与DS18B20设计的恒温器.doc

ID:58404437

大小:308.00 KB

页数:12页

时间:2020-05-09

基于单片机与DS18B20设计的恒温器.doc_第1页
基于单片机与DS18B20设计的恒温器.doc_第2页
基于单片机与DS18B20设计的恒温器.doc_第3页
基于单片机与DS18B20设计的恒温器.doc_第4页
基于单片机与DS18B20设计的恒温器.doc_第5页
资源描述:

《基于单片机与DS18B20设计的恒温器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实训报告学院电子与信息学院课程名称电路课程设计设计题目基于MCU51设计的恒温器专业电子信息工程班级08电本姓名学号指导教师杨舰老师时间2010年9月29日题目要求:设计并制作一个自动加热电路并具有一定恒温范围的控制电路,当加热器加热到90°C时,电路能自动控制加热器停止加热;当法度降到70°C时,又能自动启动加热装置;恒温范围误差≦5°C;加热和恒温时均有指示灯显示,要求有过热保护。本设计实现的功能:本设计完成了题目的要求,并在此基础上加上了调节恒温温度的调节按钮。设计思路:设计51单片机的恒温箱控制系统设计时,需

2、要考虑下面3个方面的内容:1.选择合适的温度传感器芯片。显然,本文中的核心器件是单片机和温度传感器,单片机采用常用的51单片机即可,而温度传感器的选择则需慎重。2.单片机和温度传感器的接口电路设计。3.控制温度传感器实现温度信息采集以及数据传输的软件设计。l温度传感器的选择方案一:采用热敏电阻,可满足40~90℃的测量范围,但热敏电阻精度、重复性、可靠性都比较差,其测量温度范围相对较小,稳定性较差,不能满足本系统温度控制的范围要求。方案二:采用温度传感器铂电阻Pt1000。铂热电阻的物理化学性能在高温和氧化性介质中很

3、稳定,它能用作工业测温元件,且此元件线性较好。在0—100摄氏度时,最大非线性偏差小于0.5摄氏度。铂热电阻与温度关系是,Rt=R0(1+At+Bt*t);其中Rt是温度为t摄氏度时的电阻;R0是温度为0摄氏度时的电阻;t为任意温度值,A,B为温度系数。方案三:采用模拟温度传感器AD590K,AD590K具有较高精度和重复性(重复性优于0.1℃),其良好的非线性可以保证优于±0.1℃的测量精度。但其测量的值需要经过运算放大、模数转换再传给单片机,硬件电路较复杂,调试也会相对困难,所以本系统不宜采用此法。方案四:采用数

4、字温度传感器DS18B20,DS18B20提供九位温度读数,测量范围-55℃~125℃,采用独特1-WIRE总线协议,只需一根口线即实现与MCU的双向通讯,具有连接简单,高精度,高可靠性等特点。并且,DS18B20支持一主多从,若想实现多点测温,可方便扩展。综合以上四种方案,本设计采用第四种方案,利用数字温度计DS18B20作为温度传感器。l显示部分方案一:数码管显示:采用串行口驱动、动态扫描显示,利用单片机的串行口输出数据,显示多位数码,多个数码管可共用驱动芯片和限流电阻。方案二:液晶显示:采用1062液晶进行控制

5、方式显示和温度显示,成本造价相对较高,但是能显示更多的内容。综合以上二种方案,本设计采用方案二种方案l输出控制方案一:采用继电器,易于控制,且实行比较简单,但强电和弱电不能很好的隔离,抗干扰能力极差。方案二:采用光电藕合器,控制信号与输出信号可以很好的隔离,增强了系统的安全性和抗干扰能力。综合以上两种方案,本设计采用继电器控制负载工作。程序流程图:设计中遇到的问题与解决方案:1、1602液晶被烧,不能显示,具体问题不明,后换过液晶把问题解决;2、继电器不能工作,后来经过重复排查,发现是万能表出错,把PNP三极管当成N

6、PN型,导致连接电路时出错。具体系统的实现:1、硬件设计(用proteus软件仿真,如下图所示)2、软件设计(C语言)#include#defineucharunsignedchar#defineuintunsignedintuchari;ucharn=0;intnowtemp;inthighest=900;intlowest=700;sbitp23=P2^0;sbitlcdrs=P2^5;//数据/命令选择端(h/l)sbitlcdrw=P2^6;//读/写选择端(h/l)sbitlcden=P2

7、^7;sbitp12=P1^3;sbitp14=P1^4;sbitp25=P3^0;sbitp26=P3^1;sbitp27=P3^2;sbitp20=P1^0;sbitp30=P1^1;bitk=0;bitu=0;bitj=0;ucharcodewendu[]="0123456789";//利用一个温度表解决温度显示乱码sbitDQ=P1^2;//定义ds18B20总线IOvoiddelay(ucharz)//延时子函数{ucharx,y;for(x=50;x>1;x--)for(y=z;y>1;y--);}uch

8、ardata_bh(uchardd){ucharaccept=0;ucharacc=0;uchari=7;uchark=0x01;ucharn=8;ucharddd=dd;while(n){acc=0;acc=ddd&k;acc=acc<

9、acc;ddd=ddd>>1;i--;n--;}returnaccept;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。