基于单片机的数字温度测量仪的设计(DOC)_第1页
基于单片机的数字温度测量仪的设计(DOC)_第2页
基于单片机的数字温度测量仪的设计(DOC)_第3页
基于单片机的数字温度测量仪的设计(DOC)_第4页
基于单片机的数字温度测量仪的设计(DOC)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、苏州工业职业技术学院基于单片机的数字温度测量仪的设计系部:学生姓名:专业班级:学号:指导教师:2012年10月26日苏州工业职业技术学院声明本人所呈交的基于单片机的数字温度测量仪设计,是我在指导教师的指导和査阅相关著作下独立进行分析研究所取得的成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。作者签名:日期:目录摘要1TOC o 1-5 h z一、引言2(一)课题研究的背景及意义2设计背景2设计意义2(二)设计方案论证2(三)设计要求及设计思路3设计要求3设计思路3二、硬件设计4(一)总设计

2、框图4(二)硬件电路设计4主控制器AT89C514复位与时钟电路8温度传感电路9液晶显示电路11按键输入电路12报警电路13三、软件设计13(一)主程序设计13(二)子程序的设计14读出温度子程序14温度转换命令子程序15TOC o 1-5 h z3计算温度子程序16四、仿真与调试17五、总结19六、致谢20七、参考文献20附录一:电路仿真图21苏州工业职业技术学院 【摘要】随着时代的进步和发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,特别适合与控制有关的系统设计。本文利用单片机AT89C51为核心控制器件,结合DS18B20传感器

3、完成了一种数字温度计的设计,测量结果由液晶具体显示。当测量温度超过设定的温度上下限时,LED灯闪烁实行报警。该数字温度测量仪设计具有测量准确、误差小,功能较强等功能。本文给出了具体的硬件电路,软件流程和主要的程序,并利用PROTUES软件完成性能仿真测试。【关键词】:AT89C51;DS18B20;上下限报警;液晶显示;【ABSTRACT】WiththeprogressofTheTimesanddevelopmentoftheapplicationofsinglechipmicrocomputer,iscontinuouslytofurther,becauseithasastrongfunct

4、ion,smallvolume,lowpowerconsumption,thepriceischeap,reliablework,useisconvenientwaitforacharacteristic,especiallysuitableforrelatedcontrolandsystemdesign.ThispaperusingthesinglechipmicrocomputerAT89C51asthecorecontroldevice,combiningDS18B20sensorscompletedadigitalthermometerdesign,measuringresultsby

5、theliquidcrystaldisplayspecific.Whenmeasuringtemperaturemorethansettemperaturefluctuationlimit,LEDlightsflickerthealarm.Thedigitaltemperaturemeasuringinstrumentdesignofmeasurementaccuracy,errorissmall,thefunctionismorestrongfunctions.Thispapergivesthespecifichardwarecircuit,softwareflowandthemainpro

6、gram,andusePROTUESsoftwareperformancesimulationtest.【Keywords】:AT89C51;DS18B20;UpperLimitAlarm;LCDdisplay;一、引言(一)课题研究的背景及意义设计背景温度是日常生活最常用到的一个物理量。人民的生活与环境与温度息息相关,在工业生产过程中要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要意义。测量温度最常用的工具就是温度计。最常用的温度计有酒精温度计、水银温度计、气体温度计等利用物质的物理特性制作的传统温度计,这类温度计原理简单,价格便宜,但是读数不方便、测温时

7、间长、精度低、测量范围有限,如果使用不当还有一定的危险性,可能造成环境污染等不良后果,其适用范围受到了较大限制。随着新技术的不断开发与应用,单片机技术在近年来发展十分迅速。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,已经被广泛的应用于工业、农业和大众日常生活当中。利用单片机为核心器件制作的电子温度计,能够快速有效的解决温度的采集和数据处理等一系列问题,很好的克服了传统温度计所带来的各种不便,具有广泛的适用性。本文将利用单片机为主要控制器件,以温度传感器构建数据采集电路,对温度进行实时检测与控制,将测量结果利用液晶屏显示。本设计

8、具有读数方便,测温范围广,测温准确安全等优点,具有一定的实用意义。设计意义1)数字温度计以单片机作为核心控制器件,通过构建数据采集模块、显示模块和报警模块,将所测温度采集、处理后显示。整个设计电路结构简单、功能清晰、读数方便、显示清晰,可用于工业、农业生产或科研实验室使用。2)通过整个设计的开展,学习相关文献的检索、专业软件的学习能力,了解现代化仪器仪表的设计流程,将以往所学理论与实践有机结合,熟悉单片机系统开发、研制的过程,软硬件设计的方法、内容及步骤,提高自身专业水平与素养。(二)设计方案论证根据设计思路,为了能更好的让数字温度测量仪更加准确的显示数据,进行以下的方案论证。1.芯片选择本设

9、计选用美国ATMEL公司生产的低功耗,高性能CM0S8位单片机,片内含4KB的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并集成了Flash程序存储器,既可在线编程(ISP),也可用传统方法进行编程的AT89C51芯片。低价位的AT89C51单片机可应用于许多高性价比的场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。2.传感器选择传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,其缺点有:硬件电路复杂;软件调试复杂;制作成本高。本设计采用温度传感器DS18B20,可以直接读出被测温度值,而且采用三

10、线制与单片机相连,减少了外部的硬件电路,具有成本低和易使用的特点。由数字温度计DS18B20和微控制器AT89C51构成的温度装置,它直接输出温度的数字信号到微控制器。苏州工业职业技术学院P2.4显示器件选择显示元件有很多种,其中数码管显示方案简单易行,但所需的元件较多,且不容易进行操作,可读性差,显示格式受限制。本设计采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,可操作性强,也易于读数,采用RT1602两行十六个字符的显示,能同时显示其它的信息如日期、时间、星期、温度。(三)设计要求及设计思路1.设计要求1)能够测量出温度值;2)能够显示-10C100C的温度;3)测量误差

11、1C;4)可设定温度的上下限,过限报警;5)利用PROTUES软件能完成性能仿真测试。2.设计思路1)根据设计要求,选择AT89C51单片机作为整个核心控制器件,完成对转换好的数字信号的采集以及计算出被测温度的值并送入显示电路模块;2)采用DS18B20作为温度传感器,实现对输入的温度值的采集与转换为数字值,直接连接单片机;3)所测温度结果采用液晶显示;4)转换后的温度值与设置的温度报警限比较,超过上下限时,控制LED灯闪烁报警。二、硬件设计(一)总设计框图本设计以89C51单片机为核心器件,整体硬件电路包括:传感器数据采集电路,单片机主控电路、温度显示电路,上下限设定及报警电路。总设计框图主

12、要由主控制器AT89C51、电源、单片机时钟和复位电路、报警设置、液晶显示、温度传感器组成。总设计框图见图2-1。器(FPEROM时钟和复位电路按键输入1.主控制器AT89C51AT89C51是美报警ATMEL公Progr,液晶显示、带4le可编程可擦的8-1总设计框图P0口主一种高性能、低功:器ammableanAFaSa、P1口电源温度传感苏州工业职业技术学院 位CMOS单片微型计算机芯片。AT89C51可靠性高、实时性好、速度快、系统掉电后重要数据和状态信息不会丢失,其性能价格比远高于同类芯片,因此使用也更加广泛。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1

13、)内部结构AT89C51芯片为40引脚双列直插式封装,其内部结构框图见图2-2。图2-2AT89C51内部框图1r2)主要技术指标和特性与MCS-51指令系统兼容4K字节可编程闪烁存储器寿命::口0寄写地擦循d.数据保留时倚:10年态工作f.三壌程序存P0驱动器P2驱动器c.RAM128A4KBROM4T程序地址寄存器1P2锁存器SP缓冲器卄:0Hz-24MHz/、业上山y储器锁疋128x8位内部|RAM32可编程I/O矗两个16位定寄器器十数溜存器5个中断源可编程串行通道e.P0锁存器暂存器2-|ACC低功耗m.3)引脚排AT89C5T的IRST咱:IVCCGNDP0口-週置和掉指;模式疋指

14、指片内振荡器和时申令歹控弓制脚排列ALUPSW中断、串行口及定时器图2-3AT89C51的引脚排列PC增1卄PCDPTR供电电床。接地。P0S(口为一个8位漏级肝路双向IP1锁存器P3锁存器/O口口的管脚第一次写1时,被定也为高动器输入。P01能料用于外部程序数据存储被定义为数据/地址的低位。在FIASH编程时,P0吸收8TTL门电流。当P0它可以口作为原码馳入口一,一当FIASH扯行校验时,P0输出原码,此时P0外部必细接上拉电阻op3.o-P3.7P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1

15、口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号

16、。P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口除了一般I/O线的功能外,还具有更为重要的第二功能。RST复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALEPROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。PSEN外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这

17、两次有效的/PSEN信号将不出现。EAVPT当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2来自反向振荡器的输出。单片机的P0口接上排阻与显示屏LM016L的DOD7相连接,P2.0与P2.2口分别与显示屏LM016L的RS,E脚相连,组成显示模块。P1.0P1.3口接按键开关,用来调节上下限,组成按键输入模块。P2.3口与LED灯和按键开关相连接,组成报警电路。P2.4口与约4.7K左右的上

18、拉电阻和U2的DQ口相连,组成温度传感模块EA与按键相连,RST接电容C3与电容R1,组成复位电路。XTAL1与XTAL2并联接上电容C1、C2、晶振,组成时钟电路。2.复位与时钟电路复位电路:单片机的复位电路见图2-4。该复位电路采用手动复位与上电复位相结合的方式。当按下按键S1时,VCC通过R1电阻给复位输入端口一个高电平,实现复位功能,即手动复位。上电复位就是VCC通过电阻R1和电容C构成回路,该回路是一个对电容C3充电和放电的电路,所以复位端口得到一个周期性变化的电压值,并且有一定时间的电压值高于CPU复位电压,实现上电复位功能。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在

19、电源上电时,只有当VCC超过4.75V低于5.25V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。图2-4复位电路时钟电路:89C51中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程度及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF士10pF,

20、而如果使用陶瓷谐振器,建议选择40pF士lOpF。时钟电路见图2-5。图2-5时钟电路3.温度传感电路1)DS18B20性能独特的单线接口仅需一个端口引脚进行通信64位存储器和控制器a.b.简单的多点无需外部器件。d.可通过数据线供电。零待冠励耗。份布应用。ROMc.e.和单线接温度传感器低温触发器TL高速缓存-i=z存储器温度数字量转换时间应用;性接反时,传感器不会因发热而烧毁,但不能正常工作。2VDDS18B20外形及检DS18B20内部结构200ms,工业12位分辨率时最多在75%s内把温度转换为数字。消费品、温度计利和任何热感测系统负压特性:电源极口见图I结构,主要配置寄存器由4部分组

21、成:64位|Rom、温度传感器非挥发的温度报警触发器TH和TL、配置寄存器。8位CRC生成器2-6图2-6DS18B20的内部结构DS18B20的外形及管脚排列见图2-7。图2-7DS18B20的外形及管脚排列3)DS18B20的测温原理DS18B20测温原理:低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在一55C所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被

22、装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2-8D斜率2累加的测温原理框图单总线接一个约4预置左右的上拉电阻,这样,当总线空闲时,其状态为高电平。DS18B20接线原理图见撚晶振。预置图2-9DS8B20接线原理图温度寄存器I除LSB置位/清=04.液晶显示电路液晶电路接高温度理图见图戶。图2-10液晶电路接线原理图计数器=0停止LM016L引脚介绍:Vss(1脚):一般接地。Vdd(2脚):接电源。Vee(3脚):液晶显示器对比度调整端,接电源时对比度最弱,接地时对比度最高RS(

23、4脚):RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。R/W(5脚):R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。E(6脚):E(或EN)端为使能(enable)端,下降沿使能。DB0(7脚):低4位三态、双向数据总线0位(最低位)。DB1(8脚):低4位三态、双向数据总线1位。DB2(9脚):低4位三态、双向数据总线2位。DB3(10脚):低4位三态、双向数据总线3位。DB4(11脚):高4位三态、双向数据总线4位。DB5(12脚):高4位三态、双向数据总线5位。DB6(13脚):高4位三态、双向数据总线6位。DB7(14脚):高4位三态、

24、双向数据总线7位(最高位)寄存器选择控制见表2.1。表2.1寄存器选择控制RSR/W操作说明00写入指令寄存器(清除屏等)01读busyflag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据用89C51的P0口作为数据线,用P2.0、P2.2分别作为LCD的E、RS。其中E是下降沿触发的片选信号,RS是寄存器选择信号本模块设计要点如下:显示模块初始化:首先清屏,再设置接口数据位为8位,显示行数为1行,字型为5X7点阵,然后设置为整体显示,取消光标和字体闪烁,最后设置为正向增量方式且不移位。向LCD的显示缓冲区中送字符,程序中采用2个字

25、符数组,一个显示字符,另一个显示电压数据,要显示的字符或数据被送到相应的数组中,完成后再统一显示.首先取一个要显示的字符或数据送到LCD的显示缓冲区,程序延时2.5ms,判断是否够显示的个数,不够则地址加一取下一个要显示的字符或数据。按键输入电路选用四个按键开关,分别与P1.0,P1.1,P1.2,P1.3口相连。与P1.0口相接的按键表示“上限加1”与P1.1口相接的按键表示“上限减1”与P1.2口相接的按键表示“下限加1”与P1.3口相接的按键表示“下限减1”。设计中默认上下限为10C30C。按键输入电路连接图见图2-11。图2-11按键输入电路报警电路由LED灯与按键开关与单片机AT89

26、C51的P2.3口相连。默认上下限为10C30C,显示屏显示的温度不在10C30C内,D1灯闪烁实行报警。当报警时,可以调节上下限,扩大上下限的范围,使显示的温度在其内,从而停止报警。也可以通过断开与D1相连的开关,使其断电,停止报警。报警电路连接图见图2-12。图2-12报警电路具体电路仿真图详见附录苏州工业职业技术学院三、软件设计(一)主程序的设计整个设计的软件部分用C语言编写。主程序的主要功能是负责读出并处理DS18B20的测量的当前温度值,温度的实时显示,并根据设置的上下限判断是否报警。系统开始运行时,温度传感器测量并计算温度值通过P2.4口传输进单片机里进行处理,经过处理后的数据再通

27、过P0口传输到显示屏显示。通过按键设置温度报警上下限,当超过报警界限时单片机将相应的数据通过P2.3口传输进行光报警。其程序流程见图3-1。开始图3-1主程序流程图子程序的设计1.读出温度子程序读出温度子程序;读出温度子程序的主要功能是读出RAM中的9字要进行CRC校验,校验调用温度传进行温度数据的改写。见图(二)初始化32。节,在读出时需B20复位命-否DS18B2存在?读出温度子程序*发跳过ROM命令错误处理要旦发温度转换开始命令,当采用12位分辩率时转换时间约为亍就用在本取序设计中采用1s显示程序延时法等待转换的完发DS18B2O复位命令2.温度转换命令子程序温度转换命令子程序理温度转换

28、命令子程序成。见图3-3。送AT89,温度转换命令子程序移入温度暂存器3.计算温度子程丁!计算温度子程序:计算温度子程序过将4命中读取值进行BCD码的转换运算,并进行温度值正负的判定。见图3-4。具体源程序详见附录二。显示模块,是否越限软件调试软件调试的主要任务是排查错误,其中错误类型主要包括逻辑错误和功能错误,有些错误是显性的,而有些是隐形的度值取补通过仿真开发系统发现逐步改正。标志oteus软件可以对以微控制器警模计和所灯闪烁围(一)曰.起仿真为基础结用户甚至可以实时采用例如LED/LCD、键盘等动态外设模型来对设计进行交互的仿真。Proteus支扌持的微计算小数位温度BCD码1=1口器件

29、计算整数位温度BCD码结束苏州工业职业技术学院 处理芯片包括8051系列、AVR系列、PIC系列、HC11系列及Z80等等。Proteus可以完成单片机系统原理图电路绘制,更为显著的特点是可以与keil软件结合进行编程仿真调试。1.源程序的调试结果本系统的调试主要以软件为主,其中,系统电路图的绘制和仿真采用Proteus软件,而程序方面,用源程序,用Keil软件将程序写入单片机。程序无误,并生成hex文件。程序写入单片机显示正确结果见图4-1。图4-1程序写入单片机显示正确结果2.仿真结果显示上下限默认为10C30C时显示屏中S代表上限,X代表下限。当温度为11C时,灯不闪烁,不报警。见图4-2。图4-2显示11C,不报警当温度为31C,超过上下限,灯闪烁报警。见图4-3。图4-3超过上限报警调节按键开关改变上下限,使S=28X=16。将“上限减一”键按2下,“下限加一”键按6下,可以得到S=28X=16。当温度为11C,灯闪烁报警。见图4-4。图4-4低于下限报警五、总结通过仿真测试结果可以看出,本次设计的数字温度计能够

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论