基于单片机C52的温度报警系统
基于51单片机的温湿度报警器

引言网络通信技术的发展,使监控系统广泛应用于工农业生产等领域,因此,粮情检测技术粮情检测属监控系统范畴,近年来,由于计算机技术、超大规模集成电路技术和的研究在软、硬件等方面都有了一定的进展。
早期粮情监测主要采用温度计测量法,它是将温度计放入特制的插杆中,根据经验插在粮堆的多个测温点,管理人员定期拔出读数,确定粮温的高、低,决定是否倒粮。
这种方法对储粮有一定的作用,但由于温度计精度、人工读数的人为因素等原因,温度检测不仅速度慢,而且精度低,抽样不彻底,局部粮温过高不易被及时发现,导致因局部粮食发霉变质引起大面积坏粮的情况时有发生。
随着科技的发展,从 1978 年开始,采用电阻式温度传感器、采样器、模数转换器、报警器等组成的储粮监测系统出现,它可对各粮库的各个测温点进行巡回检测,检测速度、精度大大提高,降低了劳动强度,但由于电阻传感器的灵敏度低,致检测精度、系统可靠性还不够理想。
至 1990 年,粮情检测系统有了很大的改善和提高,系统在布线上采用矩阵式布线技术,简化了数据采集部分的线路,在传感器方面应用了半导体、热电偶等器件;在线路传输上采用了串行传输方式,从而减少了传输线根数;采用单板机进行数据处理,并采用各种手段提高数据传输及检测速度,通过软硬件技术的结合,检测精度和可靠性较前有很大提高。
但温度传感器的线性度差,系统的检测精度仍不理想,无法大面积推广。
近年来,随着单片机功能的日益强大和计算机的广泛应用,粮情检测的准确性、稳定性要求越来越高。
寻找最佳配置和最好的性价比成为粮情监测研究的热点国外在粮情监控技术上已达到了很成熟的地步,高科技数字式传感器广泛应用于粮情检测系统。
这种传感器采用了半导体集成电路与微控制器最新技术,在一个管芯上集成了半导体温度检测芯片、数据信号转换芯片、计算机接口芯片,转换、温度补偿等功能。
由于数字温度传感器直接传出数字量,从而解决了温度信号长距离传输问题及传输过程中因干扰和衰减而导致的精度降低等问题。
基于单片机设计的温度报警系统

基于stc89c52单片机的温度传感报警器摘要 (3)1、引言 (4)2 设计内容及性能指标 (5)3 系统方案比较、设计与论证 (5)3.1 主控制器模块 (5)3.2 温度测量 (5)3.3 设置温度 (6)3.3 显示模块 (6)3.4 电源选取 (6)4 系统器件选择 (6)5 硬件实现及单元电路设计 (7)5.1 主控制模块 (7)5.2 显示模块电路 (8)5.3 数码管显示驱动电路 (8)图6 驱动电路 (9)5.4 温度传感器(DS18B20)电路 (9)5.4.1 DS18B20基本介绍 (9)5.4.2 DS18B20控制方法 (9)5.4.3 DS18B20供电方式 (10)5.6 蜂鸣器、发光二极管报警电路 (10)6 系统软件设计 (11)6.1 程序结构分析 (11)6.2 系统程序流图 (11)6.2.1 DS18B20初始化程序流程图 (12)6.2.2 读温度子程序流程图 (13)7 系统的安装与调试 (13)7.1 安装步骤 (13)7.2 电路的调试 (13)7.3 本章小结 (14)结论 (14)参考文献 (14)附录1 整体电路原理图 (15)附录2 部分源程序 (16)摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于STC89C52单片机的温度报警系统,详细描述了利用温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度控制,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与STC89C52结合实现最简温度控制系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度的控制,有广泛的应用前景。
基于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序言随着科技的不断发展,日常生活中越来越多的采用高温高热的一些设备及装置,它在方便了人们生活的同时,也留下了安全隐患,因此做好高温预警工作是非常必要的。
基于STC89C52单片机的智能火灾报警系统设计

基于STC89C52单片机的智能火灾报警系统设计一、概述随着科技的进步和社会的发展,人们对生活和工作环境的安全性要求越来越高。
火灾作为威胁人类生命财产安全的重要因素,其防治和预警显得尤为重要。
传统的火灾报警系统往往依赖于人工巡查和简单的传感器,存在响应速度慢、误报率高、覆盖范围有限等问题。
研究并开发一种智能化的火灾报警系统具有重要的现实意义和应用价值。
本文旨在设计一种基于STC89C52单片机的智能火灾报警系统。
STC89C52单片机作为一种高性能、低功耗的微控制器,具有丰富的外设资源和强大的处理能力,非常适合用于智能火灾报警系统的核心控制单元。
本系统将结合烟雾传感器、温度传感器和红外传感器等多种传感器,实现对火灾初期征兆的实时监测和数据采集。
同时,系统还将利用无线通信技术,实现报警信息的远程传输和控制指令的下发,从而大大提高火灾报警的及时性和准确性。
本论文将详细介绍智能火灾报警系统的设计原理、硬件选型、软件编程和系统测试等关键环节,力求为火灾防治工作提供一种高效、可靠的智能化解决方案。
通过本文的研究,不仅能够提升火灾报警系统的智能化水平,还能为类似的安全监测系统提供有益的参考和借鉴。
1. 火灾报警系统的重要性火灾,作为一种具有极大破坏力的灾害,对人们的生命和财产安全构成了严重威胁。
在各类灾害中,火灾因其发生频率高、影响范围广、损失惨重等特点而备受关注。
火灾报警系统的设计与应用显得至关重要。
火灾报警系统能够在火灾初期阶段及时发现火情,通过声光报警等方式提醒人员疏散,从而最大程度地减少人员伤亡。
系统还能迅速启动灭火装置,控制火势蔓延,降低火灾对财产的损失。
火灾报警系统对于提高建筑安全水平具有重要意义。
在现代社会中,各类建筑如商场、医院、学校等人员密集场所的火灾风险尤为突出。
通过安装火灾报警系统,可以实时监测建筑内的火灾隐患,及时发现并处理火情,从而提高建筑的整体安全性能。
火灾报警系统也是智慧城市建设的重要组成部分。
基于52单片机的智能温度控制程序

#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit SET=P3^1; //定义调整键sbit DEC=P3^2; //定义减少键sbit ADD=P3^3; //定义增加键sbit BEEP=P3^4; //定义蜂鸣器sbit fengshan=P3^0; // 定义风扇sbit jiare=P3^7; //定义加热sbit DQ=P3^6; //定义DS18B20总线I/Osbit DIAN=P0^7; //小数点bit shanshuo_st; //闪烁间隔标志bit beep_st; //蜂鸣器间隔标志uchar x=0; //计数器0signed char m; //温度值全局变量uchar n; //温度值全局变量uchar set_st=0; //状态标志signed char shangxian=38; //上限报警温度,默认值为38signed char xiaxian=5; //下限报警温度,默认值为5uchar code LEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};void Delay(uint num); /*****延时子程序*****/void InitTimer(void); /*****初始化定时器0*****/void check_wendu(void); /*****读取温度*****/Disp_init(); /*****显示开机初始化等待画面*****/Disp_Temperature(); /*****显示温度子程序*****/Disp_alarm(uchar baojing); /*****显示报警温度子程序*****/void Alarm(void); /*****报警子程序*****/void Delay_DS18B20(int num); /*****延时子程序*****/void Init_DS18B20(void); /*****初始化DS18B20*****/unsigned char ReadOneChar(void); /*****读一个字节*****/void WriteOneChar(unsigned char dat); /*****写一个字节*****/unsigned int ReadTemperature(void); /*****读取温度*****/void jiare1(void); /****加热程序***/void fengshan1(void); /****风扇冷却程序***//*P2段选,P1位选*//////////////////////////////////*****主函数*****/void main(void){uint z;InitTimer(); //初始化定时器0EA=1; //全局中断开关TR0=1;ET0=1; //开启定时器0IT0=1;IT1=1;check_wendu();check_wendu();for(z=0;z<300;z++){Disp_init();}while(1){if(SET==0){Delay(2000);do{}while(SET==0);set_st++;x=0;shanshuo_st=1;if(set_st>2)set_st=0;}if(set_st==0){EX0=0; //关闭外部中断0EX1=0; //关闭外部中断1check_wendu();Disp_Temperature();Alarm(); //报警检测}else if(set_st==1){BEEP=1; //关闭蜂鸣器EX0=1; //开启外部中断0EX1=1; //开启外部中断1if(x>=10){shanshuo_st=~shanshuo_st;x=0;} if(shanshuo_st){Disp_alarm(shangxian);} }else if(set_st==2){BEEP=1; //关闭蜂鸣器EX0=1; //开启外部中断0EX1=1; //开启外部中断1if(x>=10){shanshuo_st=~shanshuo_st;x=0;}if(shanshuo_st){Disp_alarm(xiaxian);}}jiare1(); /****加热程序***/fengshan1(); /****风扇冷却程序***/ }}///////*****延时子程序*****/void Delay(uint num){while(--num);}/*****初始化定时器0*****/void InitTimer(void){TMOD=0x01;TH0=(65536-50000)/256;//设置初值TL0=(65536-50000)%256;}/*****定时器0中断服务程序*****/void timer0(void) interrupt 1{TH0=(65536-50000)/256;//设置初值TL0=(65536-50000)%256;x++;}/*****外部中断0服务程序*****/void int0(void) interrupt 0 //设置下限温度{EX0=0; //关外部中断0if(DEC==0&&set_st==1){shangxian--;if(shangxian<xiaxian)shangxian=xiaxian;}else if(DEC==0&&set_st==2){xiaxian--;if(xiaxian<0)xiaxian=0;}}/*****外部中断1服务程序*****/void int1(void) interrupt 2{EX1=0; //关外部中断1if(ADD==0&&set_st==1){shangxian++;if(shangxian>99)shangxian=99;}else if(ADD==0&&set_st==2){xiaxian++;if(xiaxian>shangxian)xiaxian=shangxian;}}/*****读取温度*****/void check_wendu(void){uint a,b,c;c=ReadTemperature()-5; //获取温度值并减去DS18B20的温漂误差a=c/100; //计算得到十位数字b=c/10-a*10; //计算得到个位数字m=c/10; //计算得到整数位n=c-a*100-b*10; //计算得到小数位if(m<0){m=0;n=0;} //设置温度显示下限if(m>99){m=99;n=9;} //设置温度显示上限}/*****显示开机初始化等待画面*****/Disp_init(){P0=0xbf; //显示P2=0x7f;Delay(200);P2=0xbf;Delay(200);P2=0xdf;Delay(200);P2=0xef;Delay(200);P2=0xff; //关闭显示}/*****显示温度子程序*****/Disp_Temperature() //显示温度{P0=0xc6; //显示CP2=0x7f;Delay(300);P0=LEDData[n]; //显示个位P2=0xbf;Delay(300);P0=LEDData[m%10]; //显示十位DIAN=0; //显示小数点P2=0xdf;Delay(300);P0=LEDData[m/10]; //显示百位P2=0xef;Delay(300);P2=0xff; //关闭显示}/*****显示报警温度子程序*****/Disp_alarm(uchar baojing){P0=0xc6; //显示CP2=0x7f;Delay(200);P0=LEDData[baojing%10];//显示十位P2=0xbf;Delay(200);P0=LEDData[baojing/10];//显示百位P2=0xdf;Delay(200);if(set_st==1)P0=0x89;else if(set_st==2)P0=0xc7;//上限H、下限L标示P2=0xef;Delay(200);P2=0xff; //关闭显示}/*****报警子程序*****/void Alarm(void){if(x>=10){beep_st=~beep_st;x=0;}if((m>=shangxian&&beep_st==1)||(m<xiaxian&&beep_st==1))BEEP=0; else BEEP=1;}//////////////////////////////////////////////////////////////////*****延时子程序*****/void Delay_DS18B20(int num){while(num--);}/*****初始化DS18B20*****/void Init_DS18B20(void){unsigned char x=0;DQ=1; //DQ复位Delay_DS18B20(8); //稍做延时DQ=0; //单片机将DQ拉低Delay_DS18B20(80); //精确延时,大于480usDQ=1; //拉高总线Delay_DS18B20(14);x=DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败Delay_DS18B20(20);}/*****读一个字节*****/unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat=0;for(i=8;i>0;i--){DQ=0; //给脉冲信号dat>>=1;DQ=1; //给脉冲信号if(DQ)dat|=0x80;Delay_DS18B20(4);}return(dat);}/*****写一个字节*****/void WriteOneChar(unsigned char dat){unsigned char i=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;Delay_DS18B20(5);DQ=1;dat>>=1;}}/*****读取温度*****/unsigned int ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0x44); //启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号的操作WriteOneChar(0xBE); //读取温度寄存器a=ReadOneChar(); //读低8位b=ReadOneChar(); //读高8位t=b;t<<=8;t=t|a;tt=t*0.0625;t=tt*10+0.5; //放大10倍输出并四舍五入return(t);}void jiare1(void){if(m<xiaxian)jiare=0;else jiare=1;}void fengshan1(void){if(m >shangxian)fengshan=0;else fengshan=1;}。
基于STC89C52和DS18B20的温度显示报警系统

基于STC89C52和DS18B20的温度显示报警系统【摘要】:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度低于或高于设置温度范围内时,可以报警。
本系统采用STC89C52单片机作为控制主芯片,DS18B20数字温度传感器作为温度采集器件,运用蜂鸣器作为报警器,LED灯作为闪烁指示灯,三位共阴数码数作为LED显示器件。
关键词:单片机STC89C52 温度传感器DS18B20 蜂鸣器显示器一、设计目的1、学习基本理论在实践综合运用的经验,掌握工程系统设计的基本方法、设计步骤,培养综合设计与调试能力。
2、学会以STC89C52为核心芯片的温度报警器的设计方法和性能指标测试方法。
3、培养实践技能,提高分析和解决实际问题的能力。
二、设计任务及要求1、设计并制作一个可用显示模块显示实时温度、报警温度,当环境温度超过或低于某个值时,实施报警。
主要技术指标要求:设计温度分辨率为0.1摄氏度2、设计电路结构,画出编程流程框图,选择电路元件,计算确定元件参数,画出实用原理电路图。
二. MCS-51单片机单片机SCM(Single Chip Microcomputer),即Microcontroller,是把微型计算机主要部分都集成在一个芯片上的单芯片微型计算机。
主要包括了微处理器(CPU)、存储器(ROM, RAM)、输入/输出口(I/O口)和定时器/计数器、中断系统等功能部件。
单片机自70年代出现以来,已经有了很大的发展,被广泛应用于机械、测量控制、工业自动化、智能接口和智能仪表等许多领域。
1.MCS-51单片机的引脚图:2. MCS-51单片机的内部结构图:(1)电源引脚Vcc和Vss:Vcc(40脚):电源端,+5伏Vss(20脚):接地端(2)时钟电路引脚XTAL1和XTAL2XTAL1(18脚)和XTAL2(19脚):接外部晶体和微调晶体。
基于STC89C52单片机的温度监控报警系统设计和仿真

基于STC89C52单片机的温度监控报警系统设计和仿真作者:金洪吉朱清龙来源:《价值工程》2016年第05期摘要:在生活中温度是一个十分重要的参数。
能够有效的监控温度,是非常重要的。
监控家用电器的温度,可以大大减少火灾发生的情况,保障生命安全,减少财产损失。
监控温棚温度,可以减少农植物的死亡,保证农作物的收成。
监控病人的体温,可以及时发现的感冒的早期特征,预防病情恶化。
因此设计一个温度报警系统是十分有必要的。
本文主要介绍了一个基于STC89C52单片机的温度报警系统,利用STC89C52单片机开发温度报警系统的过程,重点是单片机和传感器的硬件连接。
温度报警器系统内的软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要设定报警温度。
Abstract: In the life, the temperature is a very important parameter. It is very important to effectively monitor the temperature. To monitor the temperature of the household electrical appliances can greatly reduce the fire, ensure the safety of life and reduce property loss. To monitor the greenhouse temperature can reduce the death of agriculture plants and guarantee harvest. To monitor the patients' body temperature can found the early characteristics of cold in time and prevent deterioration. So, it is very necessary to design a temperature alarm system. This paper mainly introduces a temperature alarm system which based on STC89C52 single-chip microcomputer, the development process of temperature alarm system by using STC89C52 single-chip and the hardware connection of the single chip microcomputer and sensor. This paper detailedly analyzes the software programming and the system process of each module in the temperature alarm system and introduces the circuits one by one. The system can easily realize temperature acquisition and display, and it can set alarm temperature according to the need.关键词:单片机;温度控制;STC89C52;DS18B20Key words: single-chip;temperature control;STC89C52;DS18B20中图分类号:TP277 文献标识码:A 文章编号:1006-4311(2016)05-0133-020 引言本文将介绍以STC89C52单片机为控制器,以DS18B20为传感器,以LED为显示器,以按键为输入设备,以5号电池为电源,以蜂鸣器和报警灯为报警装置,构成的数字温度控制系统。
基于单片机温度控制报警系统设计

通信工程课程设计题目基于单片机温度控制报警系统设计学生姓名贾雄学号 1113024006 所在院(系)陕西理工学院物理与电信工程学院专业班级通信工程专业 110 1 班指导教师候宝生完成地点陕西理工学院物理与电信工程学院实验室2014年 11 月 19 日目录摘要 (3)1 引言 (3)1.1课题背景 (3)1.2研究内容和意义 (5)2 芯片介绍 (5)2.1 DS18B20概述 (6)2.1.1 DS18B20封装形式及引脚功能 (6)2.1.2 DS18B20内部结构 (6)2.1.3 DS18B20供电方式 (8)2.1.4 DS18B20的测温原理 (9)2.1.5 DS18B20的ROM命令 (11)2.2 AT89C52概述 (12)2.2.1单片机AT89C52介绍 (12)2.2.2功能特性概述 (12)3 系统硬件设计 (13)3.1 单片机最小系统的设计 (13)3.2 温度采集电路的设计 (14)3.3 LED显示报警电路的设计 (15)4 总结 (15)致谢 (16)参考文献 (17)附录A 总电路图 (18)附录B 原器件清单 (18)附录C 温度报警器部分程序 (19)摘要随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。
本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。
详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文)中文摘要(题目):基于单片机C52的温度报警系统摘要:温度是一种最基本的环境参数,人们的生活与环境温度息息相关,随着现代工农业技术的发展以及人们对于生活环境的要求的提高,也迫切需要检测和控制温度。
因此对温度的测量与控制具有十分重要的意义。
本文把多功能显示系统和单片机有机结合起来,并且在C语言程序的支持下,设计出实时温度显示报警电路。
以AT89C52单片机为核心,由温度传感器、时间芯片、液晶、报警器等作为单片机的外围器件。
它是一种多功能的数字式电路,它可显示年、月、日、小时、分钟等时间信息,同时也可以显示周围环境等温度信息。
单片机通过时钟芯片DS1302获取时间数据和温度传感器DS18B20采集温度,对数据处理后送到液晶1602显示输出。
电路采用LCD作为显示器,具有界面良好,功耗低等特点。
软件采用C语言来编写目标系统软件,会大大的缩短开发周期,且明显地增加软件的可读性,便于改进和扩充,以研制出规模更大、性能更完备的系统。
经过软硬件结合,所设计的温度控制报警器能完成实时显示以及超温报警功能。
关键词:DS18B20 AT89C52 单片机报警器毕业设计(论文)外文摘要Title :The Temperature Alarm system based on Single Chip C52 Abstract: Temperature is one of the fundamental environmental parameters, our life is related to the environmental temperature. With the development of modern agriculture and industry technologies and increasing request of our living environment, the temperature detection and control are needed. So the temperature measurement and control have vital significance. In this design, the multi-functional display system and single chip microcomputer, have combined together, a real-time temperature display alarming circuit is designed with the use of C language program. This design is composed of the single chip AT89C52, temperature sensors, time chip, LCD, alarm device, etc. It is a multi-function digital circuit, it can display year, month, day, hour and minute time information, etc. Also can display environment temperature information, etc. DS1302 chip microcontroller through clock gain time data and temperature sensor DS18B20 collection of data processing temperature, LCD display output delivered after 1602. Circuit adopts LCD display, as with low consumption and good interface. Software C language is used to write the target system software in order to shorten the development cycle, and increase the readability of the software obviously, moreover, easy for improvement and expansion and develop larger and more complete system.Through the design of hardware and software, the temperature control and alarm system can perform real-time display and over temperature alarm function.keywords:DS18B20 AT89C52 SCM alarm目录目录 (3)1 引言 (1)背景及研究内容 (1)方案比较与选择 (1)2 主要元器件介绍及电路设计软件介绍 (3)AT89C52单片机主要特性及引脚功能介绍 (3)DS18B20温度传感器特性及引脚功能介绍 (5)DS1302时钟芯片特性及引脚功能介绍 (6)LCD1602芯片特性及引脚功能介绍 (8)KEIL C51软件介绍 (9)PROTEL 99SE简介 (10)P ROTEUS软件的简介 (11)3 硬件电路设计 (12)设计思路 (12)单元电路设计 (12)单片机最小系统 (12)温度传感电路 (13)时钟控制电路 (13)报警及显示电路 (14)4 系统软件设计 (14)软件设计思路 (14)主控程序流程图 (15)部分子程序流程框图 (15)lcd显示子程序流程图 (15)时间程序流程图 (17)温度报警子程序流程图 (18) (18)DS18B20温度子程序流程图 (19) (19)5 系统调试与分析 (19)硬件调试 (19)软件调试 (20)系统调试 (20)参考文献 (20)1 引言背景及研究内容温度是一种最基本的环境参数,人们的生活与环境温度息息相关,随着现代工农业技术的发展以及人们对于生活环境的要求的提高,人们也迫切需要检测和控制温度,对它的测量与控制具有十分重要的意义。
例如机房内的电脑、空调等用电设备长时间通电工作,导致设备老化,发生故障使机房内的电子产品发热,在短时间内机房温度升高至超出设备正常温度,导致系统瘫痪或产生火灾,这时温控报警器就发挥应有的功能。
温控报警器使用简单方便,若采用人工测温,不仅劳动强度大,且效果不明显、效率不高。
因此采用温控报警器顺应了现代社会发展的要求。
本文介绍的温控报警器可实现的功能如下:1.温度测量:能够实时显示当前的环境温度;2.时钟功能:能够作为时钟使用,显示当前时间;3.超温报警:当环境温度高于45度或者低于-5度时蜂鸣器报警。
方案比较与选择对于温控电路,可以有很多种设计方案来实现超温报警。
下面是经过初步的分析所罗列出来的两个方案。
方案一:该温度报警器的电路如图1-1所示。
时基电路IC1、电位器Rp、电阻R1和热敏电阻RT组成温度检测触发电路。
RT是一种负温度系数热敏电阻,阻值随温度的升高而逐渐减小。
IC2是一种音响集成电路KD9561,能产生4种模拟声,即报警车声、消防车声、救护车声和机枪声。
IC3为音频功率放大器,可将微弱的音频信号放大,推动扬声器B发声。
具体工作过程如下:温度未达到预定值时,由于温度传感器RT的阻值大于1/2(Rp +R1),IC1的触发端2脚电位高于1/3G(2V),使得IC1的3脚为低电平,二极管VD截止,IC2因得不到供电电压而无音频信号输出,扬声器B无声。
当温度升高到预定值时,RT的阻值将小于1/2(Rp +R1),IC1的触发器2脚电位低于1/3G(2V),IC1的输出端3脚从低电平跳变到高电平,二极管VD导通,输出约5V(200mA)的直流电压。
该直流电压经电容C2滤波后供给IC2。
这时,IC2产生的警笛信号由OUT端输出,经C3耦合至IC3的输入端3脚进行功率放大。
放大后的音频信号从IC3的5脚进行功率放大。
放大后的音频信号从IC3的5脚输出,最后经电容C6驱动扬声器B发出响亮的警笛报警声。
图1-1 温度报警器方案一电路原理图方案二:以AT89C52单片机为核心,由温度传感器、时间芯片、液晶、报警器等作为单片机的外围器件组成。
在AT89C52单片机内部有一个高增益的反向放大器,其输入端(XTAL1)和输出端(XTAL2)用于外接石英晶体和微调电容,构成振荡器。
当电源接通时RST端电位与VCC相同,为高电平,随后RC电路开始充电,RST端的电逐渐下降,经过一段时间后,降到低电平,只要令RC电路的参数选择适当,就可以使RST端得到足够长时间的高电平,从而完成复位。
温度传感器通过接口将信号送入单片机中,时钟芯片则是通过、、接口将信号送入。
通过程序的控制将信号以温度和时间的形式从,,端口送入LCD以显示。
原理框图如1-2所示:图1-2 温度报警器方案二原理图通过以上二种方案的比较,我选择了方案二,因为它选用单片机芯片使电路硬件连接更加简单化。
2 主要元器件介绍及电路设计软件介绍AT89C52单片机主要特性及引脚功能介绍AT89C52是51系列单片机的一个型号,是由ATMEL 公司生产的。
AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes 的可反复擦写的Flash 只读程序存储器和256 bytes 的随机存取数据存储器(RAM ),器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash 存储单元,功能强大的AT89C52单片机可应用在许多需要较复杂的系统控制场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。
晶振电路 单 片 机 LCD 报警电路(蜂鸣器) 温度传感器复位电路 时钟芯片主要功能特性:·兼容MCS51指令系统·8k可反复擦写(>1000次)Flash ROM· 2个串行中断· 2个双向I/O口·3个16位可编程定时/计数器中断·时钟频率0-24MHz·共6个中断源·低功耗空闲和掉电模式· 2个外部中断源·3级加密位·可编程UART串行通·2个读写中断口线·256x8bit 内部RAM·软件设置睡眠和唤醒功能图2-1 AT89C52引脚图图2-2 AT89C52结构图DS18B20温度传感器特性及引脚功能介绍DS18B20是DALLAS公司生产的单总线式数字温度传感器,具有微型化、低功耗、高性能、抗干扰能力强、易配处理器等优点,特别适用于多点温度测控系统,可直接将温度转化成串行数字信号(提供9位二进制数字)送给单片机处理,且在同一总线上可以挂接多个传感器芯片。