




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号: 课程设计说明书(基础工程设计)题 目:基于单片机的温度警报系统 学 院: 信息与通信学院 专 业: 通信工程 学生姓名: 学 号: 指导教师: 职 称: 题目类型: 理论研究 实验研究 工程设计 工程技术研究 软件开发2016 年 12 月 20 日桂林电子科技大学课程设计(论文)报告用纸第1页共1页摘要在我国的现代化进程中,对很多的外界温度的测量不再凭人为感官,而是更多的依靠数字的直接体现。温度直观的数字体现对于工业生产、疾病诊断、用电安全等方面有着很重要的作用。对于一定区域内的温度失控及时的发出警报,让损失降到最低,不让灾难的范围扩大。本文介绍了基于STC89C52单片机、DS18B20温度传感器的温度警报器的设计。使用LCD液晶显示屏实时显示当前温度。还拥有可调节上下限温度按键,当温度失控时(即超出监控的温度区间)及时发出警报。关键词:STC89C52单片机;DS18B20温度传感器;温度警报目录引言11 课程设计的要求12 设计方案12.1 可控门限温度警报器的设计分析12.2 各模块方案选择与论证13 硬件及其关键技术介绍33.1 电路设计33.2单片机最小系统的设计44 软件设计94.1 主程序流程图94.2 电路仿真图105 性能测试105.1 测试用例105.2 测试结果分析115.3 测试过程错误分析116 设计总结11谢 辞13参考文献14附 录15桂林电子科技大学课程设计(论文)报告用纸第26页共26页引言在众多场合需要用到温度报警器。例如变压器超温报警、冰箱温度异常、环境温度监测、配电柜温度监测、蔬菜大棚等地方都可应用。本次设计基于温度传感器和单片机实现了在一个温度区间内的监控,提供了警报和显示功能。其研究具有一定的学术价值和广泛的市场前景。1 课程设计的要求本设计采用STC89C52单片机为核心,结合液晶显示屏1602和温度传感器18B20等外围电路,通过程序组成一个温度报警器,使其具有如下功能。具体要求有:1、 能够实时显示当前温度2、 能够用按键调节上下限温度3、 超出所监控的温度区间发出警报2 设计方案2.1 可控门限温度警报器的设计分析本文介绍的是采用数字温度传感器作为敏感元件的温度警报器,当温度超出或低于所给的温度区间时,会发出警报声以及相应的灯会亮,温度过高时蜂鸣器发出混浊的声响及红灯亮,温度过低时蜂鸣器发出尖锐的声响及绿灯亮。此次设计的温度区间可通过按键调节。2.2 各模块方案选择与论证2.2.1 单片机的选择方案一:采用STC89C52单片机。STC89C52单片机是STC公司生产的低功耗,高可靠的单片机,是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。它具有8K字节可编程FLASH存储器(次数:100,000次以上),512位内部RAM,两个16B定时/计数器,低功耗的闲置和掉电模式且支持在线仿真。用STC提供的STC-ISP.exe工具可将原有的代码下载进STC相关的单片机,或用通用编程器编程。STC89C52芯片功能强大,内部超级加密,利用ISP技术写入程序,无读出命令,无法解密,可灵活应用于各种控制领域且价格便宜。方案二:采用陵阳61单片机(SPCE061A)。该单片机有32位通用可编程输入/输出端口,2个10位DAC(数-模转换)输出通道,7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器。具有RAM、ROM空间大、指令周期短、运算速度快、低功耗、低电压等特点,其中声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能:可编程音频处理,使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据,但价格昂贵。综上所述,由于方案一价格低廉,本系统程序小,储存器容量小,能实现系统功能,故采用方案一。2.2.2按键的选择按键控制采用独立式按键,直接在单片机的I/O口上接上按键。如图所示:图2-1 独立按键key0实现温度减一操作;key1具有两个功能:1.切换当前操作上/下限温度状态,2.实现温度加一操作。2.2.3显示方案的选择方案一:采用传统的数码管显示。数码管具有低压低耗能、寿命长、对外界环境要求低等特点,而且其精度比较高。采用BCD编码方式显示数字,程序编译简单,但占用I/O接口较多。方案二:采用MZLH01-12864显示。MZLH01-12864为一块12864点阵的LCD显示模组,模组自带两种字号的二级汉字库,并且自带基本绘图GUI功能,包括画点、画直线、矩形、圆形等;此外还自带有两种字号的ASCII码西文字库。模组上为串行SPI接口,电源和背光之外通信仅需要连接一根从机选择线(SS)、一根时钟线(SCK)、一根数据线(SDA)以及一根BUSY线即可;但价格昂贵,有很多功能没有用到,很浪费。方案三:采用LCD1602显示,LCD1602是一种用57点阵图形或510图形来显示字符的液晶显示器。LCD1602有明显的优点:微功耗、尺寸小、超薄轻巧、显示信息量大、字迹清晰、显示稳写美观。但LCD1602不能显示中文字符,但并不影响本市计的要求。权衡利弊,采用第三种方案来实现本温度警报器的显示功能。2.2.4温度传感器的选择方案一:采用pt100温度传感器。pt100温度传感器是一种将温度变量转换为可传送的标准化输出信号的仪表。主要用于工业过程温度参数的测量和控制。带传感器的变送器通常由两部分组成:传感器和信号转换器。传感器主要是热电偶或热电阻;信号转换器主要由测量单元、信号处理和转换单元组成(由于工业用热电阻和热电偶分度表是标准化的,因此信号转换器作为独立产品时也称为变送器),有些变送器增加了显示单元,有些还具有现场总线功能。方案二:采用DS18B20数字温度传感器。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。考虑到成本及易使用性,选择方案二DS18B20作为本次设计的温度传感器。3 硬件及其关键技术介绍3.1 电路设计温度警报器的基本框图如下:图3-1 温度警报基本框图单片机将温度传感器中的温度数据读取出来,并在LCD上实时显示。通过按键来调节所要监控的温度区间,当温度发生失控时警报电路作出相应的反应。3.2单片机最小系统的设计单片机最小系统电路原理图如图:图3-2 单片机最小系统电路原理图该单片机最小系统有复位电路和晶振电路等。为了给单片机供电和方便程序下载到单片机中,设计了STC下载电路。3.2.1 STC89C51单片机STC89C52片内含有Flash程序存储器、SRAM、UART、SPI、AD、PWM等模块。该器件的基本功能与普通的51单片机完全兼容。主要特性:1.内置标准51内核,机器周期:增强型为6时钟,普通型为12时钟; 2.工作频率范围:040MHZ,相当于普通8051的080MHZ; 3.STC89C5xRC对应Flash空间:4KB8KB15KB; 4.内部存储器(RAM):512B; 5.定时器计数器:3个16位; 6.通用异步通信口(UART)1个; 7.中断源:8个; 8.有ISP(在系统可编程)IAP(在应用可编程),无需专用编程器仿真器; 9.通用IO口:3236个; 10.工作电压:3.85.5V; 11.XTAL2(18脚)、XTAL1(19脚):使用内部振荡器时,用来外接石英晶体和电容。晶振电路的电路原理图如下:图3-3 晶振电路原理图12.RST(9脚):复位输入端。使RST=1时,单片机内部复位为初始状态。复位电路的电路图如下:图3-4 复位电路原理图52系列单片机为许多控制提供了高度灵活和低成本的解决方法。充分利用它的片仙资源,即可在较少外围电路的情况下构成功能完善的温度警报器。3.2.2 DS18B20 温度传感器DS18B20的特性: 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 测温范围 55+125,固有测温误差(注意,不是分辨率,这里之前是错误的)1。支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 工作电源: 3.05.5V/DC (可以数据线寄生电源) 在使用中不需要任何外围元件 测量结果以912位数字量方式串行传送 不锈钢保护管直径 6 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 PVC电缆直接出DS18B20温度传感器时序图:此处的主控器为单片机图3-5 复位时序图图3-6 写时序图图3-7 读时序图3.2.3 LCD液晶屏1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:图 3-8 液晶屏引脚图表3-1 引脚功能说明表引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3VO液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5RWR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,写操作时,下降沿使能。读操作时,E高电平有效7DB0低4位三态、 双向数据总线 0位(最低位)8DB1低4位三态、 双向数据总线 1位9DB2低4位三态、 双向数据总线 2位10DB3低4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极表3-2 寄存器选择控制表RSRW操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)等10写入数据寄存器(显示各字型)等11从数据寄存器读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0.busy flag(DB7):在此位为1时,LCD忙,将无法再处理其他的指令要求。读写时序图:图3-9 LCD读时序图3.2.4 可调温度上下限的精简按键设计本次设计共用四个按键开关,一个用于总电源,一个用于复位单片机。除此之外的两个按键才具有操作性。将这两个按键称为A和B。A按键具有两个功能:1.用于切换上限温度和下限温度的操作。2.温度计数加一。B按键仅具有一个温度计数减一功能。关于这两个按键的实现,A按键的实现需要用到外部中断及定时器,外部中断触发则开始定时器的计数,计数值大则为切换功能,计数值小则为温度计数加一功能。表现为长按则为切换,短按则为计数加一。B按键采用扫描方式。4 软件设计4.1 主程序流程图图4-1 主程序流程图在程序的开始进行一系列的初始化后进入循环,在循环中进行实时读取并刷新当时温度再显示到LCD1602上,并且扫描独立按键。此外还有一个触发中断按键,此按键具有双功能(切换当前控制上/下限温度状态、温度加一)。4.2 电路仿真图图4-2 电路仿真图通过仿真软件,能验证程序是否正确,在仿真的过程中遇到过因写LCD1602时序不对而发生的LCD显示不正常问题,在后来的调试的过程中解决了这一问题。5 性能测试仅仅完成设计过程,是无法验证设计出来的作品是否能真正实现功能的,所以系统的性能测试也是一个重要的环节。我们需要对温度警报系统的各项功能逐一测试。5.1 测试用例(1)用手抓住DS18B20使其升温,观察实时显示温度的变化情况(2)测试A按键的两个功能(切换和计数加一)是否正常,B按键的计数减一是否正常(3)将上限温度调到接近当前显示温度,再用手抓住使DS18B20升温使其超过上限温观察是否发出警报并发出相应声响。再将下限温度调到接近当前显示温度,使DS18B20降温,使其低于温度下限,观察是否发出警报并发出相应声响。5.2 测试结果分析测试用例(1)结果正常,显示当前温度实时发生变化并符合当前室内温度测试用例(2)结果有时A按键不按照意愿工作,有时发生计数过快的情况,随后加上中断按键的消抖语句后结果正常。B按键工作正常。测试用例(3)工作正常。5.3 测试过程错误分析在最开始,将板子焊接完成时,板子并没有工作。一上电,指示电源状态的发光二极管就烧了,随后想起与这个发光二极管的所串联的电阻为330欧,这样一来所通过二极管的电流就变成了15毫安左右,然后就烧坏的二极管和电阻换掉后发光正常,不过又发生了异常的地方,就是这个电源指示灯会在接通是后亮几秒就熄灭,还有就是LCD显示屏也没有正常显示,只是显示几个黑点。首先解决的是电源指示灯在接通电后亮几秒就熄灭的问题,这个问题是由于DS18B20插反的结果,DS18B20的左右两个引脚分别Vcc和GND,若是接反则整个电路直接短路,无法正常供电,而在靠近Vcc和GND处有一个10uf的电容,这个电容本来是给单片机复位用的,而在这种情况下,它储存的电会通过这个电源指示灯放掉,就出现了这个灯亮几秒后熄灭的问题。LCD显示屏只显示几个黑点的问题是由于单片机的问题,我把单片机拆出来后的显示结果和插上单片机的结果相同。问题就指向了单片机出现了什么样的问题。最开始的测试方法是直接住板子里烧程序,结果程序烧不进去,一直停在等待界面。第二个方法是用万用表测量每一个管脚的电压,部分电压接近5V,少数几个管脚的电压不正常。更加说明了并非电路线路的问题而是单片机问题。最后测量晶振输出波形,没有输出11.0592M的信号,说明单片机一开始就没有工作。而为什么没有工作,最后发现是因为晶振没有振荡,反复检查电路后,原来是因为单片机振荡源处两脚的电容接错了,改正后为了能够测试是否振荡,用示波器观察,正确输出了11.0592M的频率波形,再给单片机烧入程序,正常烧入。经过上述一系列的错误与调试错误后,板子最终能够正常工作。6 设计总结本次设计,我认为最大的亮点不在于温度警报功能的实现,这个只是基本功能。最大的亮点在于,将两个功能集成在了一个按键上,使得操作上更为简洁与更适合人们的习惯。本次的课程设计中的确出现的问题不少,这也反映出了从仿真到实物,这个过程中会有很多意想不到的错误发生,甚于是非常简单的电容都会接错,而这不同于仿真,在实物板子上,每一个极小的细节都可能会引起板子的不正常工作。而在排查出这个问题则需要检查到每一条线,每一个元件的接法以及供电问题。总体来说,本次的课程设计还算是比较成功,还总结出一个结论:仿真成功并不等同于做实物板子的过程也会顺利,此次训练收获不小。但是此次课程设计也暴露出自己专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对很多芯片的用法不熟悉等,需要在做的过程中不断的翻阅相关的资料和书籍,这降低了自己的速度和设计的进程,但这个过程对我来说是对自己知识不足处的一个很好的补充和对已学过知识的一个巩固。这个过程虽然是有一定的难度但还是通过自己的慢慢的摸索从熟悉到上手,经过这次努力对自己的信心有很好的提高。通过这样的一个自己从开始到结束全程自己参与的设计来说对知识的了解和掌握是纯理论学习远远达不到的效果。这次课设是对自己所学知识的一次检阅,使我明白自己知识还是很浅薄,自己的求学之路还很长。课程设计是培训学生运用本专业所学的理论知识和专业知识来分析解决实际问题的重要教学环节,同样也促进了同学们的相互探讨,相互学习。因此,我们必须认真、谨慎、踏实、一步一步的完成设计。我相信无论是谁,看到自己做出的成果时心里一定会很兴奋。此次设计使我明白了一个很深刻的道理:团队精神固然很重要,但人往往还是要靠自己的努力,自己亲身去经历,这样自己的心里才会踏实,学到的东西才会更多。谢 辞在本次的课程设计中,同学们给予了我很大的帮助,有些工具我是没有的,这时就要找同学借,同学们都慷慨的借出了手中的工具,关于这点我非常的感谢!在调试的过程中,同学的某一句话都有可能给我极大的启发,这一点也同样非常感谢!在这次的做实物板子的过程中,从发现第一个问题开始到最后使板子正常工作都有同学在给我以帮助,对于我的问题都尽其所能,非常感谢他们。同时,我还要感谢我的寝室同学和身边的朋友,正是在这样一个团结友爱,相互促进的环境中,在和他们的相互帮助和启发中,才有我今天的小小收获。参考文献1胡天明,齐建家.基于DS18B20的数字温度计设计及其应用J.黑龙江工程学院学报,2008,02:59-622黄庆华,张永格.单片机开发技术与实训.电子工业出版社,2007.13汪红,张烈平,管秀群.电子技术.电子工业出版社,20074何立民.单片机应用技术选编.北京航空大学出版社,20065徐俊毅,单片微型计算机原理与应用.上海科学技术出版社,1998附 录1原理图:1.1 整体硬件原理图1.2.温度采集及外围电路的设计1.3液晶显示设计1.4最小系统设计2.成品实物图:3.程序源代码#include #include bit Start18B20();sbit RS=P25;sbit RW=P26;sbit EN=P27;sbit IO_18B20=P32;sbit ledH=P22;/红灯sbit ledL=P23;/绿灯sbit key0=P20;/B按键,单功能按键sbit key1=P21;/A按键,双功能按键sbit buzzer=P24;unsigned char count=0;unsigned char upper=30,lower=20;bit kflag=1;/按键标识,若为1则是调节上限,若为0则是调节下限unsigned char T0RH=0;/定时器0高位初值unsigned char T0RL=0;/定时器0低位初值unsigned int temp;unsigned int i=0;unsigned char code table=Tem: /C;/当前温度显示标识unsigned char code high=U:;/上限温度显示标识unsigned char code low=L:;/下限温度显示标识void DelayX10us(unsigned char t)/较为严格的指令延时,10个指令周期do_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();while(-t);bit Get18B20Ack()/获取DS18B20响应bit ack;EA=0;IO_18B20=0;DelayX10us(50);IO_18B20=1; DelayX10us(6);ack=IO_18B20;while(!IO_18B20);EA=1;return ack;void Write18B20(unsigned char dat)/对DS18B20进行写入操作unsigned char mask;EA=0;for(mask=0x01;mask!=0;mask=1)IO_18B20=0;_nop_();_nop_();if(mask&dat)=0)IO_18B20=0;elseIO_18B20=1;DelayX10us(6);IO_18B20=1;EA=1;unsigned char Read18B20()/对DS18B20进行读操作unsigned char dat;unsigned char mask;EA=0;for(mask=0x01;mask!=0;mask0;x-)for(y=110;y0;y-);bit Get18B20Temp(int *temp)/获取DS18B20的温度转换结果bit ack;unsigned char LSB,MSB;ack = Get18B20Ack();if(ack=0)Write18B20(0xcc);Write18B20(0xbe);LSB=Read18B20();MSB=Read18B20();*temp =(int)MSB10)/判断按压时间长短,若为长按则将kflag取反,切换功能kflag=kflag;else /短按的执行函数if(kflag)upper+;if(upper30)/3025upper=25;elselower+;if(lower30)/3025lower=25;Writecom1602(0x80+0x0f);/给LCD1602写显示地址(上限/下限 标识位)if(kflag)Writedata1602(U);/ 上限显示”U”elseWritedata1602(L);/下限显示”L”count=0;/给count 清零kflagw=0;IE1=0;/中断按键消抖EX1=1;void main()bit ack,res; int a,b,ac,ad,bc,bd;int test;int intT,decT;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学前口语考试试题及答案
- 深海养殖自动化喂养系统应用方案
- 混凝土砌块墙体施工技术方案
- 金属雕塑建筑施工组织设计及对策
- 光村镇2024-2025学年第二学期五年级科学期末学业评价题目及答案
- 农村饮水安全巩固提升工程施工方案
- 房屋建筑工程消防安全实施方案
- 碳捕集利用工程项目进度管理方案
- 宅基地空地租赁与农业项目合作合同书
- 离婚宅基地房屋分割与房产评估、鉴定协议
- 广东省深圳市蛇口育才教育集团2024-2025学年八年级上学期期中考试英语试题
- 专题26 实验与探究 十年(2015 2024)高考生物真题分类汇编(全国) (解析版)
- 结核性脑病影像诊断
- 建筑地面工程防滑技术规程JGJ-T331-2014
- 国家职业技术技能标准 6-02-06-03 白酒酿造工 人社厅发2019107号
- 制冰机和设备相关项目实施方案
- 三年级上册《贵州省生态文明城市建设读本》小学中年级版教案
- 基于Simulink的永磁同步电机直接转矩控制仿真研究
- 竣工结算审计服务投标方案(技术方案)
- 中国抗肿瘤治疗相关恶心呕吐预防和治疗指南(2023版)解读
- 2024至2030年全球及中国湿式电动剃须刀行业深度研究报告
评论
0/150
提交评论