[信息与通信]基于单片机的数字温度计设计

上传人:痛*** 文档编号:75400794 上传时间:2022-04-15 格式:DOC 页数:36 大小:278.81KB
收藏 版权申诉 举报 下载
[信息与通信]基于单片机的数字温度计设计_第1页
第1页 / 共36页
[信息与通信]基于单片机的数字温度计设计_第2页
第2页 / 共36页
[信息与通信]基于单片机的数字温度计设计_第3页
第3页 / 共36页
资源描述:

《[信息与通信]基于单片机的数字温度计设计》由会员分享,可在线阅读,更多相关《[信息与通信]基于单片机的数字温度计设计(36页珍藏版)》请在装配图网上搜索。

1、湖南省技术学院学生毕业设计报告(论文)设计题目:基于单片机的数字温度计设计系 别: 电子信息工程系 班 级: 08电子工艺与管理 专 业: 电子工艺与管理 学 号: 姓 名: 指导老师: 老师 开题时间:完成时间:摘要温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,即随着现代信息技术的飞速发展,能够独立工作的温度检测和显示系统应用于诸多领域,因此研究温度的测量方法和装置具有重要意义。在单片机的应用中,一个很重要的应用就是对温度进行检测,测量温度的关键是温度传感器,采用智能温度传感器以实现温度数字化,既能以数字形式直接输出被测温度值,具有测量误差小,分辨力高,抗干扰能力强,能够远程传

2、输数据,带串行总线接口等优点。本系统以AT89C51单片机作为主控制器件,DSl8B20作为测温传感器,通过4位共阳极LED数码管串口传送数据,进行温度数字的显示。通过DSl8B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0100最大线性偏差小于0.1。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。所以,单片机、温度传感器等电子元器件的互联,可以研制和开发出具有高性价比的新一代测温系统基于单片机的数字温度计。基于单片机的数字温度计设计,即对温度进行实时测量,使用单线数字温度传感器

3、DS18B20把温度信号直接转换成数字信号输入单片机,即将实时温度显示出来。关键词:单片机;温度检测;AT89C51;DS18B20;目录摘要1一、绪论3(一)、课题背景3(二)、设计的目的和意义3(三)、课题研究的主要内容3二、系统方案论证与比较4(一)、方案比较4(二)、方案论证5三、系统硬件设计及电路5(一)、系统组成5(二)、电路原理5(三)单片机最小系统连接电路6(四)、主控制器电路61、AT89C51的简单介绍62、AT89C51单片机的管脚功能8(五)、温度传感器与单片机的连接电路81、DS18B20的简单介绍92、DS18B20的引脚及功能介绍103、DS18B20的内部结构1

4、14、DS18B20的测温原理125、DS18B20使用中的注意事项13(六)、显示电路14(七)、电源电路14(八)、复位信号及外部复位电路14(九)、单片机与报警电路14四、系统软件设计及流程图15(一)、概述15(二)、主程序模块15(三)、各模块流程设计161、温度传感器的数据流程设计162、报警模块流程设计173、中断设定流程设计18五、仿真与调试20总结与体会22参考文献23致谢24附录1 原理图附录3 仿真图附录4 程序基于单片机的数字温度计设计一、绪论(一)、课题背景单片机更确切的应称作微控制器,是20世纪70年代中期发展起来的一种面向控制的大规模集成电路模块,其特点是功能强大

5、、体积小、可靠性高、价格低廉。随着人们生活水平到的不断提高,单片机控制无疑是人们追求的目标之一,其中数字温度计就是其应用中的一个典型例子。温度测量在热学实验中,有特别重要的意义。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。现在所使用的温度计通常都是精度为1摄氏度和0.1摄氏度的水银、煤油或酒精温度计,这些为低级的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。本文所介绍的数字温度计与传统的温度计相比,极有读数方便、测温范围广、测温准确等优点,其

6、输出温度采用数字显示,主要供测温要求准确的场所和科研试验室使用。(二)、设计的目的和意义目的:1、巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业设计控制的能力。2、培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。3、通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。意义:通过本次毕业设计,熟悉单片机AT89C51和传感器DS18B20的应用,及单片机与外围带那里的接法,加深对单片机以及传感器的认识,了解单片机在日常生活中的应用及其重要性。同时,通过查找资料,涉及电路,

7、使本次设计的数字温度计具有结构简单、成本低廉、精度度高、反应速度快、数字化显示和不易损坏等特点。在这次设计中,熟悉了制作一个产品的总体流程,能熟练使用一些必要的设计工具和仿真工具等。通过选认元件,连线,调试检测等过程,锻炼自己的理论联系实际的能力和实际操作能力,从而综合性地巩固所学的知识,为将来的工作做一次实战演习。(三)、课题研究的主要内容数字温度计采用温度敏感元件也就是温度传感器,将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,如LED,LCD或者电脑屏幕等显示出来

8、给人观察。这样就完成了数字温度计的基本测温功能。本课题的研究重点是设计一种基于单片机的数字温度计控制系统。基于AT89C51单片机,采用数字温度传感器DS18B20,利用DS18B20不需要A/D转换,直接进行温度采集显示,报警的数字温度计设计。包括传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。主要工作如下:1、利用温度传感器(DS18B20)测量某一点环境能够温度。2、测量范围为-55摄氏度至+125摄氏度,3、精度误差小于1摄氏度。4、可实现温度设定的上下限报警功能。5、LED液晶显示实际温度值。二、系统方案论证与比较(一)、方案比较方案一:采用热电偶温差电路

9、测温,温度检测部分可采用低温热偶,热电偶由两个焊接在一起的异金属导线组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。数据采集部分则使用带有A/D通道的单片机,再将随被温度变化的电压或电流采集过来,进行A/D转换后,就可用单片机进行数据处理了,在显示电路上就可以将北侧温度显示出来。热电偶优点是工作温度宽,且体积小,但是也存在输出电压小,容易遭受来自导线环路噪音的影响以及飘移较高的缺点并且这种电路需用到A/D转换电路,感温电路比较麻烦。A/D转换器单片机温度显示热电阻方案一方框图方案二:采用数字温度计芯片DS18B20测量温度,输出信号全数字化。便于单片机处理和控制,省去传统

10、的测温方法的很多外围电路。且该芯片的物理化学性质稳定,元件线性较好。在0100摄氏度时,最大线性偏差小于1摄氏度。DS18B20的最大特点之一是采用了单总数的数据传输,由数字温度计DS18B20和微控制器AT89C51构成温度测量装置,它直接输出温度的数字信号,可直接和计算机连接。这样温度系统的结构就比较简单,采用51单片机控制软件编程的自由度大,而且体积小,硬件实现简单,安装方便。该系统利用AT89C51芯片控制温度传感器DS18B20进行温度的、实时检测并显示,能够实现快速测量温度,并可以根据需要设置上限报警温度。温度传感器DS18B20显示器LED单片机AT89C51方案二方框图从以上两

11、总方案,容易看出方案一的温测装置可测温度范围广,体积小,但是单线性误差大。而方案二的温测装置电路简单,精准度较高,实现方便,软件设计也比较简单,故本次设计采用方案二。(二)、方案论证在日常生活及工农业生产中经常要检测温度,传统的方式是采用热电偶或热电阻。其硬件电路和软件调试比较复杂,制作成本较高。近年来随着科技的飞速发展,对单片机的应用不断深入。所以我们选用单片机作为核心部件进行逻辑控制及信号的产生,用单片机本生的优势节约成本,使电路更简单。根据题目的要求,本次设计采用由AT89C51单片机及DS18B20温度传感器组成数据采集电路,加上显示电路和控制电路等,根据温度数据测量,通过控制电路对温

12、度进行控制。本系统具有快速显示、测量准确、精度高、可调温控范围、硬件结构简单等优点,是一种比较经济的温度控制系统。三、系统硬件设计及电路(一)系统组成本课题是以AT89C51单片机核心设计的一种数字温度控制系统。系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路主板等组成。系统框图主要由主控制器,单片机复位、报警案件设置、LED显示、温度传感器等组成。根据系统功能要求,构造系统框图如图所示。单片机AT89C51时钟复位电路报警电路DS18B20温度数据采集驱动显示系统原理结构框图(二)、系统设计原理温度传感器DS18B20可以直接读取被测温度值,进行转换

13、的特性,模拟温度值经过,DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警,同时处理后的数据送到LED中显示。用AT789C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。获得的数据可以同福哦MAX232芯片与计算机的RS接口进行串口通信,方便的采集和整理时间温度数据。(三)、单片机最小系统连接电路单片机小系统的电路图(四)、主控制器电路单片机AT89C51具有低电压和体积小等特点,四个端口只需要两个口就能满足带你路系统的设计需要,很适合便携式手持式产品的设计

14、使用系统可用二节电池供电。1、AT89C51介绍VCC:供电电压。GND:接地。P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1是,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉带电阻8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时

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

16、为低电平,P3看将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下备选功能口:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4TO(计时器0外部输入)P3.5T1(计时器1外部输入) P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当震荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于所存地址的地位字节。在FLAS

17、H编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在iSFR8EH地址上置0。此时,ALE只有在执MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取值期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,

18、则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2、AT89C51单片机的管脚功能兼容MCS-51指令系统4k可反复擦写(1000次)Flash ROM32个双向I/O口可编程UARL通道两个16位可编程定时/计数器全静态操作0-24MHZ1个串行中断128x8bit内部RAM两个外部中断源共6个中断源可直接驱动LED3

19、级加密位低功耗空闲和掉电模式软件设置睡眠和唤醒功能(五)、温度传感器与单片机的连接电路采用温度传感器DS18B20作为测温元件。温度传感器的单总线(1-Wire)与单片机的P2.0连接,P2.0是单片机的高位地址线A8。P2端口是一个带内部上拉电阻的8位双向IO,其输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对该端口写“1”,可通过内部上拉电阻将其端口拉至高电平,此时可作为输入口使用,这是因为内部存在上拉电阻,某一引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时。如执行MOVX DPTR指令,则表示P2端口送出高8位的地址数据。在访问8位地址的

20、外部数据存储器时,可执行MOVX RI指令,P2端口内容即为特殊功能寄存器(SFR)区中R2寄存器内容,整个访问期间不改变。在Flash编程和程序校验时,P2端口也接收高位地址和其他控制信号。DS18B20与单片机的接口电路1、DS18B20简单介绍DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”。温度测量范围为-55+125摄氏度,可编程为9位12为转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16为数字量方式串行输出;其工作电源既可以在远端引入,也可以采用桨声电源方式产生;多

21、个DS18B20可以并联到3根或2根线上,CPU只需一根端口就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20的性能特点如下:(1)、独特的单线接口方式,其在与微处理器连接时仅需一条口线即可实现微处理器与DS18B20的双向通讯。(2)、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(3)、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一直三极管的集成电路内。(4)、适应电压范围更宽

22、,电压范围:3.05.5V,在寄生电源方式下可由数据线供电。(5)、温范围-55摄氏度+125摄氏度,在-10+85摄氏度时精度为正负0.5摄氏度。(6)、零待机功耗。(7)、可编程的分辨率为912位,对应的可分辨温度分别为0.5摄氏度、0.25摄氏度、0.125摄氏度和0.0625摄氏度,可实现高精度测温。(8)、在9位分辨率时最多在93.7ms内把温度转换为数字,12位分辨率时最多ms内把温度值转换为数字,速度更快。(9)、用户可定义报警设置。(10)、报警搜索命令识别并标志超过程度限定温度(温度报警条件)的器件。(11)、测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时

23、可传送CRC校验码,具有极强的抗干扰纠错能力。(12)、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。2、DS18B20引脚及功能介绍DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。温度传感器DS18B20的管脚排列、封装形式如图所示 8引脚封装 TO92封装图 温度传感器NC(引脚1/26/7/8):空引脚,悬空不使用。GND(引脚5):地信号。DQ(引脚4):数据输入/输出引脚;开漏单总线接口引脚;当被用在寄生电源下,也可以向器件提供电源;常态下高电平。VDD(引脚3):可选择的VDD引脚;电源电压范围35.5V;当

24、工作于寄生电源是,此引脚必须接地。3、DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、温度报警触发器TH和TL、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例

25、,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。这时12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E

26、2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。该字节各位的意义如下:TM R1 R0 1 1 1 1 1低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如表1所示:(DS1

27、8B20出厂时被设置为12位)DS18B20温度转换时间表R1R0分辨率/位温度最大转向时间00993.750110187.510113751112750根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出6064位ROM和单线接口存储器与控制逻辑高速缓存温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器240微秒的存

28、在低脉冲,主CPU收到此信号表示复位成功。DS18B20内部结构图4、DS18B20测温原理DS18B20测温原理,其低温度系数晶振振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2脉冲输入,内还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门开启时间由高温度系数振荡器来决定,每次测量前,首先将-55摄氏度多对应的基数分别置入减法计数器1和endure寄存器中,减法计数器1和温度寄存器被预置在-55摄氏度多对应的一个基数值。减法计数器1对

29、低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温的斜率累加器用于补偿和修正测温过程中的非线性其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议:初

30、始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。在正常测温情况下,DS18B20的测温分辨率为0.5摄氏度,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20提供的读暂存器指令(BEH)读出以0.5摄氏度为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz,然后再用BEH指令取计数器1的技计数剩余值Cs和每度计数值CD。考虑到DS18B20测量温度的整数部分以0.25摄氏度、0.75摄氏度为进位界限的关系,实际温度Ts可用下式计算:Ts=(Tz-0.25摄氏度)+(CD-Cs)/CD5、DS18B20使用中的注意

31、事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)、DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不会出现转换错误的现象,使温度输出显示85.(2)、在实际使用中发现,应使电源电压保持5V左右,若电源电压过低,会使所测的温度精度降低。(3)、较小的硬件开销需要相对复杂进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。(4)、在DS18B20的有关资料中均提及单总线所挂DS18B20数量问题

32、,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上所挂DS18B20超过8个时,就需解决微处理器的总线驱动问题,这一点在进行多点测温系统设计是要加以注意。(5)、在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。(六)、显示电路电路采用LED液晶显示数码管,采用P3口RXD,TXD串口输出段码。显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用P3口的RXD,和TXD,串口的发送和接收,四只数码管采用74HC1

33、64寄存器驱动,显示比较清晰。采用技术成熟的74HCl64实现串并转换。LED显示分为静态显示和动态显示。这里采用静态显示,系统通过单片机的串行口来实现静态显示。串行口为方式零状态,即工作在移位寄存器方式,波特率为振荡频率的1/12。当器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时允许从TXD端输出移位脉冲。(七)、电源电路由于该系统需要稳定的5V电源,因此设计时必须采用能满足电压、电流和稳定性要求的电源。该电源采用三端集成稳压器LM7805。它仅有输入端、输出端及公共端3个引脚,

34、其内部设有过流保护、过热保护及调整管安全保护电路由于所需外接元件少,使用方便、可靠,因此可作为稳压电源。电源电路连接图(八)、复位信号及外部复位电路单片机的P1.6端口是MAX813看门狗电路中喂狗信号的输入端,即单片机每执行一次程序就设置一次喂狗信号,清零看门狗器件。若程序出现异常,单片机引脚RST将出现两个机器周期以上的高电平,使其复位。该复位信号高电平有效,其有效时间应持续24个振荡脉冲周期即两个机器周期以上。若使用频率为12MHz的晶体振荡器,则复位信号持续时间应超过2s才完成复位操作。(九)、单片机与报警电路系统中的报警电路是由发光二极管和限流电阻组成,并与单片机的P1.2端口连接。

35、P1端口的作用和接法与P2端口相同,不同的是在Flash编程和程序校验期间,P1接收低8位地址数据。六、系统软件设计及流程(一)、概述整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最

36、合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。(二)、主程序模块主程序需调用4个子程序,分别为数码管显示程序,温度测试及处理子程序,报警子程序,中断设定子程序。各模块程序功能如下:1、数码管显示程序:向数码的显示送数,控制系统的显示部分。2、温度测试及处理子程序:对温度芯片送过来的数据进行处理,进行判断和显示。3、报警子程序:进行温度上下限判断及报警输出。4、中断设定程序:实现设定上下限报警功能。开始总线置1并延时总线置0并延时480us总线置1返回主程序流程图(三)、各模块流程设计1、温度传感器的数据流程设计DSl8B20的主要数据元件有:64位激光

37、Lasered ROM,温度灵敏元件和非易失性温度告警触发器TH和TL。DSBl820可从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5V电源,给DSl8820供电。DSl8820的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。开始DS18B20的初始化启动温度转换读取温度寄存器跳过读序列号的操作跳过读序列号的操作DS18B20的初始化RETLOW-低八位 HIGH-高八位读取数据的流程图读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625,LOW的

38、高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5的话,向个位进1;小于0.5的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55,所以可以将整数部分的最高位换成一个“-”,表示为负数。开始提取整数部分存入HT提取小数部分存入LTLT右移三位,将精度降低到0.5摄氏度HT+将小数部分整数化提取符号部分存入signLT是否大于5Sign=?0XF0RET负数表示flag=1 HT=

39、HT+1YNNY温度数据处理流程图2、报警模块流程报警程序取读出温度值C清除报警标志位CMAX?CMIN?有参数报警吗返回置上限报警标志置下限报警标志报警装置运行YYYYN3、中断设定流程中断模块采用了外中断和内中断套用方法。当设计需要实现上下限报警时,利用INT0口进行中断,set键进行上下限报警温度设定,进入温度设定状态后(按一下温度设定键),首先会提示显示“UP”字母,表示要用户设定高温报警温度,按S3键,表示本位数字+1,按S4表示移向下一位,如果4位高温设定完毕,则显示“D0”,表示要用户设定低温脖颈温度。4位低温设定完毕,同时会有蜂鸣器及时报警提示,然后自动显示“UP”,让用户重新

40、进行温度设定。关外部中断开内部中断显示UPS4跳到下一位四位设定完显示DOS3S4跳到下一位四位设定完设定温度比较高温/低温?开外部中断关内部中断显示“ERRO”设置报警NNYYYS3中断设定子程序流程图七、仿真与调试本次设计系统的调试以程序的调试为主。先编写显示程序,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等的编程及调试。由于DS18B20与单片机采用串行数据传送,因此对DS18B20进行读/写编程时,必须严格保证让你过读/写时序,否则将无法读取测量结果。本程序采用单片机汇编语言编写,用KeilC编译器编程调试。本系统的测试采用Proteus

41、软件,在Proteus软件仿真时,使用KeilC编译器进行源进行程序编译及仿真调试,调好程序后将目标程序导入Proreus进行软硬件调试,软件调试到数码管能显示温度值,而且在有温度变化时(例如改变传感器的温度值)显示温度能改变。总结与体会本次毕业设计是针对MCS-51系列的单片机芯片AT89C51来设计一个数字温度计,该设计充分利用了温度传感器DS18B20功能强大的优点,如DS18B20可以直接读出被测温度值,进行转换;而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点,大大简化了硬件电路,也使得该数字温度计不仅具有结构简单、成本低廉、精确度较高、反应速度较快、数字化

42、显示和不易损坏等特点,而且性能稳定,适用范围广,因此特别适用于对测温要求比较准确的场所。作为一名电子信息工程的学生,我觉得做单片机课程设计是很有意义的,而且也是必要的。在做这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我们运用了以前学过的专业课知识,如:proteus仿真、汇编语言、模拟和数字电路知识等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结

43、构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经常写与读的过程中才能提高,这就是这次课程设计的最大收获。参考文献1 谢自美. 电子线路综合设计M. 武汉:华中科技大学出版社, 2007.2 夏继强. 单片机应用设计培训教程实践篇M. 北

44、京:北京航空航天大学出版社, 2008.3 何立明. MCS-51单片机应用系统设计(系统配置与接口技术)M. 北京:北京航空航天大学出版社, 2003.4 李广弟, 朱月秀, 王秀山. 单片机基础M. 北京:北京航空航天大学出版社, 2001.7.5 康华光. 电子技术基础(模拟部分)(第五版)M. 武汉:华中科技大学出版社, 2007.6 王毅. 单片机器件应用手册M. 人民邮电出版社, 1995.致谢在本毕业设计的设计和制作过程中,感谢老师给了我很大的帮助,从论文的选题、研制计划的安排到论文的具体的内容,他都给予了悉心的指导,老师严谨的教学态度与精神深深的鼓励着我。同时也离不开很多的同学

45、热心帮助,是他们在我遇到难题的时候给了我启发。通过本次毕业设计,我在专业知识,专业技能和解决问题的方法方面得到很大的提高。更深入了解并掌握了传感器的基本理论知识,并在单片机实际电路开发和常用编程设计思路掌握方面有了一定程度的掌握,尽管本次设计还不是很完善,但这为我以后的设计之路积累了宝贵的经验。附录1 原理图附录2 仿真图附录3 程序源代码DATA_BUS BIT P3.3FLAG BIT 00H;标志位TEMP_L EQU 30H;温度值低字节TEMP_H EQU 31H;温度值高字节TEMP_DP EQU 32H;温度小数TEMP_INTEQU33H;温度值整数TEMP_BAIEQU34H

46、;温度百位数TEMP_SHIEQU35H;温度十位数TEMP_GEEQU36H;温度个位数DIS_BAIEQU37H;显示百位数DIS_SHIEQU38H;显示十位数DIS_GEEQU39H;显示个位数DIS_DPEQU3AH;显示小数位DIS_ADDEQU3BH;显示地址ORG 0000H AJMPSTARTORG 0050H;初始化START:MOVSP,#40HMAIN:LCALLREAD_TEM;调读温度程序LCALL PROCESS;调数据处理程序AJMPMAIN;读温度程序READ_TEMP:LCALLRESET_PULSE;调用复位脉冲程序MOV A,#0CCH;跳过ROM命令L

47、CALL WRITEMOVA,#44H;读温度LCALL WRITELCALLDISPLAY;显示温度LCALLRESET_PULSE;调用复位脉冲程序MOVA,#0CCH;跳过ROM命令LCALLWRITEMOVA,#0BEH;读缓存命令LCALL WRITELCALLREADRET;复位脉冲程序RESET_PULSE:RESET:SETBDATA_BUSNOPNOPCLRDATA_BUSMOVR7,#255DJNZR7,$SETB DATA_BUSMOVR7,#30DJNZR7,$JNB DATA_BUS,SETB_FLAGCLRFLAGAJMPNEXTSETB_FLAG:SETB FLA

48、GNEXT:MOV R7,#120DJNZR7,$SETB DATA_BUSJNBFLAG,RESETRET;写命令WRITE:SETBDATA_BUSMOVR6,#8CLRCWRITING:CLRDATA_BUSMOVR7,#5DJNZR7,$RRCAMOVDATA_BUS, CMOVR7,#30HDJNZR7,$SETBDATA_BUSNOPDJNZR6,WRITINGRET;循环显示段位DISPLAY:MOV R4,#200DIS_LOOP:MOVA,DIS_DPMOVP2,#0FFHMOVP0,ACLRP2.7LCALLDELAY2MSMOVA,DIS_GEMOVP2,#0FFHMOV

49、P0,ASETBP0.7CLRP2.6LCALLDELAY2MSMOVA,DIS_SHIMOVP2,#0FFHMOVP0,ACLRP2.5LCALLDELAY2MSMOVA,DIS_BAIMOVP2,#0FFHMOVP0,AMOVA,TEMP_BAICJNEA,#0,SKIPAJMPNEXTTSKIP:CLRP2.4LCALLDELAY2MSNEXTT:NOPDJNZR4,DIS_LOOPRET;读命令READ:SETBDATA_BUSMOVR0,#TEMP_LMOV R6,#8MOVR5,#2CLRCREADING:CLRDATA_BUSNOPNOPSETBDATA_BUSNOPNOPNOP

50、NOPMOVC,DATA_BUSRRCAMOVR7,#30HDJNZR7,$SETBDATA_BUSDJNZR6,READINGMOVR0,AINC R0MOVR6,#8SETBDATA_BUSDJNZR5,READINGRET;数据处理PROCESS:MOV R7,TEMP_LMOVA,#0FHANLA,R7MOVTEMP_DP,AMOV R7,TEMP_LMOVA,#0F0HANLA,R7SWAPAMOVTEMP_L,AMOVR7,TEMP_HMOVA,#0FHANLA,R7SWAPAORLA,TEMP_LMOV B,#64HDIVABMOVTEMP_BAI,AMOVA,#0AHXCHA,

51、BDIVABMOVTEMP_SHI,AMOVTEMP_GE,BMOVA,TEMP_DPMOV DPTR,#TABLE_DPMOVCA,A+DPTRMOVDPTR,#TABLE_INTERMOVC A,A+DPTRMOVDIS_DP,AMOVA,TEMP_GEMOV DPTR,#TABLE_INTERMOVCA,A+DPTRMOV DIS_GE,AMOVA,TEMP_SHIMOV DPTR,#TABLE_INTERMOVCA,A+DPTRMOVDIS_SHI,AMOVA,TEMP_BAIMOV DPTR,#TABLE_INTERMOVCA,A+DPTRMOV DIS_BAI,ARETDELAY2MS:MOVR6,#3LOOP3:MOVR5,#250DJNZR5,$DJNZR6,LOOP3RETTABLE_DP:DB00H,01H,01H,02H,03H,03H,04H,04H,05H,06HDB06H,07H,08H,08H,09H,09HTABLE_INTER:DB03FH,006H,05BH,04FH,066HDB06DH,07DH,07H,07FH,06FHEND35

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

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

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


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