基于51单片机温度报警器设计
- 格式:doc
- 大小:313.65 KB
- 文档页数:19
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单⽚机的温度报警器单⽚机⼩项⽬介绍项⽬功能介绍编程语⾔: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单片机的温度报警系统的设计。
一、系统设计目标和功能本系统的设计目标是实时监测环境温度,并在温度达到预设阈值时发出警报。
具体功能包括:1.温度采集:通过温度传感器实时采集环境温度。
2.温度显示:将采集到的温度值通过数码管显示出来。
3.温度比较:将采集到的温度值与预设的阈值进行比较。
4.报警控制:当温度超过预设的阈值时,触发警报控制器。
5.报警指示:通过蜂鸣器或者LED灯等方式进行报警提示。
二、硬件设计本系统的硬件设计包括主控部分和外围部分。
1. 主控部分:使用51单片机作为主控芯片,通过AD转换器和温度传感器实现温度数据采集。
采用片内RAM和Flash存储器对数据进行处理和存储。
2.外围部分:包括数码管显示和报警指示。
使用数码管模块将温度值进行显示,使用LED灯或者蜂鸣器进行报警指示。
三、软件设计本系统的软件设计包括程序的编写和算法的设计。
1.程序编写:使用C语言编写单片机的程序。
程序主要包括温度采集、温度比较、报警控制和报警指示等功能。
2.算法设计:根据采集到的温度值与预设阈值进行比较,判断是否触发警报控制器。
同时,根据警报控制器的状态,控制报警指示的开关。
四、系统测试完成硬件和软件设计后,需要进行系统测试以验证系统的正确性和稳定性。
1.硬件测试:对硬件电路进行测试,包括电源、信号传输和外围器件等方面。
测试时需要注意电源的稳定性,信号的准确性和外围部件的工作状态。
2.软件测试:进行程序的运行测试,检查各功能是否正常运行。
特别关注温度采集和比较、报警控制和报警指示等功能。
五、系统性能分析对系统的性能进行分析,包括温度采集的准确性、报警控制的响应时间和报警指示的稳定性等方面。
1.温度采集准确性:主要受温度传感器的精度和ADC转换的准确性影响。
在设计中要选择合适的传感器和ADC。
河南工业职业技术学院毕业设计任务书类别:三年制高职专业:计算机控制技术班级:姓名:毕业设计题目:温度检测和报警系统指导教师姓名:负责人签字:年月日内容:启控制芯片采用89S51或Motorla A VR等8位单片机,传感器采用TMP03或DS18B20集成温度传感器; 实现对-20-+80摄氏温度范围之内的物体温度检测及超温报警要求:毕业设计说明书(论文)的有关要求对毕业设计说明书(论文)的有关要求如下:一、说明书(论文)的编写格式。
说明书(论文)的编写格式一般应包括下述七个部分:1 毕业设计(论文)题目2 目录3 摘要在正文前应有200字左右的论文摘要,提倡用英文书写(不用也可)。
4 前言前言应说明选题的题目,提出选题的依据,进行题目调查与资料收集过程,研究该题目的背景,选题状况简介,以及协作人员和其他应说明的问题;5 正文正文是毕业设计说明书(论文)的主体部分,包括所选题目的(1)系统设计思想a 原理框图b 原理概述(2)系统硬件设计a 硬件电路图b 硬件电路图说明(包括其中所用特殊芯片功能及使用说明)(3)系统软件设计a 程序流程图b 程序清单(4) 系统软硬件调试注意事项与要点。
6 结论结论一般包括研究成果、建议和建议被采纳的可能性;7 参考文献参考文献应列出撰写论文时参考了哪些主要书刊、资料,包括书刊名称、作者、出版单位及时间等。
二、说明书(论文)的规格说明书(论文)一律要求用统一规格的16开白纸打印。
图表要清晰,卷面要整洁,封面和插页格式要符合我院的统一规定。
字数不能少于1.5万字。
特别要注意标题层次标识规范科技论文的各层次标题一律用阿拉伯数字连续编码,不同层次的2个数字之间用下圆点“.”分隔开,末位数字后面不加点号。
如“1”,“1.2“3.5.1”等;各层次的标题序号均左顶格排写,最后一个序号之后空一个字距接排标题。
示例如下。
0 引言1 长途运输的试验1.1 试验方案1.1.1 运输工具的选择三、说明书(论文)的编排卷首要有目录及编号,卷本用小四号字体,卷本应附有参考文献和资料清单。
基于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单片机中。
目录温度检测报警系统 (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单片机温度报警器摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度报警器,本设计属于多功能温度报警器,可以设置上下报警温度,当温度超过上限或者下限任意温度设置范围内时,开始报警。
关键词:单片机,数字显示,温度报警, 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 数码管实现温度显示,用一位数码管显示℃摄氏度符号。
报告评分批改老师《现代电子综合实验》课程设计报告基于单片机的温度检测控制系统设计学生姓名 学 号专 业 班 级同组学生 提交日期 年 月 日指导教师目录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单片机的温度报警器设计引言:温度报警器是一种用来检测环境温度并在温度超过设定阈值时发出警报的装置。
本文将基于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单片机温度报警器设计系部:学制:专业:姓名:学号:2013年10月20日目录一、摘要 (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)一、摘要在日常生活及工农业生产中经常要涉及到温度的检测及控制。
像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。
比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
因此,各行各业对温度的控制要求都越来越高。
由此可见,温度的测量是非常重要的。
本设计以单片机AT89C52为核心,通过温度传感器18B20将温度信号转换为电压信号,将温度信号传送给单片机通过温度处理程序,送LCD 进行显示,最后温度可以直接由LCD读取。
本文详细阐述了硬件每一部分,并给出硬件框图和系统原理图,以及显示温度用的软件程序,文中对所用到的主要器件做了较详细的介绍分析,本设计实现了温度的自动控制和报警功能。
关键词18B20;传感器;AT89C52;单片机;温度;报警器二、设计方案论证(一)系统主机选择本次设计选择的是Atmel公司的AT89C52,是美国 ATMEL 公司生产的低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大 AT89C52 单片机适合于许多较为复杂控制应用场合。
(二)温度传感器选择温度传感器是检测温度的器件,其种类最多,应用最广,发展最快。
目前最市场山主要有热敏电阻、双金属片、集成化半导体温度传感器和热电偶四大类。
本次设计中采用的是集成化半导体温度传感器DS18B20。
DS18B20是美国DALLAS 半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。
与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。
因而使用DS18B20可使系统结构更趋简单,可靠性更高。
他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。
(三)液晶选择液晶显示器(LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
LCD以其微功耗、体积小、重量轻、超薄型等诸多优点在袖珍式仪表和低功耗系统中得到越来越广泛的应用。
本设计中,显示的内容比较简单(字母或者数字),因此选择字符型的显示模块性价比高。
这里采用LCD1602,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单。
(四)报警电路选择目前市场上存在各种各样的报警电路,比如声光触发、触摸断线出发、红外触发等等。
一般来说,一个系统都需要设计一个报警电路,以提醒使用者当前系统所出现的错误或者需要引起操作者的注意。
考虑本次设计的数字式温度表,只需要在测量的温度超出范围时,提醒使用者即可。
因此,相应的报警电路不需要复杂的功能,只需采用一个蜂鸣器即可。
三、硬件电路设计(一)设计思路温度只要在所设定的上下温度界限内,就会在显示设备中精确的显示出来,如果温度超过了所设定的温度界限,就发出报警声。
能够及时向温度监控人员发出温度超限信息。
便于温控人员及时的调整与控制。
另外此温度控制器操作简单,体积小,灵敏度高,精度高。
(二)总体设计方框图图2-1 总体设计方框图方框图所示为数字温度控制器的单体设计方框图。
其工作原理为:当该电路上电工作以后,首先刷新显示(LCD),然后,温度传感器采集温度送单片机检查温度的高低,由单片机送出信号经过驱动电路送往显示电路。
(三)原理图本系统中我们使用的原理图主要分为三部分,单片机部分、传感器电路部分、显示电路部分。
图3-2为单片机最小系统的电路设计部分。
图3-3为本系统温度检测传感器DS18B20的电路的设计。
通过它来检测外部的温度的变化。
图3-4为本系统的显示部分电路设计。
通过LCD1602来显示测得的温度和系统的工作状态。
图3-2 原理图图3-3 DS18B20原理图图3-4 1602液晶显示原理图(四)单片机最小系统设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。
应用AT89C52单片机设计并制作一个单片机最小系统,达到如下基本要求:①具有上电复位和手动复位功能。
②使用单片机片内程序存储器。
③具有基本的人机交互接口:按键输入、LED显示功能。
④具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接。
由于本次设计中并没有按键输入功能,严格来说,并不能称为最小系统,使用它来称呼只是为方便叙述。
(五) AT89C52单片机芯片引脚功能介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。
1. 电源: ⑴ VCC - 芯片电源,接+5V;⑵ VSS - 接地端;2. 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。
3. 控制线:控制线共有4根,⑴ ALE/PROG:地址锁存允许/片内EPROM编程脉冲① ALE功能:用来锁存P0口送出的低8位地址② PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵ PSEN:外ROM读选通信号。
⑶ RST/VPD:复位/备用电源。
① RST(Reset)功能:复位信号输入端。
② VPD功能:在Vcc掉电情况下,接备用电源。
⑷ EA/Vpp:内外ROM选择/片内EPROM编程电源。
① EA功能:内外ROM选择端。
② Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
4. I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
AT89C52芯片的封装有PLCC、PQFP以及DIP—40,本设计采用的是引脚双列直插式封装。
其封装形式如(图3-5)。
图3-5 AT89C52 DIP-40封装5相关引脚及功能:P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口(引脚32~39),也即地址/数据总线复用口。
一般在使用时,需外加上拉电阻。
P1 、P2、P3口:P1 (引脚1~8)、P2(引脚21~28)、P3(引脚10~17)是带内部上拉电阻的 8 位双向 I/O 口。
在访问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据。
在访问 8 位地址的外部数据存储器时,P2 口输出 P2 锁存器的内容。
P3 口除了作为一般的 I/O 口线外,每个引脚都具有第二功能。
RST:复位输入(引脚9)。
当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。
ALE/PROG:(引脚30)当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。
PSEN:程序储存允许(PSEN)输出(引脚29)是外部程序存储器的读选通信号。
EA/VPP:外部访问允许。
欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。
如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。
XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:振荡器反相放大器的输出端。
图3-6 振荡器6 时钟电路时钟电路是单片机正常工作的基础,AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3-6。
外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。