2022高精度电子温度计的设计报告.docx
摘要进入二十一世纪后,电子信息产业迅猛发展,人们的生活发生天翻地覆的变 化。在这种背景下,电子温度计应运而生,温度检测精度、便携性和可靠性得到 极大的提高。此次课设论文所介绍的是自己动手制作的一个高精度数字温度计。本系统采用单片机作为温度计终端,利用基于计算机集中测量方案与基于总 线的分散测控方案,结合传感器数据采集技术开发电子温度计监测及控制系统。 它的主要组成部分有:单片机、键盘与LCD显示器电路、温度控制电路。它可以 实时的显示温度计的温度,实现对温度计温度的监测。该套系统主要包括温度计 温度监测模块、数据处理模块三部分,当预警系统监测到温度计温度达到预设的 报警温温度(安全温度上限)时,发出声报警。利用单片机和温度传感器构成的 电子式智能温度计就可以直接测量温度,得到温度的数字值,既简单方便,有直 观准确。关键词:温度计;温度;测控;报警图2.9 液晶显示LCD12864电子图102122一 Q >, 虫靖15 2123。 47K3H9 112151§ <M =e 9SAVIMG组成的液晶显示器(LCD)的模块方案并与类型的图形点阵液晶显示模块, 无论硬件电路结构或显示程序更简洁,和这个模块的价格略低于相同的点阵图形 液晶模块。下图是显示原理图2. 10:图2. 10 LCD显示原理图本系统可以通过键盘来设置温度计温度报警信息,具有良好的人机交互功能。2. 3.2键盘电路设计本设计采用单片机控制器处理,按键是采用行列式键盘。键盘是最常见的人 机接口设备,微机控制器通过键盘可以榆入各种操作指令和数据,单片机控制器 捕捉关键信息,与单片机控制器进行相应的处理。本设计中,我们采用4*4键盘 进行对电路的设定。4*4键盘的结构如图2. 11所示:5V5乙H _E"+5V_C-KBDCLK KBCDAT/RPVXA VXKBDCLK KBCDAT/RPVXA VX图2. 11键盘示意图八Z.工。 A VUR5HC41S2. 3.3报警电路蜂鸣器报警原理比较简单,单片机对I0 口 P3.0和3. 1进行控制。报警信号 电路由单片机控制,该系统使用发光二极管和蜂鸣器报警,传感器检测闯入时, 响应单片机蜂鸣器报警。当DS18B20检测到温度信号,经DS18B20处理,传给单 片机,单片机将P3.0和P3. 1 口输出低电平,蜂鸣器工作,LCD灯亮达到报警的 效果。报警电路如图2. 12:VCCH寸 89S5I融;DB3DB4CSRST9P1Q/TPOOP11/TP01P12P02P13P03P14P04P15P05P16P06P17P07INT1P20INTOP21P22T1P23TOP24P25eaTvpP26P27XIX2RESETRXDTXDRDALE?PWRPSENXI 19 5q889s51987432IKDU LA WELASDA SCL 睥0P3.01P3.10 ALEOt1238,iiU图2. 12 蜂鸣器与单片机的接口电路图第3章 温度计测温控制系统的软件设计3.1汇编语言以及主程序图3.1.1 汇编语言汇编c语言是单片机编程语言的一种重要形式,也是最常用的在今天的单片 机开发人员程序开发的语言形式。汇编语言是一种替代机器语言的编程语言。汇 编语言的特点是每个指令助记符。并进行目标程序、检查修改程序中的错误,对 程序运行结果进行分析,直到正确为止。程序图设计根据系统硬件设计和电路原理,根据硬件连接和每个模块的特点和功能芯片 实现,初始化,主程序的流程是通过温度感应模块接收温度信息,然后传送到单 片机进行分析和监控。整体方案方框图如图3.1所示。整个温度采集系统的流程 如图3. 1所示:10图3.1电子温度计主程序流程图3. 2子程序设计分析2.1蜂鸣器报警子程序首先是定义发光二极管及蜂鸣器数据,当数值为LCD和BELL数值为“0”时, 发光二极管亮、蜂鸣器响。可以使用一个晶体管驱动程序。报警程序设计如图 3.2所示。11图3.2报警程序流程图2.2系统显示子程序因为通过模数转换模块,使单片机的数据以16进制储存于寄存器当中,为 了让LED显示需要转换为BCD码。本次采用软件消抖,通过调用子程序延时来解 决,可以很好地解决单片机的抖动问题。驱动HD7279W 数据传输选择段、位码5m5mW2mLED闪烁 < LED显示 _LED闪烁图3. 3 LED显示子程序流程图3. 2.3 DS18B20 程序DS18B20程序流程图如图3, 4所示:12图3.4 DS18B20程序流程图由于DS18B20与微处理器间采用串行数据传送。因此,在对DS18B20进行读 写编程时,必须严格的保证读写时序,否则将无法读取测温结果。系统还有一个 循环显示LCD程序编辑及小部分元器件控制程序。13开始图3.5读出温度子程序流程图图3.6计算温度子程序流程图显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,当最 高显示位为0时将符号显示位移入下一位。其程序流程图如图3.7所示。3. 2.4中断服务程序温度采集及仪表与上位机数据通讯主要通过定时器以及计数器,串行I/O 口和中断服务来实现。中断服务程序如图3. 7。14图3.7中断服务子程序结论本次课程设计中的温度传感器采用的是Dal las公司的DS18B20,通过实践 设计应用,进一步加深了对DS18B20独特的单总线技术的理解和应用。显示电路 采用LCD实现,LCD独具的低压、微功耗特性使它在单片机系统中特得到了广泛 的应用。单片机作为控制系统实现温度传感器和LCD的逻辑交互,进而达到本设 计的最终目的。通过本次课程设计,使我对DS18B20单总线技术和LCD编程技术 有了更加深刻的认识和理解。本次课程设计不仅提高了我们的实践技术,还培养 了我们发现问题和解决问题的能力,使我们认识到理论联系实际的重要性,在实 践中扩展了知识面,不但掌握了本专业的相关知识,而且对其他专业的知识也有15所了解,从各方面提高了自身的综合素质,这对我们今后的学习和工作大有裨益。16参考文献1杨宁.基于STC89c52RC单片机的GPS与电子温度计的系统开发J.硅谷.2013(13)杨海波,张玮,刘晓静,孟燕军,孙艳英,易小林.一种基于数字温度传感器DS18B20的多功能电子温度计设计J.中国医学物理学杂志.2013(01)3陈世夏,吴凌燕,丁国臣.基于SPCE061A的超低功耗电子温度计设计J.现代电子技 术.2011 (13)4罗萍.基于SPCE061A单片机的语音播报温度计的设计J .惠州学院学报(自然科学 版). 2009 (06)5王振辉.基于XML的Web数据交换系统设计与实现J.现代电子技术.2010(20)6董军堂,宋永东,李建新.基于SPCE061A的智能温度计设计J.现代电子技术.2010(19)刀郑润娜,胡建明,侯丽娟.基于TLC5620信号发生器的设计与实现J.电子测量技术.2009(06)8黄灿胜,黄婷.基于DS18B20数字温度计温度补偿和测量系统设计J.广西民族师范学院学 报.2010(03)9陈思.基于单片机的数字温度计的设计J .信息与电脑(理论版).2010 (04)10王美玲,付佳,肖垣.创新型实验项目数字温度计的设计J.实验室研究与探 索.2010(09)11周学军.基于AT89c2051的数字温度计设计J.现代电子技术.2010 (17)12龙吉,基于AT89C2051单片机的数字温度计的设计J .科学之友.2010 (20)13叶爱芬.基于DS18B20的数字温度计J .科技信息.2010(32)14黄飞,毛钢元.基于凌阳16位单片机的温度控制系统J.淮阴工学院学报.2007(05)17第1章绪论11.1 总体框架设计11.2 设计需要解决的问题1第2章 温度计测温系统的硬件设计12. 1单片机小系统12. 1. 1单片机的选用12. 1.2时钟模块硬件电路32. 1.3复位电路42. 1.4同步动态随机存储器52. 2温控模块电路设计52. 1温度传感电路设计51. 2. 2温度控制电路的设计72.3系统外围电路设计72. 3. 1显示电路设计72. 3.2键盘电路设计82. 3.3报警电路9第3章 温度计测温控制系统的软件设计103. 1汇编语言以及主程序图103. 1. 1汇编语言103. 1.2程序图设计103. 2子程序设计分析113.2. 1蜂鸣器报警子程序11系统显示子程序123.2.3 DS18B20 程序123. 2.4中断服务程序14结论15参考文献17致谢错误!未定义书签。附录18附录#include “REG51.H”#include "INTRINS. H #defi ne uchar uns i gned char#def i ne u i nt uns i gned i nt uchar temp;uint temperature =0;uint temperaturel =0;sbit DQ = P11;sbit FAN = PPG;unsigned int vaIue,a,b;/411r1/ /延时函数/ /ZS zTs zTs Ts Ts Ts/void De I ay (u i nt time)/大约延时2Xtime+5uswh i Ie ( t ime);/ / /TsDS18B20初始化函数f /"p* *,«T,1 / /void Init_18B20(void) (初始为高/延时1511s左右初始为高/延时1511s左右延时480960usDQ = 1;Delay(10);DQ = 0;De I ay (80);DQ = 1;18De I ay (30);延时等待/ /111 1 11 , 1 , 1/ /DS18B20读一字节函数unsigned char ReadOneChar (void)unsigned char i = 0;unsigned char dat = 0;for (i = 8; i > 0; i) DQ = 0;dat >>= 1;DQ = 1;从最高位开始读if (DQ)dat |= 0x80;De I ay (15);return (dat);/-jj 4_4_,d_1j>-j dj 4_/*,T1*,T,*TDS18B20写一字节函数/ /»,/ /void Wr iteOneChar(unsigned char dat)unsigned char i = 0;for (i = 8; i > 0; i) DQ = 0;19DQ = dat&OxO1;DQ = dat&OxO1;从最低位开始写根据时许来写De I ay (5);DQ = 1;dat»=1 ;数据右移一位数据右移一位/ /11 11 11/ /读取温度函数4_|_, 4_1, 4_,_, _| _1- 4_1_/ 4_|_._, _, 4_, 4) 4_|., 4_,4_< 4_,4_|_ 4_1_,I4_, _1 4_/ 4_,_, _/ _, 4/ d_) ._,4_|_,/ /uns i gned i nt Read_Temperature (vo i d)EAR;lnit_18B20 ();Wr iteOneChar (OxCC);发送跳过ROM指令/发送存储器命令lnit_18B20();Wr iteOneChar (OxCC);Wr iteOneChar (OxBE);发送跳过ROM指令读暂寄存器命令Wr iteOneChar (0x44);低八位/高八位将低八位,高八位合起来到一个a = ReadOneChar ();b = ReadOneChar ();value= (b«8) |a;变量中return(vaIue);EA=1 ;)void InitTimerO(void)2016位定时器模式TMOD = 0x01;TH0 = 0xD8;TL0 = OxFO;EA = 0;ETO = 1;TRO = 0;/关掉所有的中断/ TO的中断/ TO不计时/d, 411 4 工,1 11 114J_,/*)| *T函数说明:主函数void main(void)(InitTimerOO ;whi le(1)主循环temperature=Read_Temperature ();temperature1=temperature&0x0fff;i f (temperature&OxfOOO) =0xf000)(FAN = 0;EA = 0;TRO =0;)e I sei f (temperaturel<0x0640)FAN = 0; EA = 0; TRO =0; if(temperaturel>=0x0640)&& (temperaturel<0x0780)21EA = 1: TRO =1; if (0x0780<=temperature1) FAN = 1; EA = 0; TRO =0; )void TimerOInterrupt (void) interrupt 1 (THO = 0xD8;TLO 二 OxFO;FAN二FAN;22第1章绪论总体框架设计图1.1温度计系统功能方块图通过温度采集电路,采集当前温度信号,将采集到的模拟信号通过ADC0809 模数转换芯片,转变为AT89c51可控的数字信号,AT89C51芯片根据输入的当前 实际温度,控制输出合理的数字信号,再由DAC0832转换为模拟信号,输入到后 向加热执行电路,以此来完成对整个温度监测控制。节省了人力资源,并且能够 根据用户设定的温度与检测来的温度的比较结果来迅速的对温度进行控制。1.1 设计需要解决的问题将AT89c51和DAC0832结合,利用AT89C51控制器实现DAC0832温度传感器 的温度采集和控制处理的工作再结合PID智能控制,不但可以提高温度控制的速 度、精度、而且还可以提高系统的稳定性。第2章 温度计测温系统的硬件设计单片机小系统2.1.1 单片机的选用微处理器AT89c51单片机作为主要控制器,是ATMEL公司生产的低电压,高 绩效CM0S8有4 k字节flash单片机可擦只读程序存储器和获取数据128字节的 随机存取内存(RAM),设备采用ATMEL公司的高密度非易失存储器技术,生产, 和标准MCS - 51指令,8 -芯片,通用单片机的中央处理单元(CPU)和闪存细胞相容性。如果RST持续高水平,单片机复位状态在循环。每次复位后,单片机 程序将从第一个新的执行。由设计的要求,只要做小型集成最小系统应用在小型 控制单元。单片机开发系统仿真只能单片机,并没有为用户提供一般的最小系统。 单片机系统硬件电路原理图如图2. 1所示。U1>XTAL1ranDQ 21Moi 9Q2JKD2XTAL22X3 9O4AD49QJ6M6RSTfO.?ADT,2 DM以21M口aleW4M12Ek26” misF1D3ORXD 1.1VTXD八2hjmnTTF1.4F1SF3SH-1八6PIT.37/<tr图2.1 最小系统图臼肖绍杰,赵航.测距式超声波防盗报警器J.锦州师范学院学报(自然科学版).2012(03)DC Do 4DC Do 4nW.%|/y,江江e小M售叫%明尼尼89C5I16x16 IXDTI 小 T1 OIT MAW2RI (MT RI IN MAX232图2.2 AT89C51单片机系统的硬件电路原理图2.1.2 时钟模块硬件电路DS1302是一个高性能、低功耗实时时钟芯片DS1302和微控制器连接只需要 三行,采用三线SPI接口与CPU同步通信发送时钟信号或多个字节的RAM中的数 据。在此系统中,AT89c51单片机为主要设备,DS1302的设备和从设备接收数据, 发送数据。本次系统设计中系统时钟所采用的晶振为50MHz的有源晶振,活跃的 晶体主要使用3. 3 V直流电源,该电源系统时钟电路。系统时钟电路如图2.3 所示。经实际电路测试,该时钟电路可以稳定输出50MHz的时钟频率,该时钟电 路是单片机最小系统中常用的系统时钟电路,因此该设计电路非常可行,稳定性 也很好。臼路锦正,王建勤,杨绍国,赵珂,赵太飞.超声波测距仪的设计J.传感器技术.2012(08)3.3V3.3V图2. 3时钟模块硬件电路图复位电路在MCS单片机系列,广泛使用复位电路如图2.4所示,其有效时间就持续 24个振荡周期以上才能完成复位操作。RST销复位信号输入,复位信号的有效高 度,RST有一定宽度的脉冲,可以有效地实现电动自动复位和手动复位在12MHz 时钟时,通常C7可取22uF, R2可取1kQ,需持续2 口 s以上才能完成复位操 作。)Do-VDD33IXu-C - c 一, Lws10k。o c XO ronRSTIGNDoOVDD33CAT1O25JH3OGND图2.4复位电路在图2.4中,信号nRST连接到LPC2119芯片的复位引脚RESET, nests还连 接到键盘与LCD驱动芯片ZLG7290的复位端,用于ZLG7290的复位。随着时间的 增加,电容电压值增加缓慢,和RST销上的电压逐渐降低,当RST销的电压值降 至较低水平,单片机恢复正常,呼吁电动复位。2. 1.4同步动态随机存储器SDRAM作为NIOSI I系统中最重要的一个组成部分,在AT89c51系统设计过 程中担任着重要角色。每次系统上电的时候,AT89C51都会把EPCS中存储的控 制程序发送给SDRAM,并在SDRAM中运行,由于SDRAM速度很快,这样做可以加 快系统的运行速度,考虑到SDRAM中数据掉电丢失的特性,因此我们要将程序提 前固化到EPCS中。图2.5 SDRAM电路2. 2温控模块电路设计2. 2.1温度传感电路设计本文采用DS18B20数字温度传感器作为测温元件。采用单总线专用技术,既 可通过串行口线,也可通过其它I/O 线与微机接口,无须经过其它变换电路, 直接输出被测温度值(9位二进制数,含符号位)测温范围为-55-+125,测 量分辨率为0. 0625o DS18B20内部结构主要由四部分组成:64位光刻ROM,温 度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排 列如图2.6所示。DS18B>0123GND IO VOC图2.6DS18B20管脚图在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源, GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、 GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O 线要接5KQ左右的上拉电阻.我们采用的是第一种连接方法,如图2.7所示:把DS18B20 的数据线与单片机的13管脚连接,再加上拉电阻。XC5L2POOP01P02P03黑P06P07P27P26P25P24P23P22P21P20a15 nC3 - AT8PS51106RI 82K图2.7温度传感电路图DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制 DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每 一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发 送RAM指令,这样才能对DS18B20进行预定的操作。2. 2. 2温度控制电路的设计VC5, 1“加热电风扇°0123456 7 LP1P1P1P1P1P1P1P10123456 7 LP1P1P1P1P1P1P1P1ri roMvpXTAUXT.AL2 叵SET1。 Ti3029Q123T5Q77654311。 mpowpopomP2P2P2P2P2P2P2P2图2.8 温度控制电路实际电路如图2. 8所示,通过键盘设定温度的上下限。把实际测量的温度和 设定的上下限进行比较,来控制P0.0、P0.1、P0.7端口的高低电平。把P0.0、 P0.1、P0. 7端口分别与三极管的基极连接来控制温度和报警。当测量的温度超 过了设定的最高温度,P2.2由高电平变成低电平,就相当于基极输入为“0”, 这时三极管导通推动小风扇和控制电路工作,反之,当基极输入为“1”时,三 极管不导通,报警器和控制电路都不工作。只要控制单片机的P0.0、P0. 1、P0. 7 口的高低电平就可以控制模拟电路的工作。2.3系统外围电路设计2. 3.1显示电路设计液晶显示采用LCD12864,这样就算是在不使用计算机的情况下,控制系统 系统也能正常运行,并且能具有直观的可视性。使用该模块模式灵活的界面和简 单和方便的操作指令,可以在中文构成了人机交互式图形界面。主要是通过键盘 显示电路,实现刹车片温度设置,速度和当前参数设置。