《基于at89c51单片机的-智能开关设计本科学位论文.doc》由会员分享,可在线阅读,更多相关《基于at89c51单片机的-智能开关设计本科学位论文.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、榆林学院本科毕业设计(论文)分类号 TP319 单位代码 11395 密 级 学 号 0805270106 学生毕业设计(论文)题 目基于AT89C51单片机的智能开关设计作 者张三院 (系)能源工程学院专 业测控技术与仪器 指导教师赵鹏答辩日期 2013年5月20日1榆 林 学 院毕业设计(论文)诚信责任书本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要
2、贡献的个人和集体,均已在文中以明确方式标明。本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。 论文作者签名: 年 月 日摘 要智能开关的出现使人们能够更为便捷地控制家用电器,给人们的生活带来了极大的方便。单片机以其功耗低,工作稳定,体积小等优点,广泛的应用于智能开关的主控制器。本设计就基于AT89C51单片机的智能开关的工作原理和设计方法进行了系统的研究。本设计以AT89C51单片机为核心,并结合外围元件如:蜂鸣器、继电器、DS18B20、数码管等设计出控制作息时间和空调温度监控及报警功能的智能开关。利用Protel软件设计温度采集电路、报警电路、显示式电路等,运用Keil软件
3、编程,利用Proteus仿真来实现其功能。本设计灵活方便,修改简单,而且在使用过程中更加的安全节电,利用单片机监控实时温度,在一定程度上不仅完善了空调的功能,而且在很大程度上使空调的控制及操作得到了简化。关键词:单片机;智能开关;DS18B20 Design of Intelligent Switch Based on the AT89C51 MCU ABSTRACTPeople can more easily control devices with the occurrence of the emergence of intelligent switches which has broug
4、ht great convenience to peoples lives. The microcontroller is constantly been used, and it is more extensive, the reason lies in its low power consumption, easy to use, small size, some features. This design aims to do a systematic study of the emergence of intelligent switch which based on the AT89
5、C51 MCU of design theory and method.the AT89C51 MCU play the core role in this design, and combined with peripheral components the buzzer, relays, the DS18B20, digital tube, etc. by which design the switch of control of the work and rest time and the air-conditioning temperature monitoring and alarm
6、 function of the intelligent. the design using Protel software design temperature data acquisition circuit alarm circuit, display circuit, the use of the Keil software programming, Proteus simulation to achieve its function. this design is flexible, simple to modify, and more secure in the process o
7、f using energy-saving microcontroller to monitor real-time temperature. To a certain extent, not only improve the function of the air conditioner, but also simplified the air conditioning control and operation of the air conditioning .Key words: MCU; Intelligent switch; DS18B20目 录摘 要IABSTRACTII1 绪论1
8、1.1本设计的意义11.2智能开关的发展现状11.3 本章小结22 智能开关的方案设计32.1 本设计的性能指标32.2 温度采集方式的选择32.3蜂鸣器的选择32.4继电器的选择42.5总体结构设计42.6 本章小结43 硬件电路设计53.1单片机最小系统设计53.1.1 AT89C51单片机简介53.1.2 时钟电路设计63.1.3 复位电路设计63.2电源电路设计73.3 温度采集电路设计83.3.1 温度传感器DS18B20简介93.3.2 温度采集接口设计103.4 报警电路设计113.5 显示电路设计113.6 键盘电路设计123.7 本章小结134 软件设计144.1主程序设计1
9、44.2时间控制程序设计154.3 温度报警程序设计154.4 四位数码管显示程序设计164.5 本章小结175 系统仿真195.1 proteus简介195.2 keil软件介绍195.3仿真过程196 总结21参考文献22致谢23附录A 总原理图24附录B 温度显示仿真图25附录C 总程序26331 绪论1.1本设计的意义现在的开关已经不能完成人们想要使它完成的某些功能,逐渐地,传统的开关会随着科技的进步慢慢地被人们所淘汰。人们发现了一种新的控制器件的方式,那就是智能开关。随着电子技术的狂飙式发展,人们对传统的开关就提出了更高的要求,要求其能完成更多的功能以满足人们的需要。智能开关是如时间
10、程序自动控制、按时自动打铃、自动启闭电灯、定时广播等一些定时设备的自动启动。现在的社会所要提倡的是降低能源的消耗、节约能源、注重环境保护。智能开关的研究就能够使近年来人们对能源节约的要求得到充分的满足。而且进一步对智能开关的研究也有着非常重要的意义。可能人们对智能开关还不是很熟悉,甚至感到有些陌生。就现在来看,智能开关的应用很不普遍,还处在一个发展的状态。但是控制智能开关面板简洁、占用的空间小、反应灵敏、操作便利、切换快速,是最好的选择。在以前需要实现的很多功能必须由模拟电路或者数字电路来实现,但是现在我们可以通过单片机用软件方法来实现。单片机的应用已经发展到了空调方面,完成了软件和硬件的相结
11、合。在一定程度上不仅完善了空调的功能,而且在很大程度上使空调的控制及操作得到了简化。不仅满足了不同用户对环境温度的不同要求,而且能全智能调节室内的温度,并且对故障能够及时报警,以便于人们能够及早的发现排除故障。智能开关的出现,实现了对设备的多功能控制,很大程度上实现了简单操作,方便使用的特点。在开关使用上,人们需要的是对于生活和工作环境以及设备的随心所欲的控制方式。因此,智能开关的出现在很大程度上满足了人们的要求。1.2智能开关的发展现状智能开关的发展分为两个方面,其一是智能感知和判断。其二是智能状态监测。尽管现在智能开关没有普遍使用。英国Merlin Gerin公司的市场部经理Stewart
12、 Gregory说:“智能就是通信的能力”。1989年,在Hanover展览会上,Merlin Gerin公司推出了SF中压SF6气体断路器,由一个单个装置把断路器和固态控制电路系统组合在一起。目前,ABB 、西门子等一些国际厂商进行的是一次设备智能化的研究。而且,上述的这些厂商同时也具有一次设备生产的能力,而且还有二次设备开发的能力。为了弥补智能开关在各方面技术上的不足,就规定了控制器件所需要的各个逻辑节点。在电气开关设备设计一开始,为了能够使结构部分更加紧凑,设计更加合理化,绝缘效果更可靠,这些厂商就把控制设备和智能传感器加入到开关里。就目前来说,单片机技术已经非常的成熟,将来的发展方向趋
13、向于运用单片机可以设计出智能型的声控开关。随着单片机应用不断深入发展,智能型开关的发展也是很迅猛的。电路设计好后,运用软件编程来实现其功能,灵活方便,修改简单,而且在使用过程中更加的安全节电。近年来,我国的智能开关是不断的发展,并且也不断的加强产品的智能化程度,创新步伐也在不断的加快。现在,西开、沈高和平高等一些国内厂商也正在对智能开关进行相关方面的研究。有好多智能化工程中已经用到了智能化产品的核心元件,包括GIS电子式互感器,GIS间隔智能监测装置等,并且向用户提供了可以满足GIS设备要求的整体化、系统化的解决方案。但是,就智能开关的优越性来看,在不久的以后,智能开关会成为用户最满意的控制器
14、件,开关的智能化是以后发展的必然1。1.3 本章小结通过以上,了解了智能开关在国内外的发展情形,对智能开关也有了一个大概的认识,也明确了本设计需要做哪些方面的研究,知道了研究智能开关是很有意义的,也使自己有了更多的热情和动力去完成本设计。2 智能开关的方案设计2.1 本设计的性能指标就寝功能:设定熄灯时间,时间到熄灯。空调温度监控功能:采用模拟系统,设定温度为25,蜂鸣器响同时小灯亮表示自动降温。起床唤醒功能:设定起床时间,时间到蜂鸣器响1分钟。时钟功能:采用12小时制,时间可以自由调整。复位功能:设备出现故障或者需要调整时,按复位键实现初始化。2.2 温度采集方式的选择方案一:XXXXXXX
15、XXXXXXXXXXX。方案二:XXXXXXXXXXXXXXXXXXXXX。方案三:如果选用DALLAS公司最新单线数字温度传感器DS18B20进行温度采集,温度传感器DS18B20只需要三根导线和一个电阻,不需要其他任何外围电路即可测得温度数据,所以电路非常简单。前面的两种方案还都需要A/D转换器。综上述,最终选用方案三,即选用DS18B20。2.3蜂鸣器的选择方案一:有源蜂鸣器仅仅需要电平驱动就能够发音,并且它的内部有自带的震荡电路,它的结构是一体化的。有源蜂鸣器要单片机普通输入输出端口直接高低电平驱动,如果单片机的驱动能力不够也可以用三极管驱动,程序简单。方案二:无源蜂鸣器内部不带震荡源
16、,需要接在音频输出电路中才能发音。输入输出端口选择上最好是选择定时器的I/O输出,PWM输出或者其他容易生成不同频率的输出的端口,程序略复杂。综上所诉,本设计应该选择有源蜂鸣器。2.4继电器的选择继电器就是开关,在一定的环境要求下,起到关闭或者开启的作用。继电器有很多,常见的继电器有热继电器,时间继电器,软继电器等。根据本设计的要求继电器要在设定的时间接通或者分断电路。时间继电器是我们经常使用的一种的继电器,通常在电压是380V、直流是220V、交流是50HZ或者60HZ的控制电路中作延时元件,按设计所要求的预定时间接通或者分断电路。时间继电器的应用很广泛,可广泛应用在各种控制系统中,起到控制
17、时间的作用。本设计对蜂鸣器的驱动用一个继电器开关电路来完成。 2.5总体结构设计本论文的整个设计的系统可分为温度采集电路、电源电路、显示电路、复位电路、时钟电路、报警电路、中央处理电路这七个部分。为了更好地说明本设计的体系结构,特别地用一个构件图来说明。如图2-1所示。显示电路AT89C51报警电路复位电路时钟电路温度采集电路键盘电路图2-1 构件图2.6 本章小结本章对本设计所需要的硬件做了明确地选择,通过比较同一类型中的各个器件,选择出了它们当中最适合本设计要求使用的器件,在对各个器件作选择的同时,对各个器件的原理、结构、优势等都有了一个新的了解和认识,为本设计进一步的研究作了很好的基础。
18、3 硬件电路设计3.1单片机最小系统设计 3.1.1 AT89C51单片机简介XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
19、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。领域2。串行通信口及中断系统可以在空闲方式时继续工作
20、。如图3-1 AT89C51外形图3。图3-1 AT89C51外形图3.1.2 时钟电路设计XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
21、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。图3-2 时钟电路3.1.3 复位电路
22、设计XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
23、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。图3-3 复位电路3.2电源电路设计XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
24、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
25、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。图3-4电源电路3.3 温度采集电路设计XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
26、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
27、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。图3-5 温度采集电路继电器通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”,本设计中,继电器开关电路外接+12V电源,另一端接接空调控制开关,继电器主要的作用就是驱动空调制冷。继电器开关电路图如图3-6。图3-6继电器开关电路3.3.1 温度传感器DS18B20简介XXXX
28、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
29、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX7。工作原理:如图3-7温度的变化会影响晶振的振荡频率,但是温度系数越小,受到的影响也就越小。XXXXXXXXXXXXXXXXXXXXXXX
30、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
31、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。斜率累加器比较计数器1等于0计数器2等于0预置低温系数晶振高温系数晶振温度寄存器预置加1LSB置位/清除停止图3-7 DS18B20测量温度原理图内部结构:DS18B20的内部
32、结构(如图3-8)主要由配置寄存器,温度传感器,非挥发的温度报警触发器TH和TL以及64位光刻ROM这四部分组成。DS18B20的管脚排列如图3-9所示。存储器和控制高速缓存存储温度灵敏原件低温触发器高温触发器配置寄存器8位CRC生成64位ROM和单线接口电源检测图3-8 DS18B20的内部结构图3-9 DS18B20的外形图DS18B20引脚的功能描述:GND为地信号。DQ为数据输入/输出引脚。当在寄生电源下,也可以向器件提供电源。VDD为可选择的VDD引脚。当在寄生电源下,此引脚必须接地。3.3.2 温度采集接口设计XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
33、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
34、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。3.4 报警电路设计本设计采用的是有源蜂鸣器。当系统上电后,电流通过限流电阻驱动三极管放大蜂鸣器,根据软件流程蜂鸣器报警。如下图3-10的报警电路。图3-10 报警电路3.5 显示电路设计XXXXXXX
35、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
36、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。用单片机的P2.0、P2.1、P2.2、P2.3口分别控制段选。如图3-11显示电路9。图3-11 显示电路3.6 键盘电路设计XXXXXXXX
37、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
38、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。当运行在模式三时,系统可以通过加键(ADD)和减键(SUB)对之前的温度上翻查询和下翻查询11。图3-12 按键电路3.7 本章小结本章主要的任务
39、就是对硬件电路的设计,并且对设计所需要的各个电路分别作了独立的分析,其中对温度传感器DS18B20作了详细的分析,包括DS18B20的外形图、工作原理、内部结构,以便更好的理解使用DS18B20。同时也画出了各个电路的电路图,电路图是在protel中画出的,在画图的的过程中,进一步掌握和巩固了对protel的使用。掌握了硬件后,对下一步的软件编程作好了铺垫。4 软件设计本程序设计主要有四部分,分别是主程序,时间控制程序,温度报警程序和显示程序。4.1主程序设计主程序开始初始化变量DS18B20采集温度初始化定时器温度是否过高蜂鸣器报警继电器开关执行温度值数据类型变化各个值转换成LED显示N定时
40、时间是否到结束YYN图4-1 主流程图4.2时间控制程序设计本设计单片机作息时间用的是时间计数器控制处理,按秒来计数、当设置的时间到时,蜂鸣器鸣笛,然后启动继电器使蜂鸣器开启或者关闭。单片机的定时器主要负责定时的计数,不会因为有按键的产生而中断对时间的扫描12。如图4-2所示。设置SCON读取数据查表送数显示数据是否传送结束送下一串数据YN时间控制程序入口返回图4-2 时间控制流程图4.3 温度报警程序设计由于DS18B20需要初始化才能使用,因此,首先必须对系统进行初始化并且要关闭所有中断,DS18B20把转换到的温度读出,然后放到累加器A中,把之前设置的温度报警的上限值转换成DS18B20
41、的输出值,这样然后再与报警上限的温度值进行比较,如果检测的结果是温度没有超限,那么系统继续进行检测13。温度报警的程序流程如图4-3所示。DS18B20初始化DS18B20转换值温度是否过高自动报警温度降低,按键接触YNYN报警程序入口报警结束图4-3 温度报警流程图4.4 四位数码管显示程序设计本设计中,显示占了很重要的一部分,数码管显示的什么内容是通过模式键来控制的。数码管与AT89C51单片机的连接是通过P0口。显示分为四个部分,当需要显示时间时,第一个和第二个数码管显示的是时,第三个和第四个数码管显示的是分。需要显示时间时,通过模式控制切换来使数码管显示温度14。显示程序流程图如图4-
42、4所示。时和分单元内容送显缓将他们前后分开送显缓将显缓中的内容按顺序发送历史温度上翻下翻查询将当前温度值送显缓显示程序入口按键S1按下的次数NS1等于3NS1等于3N+1S1等于3N+2模式2模式1模式3返回图4-4 显示电路4.5 本章小结本章对设计各个电路画出了其流程图,对它的的流程进行了软件编程,接下来就需要对其仿真。以便更明了的了解本设计所要实现的功能。5 系统仿真5.1 proteus简介XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
43、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
44、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。本设计中的数码管就用protues的元件库中与其相似外形的数码管15。5.2 keil软件介绍K XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
45、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
46、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。5.3仿真过程操作如下:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX