温度及可燃气体报警器.doc_第1页
温度及可燃气体报警器.doc_第2页
温度及可燃气体报警器.doc_第3页
温度及可燃气体报警器.doc_第4页
温度及可燃气体报警器.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

福州大学物信学院嵌入式系统设计报告设计题目: 温度及可燃气体报警器班级: 电 四专业: 微电子姓名: 周宜斌 学号: 111000843指导老师:张志晓 教师评分: 日期: 2013年 月目录第1章 概述.31.1 设计目的.31.2 设计的主要内容.3第2章 系统设计.32.1总体设计.3 2.1.2总体电路原理说明.42.2 本章小结2.4第3章 电路设计.43.1烟雾报警器 .4 3.1.1烟雾报警器的工作结构和原理.4 3.1.2烟雾传感器的介绍. 5 3.1.3 QM-2气体烟雾传感器.6 3.1.4烟雾报警器的主要功能设计.73.2 系统电源电路.83.3 STC89C51的时钟电路和复位电路.93.4信号采集及前置放大电路.103.5声音报警电路.113.6字符显示电路.123.7状态指示灯电路.12 3.8温度采集模块.123.9 本章小结.13第4章 软件设计.134.1 系统的软件的设计.13 4.1.1系统主程序设计.13 4.1.2主程序初始化流程图.13 4.1.3报警子程序设计及流程图.14 4.1.4按键输入设计子程序流程图.15 4.1.5温度报警子程序流程图.15 4.2 软件实现.16 4.2.1编程KEIL软件介绍.16 4.2.2仿真proteus软件介绍.164.3 本章小结.16第5章 总体小结.17对课程内容的建议.17对指导老师的建议.17附录.18附录1 C程序.18附录2 原件清单.25附录3 仿真图. .26附录4 参考文献.28第1章 概述1.1 设计目的 1.了解传感器的基本知识,掌握传感器的使用方法; 2.进一步加深对模拟电路基础理论和数字电路基础理论的理解; 3.掌握放大器逻辑控制电路和振荡器的设计方法。1.2 设计的主要内容1.基本部分: 1)电源电压不限,可以使用交流或直流电源; 2)有气体或烟雾时进行报警,无气体或烟雾后撤消报警;2.发挥部分: 1)通过蜂鸣器发出警报和LED灯闪烁发出火灾信号; 2)报警采用模拟救火车报警声的音响效果。第2章 系统设计2.1 总体设计 通过各自分工,最终实现声光报警、烟雾报警、字符显示功能。 总体设计电路图:图 2-1 2.1.2总体电路原理说明 当气体烟雾传感器遇到可燃气体或烟雾时,传感器的电阻急剧减小;当可燃气体火烟雾浓度达到设定的值时,比较器的输出由低电位跳变到高电位,有源蜂鸣器接收到信号,发出警报声,同时,黄色的LED灯开始闪烁报警;当温度传感器感应到的当前环境温度高于设定的临界值时,有源蜂鸣器接收到信号,发出警报声,同时,红色的LED灯开始闪烁报警。2.2 本章小结 这一章是对整个设计的把握,有明确的设计目标和版图设计能为后面的仿真和制版减少很多错误。第三章 电路设计 3.1烟雾报警器 3.1.1烟雾报警器的工作结构和原理 烟雾报警器是能够检测环境中的烟雾浓度,并具有报警功能的仪器。该报警系统的最基本组成部分应包括:信号采集及前置放大电路、模数转换电路、单片机控制电路、字符显示电路、声光报警电路和安全保护电路等部分组成。 为适应家庭和工业等场所对可燃性易爆烟雾安全性要求,设计的烟雾报警器具有显示报警状态、故障自检、换气排烟和自动灭火等功能。报警器采用延时的工作方式,烟雾检测报警器以STC89C51单片机为控制核心,选用QM-2气体烟雾传感器采集烟雾浓度信息,配合外围电路构成烟雾报警系统。报警器系统结构如图2-1。 图 3-1可燃烟雾报警器系统结构框图 该系统的工作由烟雾信号采集及放大电路将采集到的烟雾浓度信息转化为放大的模拟电信号。模数转换电路再将该模拟信号转换成单片机可识别的数字信号后送入单片机。单片机对该数字信号进行处理,并对处理后的数据进行分析。当输入A/D转换器的放大信号不为零时,启动报警电路。反之则为正常工作状态。 设计中为了方便检测与监控,使仪器测试人员及用户能够间接知道环境中的烟雾浓度,所以用数码管显示字符来指示报警状态。系统采用蜂鸣器声音报警和LED闪烁状态作为警报信号。这种报警方法是在声音报警基础上,加入光闪报警。因为变化的光信号可以引起用户和家庭邻居的注意,弥补了在嘈杂环境中声音报警的局限,使得报警装置更加完善。 由于烟雾传感器需要在加热状态下工作,温度越高,反应越快,响应时间和恢复时间就越快。为提高响应时间,保证传感器准确地、稳定地工作,报警器需要向烟雾传感器持续输出一个5V的电压。为了保证其可靠性,在输出5V的电压的同时,进行故障监测。当传感器加热丝或电缆线和传感器断线或接触不良时,进行故障报警。以上是根据报警器应具备的功能,提出的整体设计思路。3.1.2烟雾传感器的介绍 烟雾传感器是模拟传感器。它能将空气中的烟雾浓度变量转换成有一定对应关系的输出信号的装置。烟雾传感器就是通过监测环境中烟雾的浓度来实现火灾防范的。当烟雾探头碰到烟雾或某些特定的气体,烟雾探头内部阻值发生变化,产生一个模拟值,从而对其进行控制。烟雾传感器利用烟雾敏感元件的电阻受烟雾(主要是可燃颗粒)浓度影响阻值变化的原理向单片机发送烟雾浓度相应的模拟信号。 在智能建筑中对火灾探测器的应用主要以感烟火灾探测器选用为主。随着传感器生产工艺水平逐步提高,传感器日益小型化、集成度不断增大,使得烟雾探测器的体积也逐渐变小,提高了烟雾探测器的便携性,更加利于生产、运输和市场推广。目前,烟雾传感器广泛应用在城市安防、小区、工厂、公司、学校、家庭、别墅、仓库、资源、石油、化工、燃气输配等众多领域。 在国内的产品中,无论哪家生产的烟雾探测器,都可以探测到火灾的发生,都具有比较高的灵敏度,而且在安装中都比较简单。但是,由于各生产的设备不可通用,独立为正,不但不可彼此互相代替,更不可以互相通讯。使得用户面对众多厂家生产的烟雾探测器感到不知所措。而这也正是国内产品市场的一个重大缺陷。 烟雾传感器应满足的基本条件 一个烟雾传感器可以是单功能的,也可以是多功能的;可以是单一的实体,也可以是由多个不同功能传感器组成的阵列。但是,任何一个完整的烟雾传感器都必须具备以下条件: (a)能选择性地检测某种单一烟雾,而对共存的其它烟雾不响应或低响应; (b)对被测烟雾具有较高的灵敏度,能有效地检测允许范围内的烟雾浓度;(c)对检测信号响应速度快,重复性好;(d)长期工作稳定性好; (e)使用寿命长; (f)制造成本低,使用与维护方便。3.1.3 QM-2气体烟雾传感器 MQ-2气敏元件由微型AL2O3陶瓷管、SnO2敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。MQ-2可用于家庭和工厂的气体泄漏监测装置,适宜于液化气、丁烷、丙烷、甲烷、酒精、氢气、烟雾等的探测。MQ-2气敏元件管脚图如下: 图 3-2MQ-2气敏元件典型应用电路图如下: 图 3-3其标准工作条件是符号参数名称技术条件备注Vc回路电压15VAC or DCVh加热电压5.0V0.2 VAC or DCRL负载电阻可调Rh加热电阻313室温Ph加热功耗900mW表 3-1 封装好的MQ-2气敏元件有只针状管脚,其中个A、B用于信号取出,个H用于提供加热电流。实际使用时,一个H接电源正极,另一个H接地;2个A短接后接电源正极,2个B短接后为信号的输出端。当无可燃气体或烟雾时,MQ-2的电阻为极大,此时信号的输出端是低电位;当有可燃气体或烟雾时,MQ-2的电阻急剧下降,此时信号的输出端的电位逐渐变高。3.1.4烟雾报警器的主要功能设计 报警器正常工作时,传感器送来的烟雾浓度对应的微小的电压信号经过放大电路放大,转化成较大的模拟电压信号后送入A/D转换器,然后再送给STC89C51单片机处理。当单片机检测到输入ADC0809的放大信号不为零时,系统启动报警。报警时,LED红灯点亮并闪烁,蜂鸣器启动并鸣叫.反之,报警器不发出警报,LED状态指示灯绿灯常亮且不闪烁,数码管显示当前室温,蜂鸣器不发出声响。上述中的声光警报、显示和执行动作能够根据烟雾检传感器所检测到的烟雾浓度的信号变化,随单片机控制电路及时的做出相应调整而改变。 图3-4 烟雾报警器硬件电路设计图3.2 系统电源电路 本设计采用DC电源插口来提供电源。其内部结构如下图: 图 3-5原理图如下: 图3-6系统电源电路图3.3 STC89C51的时钟电路和复位电路(1)时钟电路:STC89C51单片机芯片内部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端,时钟可由内部或外部生成,在XTAL1和XTAL2引脚上外接晶体振荡器Y,内部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。晶振频率选择12MHZ,C2、C3的电容值取30pF,电容的大小起频率微调的作用。时钟电路如图3-3。 图3-7 时钟电路和复位电路图(2)复位电路:单片机有多种复位电路,本系统采用自动复位(上电复位)与手动复位方式,电路如图3-3。当上电时,C1充电,电源经过电容器C1加到RESET引脚,使单片机复位;在正常工作时,按下复位键时单片机复位。3.4信号采集及前置放大电路 在许多检测技术的应用场合,传感器输出的信号比较弱,而且其中还包括了工频、静电和电磁耦合等共模干扰,对这种信号的放大就需要放大电路具有很好的共模抑制比以及高增益、低噪声和高输入阻抗。只有传感器输出的信号经过前置放大电路对其进行的放大、滤波、电平调整,才能满足单片机对输入信号的要求。图3-8 LM393四运放引脚图和管脚排列图 设计中采用LM393作为电路的运算放大器。LM393是双电压比较器,其工作电源电压范围宽,单电源、双电源均可工作,单电源:236V,双电源:118V;消耗电流小,Icc=0.8mA;输入失调电压小,VIO=2mV;共模输入电压范围宽,Vic=0Vcc-1.5V;输出与TTL,DTL,MOS,CMOS 等兼容;输出可以用开路集电极连接“或”门;如图3-5所示, 图3-9 信号采集及前置放大电路图设计中采用的信号放大电路有以下几个特点: (1) 由于电路不存在“虚地”现象,所以其两个输入端都有较高的共模输入电压,这对放大电路的稳定性和运算的精度都有影响。 (2)电电路中IC2A构成了的“电压跟随器”可以减少电路模块间由于阻抗引起的干扰。用来匹配阻抗用的,防止滑动变阻器输出电压受到影响。 (3)由于引入了深度电压串联负反馈,因此电路的输入阻抗很高,输出阻抗很低。高输入阻抗就可以减少放大电路对前端电路的影响,同时低输出阻抗也可以提高自身的抗干扰性,这显然有利于电路中其他模块的设计。 由于放大电路还增加入了参考电压,引入了零点调节功能,这样可以更方便地调整由于不同传感器导致的零点变化问题。它利用通过滑动变阻器Rp2产生的参考电压Vref和传感器的输出电压分别输入到运算放大电路的两个输入端,由此得到的输出电压Uo与两个输入端之差成正比而实现差分比例电路。所以调节滑动变阻器Rp2,就可以直接改变放大电路的参考电压值,使报警系统可以在可燃烟雾气体的不同浓度下工作,即用气敏传感器实现对不同烟雾浓度的测量。3.5声音报警电路 电路通过三极管基极串连一个电阻与单片机P2.3端口连接从而达到控制蜂鸣器是否报警。报警装置采用有源蜂鸣器。电路图如下: 图3-10 声音报警电路图 3.6字符显示电路 报警器浓度等级显示采用一个八段共阳极数码管显示。由于不显示小数点,所以不接dp段。8段LED数码管字符显示与比划编码对应关系如表3-1所示。 表3-1 8段共阳极LED数码管显示字符与比划编码对应表数字 dp g f e d c b a编码0 1 0 0 0 0 0 0 1 1 1 1 1 0 0 1COHF9H 表 3-2 电路采用型号为0.56四位一体共阳数码管。其参数特点如下:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;高数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。图2-11 数码管字符显示电路图3.7状态指示灯电路 图3-12 指示灯电路图绿灯常亮表示正常状态,环境中可燃烟雾浓度极低;黄灯闪烁表示烟雾浓度超过设定的报警最低预设值;红灯闪烁表示环境中当前室内温度超过报警最低预设值,提醒用户尽快做出相应安全防范措施。 3.8温度采集模块这个模块所使用的温度传感器为DS18B20温度传感器,如下图:原理图为: 3.9、本章小结 本章是对所有板子上的模块进行分开说明和了解,一般来说,做好本章所涉及到的所有模块,不同模块的知识也多了解了解,那么这个课程设计就不说那么难了。第四章 软件设计4.1 系统的软件的设计 4.1.1系统主程序设计主程序流程图如下图所示。首先要给传感器预热,因为QM-N5型半导体电阻式烟雾传感器在不通电存放一段时间后,再次通电时,传感器不能立即正常采集烟雾信息,需要一段时间预热。程序初始化结束后,系统进入监控状态。主程序设计先对传感器预热,预热同时,对传感器进行故障检测,采用软件方式检测传感器加热丝或电缆线是否断线或者接触不良。 在整个报警器系统工作中,STC89C51单片机对传感器检测的烟雾浓度信号进行信号放大、A/D转换处理后,由单片机进行分析处理,判断系统是否启动声光报警。主程序还包括LED八段式数码管浓度字符显示功能、消音按键功能、安全联动装置,中断子程序等,使报警器功能更加完善,给用户带来便利。4.1.2主程序初始化流程图 主程序初始化流程图如图4-2所示。给传感器预热后,程序开始执行初始化子程序,这部分实现的功能包括各种I/O口输入输出状态的设定、 寄存器初始化、中断使能等。开始设置定时器0,选择方式1不允许外部中断0熄灭所有的LED灯关闭蜂鸣器熄灭数码管结束 图4-1主程序初始化流程图4.1.3烟雾报警子程序设计及流程图 当放大后的信号不为零时,即烟雾浓度达到系统的报警预设值,此时报警器发出一种近似警笛的鸣叫声,对应输出通道的红灯闪亮。为防止误报,在程序设计上,对烟雾浓度进行快速重复检测和延时报警,以区别出是管道中烟雾的泄漏,还是由于暂短打开阀门产生的可燃烟雾的微量散失,防止误报。报警子程序流程图如图4-3所示。开始放大信号不为零蜂鸣器鸣叫数码管显示字符采集信号LED灯闪烁信号达到报警临界值 N Y返回子程序图4-2报警子程序流程图4.1.4按键输入设计子程序流程图 本报警器设计附加一个消音功能按键。按键由于弹性作用的影响,在闭合及断开均有抖动过程,从而使电压也出现抖动,所以在识别按键时要消除抖动的影响。按键的识别方法采用扫描法,按键处理程序流程图如图4-4所示。开始按键是否闭合 N Y调用延时子程序,延时10ms去抖动按键是否闭合 NY提取键值调用键盘处理子程序结束图4-3 键盘扫描子程序流程图4.1.5温度报警子程序流程图开始数据采集温度信号达到报警临界值蜂鸣器鸣叫数码管显示字符 N结束LED灯闪烁 Y4.2 软件实现 4.2.1编程KEIL软件介绍 KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KEILC51标准C编译器为80C51微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。 C51V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51V7版本无疑是8051开发用户的最佳选择。C51工具包的整体结构, uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中4.2.2仿真proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它具有其他EDA工具软件的功能,如:原理布图;pcb自动或热弄布线;SPICE电路仿真等。飘柔特u树具有其革命性特点,互动的电路仿真:用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件;仿真处理器及其外围电路:可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境。4.3 本章小结 这一章是对整个仿真和程序运行顺序的进一步了解,是真个课程设计的结尾部分;总的来说,大概就是对真个程序的不同模块进行分块,调理清晰的整理。第五章 总体心得 通过这次课程设计,我们复习了许多模拟电路和数字电路的知识,比如运放器、三极管、LM393双电压比较电路、protel版图设计、proteus软件仿真等,同时学习了许多新的知识,如气体烟雾传感器的使用、STC89C51d的使用等。 在设计、焊接、调试过程中,我们遇到了很多问题,但通过阅读元件的技术手册、借助大量的网络资源和思考讨论,不断地寻求同学的帮助,大部分问题都被我们解决了。但是遗憾的是没有实现无线收发模块,否则电路的实用性会更上一层楼。对课程内容的建议:刚刚开始本课程设计的时候比较迷茫,不知道从哪里入手,浪费了不少时间,所有我想如果能够有一些比较明确的设计方向或者设计实例可以参考的话,我就能够有充足的实践完成无线发送模块了。对指导老师的建议:在我们设计的时候,张老师一直在教室,一直耐心的知道我们,纠正我们的错误。但是,我还是希望老师能在开始课程设计的时候,稍微复习一下。附录 附录1 c程序:#include #define uint unsigned int#define uchar unsigned char /宏定义sbit SET=P31; /定义调整键sbit DEC=P32; /定义减少键sbit ADD=P33; /定义增加键sbit BEEP=P36; /定义蜂鸣器sbit ALAM=P16;/定义灯光报警sbit ALAM1=P10;sbit ALAM2=P12;sbit YAN=P17;sbit DQ=P37; /定义DS18B20总线I/Obit shanshuo_st; /闪烁间隔标志bit beep_st; /蜂鸣器间隔标志sbit DIAN = P05; /小数点uchar x=0; /计数器signed char m; /温度值全局变量uchar n; /温度值全局变量uchar set_st=0; /状态标志signed char shangxian=45; /上限报警温度,默认值为38signed char xiaxian=5; /下限报警温度,默认值为5/uchar code LEDData=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff;uchar code LEDData=0x5F,0x44,0x9D,0xD5,0xC6,0xD3,0xDB,0x47,0xDF,0xD7,0xCF,0xDA,0x9B,0xDC,0x9B,0x8B;/=/=DS18B20=/=/*延时子程序*/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); /精确延时,大于480us DQ = 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;i0;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; i0; 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 Delay(uint num) while( -num );/*初始化定时器0*/void InitTimer(void)TMOD=0x1;TH0=0x3c;TL0=0xb0; /50ms(晶振12M)/*读取温度*/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(m99)m=99;n=9; /设置温度显示上限 /*显示开机初始化等待画面*/void Disp_init(void) P0 = 0x80; /显示-P2 = 0x7F;Delay(200);P2 = 0xDF;Delay(200); P2 = 0xF7;Delay(200);P2 = 0xFD;Delay(200);P2 = 0xFF; /关闭显示/*显示温度子程序*/void Disp_Temperature(void) /显示温度P0 = 0x98; /显示CP2 = 0x7F;Delay(400);P0=LEDDatan; /显示个位P2 = 0xDF;Delay(400);P0 =LEDDatam%10; /显示十位DIAN = 0; /显示小数点P2 = 0xF7;Delay(400);P0 =LEDDatam/10; /显示百位P2 = 0xFD;Delay(400);P2 = 0xff; /关闭显示/*显示报警温度子程序*/void Disp_alarm(uchar baojing)P0 =0x98; /显示CP2 = 0x7F;Delay(200);P0 =LEDDatabaojing%10; /显示十位P2 = 0xDF;Delay(200);P0 =LEDDatabaojing/10; /显示百位P2 = 0xF7;Delay(200);if(set_st=1)P0 =0xCE;else if(set_st=2)P0 =0x1A; /上限H、下限L标示P2 = 0xFD;Delay(200);P2 = 0xff; /关闭显示/*报警子程序*/void Alarm()if(x=10)beep_st=beep_st;x=0;if(m=shangxian)ALAM=0;if(YAN=0)ALAM2=0;if(YAN=1)ALAM2=1;if(beep_st=1)BEEP=0;elseBEEP=1;else if(m=xiaxian)&(mshangxian)ALAM=1;ALAM1=1;if(YAN=0)ALAM2=0;if(beep_st=1)BEEP=0;elseBEEP=1;if(YAN=1)ALAM2=1;BEEP=1;elseBEEP=1;ALAM=1;ALAM1=1;ALAM2=1;/*主函数*/void main(void) uint z; InitTimer(); /初始化定时器 EA=1; /全局中断开关 TR0=1; ET0=1; /开启定时器0 IT0=1; IT1=1; check_wendu(); check_wendu(); for(z=0;z2)set_st=0; if(set_st=0) EX0=0; /关闭外部中断0 EX1=0; /关闭外部中断1 check_wendu(); Disp_T

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论