毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc

上传人:sccc 文档编号:4821129 上传时间:2023-05-17 格式:DOC 页数:80 大小:720.01KB
返回 下载 相关 举报
毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc_第1页
第1页 / 共80页
毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc_第2页
第2页 / 共80页
毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc_第3页
第3页 / 共80页
毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc_第4页
第4页 / 共80页
毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc_第5页
第5页 / 共80页
点击查看更多>>
资源描述

《毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc》由会员分享,可在线阅读,更多相关《毕业论文基于AT89C51单片机的智能防火防盗系统设计.doc(80页珍藏版)》请在三一办公上搜索。

1、目 录毕业设计(论文)任务书开题报告指导教师审查意见III评阅教师评语IV答辩记录及成绩评定V中文摘要VI外文摘要VII1绪论11.1 课题的开发背景及意义11.2 课题国内外研究状况21.3 论文主要内容概述32系统总体设计方案42.1 系统总体方法与研究路线42.2 系统的基本功能和工作过程42.3 防火防盗报警系统功能和特点63硬件平台及其选择73.1 单片机芯片的选择方案73.2 显示模块选择方案83.3 温度芯片的选择方案93.4 电路设计方案114系统软件的设计与实现124.1 软件设计思想124.2 系统软件原理流程图124.3 必要的参数说明144.4 主函数模块154.5 密

2、码模块164.6 显示模块224.7 键盘模块244.8 定时中断264.9 温度模块274.10 返回模块315系统软件的调试345.1 调试软件Keil uVision3介绍345.2 Keil 工程文件的创建345.3 工程的详细设置(输出文件*.hex)365.4 工程的编译、链接375.5 各功能模块调试396系统硬件的调试406.1 Protues 简介406.2 Protues 使用方法406.3 系统运行测试437总结46参考文献46致谢47附录48基于AT89C51单片机的智能防火防盗系统设计中文摘要【摘要】 随着计算机的普及和信息技术的迅猛发展,智能化被引入家庭,并迅速发展

3、起来。本文主要完成了防盗防火报警系统的软件设计。设计了主控模块、键盘模块、温度模块、修改密码等模块。主控模块控制各模块的中断申请,键盘模块实现单片机与外界的沟通,温度模块判断是否有火灾并向主控模块报告,修改密码模块使用户可以随时修改密码。本系统采用单片机的高级语言C语言进行设计,并给出了相关流程图。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,经测试能实现基本的报警功能。当前,随着经济的发展,人民的生活日益改善,人们对家庭生命对产安全越来越重视,家庭电子防盗报警系统也应运而生。作为一个可行的住宅报警系统,必须满足集中监控、系统容量大、防范功能齐全、性能价格比高

4、等要求。而单片微机防盗报警系统正符合了这些特点,它是以单片机为主要器件的一个系统,对温度扫描、身份验证的严格控制,且价格低廉。本文介绍了室内防火防盗报警系统的背景及发展动态,给出了本次课题基础器件单片机;描述了单片机的基础知识,说明了单片机多方面的应用和单片机的开发及开发工具;概述了软硬件设计过程,分析了硬件设计电路及作用,描述了软件设计的总体思想,给出了资源分配情况,介绍了模块的软件实现情况及部分软件流程.【关键词】 智能防火防盗,DS18B20,动态扫描,单片机;The system of intelligent anti-fire and anti-theft外文摘要【Abstract】

5、 With the popularization of computers and the rapid development of information and technology, intelligentization is brought into families and begins to develop quickly. This paper mainly completes the software design of anti-theft and anti-fire alarm system. It designs the dominant module, keyboard

6、 module, temperature module, modify code module and so on. Dominant module controls the discontinue application of each module, keyboard module realizes the communication between the microcontroller and outside world, temperature module judges whether there is a fire and then report to the dominant

7、module, modify code module makes the users be able to change their code at any time. This system adopts the microcontrollers high-level language C language to design and gives the corresponding flowchart. In order to facilitate the expansion and alteration, the software design uses modular structure

8、 to make the logical relationship of program design become more succinctly. Being tested, it can realize the basic alarm function.Recently, with the development of economy and the improvement of peoples life, more and more attention has been paid to the importance of the security of peoples lives an

9、d properties, the electronic security alarm system is born. As a feasible residential alarm system, it must meet the demands such as centralized monitoring, large capacity, complete function of guard, high performance-to-price and so on. However, the single chip microcomputer anti-theft alarm system

10、 is in line with the these characteristics, it is a system mainly consisting of microcontroller, being strict with temperature scanning and identification verifying, and low in price. This thesis introduces the background and the history of anti-fire and anti-theft alarm system in families, and give

11、s the basic devices of the topic-the explanation of microcontroller and its development history. It describes the basic knowledge of the microcontroller, illustrates the application of microcontroller in various ways and the development and development tools of it, summarizes the design process of h

12、ardware and software, analyzes the hardware circuit design and its function, describes the overall thought of the software design, and finally introduces the distribution of resources , the state of software realization and the procedure of some software.【Key words】 intelligent anti-fire and anti-th

13、eft, DS18B20, dynamic scanning, microcontroller;附录1 绪论1.1 课题的开发背景及意义在各种非自然灾害中,火灾是最经常、最普遍地威胁公众安全和社会发展的主要灾害之一。人类能够对火进行利用和控制,是文明进步的一个重要标志。对于火灾,在我国古代,人们就总结出“防为上,救次之,戒为下”的经验。随着社会的不断发展,在社会财富日益增多的同时,导致发生火灾的危险性也在增多,火灾的危害性也越来越大。特别是 1993 年以来,火灾造成的直接财产损失上升到年均十几亿元,年均死亡 2000 多人。随着人们对安全的重视和科技的发展,许多贵重的个人物品被盗,当今社会我

14、们会听到哪天某某家里的财物被盗,某某的车辆被盗等等之类的财产被盗的话题。虽然许多电子智能锁已在国内外面世,但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等缺点,再加上其成本较高,一定程度上限制了这类产品的普及和推广。报警产品市场复杂也是其原因之一。实践证明,随着社会和经济的发展,消防工作的重要性就越来越突出。由此,火灾报警器在消防工作就的作用也尤为突出了。我国的火灾自动报警控制系统经历了从无到有、从简单到复杂的发展过程,其智能化程度也越来越高。但目前国内厂家多偏重用于大型仓库、商场、高级

15、写字楼、宾馆等场所和珍贵物品地方大型火灾报警系统的研发,他们采用集中区域报警控制方式,其系统复杂、成本较高。而在居民住宅区、机房、办公室等小型防火单位,需要设置一种单一廉价实用的火灾自动探测报警装置,因此,研制一种结构简单、价格低廉的数字火灾报警器是非常必要的。当今,人们对家庭生命对产安全越来越重视,采取了许多措施来保护家庭的安全。以往的做法是安装防盗门、防盗网,但也存在有碍美观,不符合防火要求,不能有效地防止坏人的入侵。现在,全国各地都在如火如荼地开展建设安全文明小区的活动,而且很多地方都提出拆除防盗网节约资源的口号,家庭和一些室内企业仓库电子防盗报警系统也应运而生。鉴于目前的技术水平与市场

16、的接受程度,电子密码锁是这类电子防盗产品的主流,其价格便宜、轻巧,可随意安装。本文所要介绍的室内的防盗防火报警系统,正是在智能化室内住宅蓬勃发展的背景下,为了满足用户对安全的强烈要求而设计并开发的。系统的首要任务是根据室内的类型、使用功能及其防护风险等要求,通过运用温度传感探测、密码比对及单片机的控制等技术形成的智能报警系统,达到保障室内住宅用户生命和财产安全的目的。1.2 课题国内外研究状况 在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即

17、大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。国内防盗报警产品市场复杂,生产企业良莠不齐。相对来讲,消防报警产品市场要规范一些。长期以来,防盗报警产品市场都是国际品牌、国内知名品牌、地方品牌各自盘踞一方,割地封侯,占据不同层次市场。国内的厂家主要以低技术含量、低价格、小批量安装为主;国外产品技术含量高、价格高,主要以专业高端市场为主。虽然国外报警产品技术比较成熟,但是由于生产成本高,运输成本、关税等原因导致价格比较高。因此与国内产品价格有较大差

18、距,一些产品价格超过部分消费者经济承受能力,产品普及效果并不好,也无法实现规模生产降低成本,产品一直保持在比较高的价位运行,主要应用在一些高端市场,对整个报警产品市场影响有限。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都获得了大大的提高。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。1.3 论文主要内容概述(1)了解报警系统的基本原

19、理, 熟悉利用传感器产生报警的原理。(2)掌握单片机控制防盗和防火报警系统的原理及其应用。(3)设计一个能对住宅的火灾、盗窃实行自动报警的智能防盗防火报警器;设置紧急呼叫系统;用户端自动报警器对各传感器的信号进行检测和控制。(4)了解单片机监控传感器的基本原理并能够将模块化思想引入此系统,从而使整个系统的功能更完善、灵活、可调。(5)对毕业设计工作进行总结,撰写符合论文书写的基本要求和基本格式的毕业论文。2 系统总体设计方案2.1 系统总体方法与研究路线智能化防盗防火报警系统集防盗防火功能于一体,可全天候自动检测盗警和火警,当确定警情时自动发声报警。传感器采用密码检测和温度探测器,分别对盗情和

20、火情进行检测,当密码错误达3次或发生火灾时,单片机发出中断申请,播放报警声音和启用红色二极管,单片机控制LCD显示屏输出警报信号只针对火情。 开机初始密码值为123456,进入系统前显示字符串缓冲以确保得到标准温度,同时打开检测、中断。进入待机状态后,根据设定好的密码,采用44键盘实现密码的输入功能,如果密码输入的密码不正确3次,就发出报警声。当输入正确之后,绿灯提示,同时设定为管理员(管理员可以对系统的密码进行修改)。 为了突出扩展性,在密码正确之后,单片机将对扩展的检测硬件操作,比如防盗门,当密码正确之后,系统发送信号给硬件,硬件运行打开门。又比如密码正确之后撤销红外检测,关于硬件方面都是

21、前人研究的成熟技术,这里不对硬件做过多的描述,本系统主要对单片机部分的编程设计做解释。(1)单片机型号可选AT89C51。(2)6位密码(进入系统且密码正确后可修改密码,密码必须是6位)。 (3)密码的输入采用44键盘实现,输入6位数字后,按确定键结束。(4)若输入的密码正确,锁打开,同时用发光二极管亮1秒作为提示。(5)报警采用蜂鸣器或扬声器,一旦报警只有管理员进入才可以关闭声音。(6)当进入系统后,可以对系统密码进行修改。(7)当温度达到50C以后,系统自动报警,并且在LCD上显示“warning”。(8)单片机,c语言编程。2.2 系统的基本功能和工作过程2.2.1 基本功能和总体设计框

22、架智能住宅防盗防火报警系统具有以下特点和功能:1. 系统采用模块化设计。前端报警器能够快速、准确地检测到现场的异常状态,经确认后及时通报给中央控制器。并能够可靠地进行盗情、火情报警,进行语音报警。报警完毕自动回到警戒状态,等待下一次报警。2. 系统开关机采用密码控制且允许修改密码,防止误报同时增加用户端自动报警器的保密性。系统的基本工作过程:用户端的防范现场,一旦有人入侵、或发生火灾等紧急情况时,与之相应的报警探测器(各种防火、防盗及手动报警按钮等)则立即向用户端自动报警器发出报警信号。接到警情事件后,自动报警器立即进行确认,进行事件的现场声(蜂鸣器)、光(LED )报警。在用户端自动报警器的

23、面板上设有LCD 显示器、键盘以及三色警灯(LED),三色警灯分别指示火灾或红外的防火防盗报警、正常工作及系统出现故障的状态,即报警灯(红)、工作灯(绿)。正常时LCD 显示温度。 本章节主要介绍了系统总体设计方案,确定了原理框图,对报警系统的运行做了分析,并设计了防火和防盗探测器,为后续章节研究防火防盗报警系统的模块化设计打下了理论基础。电路设计框如图1,由AT89C51主控制芯片吸收DS18B20温度芯片的数据、转化并且对其温度检测判断。在系统运行时,单片机不断检测4x4键盘模块,对键盘的信号进行反复检测并同时做出相应的处理,LCD1602芯片负责显示所需要的数据。LCD1602显示芯片A

24、T89C52主控制芯片喇叭、二极管模块4x4键盘模块DS18B20温度芯片图1 设计整体框图2.2.2 工作过程开机显示字符串,同时初始化LCD1602、DS18B20并检测温度,进入登录状态,进入无限循环里面,扫描键盘,对键盘事件处理,同时也不停的扫描温度。当温度或键盘事件错误过多就会报警。在循环中对键盘中的事件判断处理、如删除键、确定键等等。当红色发光二极管亮了的时候就表示错误、报警指示灯,绿色发光二极管工作1秒钟时表示为进入系统指示灯。2.3 防火防盗报警系统功能和特点简易方便、稳定、实用,可以提供多个外接端口,密码验证功能扩展性好,硬件少而简单,将复杂的算法置无无形的代码,充分利用单片

25、机从而减少硬件资源。1、系统容量大,适合一般企业室内到家庭;2、可靠性高,开机自检,自动纠错;3、模块化设计,扩展性好,容易集成;4、延时、错误次数、温度等多种报警功能;5、安全性高,管理员级密码操作、并对其任意修改,3次密码错误报警;6、界面清晰明了,报警信息处理简单及时;7、报警信息即时打印在屏幕,便于查验;结合该系统诸多优势,其实用范围已延伸至住宅智能报警系统、酒店报警系统、银行仓库等等。3 硬件平台及其选择3.1 单片机芯片的选择方案AT89C51是一种带4K字节闪烁可编程可擦(FPEROMFalshProgrammableand Erasable Read Only Memory)的

26、低电压,如图2,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏。AT89C51提供128字节随机存取数据存储器,32个I/O口,2个16位定时/计数器,1个5向量两级中断结构,1个串行通信口,片内震荡器和时钟电路

27、。另外,AT89C51还可以进行0HZ的静态逻辑操作,并支持两种软件的节电模式。闲散方式停止中央处理器的工作,能够允许随机存 图2 AT89C51芯片取数据存储器、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存随机存取数据存储器中的内容,但震荡器停止工作并禁止其它所有部件的工作直到下一个复位。P0口:P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。作为输出口时,每一个管脚都能够驱动8个TTL电路。当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。P1口:P1口一个带

28、内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和程序校验时,P1口接收低8位地址。P2口:P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变

29、。闪烁编程或校验时,P2口接收高位地址和其它控制信号。P3口:P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流【1】。P3口除了作为一般的I/O口外,更重要的用途是它的第二功能。本论文没用到所以这里不作详细介绍。所以选择采用AT89C51作为主控制系统.3.2 显示模块选择方案采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。在日常生活中,我们对液晶显示器并不

30、陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单,在前面章节已经介绍过,在此不作介绍,本章重点介绍字符型液晶显示器的应用。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可

31、靠,操作更加方便。且体积小、重量轻、功耗低。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。线段的显示点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168=128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应,如图3。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地

32、址,也就是告诉模块在哪里显示字符,图表3是DM-162的内部显示地址. 图3 LCD1602显示区地址比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H) 【1】。3.3 温度芯片的选择方案温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20温度传感器当仁不让。超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS1

33、8B20更受欢迎。对于我们普通的电子爱好者来说,DS18B20的优势更是我们学习单片机技术和开发温度相关的小产品的不二选择。了解其工作原理和应用可以拓宽您对单片机开发的思路,如图4。DS18B20的主要特征:1.全数字温度转换及输出。2. 先进的单总线数据通信。3. 最高12位分辨率,精度可达土0.5摄氏度。4. 12位分辨率时的最大工作周期为750毫秒。5. 可选择寄生工作方式。6. 检测温度范围为55C +125C (67F +257F) (如图5 显示了温度的储存的位的描述)。图4 DS18B20芯片7. 内置EEPROM,限温报警功能。 8. 64位光刻ROM,内置产品序列号,方便多机

34、挂接。9.多样封装形式,适应不同硬件系统。DS18B20芯片封装结构:DS18B20引脚功能:GND 电压地 DQ 单数据总线 VDD 电源电压NC 空引脚DS18B20的温度测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。图5 DS18B20温度储存位RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第

35、6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作【1】。我们在每一次读温度之前都必须进行复杂的且精准时序的处理,因为DS18B20的硬件简单结果就会导致软件的巨大开消,也是尽力减少有形资产转化为无形资产的投入,是一种较好的节约之道。3.4 电路设计方案综上各方案所述,对此次作品的方案选定: 采用AT89C51作为主控制系统; 数字式温度DS18B20传感器; LCD1602作为显

36、示,键盘采用4x4用P3口(系统共设定有15个按钮,确定键占2个)。晶振12MHZ,选定用中断来控制报警声音。利用红色发光二极管作为错误、报警温度过高报警指示灯,用绿色发光二极管作为进入系统指示灯。4 系统软件的设计与实现4.1 软件设计思想由于采用12M,处理速度本来不够快,在一个while里面尽量减少调用实现的次数,如果调用过多,就会倒是系统资源占用严重,系统运行反应慢,比如在温度有所改变的时候,我们可以不必这么准确地更新到十分位,本系统采用当温度改变1C的时候,才去更新数据(当然也可以精确到0.5C)。添加按键声音,虽然对整个系统没多少影响,但是对用户这是一个很好提示效果。在温度或密码报

37、警的时候,将不会”normal”,而会显示”waring”的警号词语,在进入系统后,管理员修改密码作2个输入密码,前后比较2次输入的密码,正确后提示“success”, 错误提示“error”,用户看以此来判断修改密码错误的原因。还有在输入密码那块,在输入密码那段将LCD1602重新设置一下,使其出现光标闪烁效果,这让人第一眼就知道输入的密码将在哪一块出现。这对程序检错也是很大的帮助。最后就是如果对返回键的实现,这应该是本系统一处亮点,因为本系统只提供用3次输入机会(当然进入了系统后,错误次数将重新计数),所以返回键尤为重要,对返回键的设置思想,就是重复调用字符串并显示,这无疑对12MHZ的C

38、PU一个打击,但是这是必须要的。在本章的一些函数将配合实现返回键的用法,这里只说总体思想,代码下面有介绍。4.2 系统软件原理流程图main开始中断初始化(用于报警声音)LCD1602初始化程序Inital_LCD1602()DS18B20得到温度ReadFrmDS18B20(),其中此函数里面包含初始化器件,并得到温度数据,同时在此第一次检测温度是否达标。P3端口初始化(用于键盘扫描)进入while无限循环中错误次数和温度标志是否达标调用报警声音函数 是 否扫描键盘和温度温度是否改变1显示新的字符串 是 否错误次数加1 否显示新的字符串删除标识判断密码 是 否 否确定键是否按下 是键盘上启用

39、可以修改密码功能 是 否 4.3 必要的参数说明 sbit DQ=P10; /温度使能sbit SPK=P11; /喇叭sbit RL=P12;/红灯sbit GL=P13; /绿灯uchar code TempText28=Normal,Warning;此字符串于WarnSign有关,当WarnSign =1 即在屏幕上提示Warning标志温度过高可能着火了,同时报警声。uchar ClientCode7=123456;/初始密码uchar CodeStr7;/登陆状态下临时密码uchar NewCode17;/新的密码1uchar NewCode27;/新的密码2 2次新的密码将会对比。

40、 uchar FloatTempt8; /存放温度的数组;uchar Int_Tempt,Flot_Tempt; /温度高位,和小数位uchar ERTimes3=2,1,0;/密码错误的次数;uchar code Message212=Successlly!,Error!;/提示密码修改成功错误提示语/登陆状态下管理员身份验证提示。uchar code ASucess216=Waiting.,Identity Correct;uchar EroTimes=0;/错误的次数 对应着ERTimes3;uchar frq; /声音的频率uchar Voice=1; /声音Stop/Start的标志

41、uchar AmditKey=0; /管理员进去之后,管理员标志uchar WarnSign=0; /温度太高标志uchar NCSign=0; /修改密码标志,2次修改密码uchar Size=0; /CodeStr的大小,有此标志可以使用Back按键功能uchar NCSize=0,ACSize=0; /NewCode27,NewCode27的大小,uchar BackFlag=0;/Back按键可以使用标志uchar Ensure=0;/确定键按下的标志uchar OverFull=0;/Back键 此标志来确定是那一种back 6个的情况和未满6的情况;此段为按下键盘发声数据。ucha

42、r code SONG_TONE=255,0; uchar code SONG_LONG=1,0; uchar EvetInf;键盘扫描变量4.4 主函数模块学过C语言的都知道主函数是干什么的,是运行整个系统的入口,在主函数首先初始化各模块,(温度模块、中断初始化、显示模块初始化),然后程序进入while不停调用各种功能模块。uchar flag=0;TMOD = 0x01; frq = 0x00; TH0 = 0xfe; TL0 = 0xff; TR0 = 1; IE = 0x82;P1=0xff; /初始化p1口,全设为1,设为输入 以上关于定时中断,后节将会介绍。 Inital_LCD1

43、602();/初始化LCD1602ReadFrmDS18B20();/先给初始化掉 得出正确的时间if(Int_Tempt60) /当温度达到大于50的时候,WarnSign就会置1启动WarnSign=1;/当WarnSign = 1,报警就会随之响起。ScreenMyInfo();/这里面的时候程序执行的时候,只会运行一次,开机显示任意字符串 ,这里为读取时间起到缓冲作用。SetComLCD1602(0xca);while(1) if(EroTimes=3 |WarnSign=1)下面说到了EroTimes(见下节密码错误次数标志)或者温度大于50就会报警RL=1;并且红灯一直亮。下面这块

44、改变频率利用中断发声。case 0:frq += 15;break; /flag标志置0时,frq递增case 1:frq -= 15;break; /flag标志置1时,frq递减if (!(frq0xff) flag = 1; /当frq增加到FFH时,flag置1,准备frq递减 if (!(frq0x00) flag = 0; /当frq递减到00H时,flag置0,准备frq递增AllKeyScan(); / 无限扫描按键 ReadFrmDS18B20(); /这里不是及时显示温度了,闪烁效果太厉害了。频率不够if(1 = (Int_Tempt - Int_LtTemp)ShowAllStr(); /重新刷新屏幕Int_LtTemp = Int_Tempt; /利用温度变了一度就重新显示 4.5 密码模块IsAc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号