单片机的温控报警器的设计

目录
一、引言 1
(一)本课题的研究意义 1
(二)温控报警器的组成: 1
二、系统的硬件部分 2
(一)主控制器模块:AT89C51单片机 2
(二)数码管显示模块:四位共阴LED数码显示管 4
(三)A/D转换模块 4
三、系统的软件设计 6
(一)键盘扫描程序流程图 10
(二)温度上下限设定子程序流程图 10
(三)延时子程序流程图 10
四、仿真结果 10
五、总结 12
六、致谢 14
一、引言
(一)本课题的研究意义
现今单片机几乎涉及到各个领域,就是我们日常家用中也能看见单片机的身影,列如我们用的智能化的家用电器:洗衣机,空调,电冰箱,电饭煲等等都普遍的采用了单片机来智能化的控制,代替了传统的电子线路控制;因此单片机的学习我们应该重视。
温度,与生活息息相关,随着时代的发展,人们对生活环境要求的提高,对于温度的检测和控制也变得迫切了起来。本次的设计的目的就是基于AT89C51单片机的温度检测,报警系统。
(二)温控报警器的组成:
1、温控报警器的基本结构:
本系统由五个部分组成,五个部分分别是主系统的控制、彩屏的显示、温度的检测、报警和设定报警温度这五个部分。
2、温控报警器的工作原理:
温控报警器的工作原理是通过DS18B20温度传感器感应温度,利用其感温效应将被测温度的电压变化采集过来,再由AD0808将0-5V的电压信号转换模拟成0-255℃的温度值,再输送入单片机 *好棒文|www.hbsrm.com +Q: %3^5`1^9`1^6^0`7^2# 
,由单片机输入显示设备,再由外设键盘设定温度警戒值,当温度超过警戒值时,蜂鸣器就会响动,从而达到报警的效果。
(三)总体设计规划
规划一:通过读取温度传感器DS18B20测量温度后存储的数据,将它送去数码管显示。当这个值高于或低于一定温度将分别用红灯、黄灯报警。这个方案由于DS18b20测量温度范围在工业生产中较小。而且由于编程时采用I2C通信,因此读取数据是时序要求较高,程序编写复杂。本方案电路复杂,灵活性不高,效率低,不利于系统的扩展,对信号处理比较困难。?
规划二:采用51系列单片机作为整机的控制单元,通过DS18B20温度传感器检测温度,再通过它的感温效应将被测温度的电压变化采集过来,通过再0-5V模拟电压信号通过AD0808模数转换成模拟温度值0-255℃,然后通过数码管显示其温度值。此方案设计简单,编程容易,并且增宽了测量温度范围。?
本设计采用第二种方案。为了能够使系统具备检测温度的大小,利用51系列单片机为主控制器,通过AD0808检测由电位器分压输出的的电压值,从而输出模拟温度值0-255℃送入单片机,并且送去由数码管显示。
二、系统的硬件部分
(一)主控制器模块:AT89C51单片机
单片机的控制电路的主要的元器件是AT89C51,它的管脚图如下图所示:
图2-1 AT89C51管脚图
AT89C51是一种带4K字节 FLASH存储器 的低电压、高性能CMOS8位微处理器 ,一般称之为单片机 。AT89C51是一种带2K字节闪存可编程可擦除只读存储器 的单片机。单片机的可擦除只读存储器能够反复擦除1000次。这个器件采用ATMEL高密度非易失存储器制造技术制造,和工业标准的MCS-51指令集和输出 管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统 提供了一种灵活性高并且价廉的方案。
2.管脚说明
P0口 P0能够用于外部程序数据存储器 ,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻
P1口 P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口 P2口是一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口在用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,由于上拉的缘故,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口 P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表2-2所示:
表2-2 P3口特殊功能
P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7
RXD(串行输入口) TXD(串行输出口) INT0(外部中断0) INT1(外部中断1) T0(计时器0外部输入) T1(计时器1外部输入) WR(外部数据存储器写选通) RD(外部数据存储器读选通)
XTAL1是反向放大器的输入,XTAL2是反向放大器的输出。这个反向放大器能够配置为片内振荡器。石英晶体振荡器和陶瓷振荡器都可以采用。如果采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,所以对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
(二)数码管显示模块:四位共阴LED数码显示管
采用动态显示方式,由P0口输出段码,P2口的P2,0-P2,3输出位码
这个系统的程序包括主程序、发送数据子程序、键盘扫描子程序、温度设定子程序、延时子程序、发送和接收子程序等。主程序的用处在于系统初始化,子程序调度等。发送数据子程序用于将数据发给单片机接口。接收命令子程序用于接收单片机接口发来的键盘命令。
(二)温度上下限设定子程序流程图:

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/2174.html

好棒文