东北大学2012届毕业设计说明书
会直接加到RST端,系统复位。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,设计完全能够满足复位的时间要求。复位电路中REST为手动复位开关,电容C3可避免高频谐波对电路的干扰。AT89C52的复位电路如图3.3所示。
图3.1 晶振电路与复位电路
3.2传感器信息采集电路
MQ-2气敏元件的对不同种类、不同浓度的气体有不同的电阻值,灵敏度的调整是很重要的。
烟雾传感器的外部电路设计图如图3.2。
图3.2 MQ-2外围电路
第17页 共37页
东北大学2012届毕业设计说明书
DS18B20采用单数据总线传送数据,即一个器件只占用一个AT89C52芯片的IO引脚,本系统要最多检测8个位置,因此设计将AT89C52的P2口由于温度采集。
此设计图中,拨码开关SW1即模拟的是8个烟雾传感器经过外部电路处理后传回来的电信号。
图3.3 数据采集电路
3.3声光报警显示电路
声光报警显示电路在AT89C52的控制下,可在外部环境异常时蜂鸣器发出警报声,红色led灯点亮,红色数码管其位置信息。
AT89C52的P0口加入了大小为10K欧姆的上拉电阻,因P0口是地址数据复用口线,与其它口线不一样。所以,当P0作普通IO时,必须用上拉电阻将其电平拉高,上拉电阻不起限流作用。
以方便操作,选用了直流电压控制型的蜂鸣器、红色发光二级管以及红色7段数码管作为声光报警显示设备。
第18页 共37页
东北大学2012届毕业设计说明书
为了简化电路节省单片机的管脚,采用了74ls47芯片为数码管编码,使得本来要占用的7个单片机管脚变为只占用4个。考虑到之后的检测点数目的显示也要用7段数码管(本设计采用蓝色数码管),因此采用了两个74hc573芯片作为锁存器,分别于两个数码管连接,使得单片机只需要控制之前的4个管脚和这两锁存器的两个使能管脚便能控制两个数码管的显示。至此P0口的8个管脚用掉了6个,剩余的两个管脚分别连接蜂鸣器电路和红色led电路即可完成此部分的设计。
图3.4 声光报警电路
3.4系统控制电路
系统控制电路包含了10个按键和一个蓝色数码管,1~8号按键分别对应着1~8号检测位置,9号按键对应系统中的取消报警键,10号按键对应系统中的设置检测点数目功能键,蓝色数码管则实时地显示当前监测点的个数,方便用户调整。
蓝色数码管的电路已在3.3中叙述。
出于节省单片机管脚的考虑,10个按键被连接在两个8-3编码器上。这样使得被来要占用的10个单片机管脚变为5个。
同时为了提高程序运行的效率,本设计将两个8-3编码器GS输出端通过一个与门(74LS08)连接到单片机的外部中断0口,这样把中断与管脚扫描结合一体,使得程序运行效率有了大大提高。
第19页 共37页
东北大学2012届毕业设计说明书
图3.5 系统控制电路
4 火灾报警系统程序设计
4.1软件开发环境
本系统摒弃了传统的汇编语言而采用C语言进行程序设计。因为C语言的描述由函数组成,是一种结构化的程序设计语言,所以更容易实现模块化,而且具有可读性好,易于移植等优点,同时还有汇编语言一样的位操作功能的硬件详细
第20页 共37页
东北大学2012届毕业设计说明书
控制指令[29]。数据结构方面,可以使用结构体和数组,能够处理复杂的数据,可用于实时处理系统。
本系统的软件编程使用的是美国Keil Software公司出品的Keil C51,是51系列兼容单片机C语言软件开发系统。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能 体现高级语言的优势。
C52工具包的整体结构中,μVision与Ishell分别是C52for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。 4.2火灾报警系统程序设计
本系统主要包括数据采集子程序、火灾判断/报警子程序与系统控制子程序等来实现设计任务的要求。主要功能要求:(1)实时检测至多8个监测点的环境温度、烟雾浓度等因素变化,以判断是否出现火警;(2)判定某监控点出现火警时进行声光报警,并显示此监控点编号;(3)能手动报警和取消报警;(4)能手动进行系统检测;(5)监控点数目可以通过键盘设置。
程序流程图:
第21页 共37页