温度检测报警器单片机课程设计

上传人:桔**** 文档编号:504791163 上传时间:2023-05-30 格式:DOC 页数:21 大小:1.53MB
返回 下载 相关 举报
温度检测报警器单片机课程设计_第1页
第1页 / 共21页
温度检测报警器单片机课程设计_第2页
第2页 / 共21页
温度检测报警器单片机课程设计_第3页
第3页 / 共21页
温度检测报警器单片机课程设计_第4页
第4页 / 共21页
温度检测报警器单片机课程设计_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《温度检测报警器单片机课程设计》由会员分享,可在线阅读,更多相关《温度检测报警器单片机课程设计(21页珍藏版)》请在金锄头文库上搜索。

1、四川师范大学成都学院电子工程学院课程设计报告目录前言11 硬件设计与系统总体方案21.1 系统总体方案21.2 硬件系统设计21.2.1 单片机简介21.2.2 温度传感器工作原理41.2.3 时钟电路设计61.2.4 复位电路设计62 软件模块设计72.1 主程序72.2 主程序流程图82.3 DS18B20软件设计流程图82.3.1 读温度子程序设计流程图82.3.2 温度转换命令程序设计93 系统调试103.1 硬件系统调试103.1.1 不加电源检测103.1.2 静态检测103.2 软件系统调试103.2.1 静态调试103.2.2 动态调试104 设计总结11附录12参考文献192

2、前言 温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。在控制领域中,对温度的控制有着举足轻重的作用。例如陶瓷的烧烤,只有控制住温度的适度,才能制作出一件完美的艺术品,否则只是一件废品;还有如酿酒的过程,也需要对温度进行控制。可见,在生活的许多方方面面都有着对温度进行感知和控制的需要。本次设计的目的就是基于AT89C51单片机设计一个温度检测,报警的系统,该系统能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。该系统实现了对温度的自动监测,为设备的正常

3、运行提供了条件,在工业中具有一定的实用价值和广泛的应用前景。1 硬件设计与系统总体方案1.1 系统总体方案本设计的题目为温度监测报警系统,因为要用单片机去完成程序控制以及数据转换,故外围电路设计较简单。硬件设计可分为:核心控制CPU、环境温度采集、数码管显示、超限报警灯。其系统框图如图1.1-1所示。图1.1-1 温度监测报警设计系统框图基于图1.1-1框图介绍,可了解到温度监测报警设计的各个模块。每个模块均由一个核心器件,对于该器件的选择在某种程度上决定了设计方案的选择。由于是利用单片机控制电路,因此在电路中,单片机控制处理器为核心器件。在本设计中可使用STC89C2051、STC89C51

4、以及凌阳公司生产的16位单片机等。考虑到各种因素,本设计选用STC89C51单片机作为核心控制CPU。要设计温度监测便要有温度采集,可以采集温度的途径较多,文中采用达拉斯公司生产的单线数字温度传感器DS18B20,其可使温度信号直接转换成串行数字信号供微处理器处理,且外围电路简单、实现方便。显示技术是传递视觉信息的技术,由于LED数码管显示器的寿命较长、价格低廉且显示清晰,所以在设计中选择LED显示环境温度。1.2 硬件系统设计 本设计硬件系统主要包括温度传感器、时钟电路、复位电路以及控制核心单片机等几个模块,下面将对所涉及的模块进行逐一介绍。1.2.1 单片机简介本设计采用STC89C51单

5、片机作为控制核心,STC89C51单片机是采用8051核的ISP在系统可编程芯片,片内含8KB的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及8051引脚结构。此款单片机是单时钟的兼容8051内核单片机,是高速/低功耗的新一代8051单片机。其引脚图如图1.2.1-1所示。图1.2.1-1 STC89C51单片机引脚功能图单片机STC89C52引脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,定义为高阻输入。P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的八

6、位。在FLASH编程时,P0口作为原码输入口;当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TTL逻辑电平。当对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0 和P1.2 分别作为定时器/计数器2 的外部计数输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX)。在Flash编程和校验时,P1口接收低8 位地址字节。P2 口:P2 口是一个具有内部

7、上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个TT逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16 位地址读取外部数据存储器(如执行MOVX DPTR)时,P2 口送出高8 位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8 位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在Flash编程和校验时,P2 口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口

8、,P2 输出缓冲器能驱动4 个TTL逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。当作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3 口也作为AT89S52 特殊功能(第二功能)使用。RST: 复位输入。在晶振工作时,RST脚持续两个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出96 个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO 位可以使此功能无效。在DISRTO 默认状态下,复位高电平有效。ALE/PROG:地址锁存控制信号(ALE)在访问外部程序存储器时,锁存低8 位地址的输出脉冲。在

9、Flash编程时,此引脚(PROG)也用做编程输入脉冲。PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。当AT89S52从外部程序存储器执行外部代码时,PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH 的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在Flash编程期间,EA也接收12伏VPP电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。1.2.2 温度传感器工作原理DS18B

10、20数字温度计提供9-12位摄氏温度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。它的测温范围为-55125,并且在-1085精度为5。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非

11、常有用。表1.2.2-1 详细引脚说明序号名称引脚功能描述1VCC可选择的Vcc引脚。当工作于寄生电源时,此引脚必须接地。2DQ地信号。3GND将数据写入暂存器的TH、TL字节图1.2.2-1是表示DS18B20的方框图,表1.2.2-1已经给出了引脚说明。64位只读存储器储存器件的唯一片序列号。高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据。除此之外,高速暂存器提供一个直接的温度报警值寄存器(TH和TL),和一个字节的的配置寄存器。配置寄存器允许用户将温度的精度设定为9,10,11或12位。TH,TL和配置寄存器是非易失性的可擦除程序寄存器(EEPROM),所以

12、存储的数据在器件掉电时不会消失。图1.2.2-1 DS18B20方框图DS18B20的核心功能是它的直接读数字的温度传感器。温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5,0.25,0.125和0.0625增量递增。在上电状态下默认的精度为12位。DS18B20启动后保持低功耗等待状态;当需要执行温度测量和AD转换时,总线控制器必须发出44h命令。在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”(见单总线系统节),DS18B20正在温度转换中

13、返回0,转换结束返回1。如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否则将不会由返回值。寄生电源的总线要求在DS18B20供电节详细解释。1.2.3 时钟电路设计MCS-51内部有一个用于构成震荡器的高增益反向放大器,此放大器的输入端和输出端分别是XTAL1和XTAL2,在XTAL1和XTAL2上外接晶振可构成时钟电路。时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。晶振频率的大小决定了单片机系统工作的快慢。本次设计采用内部方式的外部时钟接法。为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,电容C1、C2对频率有微调作用,故外接

14、晶振时,C1和C2在本设计中选择30pF,振荡频率取12MHz。晶振的两个引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。具体连接图如图1.2.3-1所示:图1.2.3-1 时钟电路原理图1.2.4 复位电路设计MCS-52单片机通常采用上电自动复位、按钮电平复位、外部脉冲复位、上电+按钮电平复位、程序运行监视复位等方式。本设计采用上电复位,其原理图如图1.1.4-1所示,上电复位是利用电容充电来实现的,即上电瞬间RST/Vpd端的电位与Vcc相同,随着充电电流的减少,最后被嵌位在0V,采用3.3uF的CR1和10K的R29可以保证加在引脚上的高电平持续2个机器周期,即使单片机有效地复位。

15、图1.2.4-1 复位电路原理图2 软件模块设计2.1 主程序系统程序主要包括延时子程序、外部中断0服务子程序、外部中断1服务子程序、显示温度子程序、报警子程序、主程序等。主程序的功能为:按下开关键,使处于开的状态后, 4位LED数码直接读出温度。若按一下设置键,则可设置温度的上限,蜂鸣器滴滴滴报警,当所测的温度低于所设置的下限,二极管闪烁亮,蜂鸣器滴滴滴报警。2.2 主程序流程图图2.2-1 主程序流程图设计在主程序流程图中,当开关键按下时,DS18B20开始工作,读出其温度值后,进行数据转换,下一步进行判断,是否超过所设定的温度上限和温度下限,若超过,则蜂鸣器发出声音,并在数码管上进行显示;若没有超过,则蜂鸣器不响,并在数码管上进行显示,然后重复上述步骤。2.3 DS18B20软件设计流程图DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲时隙;写0,写1时隙;读0,读1时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。2.3.1 读温度子程序

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号