温度检测报警器单片机课程设计大学毕业设计论文Word格式.docx
《温度检测报警器单片机课程设计大学毕业设计论文Word格式.docx》由会员分享,可在线阅读,更多相关《温度检测报警器单片机课程设计大学毕业设计论文Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
![温度检测报警器单片机课程设计大学毕业设计论文Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/13/a4db9fe1-b452-4f38-ab36-8e2ac346a0e8/a4db9fe1-b452-4f38-ab36-8e2ac346a0e81.gif)
其系统框图如图1.1-1所示。
图1.1-1温度监测报警设计系统框图
基于图1.1-1框图介绍,可了解到温度监测报警设计的各个模块。
每个模块均由一个核心器件,对于该器件的选择在某种程度上决定了设计方案的选择。
由于是利用单片机控制电路,因此在电路中,单片机控制处理器为核心器件。
在本设计中可使用STC89C2051、STC89C51以及凌阳公司生产的16位单片机等。
考虑到各种因素,本设计选用STC89C51单片机作为核心控制CPU。
要设计温度监测便要有温度采集,可以采集温度的途径较多,文中采用达拉斯公司生产的单线数字温度传感器DS18B20,其可使温度信号直接转换成串行数字信号供微处理器处理,且外围电路简单、实现方便。
显示技术是传递视觉信息的技术,由于LED数码管显示器的寿命较长、价格低廉且显示清晰,所以在设计中选择LED显示环境温度。
1.2硬件系统设计
本设计硬件系统主要包括温度传感器、时钟电路、复位电路以及控制核心单片机等几个模块,下面将对所涉及的模块进行逐一介绍。
1.2.1单片机简介
本设计采用STC89C51单片机作为控制核心,STC89C51单片机是采用8051核的ISP在系统可编程芯片,片内含8KB的可反复擦写1000次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及8051引脚结构。
此款单片机是单时钟的兼容8051内核单片机,是高速/低功耗的新一代8051单片机。
其引脚图如图1.2.1-1所示。
图1.2.1-1STC89C51单片机引脚功能图
单片机STC89C52引脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门流。
当P1口的管脚第一次写1时,定义为高阻输入。
P0口能够用于外部程序数据存储器,它可以被定义为数据/地址的八位。
在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口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TT逻辑电平。
对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
在访问外部程序存储器或用16位地址读取外部数据存储器(如执行MOVX@DPTR)时,P2口送出高8位地址。
在这种应用中,P2口使用很强的内部上拉发送1。
在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。
在Flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。
P3口:
P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。
对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
P3口也作为AT89S52特殊功能(第二功能)使用。
RST:
复位输入。
在晶振工作时,RST脚持续两个机器周期高电平将使单片机复位。
看门狗计时完成后,RST脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
在DISRTO默认状态下,复位高电平有效。
ALE/PROG:
地址锁存控制信号(ALE)在访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(PROG)也用做编程输入脉冲。
PSEN:
外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。
当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。
EA/VPP:
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。
为了执行内部程序指令,EA应该接VCC。
在Flash编程期间,EA也接收12伏VPP电压。
XTAL1:
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:
振荡器反相放大器的输出端。
1.2.2温度传感器工作原理
DS18B20数字温度计提供9-12位摄氏温度测量而且有一个由高低电平触发的可编程的不因电源消失而改变的报警功能。
DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。
它的测温范围为-55~+125℃,并且在-10~+85℃精度为±
5℃。
除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。
每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上;
因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。
这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。
表1.2.2-1详细引脚说明
序号
名称
引脚功能描述
1
VCC
可选择的Vcc引脚。
当工作于寄生电源时,此引脚必须接地。
2
DQ
地信号。
3
GND
将数据写入暂存器的TH、TL字节
图1.2.2-1是表示DS18B20的方框图,表1.2.2-1已经给出了引脚说明。
64位只读存储器储存器件的唯一片序列号。
高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据。
除此之外,高速暂存器提供一个直接的温度报警值寄存器(TH和TL),和一个字节的的配置寄存器。
配置寄存器允许用户将温度的精度设定为9,10,11或12位。
TH,TL和配置寄存器是非易失性的可擦除程序寄存器(EEPROM),所以存储的数据在器件掉电时不会消失。
图1.2.2-1DS18B20方框图
DS18B20的核心功能是它的直接读数字的温度传感器。
温度传感器的精度为用户可编程的9,10,11或12位,分别以0.5℃,0.25℃,0.125℃和0.0625℃增量递增。
在上电状态下默认的精度为12位。
DS18B20启动后保持低功耗等待状态;
当需要执行温度测量和AD转换时,总线控制器必须发出[44h]命令。
在那之后,产生的温度数据以两个字节的形式被存储到高速暂存器的温度寄存器中,DS18B20继续保持等待状态。
当DS18B20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”(见单总线系统节),DS18B20正在温度转换中返回0,转换结束返回1。
如果DS18B20由寄生电源供电,除非在进入温度转换时总线被一个强上拉拉高,否则将不会由返回值。
寄生电源的总线要求在DS18B20供电节详细解释。
1.2.3时钟电路设计
MCS-51内部有一个用于构成震荡器的高增益反向放大器,此放大器的输入端和输出端分别是XTAL1和XTAL2,在XTAL1和XTAL2上外接晶振可构成时钟电路。
时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。
晶振频率的大小决定了单片机系统工作的快慢。
本次设计采用内部方式的外部时钟接法。
为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,电容C1、C2对频率有微调作用,故外接晶振时,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个机器周期,即使单片机有效地复位。
图1.2.4-1复位电路原理图
2软件模块设计
2.1主程序
系统程序主要包括延时子程序、外部中断0服务子程序、外部中断1服务子程序、显示温度子程序、报警子程序、主程序等。
主程序的功能为:
按下开关键,使处于开的状态后,4位LED数码直接读出温度。
若按一下设置键,则可设置温度的上限,蜂鸣器滴滴滴报警,当所测的温度低于所设置的下限,二极管闪烁亮,蜂鸣器滴滴滴报警。
2.2主程序流程图
图2.2-1主程序流程图设计
在主程序流程图中,当开关键按下时,DS18B20开始工作,读出其温度值后,进行数据转换,下一步进行判断,是否超过所设定的温度上限和温度下限,若超过,则蜂鸣器发出声音,并在数码管上进行显示;
若没有超过,则蜂鸣器不响,并在数码管上进行显示,然后重复上述步骤。
2.3DS18B20软件设计流程图
DS18B20器件要求采用严格的通信协议,以保证数据的完整性。
该协议定义了几种信号类型:
复位脉冲、应答脉冲时隙;
写0,写1时隙;
读0,读1时隙。
与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。
发送所有的命令和数据时,都是字节的低位在前,高位在后。
2.3.1读温度子程序设计流程图
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
其程序流程图如图2.3.1-1所示。
2.3.1-1读出温度子程序流程图
2.3.2温度转换命令程序设计
温度转换命令程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。
如图2.3.2-1所示。
图2.3.2-1温度转换命令子程序流程图
3系统调试
3.1硬件系统调试
对板子的安装和调试在整个设计过程中是很重要的一个过程,是把设计转换成实际物体的过程,也是对理论知识的一个实际应用。
对产品进行检测的过程中使用检测仪器有:
万用表、电源、示波器等器材。
其检测步骤有下述几类。
3.1.1不加电源检测
对照设计原理图以及实物,检查线路是否连线正确,包含是否存在误接、虚焊等;
用万用表检测焊接是否良好,元