基于51单片机的温度报警系统

上传人:痛*** 文档编号:102206057 上传时间:2022-06-06 格式:DOC 页数:23 大小:532KB
返回 下载 相关 举报
基于51单片机的温度报警系统_第1页
第1页 / 共23页
基于51单片机的温度报警系统_第2页
第2页 / 共23页
基于51单片机的温度报警系统_第3页
第3页 / 共23页
点击查看更多>>
资源描述
电气与电子信息工程学院智能电子产品设计与制作设计题目: 基于51的温度报警系统 专业班级: 电子信息工程2008级(1)班 学号: 姓 名: 指导教师: 李玉平 王海华 设计时间: 2010/5/232011/6/10 设计地点: K2高频实验室 课程设计任务书3七、考核方式与成绩评定办法41、方案论证51.1 设计要求52硬件设计62.1系统组成及工作原理62.1.1 主控制器62.2 DS18B20温度传感器与单片机的接口电路82.3 主板电路93、软件设计94调试114.1keil调试成功的截图114.2 protues仿真图125实物组装及调试145.1实际遇到问题及解决方法145.1.1长距离走线问题?145.1.2数码管的位选以及段选确定方法?145.1.3实际调试方法?145.1.4数码管显示较暗解决方法?146 心得体会147参考文献15附录1:原件清单16附录2:程序清单17课程设计任务书 2010 2011 学年第 2 学期学生姓名: 08电信本2 37名学生 专业班级: 08电信本2 指导教师: 工作部门: 电信教研室 一、课题名称智能电子产品设计与制作二、设计目的 为了进一步巩固学习的理论知识,增强学生对所学知识的实际应用能力和运用所学的知识解决实际问题的能力,开始为期两周的智能电子产品设计与制作课程设计。通过实训使学生在巩固所学知识的基础之上具有初步的单片机系统设计与应用能力。三、设计内容以51单片机为控制器,加上外围电路构成一控制系统,并以进行编程,要求能方便的进行人机交换。 四、设计要求 1、设计以51单片机为控制器的硬件系统。2、用LED或LCD进行显示该系统的基本功能参数,用键盘进行参数的输入。4、编写程序。5、对系统的进行综合和调试,使该同能稳定运行,实现其基本功能。 6、编写课程设计的总结五、设计进度表序号设计内容所用时间1布置任务,学习键盘、LED或LCD和所用传感器的工作原理以及硬件电路设计5天2完成键盘、显示和功能程序设计4天3制作电路板2天4答辩、撰写设计报告书4天合 计15天六、设计报告课程设计报告的基本内容至少包括封面、正文、附录三部分。课程设计报告要求统一格式,字体工整规范。1、封面封面包括“智能电子产品设计与制作课程设计报告”、班级、姓名、学号以及完成日期等。2、正文正文是实践设计报告的主体,具体由以下几部分组成:(1)课程设计题目;(2)课程设计任务与要求;(3)设计过程(包括设计方案、设计原理、创新点以及采用的新技术等);(4)方案的比较与论证;(5)硬件电路设计,各个模块的设计与器件的选择;(6)软件程序的设计与调试;(7)课程设计总结(包括自己的收获与体会;遇到的问题和解决的方法;技术实现技巧和创新点;作品存在的问题和改进设想等);3附录附录1:系统硬件元器件清单附录2:系统的程序七、考核方式与成绩评定办法评定项目评分成绩1. 方案的比较选择合理(10分)2. 设计原理正确,程序正确(20分)3. 设计的实物功能齐全,制作美观(20分)4. 态度认真、学习刻苦、遵守纪律(15分)5. 设计报告的规范化、参考文献充分(不少于5篇)(10分)6. 答辩(25分)总分(100分)备注:成绩等级:优(90分100分)、良(80分89分)、中(70分79分)、及格(60分69分)、60分以下为不及格。1、方案论证1.1 设计要求 题目:基于51单片机的温度报警系统 功能:在数码管上显示当前温度 超过温度设定值,蜂鸣器自动报警 AT89S52数码管显示温度采集报警模块1.2 总体设计方案1.2.1方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。1.2.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。1.3方案二的总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位共阳极数码管以并口传送数据实现温度显示。图1 总体设计方框图2硬件设计2.1系统组成及工作原理2.1.1 主控制器单片机AT89S52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。2.1.2 显示电路显示部分采用三维共阳极数码管显示,温度显示范围为099.9摄氏度,从p0口输出段选信号,从P2.0P2.2输出位选信号。2.1.3温度传感器 DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压范围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用脚PR35封装或脚SOIC封装,其内部结构框图如图2所示。图2 DS18B20内部结构框图64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。 DS18B20温度传感器的内部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为字节的存储器,结构如图3所示。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。 高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确性。 当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。 当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节内容作比较。若TH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。 DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。 减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。2.2 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。 当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。2.3 主板电路 系统整体硬件电路包括:传感器数据采集电路,温度显示电路,报警调整电路,单片机主板电路等,如图所示。数码管为三位一体共阳极数码管,显示当前温度。2.4 显示电路 显示电路是使用的并口显示,这种显示最大的优点就是使用简单,只用P0口2.5 报警电路 报警器件主要采用了蜂鸣器,采用了三极管作为放大器件,当温度超过报警温度时,三极管道通,蜂鸣器报警,当温度较低时,三极管截止,没有电流通过蜂鸣器。3、软件设计系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序和中断检测温度值子程序等。3.1主程序主程序的主要功能是负责温度采集和实时显示、读出并处理DS18B20的测量的当前温度值,每20ms将当前温度值和警戒温度值比较一次,如果超过警戒值,这报警。其程序流程见图8所示。开始温度采集计算温度温度值显示是否超过警戒值是否到20ms是温度的检测与控制是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。本文设计了一种基于AT89C51的温度检测及报警系统,该系统将温度传感器DS18B20接在控制器的端口上,定时对温度进行采集,将采集到的温度值与设定值进行比较,当超出设定的温度上限时,通过蜂鸣器报警提示。报警是温度的检测与控制是工业生产中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发。本文设计了一种基于AT89C51的温度检测及报警系统,该系统将温度传感器DS18B20接在控制器的端口上,定时对温度进行采集,将采集到的温度值与设定值进行比较,当超出设定的温度上限时,通过蜂鸣器报警提示。图4 程序流程图3.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图9所示图5读取温度子程序流程图3.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图9所示3.4计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图10所示。开始提取读取温度值得低11位有效位整数位BCD码转化为十进制小数位BCD码转化为十进制结束图6 温度值转换子程序流程图4调试4.1keil调试成功的截图4.2 protues仿真图5实物组装及调试5.1实际遇到问题及解决方法5.1.1长距离走线问题?由于是用万用板进行元器件的布局以及走线,对于从P0口输出的段选与三位一体共阳极数码管直接相连过于麻烦以及影响电路板的美观,所以讲输入口接插针,然后通过跳线的方式进行连接,这样既简洁也方便焊接工作。5.1.2数码管的位选以及段选确定方法?显示模块是用的三位一体的共阳极数码管,实物有一共12个引脚,8个段选,三个位选,剩下一个引脚悬空,需要用万用表测试出段选以及位选。可用万用表的红表笔任意接一个引脚,然后用黑表笔在其他引脚上扫过。根据对应的段选亮了,就可以确定此引脚对应的段选,如果都不亮,说明红表笔接的不是位选端,可以讲红表笔重新移动一位,重复上操作,同时对应的哪一位数码管亮,可以确定红表笔接的是哪一位的位选端。5.1.3实际调试方法?电路板焊好之后,在上电之前,用万用表测试个个引脚之间是否存在短路现象,然后测试个个模块内部电路是否存在漏焊,虚焊,以及焊错现象,发现可以及时改正。然后测试模块之间是否存在漏焊,虚焊,以及焊错现象。在确定电路板没有焊错情况下可以上电测试了。5.1.4数码管显示较暗解决方法?实际测试时,发现数码管的显示亮度很暗,开始以为是软件部分数码管动态显示的时候扫描过快导致,在改动程序效果无较大改善的情况下,发现电路中是用单片机的I/0直接作为位选接到数码管的位选端。由于此款单片机的I/O口作为共阳极数码管的位选端输出电流过小,所以想到在每个位选端接上500欧姆的上拉电阻,发现显示效果得到明显的改善。6 心得体会两周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。课程设计是我们专业课程知识综合应用的实践训练,着是我们迈向社会,从事职业工作前一个必不少的过程”千里之行始于足下”,通过这次课程设计,我深深体会到这句千古名言的真正含义我今天认真的进行课程设计,学会脚踏实地迈开这一步,就是为明天能稳健地在社会大潮中奔跑打下坚实的基础通过这次温度报警系统的设计,本人在多方面都有所提高。通过这次温度报警系统的设计,综合运用本专业所学课程的理论和生产实际知识进行单片机运用的实际训练从而培养和提高学生独立工作能力,巩固与扩充了单片机以及数模电等课程所学的内容,掌握keil软件以及protues软件的运用方法和步骤,增强了自己解决实际问题的能力以及互相合作能力。同时各科相关的课程都有了全面的复习,独立思考的能力也有了提高。在这次设计过程中,体现出自己应用单片机实现实际应用系统以及综合运用数模电知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。在此感谢我们的xxx老师.,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次模具设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。 由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。8参考文献1李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,19982李广弟.单片机基础.北京:北京航空航天大学出版社,19943阎石.数字电子技术基础(第三版). 北京:高等教育出版社,19894廖常初.现场总线概述J.电工技术,1999.5 徐仁贵等编著.单片微型计算机应用技术.北京:机械工业出版社.2001年2月第1版 6 张毅刚等编著.单片机原理及应用. 北京:高等教育出版社.2004年1月第1版7单片机原理及应用张毅刚、彭喜元、彭宇编著8模拟电子技术基础简明教程(第三版)张素行主编9电子技术基础数字部分(第五版)康华光、周寿彬、秦臻编著附录1:原件清单原件名个数AT89S52174HC5731共阳极数码管(3合1)1蜂鸣器1NPN三极管(9013)14.7uF极性电容14.7K欧姆电阻2排阻10k111.0592M晶振120pf电容2DS18B20温度传感器1电源开关1复位开关1杜邦线8根附录2:程序清单/*/DS18B20报警实验演示程序/使用单片机AT89C52 晶振:11.0592M/*/包含头文件/*#include/*/宏定义/*#define uchar unsigned char#define uint unsigned int/*/共阳极段码表tab; 带小数点的共阳极段码表tab1; 警铃编码表Music_Girl;/*uchar code tab= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar code tab1=0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10;/*/定义全局变量/*sbit DQ=P23;/ds18b20与单片机连接口sbit seg0=P20;/小数位sbit seg1=P21;/个位sbit seg2=P22;/十位sbit green=P24;sbit red =P25;sbit music=P36;/接蜂鸣器uchar data disdata4;uint tvalue;/温度值uchar tflag;/温度正负标志uchar max_tem=2;/温度警戒值/*/延时函数,延时时间近似1ms/*void delay_ms(unsigned int ms)/延时1毫秒(不够精确的)unsigned int i,j;for(i=0;ims;i+)for(j=0;j0;i-) DQ = 0; /给脉冲信号dat=1;DQ = 1; /给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);return(dat);/*/ DS18B20写指令函数 R0M指令/ 控制DS18B20做何操作/*void ds1820wr(uchar wdata)/*写数据*/uchar i=0;for (i=8; i0; i-)DQ = 0;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata=1;/*/DS18B20转化启动函数/*void read_temp1()/*读取温度值并转换*/EA=0; /关全局中断,防止DS18B20的时序操作被打乱ds1820rst(); ds1820wr(0xcc);/*跳过读序列号*/ds1820wr(0x44);/*启动温度转换*/ds1820rst();EA=1; /*/DS18B20转换温度读取函数,并转化成实际温度值/ 返回值: tvalue为实际温度值/*unsigned int read_temp2() uchar a,b;EA=0;ds1820wr(0xcc);/*跳过读序列号*/ ds1820wr(0xbe);/*读取温度*/ a=ds1820rd();b=ds1820rd();EA=1;tvalue=b;tvalue=8;tvalue=tvalue|a; if(tvaluemax_tem) red=0;music=music; delay_ms(1); EA=1;23
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!