基于51的温度报警器设计..
基于51单片机的的温度报警器设计
1引言 (1)1.1 单片机的应用背景 (1)2 总体设计方案 (2)2.1 功能简介 (2)2.2 设计思路 (2)2.3 芯片器材 (3)3 硬件设计 (3)3.1 AT89C51 (3)3.1.1 AT98C51引脚图 (3)3.1.2 AT89C51结构特点 (5)3.2 温度获取 (5) (7)3.3 时钟电路 (8)3.4 温度显示电路 (8)3.5报警电路 (10) (10)4 程序设计 (10)4.1 程序流程图 (11)4.2 初始化子程序 (11)4.3 读子程序 (12)4.4 写子程序 (13)4.5 数据处理子程序 (13)4.6 显示子程序 (15)4.7报警子程序 (17)5 实验仿真 (18) (18)6 总结 (19)参考文献 (20)附录 (21)1引言1.1 单片机的应用背景目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗机械了。
世面上主要的单片机类型有Motorola 单片机、Microchip 单片机、东芝单片机、8051单片机、Atmel 单片机等。
此次课设中用到的是ATMEL公司,下面着重介绍一下ATMEL公司的单片机。
ATMEL 公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司。
ATMEL 公司最令人注目的是它的EEPROM 电可擦除技术闪速存储器技术和质量高可靠性的生产技术。
在CMOS 器件生产领域中,ATMEL 的先进设计水平优秀的生产工艺及封装技术一直处于世界的领先地位。
这些技术用于单片机生产,使单片机也具有优秀的品质在结构性能和功能等方面都有明显的优势,ATMEL 公司的单片机是目前世界上一种独具特色。
单片机小项目——基于51单片机的温度报警器
单⽚机⼩项⽬——基于51单⽚机的温度报警器单⽚机⼩项⽬介绍项⽬功能介绍编程语⾔:C语⾔。
开发环境:keil。
主要功能:1602屏显⽰时间和温度,当温度超过预定值时蜂鸣器⼯作报警。
此项⽬只是作为单⽚机初学者的⼀个⼩测验。
硬件资源分配1602屏——P0,P2^7,P2^5,P2^6。
串⼝——P2^0,P2^1。
传感器——DS18B20 P3^7;DS1302 P3^4,P3^5,P3^6。
蜂鸣器——P1^6。
LCD1602屏配置在h⽂件中声明端⼝和函数:#ifndef __LCD1602_H_#define __LCD1602_H_#include<reg52.h>//重定义关键字#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif//定义端⼝#define LCD1602_DATAPINS P0sbit LCD1602_E=P2^7;sbit LCD1602_RW=P2^5;sbit LCD1602_RS=P2^6;//函数声明void Lcd1602_Delay1ms(uint c); //延时函数void LcdWriteCom(uchar com); //写⼊命令void LcdWriteData(uchar dat); //写⼊数据void LcdInit(); //LCD初始化⼦程序#endif在LCD1602.c⽂件中写⼊时序和命令等函数代码:#include "LCD1602.h"/***************************延时函数**************************/void Lcd1602_Delay1ms(uint c) //误差 0us{uchar a,b;for (; c>0; c--){for (b=199;b>0;b--){for(a=1;a>0;a--);}}}/***************************底层函数**************************/void LcdWriteCom(uchar com) //写⼊命令{LCD1602_E = 0; //使能LCD1602_RS = 0; //选择发送命令LCD1602_RW = 0; //选择写⼊LCD1602_DATAPINS = com; //放⼊命令Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E = 1; //写⼊时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}void LcdWriteData(uchar dat) //写⼊数据{LCD1602_E = 0; //使能清零LCD1602_RS = 1; //选择输⼊数据LCD1602_RW = 0; //选择写⼊LCD1602_DATAPINS = dat; //写⼊数据Lcd1602_Delay1ms(1);LCD1602_E = 1; //写⼊时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}void LcdInit() //LCD初始化⼦程序{LcdWriteCom(0x38); //开显⽰LcdWriteCom(0x0c); //开显⽰不显⽰光标LcdWriteCom(0x06); //写⼀个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}在main.c⽂件中运⽤:(这⾥先让显⽰屏显⽰⾃定义的内容,稍后再做更改)#include "reg52.h"#include "LCD1602.h"unsigned char Disp[]=" Pechin Science ";void main(){unsigned char i=0;LcdInit();for(i=0;i<16;i++){LcdWriteData(Disp[i]);}while(1){}}DS18B20温度传感器配置(并将其与LCD协同使⽤)在DS18B20.c⽂件中写⼊相关函数:1 #include "DS18B20.h"234/***************************延时函数**************************/5void Delay1ms(unsigned int y)6 {7 unsigned int x;8for( ; y>0; y--)9 {10for(x=110; x>0; x--);11 }12 }131415/***************************底层函数**************************/1617 unsigned char Ds18b20Init() //初始化函数18 {19 unsigned char i;20 DSPORT = 0; //将总线拉低480us~960us21 i = 70;22while(i--); //延时642us23 DSPORT = 1; //然后拉⾼总线,如果DS18B20做出反应会将在15us~60us后总线拉低25while(DSPORT) //等待DS18B20拉低总线26 {27 Delay1ms(1);28 i++;29if(i>5) //等待>5MS30 {31return0; //初始化失败32 }3334 }35return1; //初始化成功36 }373839void Ds18b20WriteByte(unsigned char dat) //写⼊⼀个字节40 {41 unsigned int i, j;4243for(j=0; j<8; j++)44 {45 DSPORT = 0; //每写⼊⼀位数据之前先把总线拉低1us46 i++;47 DSPORT = dat & 0x01; //然后写⼊⼀个数据,从最低位开始48 i=6;49while(i--); //延时68us,持续时间最少60us50 DSPORT = 1; //然后释放总线,⾄少1us给总线恢复时间才能接着写⼊第⼆个数值51 dat >>= 1;52 }53 }545556 unsigned char Ds18b20ReadByte() //读取⼀个字节57 {58 unsigned char byte, bi;59 unsigned int i, j;60for(j=8; j>0; j--)61 {62 DSPORT = 0; //先将总线拉低1us63 i++;64 DSPORT = 1; //然后释放总线65 i++;66 i++; //延时6us等待数据稳定67 bi = DSPORT; //读取数据,从最低位开始读取68/*将byte左移⼀位,然后与上右移7位后的bi,注意移动之后移掉那位补0。
基于51单片机的温度检测报警系统
基于51单片机的温度检测报警系统摘要本文介绍了一种基于51单片机的温度检测报警系统的设计方案。
该系统能够实时检测环境温度,并在温度超出设定范围时触发报警器进行报警,从而实现对环境温度的监测和控制。
本文将主要涉及系统的硬件设计、软件设计和实现过程。
系统硬件设计本系统所需的核心硬件有:51单片机、温度传感器DS18B20、LED指示器和蜂鸣器,其中51单片机作为系统的控制中心,主要负责对温度传感器进行采集并触发LED指示器和蜂鸣器进行报警处理。
系统硬件电路图如下:TODO: 插入电路图其中,温度传感器DS18B20通过单总线协议连接到51单片机的P1.0引脚。
P1.1引脚连接到LED指示器,P1.2引脚连接到蜂鸣器。
系统软件设计本系统的软件设计主要分为两部分:主程序和温度采集程序。
主程序包括了系统的初始化、温度检测、温度报警、LED指示器和蜂鸣器控制等模块。
温度采集程序则是通过调用DS18B20的寄存器读写命令从传感器读取温度。
具体实现过程如下:主程序TODO: 插入代码主程序包含以下模块:1.系统初始化:配置P1.0引脚为输入模式,P1.1和P1.2引脚为输出模式。
2.温度检测:调用温度采集程序获取当前温度值,并判断是否超出指定范围。
3.温度报警:如果温度超出指定范围,则触发LED指示器和蜂鸣器进行报警处理。
4.LED指示器控制:根据温度超出指定范围的状态,对LED指示器进行开关控制。
5.蜂鸣器控制:根据温度超出指定范围的状态,对蜂鸣器进行开关控制。
温度采集程序TODO: 插入代码温度采集程序包含以下功能:1.向DS18B20发送获取温度命令。
2.从DS18B20读取温度数值。
3.根据读取到的值计算温度并返回。
系统实现过程本系统的实现过程包括系统硬件的组装和系统软件的编写。
硬件组装过程主要是将51单片机、温度传感器、LED指示器和蜂鸣器进行连接。
软件编写过程则是根据系统设计方案,编写相应的主程序和温度采集程序,并将程序烧录进51单片机中。
基于51单片机的温度检测报警系统
目录温度检测报警系统 (1)摘要 (1)序言 (2)第一章整体设计原理 (3)第二章各模块简介及工作原理 (4)2.1 控制模块 (4)2.1.1 STC89C52简介 (4)2.1.2 STC89C52主要功能 (4)2.2 温度检测模块 (5)2.2.1 DS18B20简介 (5)2.2.2 DS18B20封装及接线说明: (5)2.2.3 DS18B20 主要特点 (6)2.2.4 DS18B20外围电路设计 (7)2.3 显示模块 (7)2.3.1 液晶显示器简介 (8)2.3.2 LCD1602引脚功能说明 (9)2.3.3 LCD1602的指令说明及时序 (9)2.4 报警模块 (11)第三章软件设计与说明 (12)3.1 系统总体软件设计 (12)3.2 温度检测模块软件设计 (12)3.3 显示模块软件设计 (13)第四章调试结果及其说明 (14)第五章心得体会 (15)参考文献 (16)温度检测报警系统摘要该系统引入一种基于51单片机的温度检测报警系统,该系统由主控模块、检测模块、显示模块以及报警模块组成,主控模块采用STC89C52单片机,其控制检测模块中的DS18B20温度传感器检测环境温度,并将检测到的温度传送给显示模块中的LCD1602显示屏显示,而且主控模块在温度超过温度上限值或低于温度下限值时,控制语音报警模块中的蜂鸣器报警。
四大模块协调工作,主要实现温度检测、温度显示以及报警的功能。
关键字:温度,显示,报警,STC89C52Temperature detection alarm systemABSTRACTThe system introduces a 51 microcontroller-based temperature detection alarm system, the system consists of a main control module, the detection module, the display module and alarm module, main control module using STC89C52 microcontroller, which controls the detection module DS18B20 temperature sensor detects the ambient temperature and the detected temperature is transmitted to the display module LCD1602 display, and control module limit or below temperature limits, control the voice alarm module buzzer alarm at the temperature exceeds the temperature. Coordination of four modules, the main temperature detection, temperature display and alarm function.Key words:Temperature, display, alarm, STC89C52序言随着科技的不断发展,日常生活中越来越多的采用高温高热的一些设备及装置,它在方便了人们生活的同时,也留下了安全隐患,因此做好高温预警工作是非常必要的。
基于51单片机的温度报警控制系统报告
报告评分批改老师《现代电子综合实验》课程设计报告基于单片机的温度检测控制系统设计学生姓名 学 号专 业 班 级同组学生 提交日期 年 月 日指导教师目录2一、实验目的 .....................................................................................2二、实验要求 .....................................................................................2三、实验开发环境及工具 ...........................................................................2四、按键扫描和液晶显示功能实现 ...................................................................24.1矩阵键盘电路 ...............................................................................4.1.1矩阵键盘电路简介 .....................................................................224.1.2矩阵式按键扫描原理 ...................................................................24.1.3 按键扫描子程序设计思想及流程图 ......................................................34.2 LCD1602显示电路 ..........................................................................34.2.1 LCD1602模块简介 ....................................................................34.2.2 LCD1602模块引脚说明 .................................................................4.2.3 LCD1602控制方式及指令 ..............................................................344.2.4 LCD1602液晶显示子程序设计思想及流程图 ..............................................5五、基于单片机的温度检测控制系统设计过程 .........................................................55.1 系统整体电路框图及功能说明 ................................................................55.2 DS18B20数字温度传感器电路 ..............................................................55.2.1 单总线通信方式简介 ..................................................................65.2.2 DS18B20简介 ......................................................................5.2.3 DS18B20读写操作 ..................................................................665.3 声光报警及控制电路 ........................................................................75.4 软件设计 ..................................................................................5.4.1 主程序设计流程图 ....................................................................775.4.2 DS18B20子程序设计思想及流程图 ...................................................85.4.3 声光报警子程序设计思想及流程图 .....................................................9七、 实验过程及实验结果 ...........................................................................9八、实验中遇到的问题及解决方法 ...................................................................10附件 ............................................................................................一、实验目的(1). 掌握单片机应用系统的设计方法与步骤;(2).掌握硬件电路各功能模块的工作原理、应用电路与编程方法;(3).熟练掌握单总线的应用及编程;(4). 掌握基于单片机的温度检测控制系统的设计与实现。
基于51单片机智能温度检测报警
DS18B20初始化
读取存储在 EEPROM的数据
按键检测与处理
判断是否正常 显示set_f==0? 是 DS18B20温度采集 读取
否
判断是否设置 上限set_f==1? 是
否
判断温度是否 超限? 是 报警提示
显示设置上限 否
显示设置下限
关闭提示
显示温度值
四、软件设计——数码管显示子程序设计
开始
A
V
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
L
C
E
C
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
V
C
C
V
1
R
K
C
5
1
2
D
C W
1
2
9
W
2
8 4位数码管
S
Q W
3
8
3 6
5
W
4
5
K
K
K
E
E
E
Y
Y
Y
R
4
3
2
基于51单片机的温度报警器设计
基于51单片机的温度报警器设计引言:温度报警器是一种用来检测环境温度并在温度超过设定阈值时发出警报的装置。
本文将基于51单片机设计一个简单的温度报警器,以帮助读者了解如何利用单片机进行温度监测和报警。
一、硬件设计硬件设计包括传感器选择、电路连接以及报警装置的设计。
1.传感器选择温度传感器的选择非常重要,它决定了监测温度的准确性和稳定性。
常见的温度传感器有热敏电阻(如NTC热敏电阻)、热电偶以及数字温度传感器(如DS18B20)。
在本设计中,我们选择使用DS18B20数字温度传感器,因为它具有高精度和数字输出的优点。
2.电路连接将DS18B20与51单片机连接,可以采用一根三线总线(VCC、GND、DATA)的方式。
具体连接方式如下:-将DS18B20的VCC引脚连接到单片机的VCC引脚(一般为5V);-将DS18B20的GND引脚连接到单片机的GND引脚;-将DS18B20的DATA引脚连接到单片机的任意IO引脚。
3.报警装置设计报警装置可以选择发出声音警报或者显示警报信息。
在本设计中,我们选择使用蜂鸣器发出声音警报。
将蜂鸣器的一个引脚连接到单片机的任意IO引脚,另一个引脚连接到单片机的GND引脚。
二、软件设计软件设计包括温度读取、温度比较和报警控制的实现。
1.温度读取通过51单片机的IO引脚和DS18B20进行通信,读取DS18B20传感器返回的温度数据。
读取温度数据的具体步骤可以参考DS18B20的通信协议和单片机的编程手册。
2.温度比较和报警控制将读取到的温度数据和设定的阈值进行比较,如果温度超过阈值,则触发报警控制。
可以通过控制蜂鸣器的IO引脚输出高电平或低电平来控制蜂鸣器是否发出声音警报。
三、工作原理整个温度报警器的工作原理如下:1.首先,单片机将发出启动信号,要求DS18B20开始温度转换。
2.单片机等待一段时间,等待DS18B20完成温度转换。
3.单片机向DS18B20发送读取信号,并接收DS18B20返回的温度数据。
基于51单片机温度报警器设计
目录一、摘要 (1)二、设计方案论证 (2)(一)系统主机选择 (2)(二)温度传感器选择 (2)(三)液晶选择 (2)(四)报警电路选择 (3)三、硬件电路设计 (3)(一)设计思路: (3)(二)总体设计方框图2-1: (3)(三)原理图 (4)(四)单片机最小系统设计 (5)(五)AT89C52单片机芯片引脚功能介绍...................................... 5、6 (六)测温电路设计 . (8)(七)显示电路设计 ...................................................... 9、10 (八)报警电路设计 (10)四、软件设计 ........................................................ - 10 -(一)主程序流程图 ..................................................... - 11 - (二)测温程序 ......................................................... - 11 - (三)报警程序 ......................................................... - 12 -五、系统仿真 ........................................................ - 12 -六、总结与体会...................................................... - 13 -参考文献................................................................................................... - 14 -附录Ⅰ原理图.. (16)一、摘要在日常生活及工农业生产中经常要涉及到温度的检测及控制。
基于51单片机温度报警器设计
基于51单片机温度报警器设计
以上
研究背景
随着电子技术的发展,温度报警器的应用已有很大的普及,它可以准确的检测温度,
并且控制环境温度,从而给生活带来很多实施便利性。
51单片机温度报警器的研究是一项极具挑战的任务,因为除了要考虑温度传感原理,还需要研究51单片机的软硬件结构。
本研究即以51单片机为主要研究环节,结合温度特性,设计一款简单实用的温度报警器。
研究方法
本研究使用51单片机,采用51系统软件编程,结合串口程序实现温度检测功能。
51
芯片单片机能够轻松实现温度采集、数据处理、报警控制功能,并且能够满足用户的一些
特定功能实现要求。
本研究还考虑了温度传感器、报警器等元件,并在实验过程中对报警
器进行了优化改进,保证数据测量和控制精度。
研究结果
通过实验,本研究设计出一款温度报警器,它采用51单片机,结合温度传感器和报
警器而成。
51单片机校准温度采集、数据处理计算,报警器可以根据用户自定义的告警值发出声光报警。
整个系统对温度的测量和报警控制能够达到用户的要求。
此外,该温度报
警器采用独立模块化设计,在现场控制时可以灵活配置参数,增加报警器的功能性。
通过本研究设计出一款51单片机温度报警器,能够准确地检测温度,当温度超出预
定值时,发出报警,实现环境温度的控制。
同时,本研究还研发出独立模块化的系统,可
以灵活的配置参数,显著提高其报警功能。
基于51单片机的温度警报器的设计
基于51单片机的温度警报器的设计温度警报器是一种能够实时监测温度并在温度超过设定阈值时发出警报的装置。
本设计基于51单片机,通过温度传感器、LCD显示屏、蜂鸣器等元件实现温度监测和报警功能。
设计方案如下:1.硬件设计:a.温度传感器:选择一款常见的温度传感器,如DS18B20,通过数据线连接到单片机的GPIO口,实时获取温度数据。
b.LCD显示屏:使用16x2LCD显示屏,通过I2C接口与单片机连接,用于显示当前温度和报警信息。
c.蜂鸣器:选择一个合适的蜂鸣器,通过单片机的GPIO口控制,用于发出声音报警信号。
d.电源电路:为单片机和其他电路提供稳定的电源,可以选择直流电源或电池供电。
2.软件设计:a.初始化:对单片机进行初始化设置,包括IO口初始化、LCD初始化、温度传感器初始化等。
b.温度采集:通过温度传感器不断采集温度数据,并将其显示在LCD 屏幕上。
c.温度判断:获取当前温度值,并与设定的阈值进行比较。
如果高于阈值,进入报警状态。
d.报警处理:当温度超过设定阈值时,触发蜂鸣器发出声音报警信号,并在LCD上显示相应警告信息。
同时,可以选择触发其他动作,如发送短信或邮件通知。
e.报警解除:当温度恢复正常后,蜂鸣器停止报警,LCD屏幕上显示正常温度信息。
通过以上硬件和软件设计,我们可以实现一个基于51单片机的温度警报器。
该警报器能够实时监测环境温度,当温度超过设定阈值时,蜂鸣器会发出声音报警,并在LCD显示屏上显示相应报警信息。
当温度恢复正常后,报警器会自动停止报警,并显示正常温度信息。
除了基本的功能,还可以根据需求进行一些扩展。
比如,可以添加按钮控制来设置温度阈值,或者增加温度记录功能,实时记录温度变化并保存。
总之,基于51单片机的温度警报器设计具有可扩展性和实用性,可以满足不同环境的需求。
基于51单片机的温度警报器的设计单片机课程设计报告
《单片机原理及应用》课程设计任务书二级学院:电子信息与电气工程学院专业:班级:课程设计题目:基于单片机的数字温度报警器的设计姓名:学院:专业:班级:学号:指导教师:2011年9月15日目录摘要 (4)1 引言 (4)1.1课题背景 (4)1.2研究内容和意义 (6)2 芯片介绍 (6)2.1 DS18B20概述 (6)2.1.1 DS18B20封装形式及引脚功能 (7)2.1.2 DS18B20内部结构 (7)2.1.3 DS18B20供电方式 (9)2.1.4 DS18B20的测温原理 (10)2.1.5 DS18B20的ROM命令 (12)2.2 AT89C52概述 (13)2.2.1单片机AT89C52介绍 (13)2.2.2功能特性概述 (13)3 系统硬件设计 (14)3.1 单片机最小系统的设计 (14)3.2 温度采集电路的设计 (15)3.3 LED显示报警电路的设计 (16)4 总结 (16)致谢 (17)参考文献 (18)附录A 总电路图 (19)附录B 原器件清单 (19)附录C 温度报警器部分程序 (20)摘要随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。
本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。
详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。
DS18B20与AT89C52结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
基于51单片机温度报警器的设计
目录摘要 (2)第一章绪论 (4)1.1 系统背景 (4)1.2 温度控制系统设计的意义 (5)1.3 温度控制系统完成的功能 (5)第二章系统方案设计 (6)2.1 方案一 (6)2.2 方案二 (6)2.3 方案论证 (7)第三章硬件电路设计 (8)3.1系统总体设计 (8)3.2 各部分硬件电路设计 (9)3.2.1时钟电路设计 (9)3.2.2系统复位电路 (10)3.2.3报警与控制电路设计 (11)3.2.4 LED显示电路设计 (12)3.2.4温度检测电路设计 (14)3.2.5按键电路设计 (16)第四章软件设计 (17)4.1 主程序方案 (17)4.2 各个模块子程序设计 (20)4.2.1温度采集程序 (20)4.2.2数码管显示模块 (23)4.2.3温度处理程序 (24)第五章系统调试 (25)5.1测试环境及工具 (25)5.2测试方法 (25)5.3测试结果分析 (26)结论 (26)致谢 (26)参考文献 (27)附录一:系统原理图 (29)附录二:程序代码 (30)摘要随着现代信息技术的飞速发展,在生产中温度的准确测量是一个比较困难的事情从最初的酒精、水银温度计到现在的数字化、集成化的温度检测系统。
可见传感器的发展是飞快的。
它快速的发展必将带来新一轮的工业化的革命和社会发展的飞跃。
本文从硬软件两个方面介绍了基于AT89S52单片机温度自动检测系统的设计。
系统硬件由控制电路、温度采集电路、键盘和LED显示电路组成。
软件设计从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。
最终通过DS18B20采集温度并显示出来,由此对周围环境的温度进行有效检测与报警。
基本上满足了温度检测与报警的要求,具有超调量小,采样值与设定值基本一致,操作简单等优点。
本设计创新点在于采用数字式温度传感器DS18B20 作为感温元件, 占用单片机引脚少, 因而可以利用空余引脚通过软件模拟和温度显示。
基于51单片机的温度报警系统设计
宝鸡文理学院电子电气工程学院单片机实习设计报告设计题目: 基于51单片机的温度报警系统设计班级: 2013级自动化2班姓名: 赵阳201395124062李杰201395124063江超201395124064王珊201395124065 指导教师: 李军生张曦2016年1月8日基于51单片机的温度报警系统设计摘要温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。
温度控制电路在工农业生产中有着广泛的应用。
日常生活中也可以见到,如电冰箱的自动制冷,空调器的自动控制等等。
在工业生产中,温度、压力、流量和液位是四种最常见的过程变量。
其中,温度是一个非常重要的过程变量。
例如:在冶金工业、化工工业、电力工业、机械加工和食品加工等许多领域,都需要对各种加热炉、热处理炉、反应炉和锅炉的温度进行监控。
然而,用常规的监控方法,潜力是有限的,难以满足较高的性能要求。
采用单片机来对它们进行监控不仅具有监控方便、简单和灵活性大的优点,而且可以大幅度提高被测温度的技术指标,从而能够大大提高产品的质量和数量。
因此,单片机对温度的监控问题是一个工业生产中经常会遇到的监控问题。
现代社会是信息化的社会,随着安全化程度的日益提高,而通过温度报警器及时报警,避免不必要的损失。
研究了基于STC-89C52RC单片机温度控制系统的原理和功能,温度测量单元由单总线数字温度传感器DS18B20构成。
该系统可进行温度设定,时间显示和保存监测数据。
如果温度超过任意设置的上限和下限值,系统将报警并可以和自动控制的实现,从而达到温度监测智能一定范围内。
基于系统的原理,很容易使其他各种非线性控制系统,只要软件设计合理的改变。
关键字:STC-89C52RC单片机;温度;时间;DS18B20。
Design of temperature alarm system based on 51 singlechip microcomputerAbstracttemperature is a very important physical quantity of its measurement and control has very important significance. Along with the development of modern industry and agriculture technology development and people living environment improved, people urgently need to detect and control the temperature. Temperature control circuit in the industry and agriculture production is widely used. In daily life can also be seen, such as a refrigerator automatic refrigeration and air conditioning automatic control and so on. In industrial production, temperature, pressure, flow and level is one of the four most common process variables. The temperature is a very important process variables. For example: in metallurgical industry, chemical industry, power industry, machinery processing and Food processing and many other fields, we need to all kinds of heating furnace, heat treatment furnace, reactor and boiler temperature monitoring. However, conventional monitoring methods, the potential is limited, it is difficult to meet the higher performance requirements. The use of single-chip microcomputer to monitor not only convenient monitoring, simple and flexibility big advantages, and can greatly improve the technical indicators measured temperature, which can greatly improve the quality and quantity of products. Therefore, the problem of temperature monitoring chip is often encountered in an industrial production monitoring problem. Modern society is the information society, with the increasing of the degree of security, and through Temperature alarm in time, to avoid unnecessary losses.Study based on the STC-89C52RC single chip microcomputer temperature control principle and function of the system, the temperature measurement unit is composed of a single bus digital temperature sensor DS18B20 constitute. The system can set temperature and time display and save the monitoring data. If the temperature exceeds the arbitrarily set the upper limit and lower limit value, the system will alarm and automatic control, so as to achieve a range of intelligent temperature monitoring. Based on the principle of the system, it is easy to make a variety of other nonlinear control system, so long as the software design is reasonable.Key words:STC-89C52RC single chip microcomputer; temperature; time; DS18B20.目录第一章引言 (4)第二章设计要求 (5)2.1 基本要求 (5)2.2 扩展功能 (5)第三章总体方案设计 (6)3.1 方案论证 (6)3.1.1 方案一 (6)3.1.2 方案二 (6)3.2 总体设计框图 (6)第四章硬件设计 (8)4.1 单片机系统 (8)4.2 STC89C52芯片特性 (9)4.2.1简介: (9)4.2.2 主要特性: (10)4.2.3 管脚说明: (11)4.2.4 振荡器特性: (13)4.2.5 芯片擦除: (14)4.2.6 结构特点: (14)4.3 数字温度传感器模块 (14)4.3.1 DS18B20性能: (14)4.3.2 DS18B20外形及引脚说明: (15)4.3.3 DS18B20接线原理图: (15)4.3.4 DS18B20时序图: (16)4.3.5 数据处理: (17)4.4 DS18B20内部结构图: (18)4.5 声光报警电路 (19)4.6 键盘输入电路 (20)第五章软件设计 (21)5.1 主程序模块: (21)5.2 读温度值模块: (21)5.3 中断模块: (24)5.4 温度设定、报警模块: (25)第六章 LCD1602模块 (26)6.1 液晶显示器 (26)6.1.1 液晶显示器简介: (27)6.2 LCD1602简介: (28)6.2.1 LCD1602的参数和引脚: (29)6.2.2 LCD1602的指令说明及时序: (31)6.2.3 LCD1602的一般初始化(复位)过程: (34)第七章结论 (36)附录:程序代码 (37)参考文献 (52)第一章引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便是不可否定的,各种数字系统的应用也使人们的生活更加舒适。
基于51单片机的温度警报器的设计
西安文理学院物理与机械电子工程学院课程设计任务书目录摘要 (3)1 引言 (3)1.1课题背景 (3)1.2研究内容和意义 (5)2 芯片介绍 (5)2.1 DS18B20概述 (5)2.1.1 DS18B20封装形式及引脚功能 (6)2.1.2 DS18B20内部结构 (6)2.1.3 DS18B20供电方式 (9)2.1.4 DS18B20的测温原理 (10)2.1.5 DS18B20的ROM命令 (11)2.2 AT89C52概述 (13)2.2.1单片机AT89C52介绍 (13)2.2.2功能特性概述 (13)3 系统硬件设计 (13)3.1 单片机最小系统的设计 (13)3.2 温度采集电路的设计 (14)3.3 LED显示报警电路的设计 (15)4 系统软件设计...................................................15 4.1 流程图........................................................15 4.2 温度报警器程序.................................................16 4.3 总电路图..................................................... 19 5总结 (20)摘要随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。
本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。
详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。
基于51单片机的温度报警器设计毕业论文
基于51单片机的温度报警器设计毕业论文目录前言 (1)1 设计要求与方案论证 (2)1.1 设计要求 (2)1.2 系统基本方案选择和论证 (2)1.2.1 单片机芯片的选择方案和论证 (2)1.2.2 温度传感器设计方案论证 (3)1.3 电路设计最终方案决定 (4)2 主要元件介绍 (4)2.1 STC89C51介绍 (4)2.1.1 STC89C51主要功能及PDIP封装 (4)2.1.2 STC89C51引脚介绍 (4)2.1.3 单片机最小系统: (6)2.2 DS18B20传感器介绍 (6)2.2.1 DS18B20概述 (6)2.2.2 DS18B20引脚介绍 (7)2.2.3 DS18B20的部结构 (8)2.2.4 DS18B20的程序流程图 (8)2.3 数码管介绍 (9)2.3.1 数码管概述 (10)3 程序流程图 (10)结论 (11)参考文献 (12)致谢 (13)附录1 系统原理图 (14)附录2 C语言程序 (15)基于51单片机的温度报警器设计摘要:单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度器,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置围时,可以报警。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度。
本文通过采用蜂鸣器作为电声元件的温度报警器的设计,阐明了该装置进行设计与制作的具体过程及方法。
这种温度报警器结构简单,可操作性强,应用广泛。
工作时,温度测量围为5—38ºC。
当前环境温度若超过设定的高温临界温度,由单片机发出报警信号,从而防止带来的不必要的损失。
造成高温火灾有:电气线路短路、过载、接触电阻过大等引发高温或火灾;静电产生高温或或火灾;雷电等强电侵入导致高温或火灾;最主要是机房电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温;因此机房所属的电子产品发热快,在短时间机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。
基于51的温度报警器设计..
目录1 概述 (2)1.1 研究背景 (2)1.2 设计思想及基本功能 (2)2 总体方案设计 (3)2.1 方案选取 (3)2.2 系统框图 (5)2.3 总体方案设计 (6)3 硬件电路设计 (6)3.1 电源电路设计 (6)3.2 晶振电路 (7)3.3 复位电路 (7)3.4 矩阵键盘电路 (8)3.5 温度检测电路 (9)3.6 液晶显示电路 (10)3.7 蜂鸣器报警电路 (11)4 系统软件设计 (12)4.1 主程序软件设计 (12)4.2 键盘扫描程序设计 (14)4.3 温度上下限设定程序设计 (15)4.4 延时程序设计 (16)5系统调试 (16)6总结 (18)参考文献 (18)附录1 系统原理图 (19)附录2 程序清单 (20)1 概述1.1 研究背景温度作为一种最基本的环境参数,和人们的安全、生活,工农业生产有着紧密的联系,因此在某些场合对温度进行检测,并且在温度超过期待范围后进行报警便显得尤为重要,对能实现温度检测并报警的装置的设计和研发也就有了特别的意义。
单片机作为一种微控制器,由于具有体积小,质量轻,功耗低,价格便宜,可靠性高,功能强大等特点,已经进入人们生活,工业生产的各个领域,现在很难在某个领域看不到单片机的痕迹。
在智能仪表领域,由于单片机的上述优点,用单片机作为控制平台,结合不同类型的传感器,可以很容易地对温度,湿度,流量等物理量进行检测。
针对在日常生活和工业生产中对温度进行检测和监控的需求,本课题以AT89C51单片机为核心设计了一种温度报警器,它可以通过键盘对温度进行上下限设置,用液晶进行温度显示,并且在超出温度设定范围后发声报警。
本设计也具有一定的扩展性,例如可以再加一个烟尘传感器和光电传感器,扩展为火灾报警器。
1.2 设计思想及基本功能本课题对温度报警器进行设计时,在满足温度检测和报警功能的基础上,为了增加其应用的灵活性,采用了矩阵键盘电路,从而可以对温度报警范围进行设定,以适应对温度有检测需求的不同应用场合。
基于51单片机的温度报警器设计毕业论文
『2014届』题目基于51单片机的温度报警器设计姓名我学号专业班级通信电子技术指导教师于先生2014年12月3日毕业论文任务书主要实现:实时温度测量及显示,超出温度范围声光报警,上下限温度可通过按键设定等功能。
本数字温度报警器是基于51单片机及温度传感器DS18B20来设计的,温度测量范围0到99.9摄氏度,精度为0.1摄氏度,可见测量温度的范围广,精度高的特点。
可设置上下限报警温度,默认上限报警温度为38℃、默认下限报警温度为5℃(通过程序可以更改上下限值)。
报警值可设置范围:最低上限报警值等于当前下限报警值,最高下限报警值等于当前上限报警值。
将下限报警值调为0时为关闭下限报警功能。
目录前言 (2)1 设计要求与方案论证 (3)1.1 设计要求 (3)1.2 系统基本方案选择和论证 (3)1.2.1 单片机芯片的选择方案和论证 (3)1.2.2 温度传感器设计方案论证 (4)1.2.3 掉电保持方案论证 (4)1.3 电路设计最终方案决定 (5)2 主要元件介绍 (5)2.1 STC89C51介绍 (5)2.1.1 STC89C51主要功能及PDIP封装 (5)2.1.2 STC89C51引脚介绍 (5)2.1.3 单片机最小系统: (6)2.2 DS18B20传感器介绍 (7)2.2.1 DS18B20概述 (7)2.2.2 DS18B20引脚介绍 (8)2.2.3 DS18B20的内部结构 (8)2.2.4 DS18B20的程序流程图 (9)2.3 数码管介绍 (10)2.3.1 数码管概述 (11)2.4 AT24C02简介 (11)2.4.1 I2C总线说明 (12)3 程序流程图 (13)图6:程序流程图 (14)结论 (15)参考文献 (16)致谢 (17)附录1 系统原理图 (18)附录2 C语言程序 (19)基于51单片机的温度报警器设计摘要:单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度器,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。
基于51单片机的温度报警器设计分解
基于51单片机的温度报警器设计分解首先,对于硬件设计,我们需选择一个合适的温度传感器。
常见的温度传感器有NTC热敏电阻和DS18B20数字温度传感器。
根据实际需求进行选择。
这里我们以DS18B20数字温度传感器为例。
硬件设计中,需要将DS18B20传感器与51单片机连接。
具体的连接可以参考DS18B20的数据手册。
一般情况下,将DS18B20的数据引脚连接到单片机的I/O口。
同时,为了保证传输质量,还需要在传输线上加上4.7K的上拉电阻。
其次,需要设计电路。
这里我们可以采用51单片机控制电路。
具体的电路设计包括单片机控制、显示电路和报警电路。
单片机控制电路主要包括51单片机、晶振、复位电路等。
显示电路主要包括数码管或LCD屏幕等。
报警电路可以采用蜂鸣器或LED等。
这里采用51单片机作为控制器,通过读取DS18B20的温度值来实现对温度的监测。
如果温度超过设定阈值,那么蜂鸣器会响起或者LED灯会亮起。
接下来进行软件设计,主要包括程序编写和功能实现。
根据硬件设计的要求,来编写相应的程序,实现相应功能。
具体的流程大致如下:1.初始化单片机和DS18B20传感器;2.读取传感器的温度值;3.判断温度值是否超过设定阈值;4.如果温度超过设定阈值,则蜂鸣器响起或LED灯亮起;5.如果温度未超过设定阈值,则继续读取温度值;6.循环执行以上步骤。
在设计过程中,需要注意以下几点:1.硬件电路的连线要正确,确保各个元件能够正常工作;2.程序要根据实际情况进行调试,确保功能正常;3.温度阈值的设定要合理,保证报警的准确性。
总结来说,基于51单片机的温度报警器设计分为硬件设计和软件设计两部分。
硬件设计主要涉及传感器的选择和电路设计,软件设计则包括程序编写和功能实现。
通过合理的硬件设计和软件编程,可以实现对温度的监测和报警。
在设计过程中需要注意硬件的连接和程序的调试,保证整个系统的稳定性和准确性。
大学毕设论文__基于51单片机温度上下限报警器设计__论文
基于51单片机温度报警器摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度报警器,本设计属于多功能温度报警器,可以设置上下报警温度,当温度超过上限或者下限任意温度设置范围内时,开始报警。
关键词:单片机,数字显示,温度报警, DS18B20,STC89C52RC1 引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度报警器就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本设计所介绍的数字温度报警器与传统的温度报警器相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机STC89C52RC,测温传感器使用DS18B20,用3位共阳极LED数码管实现温度显示,能准确达到以上要求。
2 总体设计方案2.1数字温度报警器设计方案论证2.1.1 方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
并且测量温度精度不高,有偏差。
2.1.2 方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器可以很容易直接读取被测温度值,进行转换,就可以满足设计要求,且测量精度很高。
从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用方案二。
2.2 方案二的总体设计框图温度报警器电路设计总体设计方框图如图1所示,控制器采用单片机STC12C5A16S2,温度传感器采用DS18B20,用3位LED 数码管实现温度显示,用一位数码管显示℃摄氏度符号。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1 概述 (2)1.1 研究背景 (2)1.2 设计思想及基本功能 (2)2 总体方案设计 (3)2.1 方案选取 (3)2.2 系统框图 (5)2.3 总体方案设计 (6)3 硬件电路设计 (6)3.1 电源电路设计 (6)3.2 晶振电路 (7)3.3 复位电路 (7)3.4 矩阵键盘电路 (8)3.5 温度检测电路 (9)3.6 液晶显示电路 (10)3.7 蜂鸣器报警电路 (11)4 系统软件设计 (12)4.1 主程序软件设计 (12)4.2 键盘扫描程序设计 (14)4.3 温度上下限设定程序设计 (15)4.4 延时程序设计 (16)5系统调试 (16)6总结 (18)参考文献 (18)附录1 系统原理图 (19)附录2 程序清单 (20)1 概述1.1 研究背景温度作为一种最基本的环境参数,和人们的安全、生活,工农业生产有着紧密的联系,因此在某些场合对温度进行检测,并且在温度超过期待范围后进行报警便显得尤为重要,对能实现温度检测并报警的装置的设计和研发也就有了特别的意义。
单片机作为一种微控制器,由于具有体积小,质量轻,功耗低,价格便宜,可靠性高,功能强大等特点,已经进入人们生活,工业生产的各个领域,现在很难在某个领域看不到单片机的痕迹。
在智能仪表领域,由于单片机的上述优点,用单片机作为控制平台,结合不同类型的传感器,可以很容易地对温度,湿度,流量等物理量进行检测。
针对在日常生活和工业生产中对温度进行检测和监控的需求,本课题以AT89C51单片机为核心设计了一种温度报警器,它可以通过键盘对温度进行上下限设置,用液晶进行温度显示,并且在超出温度设定范围后发声报警。
本设计也具有一定的扩展性,例如可以再加一个烟尘传感器和光电传感器,扩展为火灾报警器。
1.2 设计思想及基本功能本课题对温度报警器进行设计时,在满足温度检测和报警功能的基础上,为了增加其应用的灵活性,采用了矩阵键盘电路,从而可以对温度报警范围进行设定,以适应对温度有检测需求的不同应用场合。
为了增加人机交互性,采用了功耗低的字符型液晶显示汉字和温度。
该温度报警器具有以下基本功能:(1)手动设定温度范围:该功能使用户可以根据不同场合设定温度报警范围,增强了该设计的应用性。
(2)温度采集:采用了数字温度传感器对现场温度在-55℃到+125℃范围内的应用场合进行温度采集。
(3)液晶显示:通过常用的液晶模块对当前温度传感器采集的温度进行显示。
(4)蜂鸣器报警:当温度传感器采集的温度不在设定范围内时,使蜂鸣器发声,进行报警。
2 总体方案设计2.1 方案选取在用单片机作为控制核心进行仪器设计时,附加的外围模块选择范围是很宽的,在选用时要多加比较,从而做出最合理的设计。
(1)温度采集模块选择方案一:非数字型温度传感器pt100,精度高,稳定性好,测量范围大;方案二:数字型温度传感器DS18B20,体积小,精度高,抗干扰能力强,硬件开销低;这两个方案都是在对温度进行检测时经常使用的,考虑到DS18B20的精度和测温范围对本设计已经足够,且在使用时不需要进行AD转换,硬件电路简单,所以本设计采用DS18B20作为温度检测模块。
(2)显示模块选择方案一:三位数码管显示,数码管是单片机设计中常见的显示模块,可以显示0至9十个数字和小数点,价格便宜。
方案二:字符型液晶模块显示,液晶模块显示清晰,功耗低,可以显示数字,汉字,英文字符和某些特殊符号,人机交互性好。
考虑到使用数码管显示要占用大量的IO口引脚,且没有液晶显示内容丰富,所以本温度报警器采用液晶模块显示当前温度。
2.2 系统框图系统框图如图2.1图2.1 系统框图2.3总体方案设计本课题设计的温度报警器是在满足基本功能的基础上,尽可能的简化电路,增加人机交互性。
在温度传感器选择时,为了避免大量的硬件设计,增加成本,选择了数字型温度传感器,从而不用在使用时进行AD转换,附加复杂的信号调理电路;在液晶模块选择时,考虑到单片机IO口的利用率,舍弃了需占用大量IO 口并行传输的1602,选择了可以进行串行传输的12864;在报警方式选择时,舍弃了液晶显示闪烁报警,选择了更能引起用户注意的蜂鸣器发声报警方式。
3 硬件电路设计3.1 电源电路设计51单片机,温度传感器DS18B20,12864液晶模块所需正常的工作电压是5V,因此设计的电源应能够提供5V直流电,图3.1是设计的电源电路图。
在该电源电路中使用了三端集成稳压芯片L M7805,可以输出5V直流电压。
T1TR~220V 图3.1 电源电路图3.2 晶振电路电路中的晶振就是石英晶体震荡器。
石英晶体震荡器具有非常好的频率稳定性和抗外界干扰的能力,所以,石英晶体震荡器常用来产生基准频率的。
此外它还可以产生振荡电流,向单片机发出时钟信号。
图3.2是设计的单片机晶振电路。
片内电路与片外器件构成一个时钟产生电路,晶振频率一般多在1.2MHz ~24MHz 之间选取。
C1、C2是反馈电容,其值在20pF ~100pF 之间选取,一般为30pF 左右。
本电路选用的电容为33pF ,晶振频率为12MHz 。
时钟周期为1us 。
图3.2 单片机晶振电路3.3 复位电路复位电路的主要功能是使单片机进行初始化,在初始化的过程中需要在复位引脚上加大于2个机器周期的高电平。
复位后的单片机地址初始化为0000H ,然后单片机继续从0000H 单元开始执行程序。
单片机复位有上电复位和手动复位两种方式,图3.3所示的复位电路可以实现上电复位和手动复位两种基本功能。
SET图3.3 复位电路图3.4 矩阵键盘电路由于采用单个按键的方式会提高设计的复杂性,且占用IO口较多,本设计采用了4*4矩阵键盘,矩阵键盘的应用可以获取16个键值,降低了设计难度,节约了单片机IO口,提高了单片机IO口的利用率。
4*4矩阵键盘电路在本温度报警器设计中起到的作用是设定报警温度的上下限,它的四条行线和四条列线占用了单片机的P1口,如图3.4所示。
其中S0至S9用于设定温度值,S10按下则启动设定温度下限,S11按下则启动设定温度上限。
S7S6S8S5S11S10S0S9S15S14S13S12S4S3S2S1P10P11P12P13P14P15P16P17图3.4 矩阵键盘电路图3.5 温度检测电路温度检测电路采用的是单线数字型温度传感器DS18B20,其外形如图3.5所示。
DS18B20独特的单总线接口使其仅通过一条数据线就可以完成数据传输。
它的供电电压在3V 至5.5V 之间,感温范围在-55摄氏度至+125摄氏度之间,9至12位可调分辨率。
DS18B20有3条输出引线,分别接电源,地,单片机引脚,由于在正常工作时,该传感器需要约1mA 的驱动电流,所以硬件电路需要在接电源和地的两条引线之间接一个约5K 的电阻,硬件电路图如图3.6所示图3.5 DS18B20实物图3DS18B20图3.6 温度检测电路3.6 液晶显示电路本课题设计的温度报警器显示模块采用的是字符型液晶QC12864B,带中文字库的128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行(即32个)16×16 点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块图3.7 液晶显示电路3.7 蜂鸣器报警电路当温度超过设定范围时,采用蜂鸣器模块电路报警,电路中跳线帽的作用是可以人为地接通或断开该电路,电阻起到限流的作用。
电路工作原理是当温度超出温度设定范围时,通过程序编程给P0口第7个引脚赋为低电平,三极管导通, 蜂鸣器发声。
R图3.8 蜂鸣器报警电路4 系统软件设计系统软件设计主要包括键盘扫描子程序,温度上下限设定子程序,延时子程序等几部分构成。
本章节系统的介绍了温度报警器的主程序和各主要功能子程序的设计流程,具体的程序代码见附录2。
4.1 主程序软件设计主程序构成无限循环,主要完成相关模块初始化,温度采集,设定温度上下限,液晶显示,温度超出设定范围时蜂鸣器报警等功能,主程序的流程图如图4.1所示。
图4.1 主程序流程图程序首先进行相关宏定义,定义变量和数组,编写所需要的子函数,然后在主函数中调用液晶初始化子函数对液晶进行初始化,并在液晶第一行显示‘温度显示’四个汉字,调用温度采集函数对当前温度进行采集,调用温度上下限设定子函数设定适合现场的温度范围,然后将采集到的温度值同设定的温度上下限进行比较。
若在设定范围内,则调用液晶显示函数显示当前温度并返回到温度采集子函数调用处;若不在设定范围内,则调用液晶显示函数显示当前温度,使蜂鸣器报警,程序返回温度采集子函数调用处。
4.2 键盘扫描程序设计图4.2 键盘扫描程序流程图该键盘扫描程序采用行扫描的方式,从第一行扫描到第四行,首先将第一行设为低电平,其余行为高电平,通过读取P1口高四位电平情况判断是否有键按下,若无键按下则扫描下一行,若有键按下,延时5ms消抖,再次判断是否有键按下,若无键按下则扫描下一行,若有键按下则通过switch语句获取相应键值,松手检测后扫描下一行。
4.3 温度上下限设定子程序设计图4.3 温度上下限设定子程序流程图该程序功能是设定温度上下限,程序开始,调用键盘扫描函数获取一个键值,通过第一个if语句判断该键值是否为10,若是则通过for循环执行三次依次获取三个键值并赋给数组b[ ],从而计算出温度下限l,然后再次调用键盘扫描函数通过第二个if语句进行所得键值是否为11的判断;在第一个if语句判断中若键值不为10,则通过第二个if语句进行所得键值是否为11的判断。
在第二个if语句进行所得键值是否为11的判断中,若键值为11,则通过for循环执行三次依次获取三个键值并赋给数组c[ ],从而计算出温度上限h,然后程序结束;若不为11,则程序结束。
4.4 延时子程序设计图4.4 延时子程序流程图由于单片机采用的是12MHZ晶振,则执行一条空指令所用时间恰为1us,子函数中设定的参数x是空指令执行次数,所以这是一个us级的软件延时函数。
5 系统调试由于实验室的仪器较老,有些损坏,为了更好地调试,最终采用了自己买的51开发板。
首先利用Keil软件进行编程,反复调试无错后生成了一个Hex文件,然后将程序烧录进单片机里面,进行运行。