您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > DS18B20温度报警器的设计
河南工程学院《单片机原理及应用》课程设计DS18B20温度报警器的设计学生姓名:学号:学院:专业班级:专业课程:单片机原理及应用指导教师:2018年01月12日课程设计成绩评定标准及成绩序号评审项目指标满分评分1工作态度遵守纪律,学习认真;作风严谨,踏实肯干;善于与他人合作。52工作量按期圆满完成规定的任务,难易程度和工作量符合要求;完成硬件电路设计10分,完成仿真调试20分。203出勤情况全勤:10分10分有迟到、早退、请假现象:8分旷课1天:2分旷课2天及以上:0分4设计、实验方案控制要求详细,变化多样,能自主设计程序实现自己的控制要求,想法独特。能灵活运用相关专业知识,有较强的创新意识,有独特见解,设计有一定应用价值。30分5实验技能动手能力强,能独立完成接线及编程工作,能解决设计及实验过程中出现的问题。10分6小组表现注重团队合作,在小组中表现突出,对设计方案的制定及选取起主要作用,在实验操作过程中,承担主要执行者。5分7设计报告质量报告结构严谨合理;文理通顺,技术用语准确,符合规范;图表完备、正确,绘图准确、符合国家标准;。20分总分评语:等级:评阅人:职称:日期:2018年月日1.系统总体设计方案温度报警器的系统组成如图1所示。温度报警系统由:温度传感器DS18B20、微控制器、数码管显示器、蜂鸣器和报警灯等主要电路组成。图1系统组成框图温度传感器选用DS18B20一线制温度传感器,实现对温度信号的采集;微控制器采用最常用的AT89S51系列单片机作为系统控制器,对温度传感器设置、温度读取、温度数据的显示;蜂鸣器实现声音报警提示;报警灯采用两组发光二极管电路实现高低温报警指示,当温度超限时,对应的报警灯发光。2.硬件系统设计与分析综合考虑系统成本,选用以下元器件组成电路,电路原理图如图2所示。1234ABCDEFGDp56ABCDEFGDp1234567878XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C130pFC230pFC310uFX112MR11kR24.7k91.0DQ2VCC3GND1U2DS18B20A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA174LS245D1高温报警D2低温报警R3220R4220本程序将报警温度设为高:70低:-20R610kR5220图2电路原理图显示电路由八位共阳型数码管组成;驱动电路采用74LS245驱动数码管显示器;温度传感器采用DS18B20单线制温度传感器;声音报警电路使用蜂鸣器;光电报警电路使用两路发光二极管实现高温、低温报警。(1)显示电路显示电路采用两个四位一体共阳型数码管组成,如图3所示。显示方式采用动态扫描方式,驱动电路由74LS245提供驱动电流。P0口送出数码管八位段选码,位选码由P2口送出至74LS245,74LS245为数码管提供驱动电流。1234ABCDEFGDp56ABCDEFGDp1234567878XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.345P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT11314P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1R2U2A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA174LS245图3显示电路(2)时钟电路时钟电路如图4所示,时钟电路是控制器必不可少的主要电路,系统主频采用12MHz晶体振荡器,外加连个30pF瓷片电容,瓷片电容中间接地,瓷片电容的作用是为了让晶振电路快速起振。这三个元件配合内部已有的时钟电路为单片机提供工作的振荡节拍信号。XTAL218XTAL119U1C130pFC230pFC3X112M图4时钟电路(3)复位电路复位电路如图5所示,单片机在开始运行程序前必须进行复位操作,复位的作用使单片机内部的特殊功能寄存器(SFR)处于确定的状态为运行程序做准备,在复位后端口为高电平。复位的条件是让RST复位引脚保持高电平至少2个机器周期,当晶振为12MHz时,单个机器周期为1us时间,复位电路由RC电路组成,复位过程即RC电路的充电过程,电解电容选用10uF,R1为10k,R6为220,当运行中出现陷入死循环情况时,可按下按键重新实现复位操作,使系统重新回到原来的状态。XTAL2ALE30EA31PSEN29RST930pFC310uFR11kR5220图5复位电路(4)光电报警电路光电报警电路如图6所示,高温、低温光电报警电路由两路发光二级电路组成,当温度超限时,对应的控制引脚设置为低电平,发光二极管点亮指示,220欧姆电阻起限流的作用。P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78AT89C51D1高温报警D2低温报警R3220R4220图6光电报警电路(5)声音报警电路声音报警电路如图7所示,蜂鸣器采用有源蜂鸣器,当有电流驱动时发出报警声音,单片机作为微控制器对外的驱动负载的能力有限,P3口每个引脚对外驱动电流最大仅为8mA,因此通过P3.7引脚控制PNP型三极管9012的基极放大,当P3.7为低电平时,三极管导通,蜂鸣器发声。P1.6P1.7P3.7/RD17P3.6/WRAT89C51R610k图7声音报警电路(6)温度检测电路温度检测电路采用最常用的单线制温度传感器DS18B20实现对温度的检测,温度检测电路如图8所示。由单片机P3.6引脚接DS18B20数据线,实现控制命令的写入,温度数据的读出。测温范围:-55℃~125℃,分辨率可以设置,本设计能显示0.1℃的温度变化。根据要求数据线接一个4.7k的上拉电阻。P3.2/INT0P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115R24.7k-8.0DQ2VCC3GND1U2DS18B20R51k图8温度检测电路(7)微控制器电路微控制器如图9所示,微控制器采用Atmel公司的AT89C51芯片,该芯片具有成本低,下载方便等特点。针对本设计,内部ROM和RAM容量完全能够满足系统要求。XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51图9微控制器3.软件系统分析与设计(1)主程序主程序对声光报警电路、温度传感器进行初始化,对定时器进行初始化开启定时器中断。主循环读取温度数据,判断温度范围,若温度超限,声光报警电路动作。主程序流程图如图10所示。图10主程序流程图(2)定时中断服务函数由于控制器在读取温度,刷新显示缓冲区时计算量比较大,会影响显示器动态扫描显示效果,按照刷新率大于16Hz,八位显示器显示全部数码只用到其中七位,因此每位数码管在位选送出显示代码后需要延时的时间计算公式(1):1000816*7mstms(1)按照动态扫描的显示原理轮流读取显示缓冲区数据、位选、延时的顺序,显示延时由定时器T0定时服务函数实现。定时中断函数的流程图如图11所示。图11定时中断函数流程图(3)DS18B20主要函数DS18B20为常用的温度传感器,根据温度DS18B20的读写时序,有关DS18B20的函数有初始化函数、读取一个字节的数据、写一个字节的数据、读取温度数据。DS18B20主要函数流程图如图12所示。a.初始化函数b.读取一个字节c.写一个字节d.读取温度数据图12DS18B20主要函数流程图4.仿真与调试(1)软件仿真本设计使用Proteus软件建立仿真原理图,在Keil开发环境下进行程序设计生成.HEX仿真文件,通过Proteus观察程序运行结果。仿真效果图如图13所示。图13系统仿真效果图(2)硬件设计系统使用万能板,使用导线连接电路,焊接过程中确保电路连接可靠。程序下载使用下载板。实物图如图14所示。图14实物图5.总结6.参考文献[1]关增建,指南针理论在中国历史上的演变,自然科学史研究,24(2),10-15,2005.[2]刘玥.一种高精度电子罗盘的设计[J].应用科技,2011,38(2):42-46.[3]龚长青,王清.单片机控制系统的硬件抗干扰研究[J].科技信息,2010,(5):98+92.[4]胡修林,杨奇,用磁场传感器KMZ52设计的电子指南针,国外电子元器件,8(3),44.46,2004.[5]刘素,刘鲁源,韩尧松.基于KMZ52的电子指南针设计[J].电子产品世界,2005,(7):90-92+97.[6]胡宁博,李剑,赵榉云,基于HMC5883L的电子罗盘设计,传感器世界,11(6),35-38,2011.[7]徐淑明.7800系列集成稳压电路的分析[J].丽水师范专科学校学报,1999,05(2):14-15.[8]林士伟,于军,孙陆梅.液晶显示器与单片机接口的设计[J].吉林化工学院学报,2005,22(3):50-52.[9]胡准庆,郭世勇,李广顺等.液晶显示器与单片机接口技术[J].电子工程师,1999,(6):21-23.[10]管志宁,地磁场与磁力勘探,地质出版社,2005.7.附录#includereg51.h#includeintrins.h#defineucharunsignedchar#defineuintunsignedintsbitDQ=P3^6;sbitBEEP=P3^7;sbitH_alarm=P1^4;sbitL_alarm=P1^5;uchartemperature=1;//1:温度为正,0:温度为负uchartime_counter=0,dsp_flag=0;uchardigit_No=1,digit_Sel=0x02;ucharcodeDSP_CODE[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x9c,0xc6,0xbf,0xff};uchardisp_buffer[]={13,13,13,13,13,13,10,11};voiddelay_ms(uintx){uchart;while(x--)for(t=0;t120;t++);}/*voiddisplay(){uchari,j=0x02;for(i=1;i
本文标题:DS18B20温度报警器的设计
链接地址:https://www.777doc.com/doc-3563347 .html