基于单片机的火灾报警器设计与实现.doc
《基于单片机的火灾报警器设计与实现.doc》由会员分享,可在线阅读,更多相关《基于单片机的火灾报警器设计与实现.doc(23页珍藏版)》请在咨信网上搜索。
桂林电子科技大学毕业设计(论文)报告用纸 编号: 设计说明书 题 目:基于单片机的火灾报警器设计与实现 学 院: 桂林电子科技大学职业技术学院 专 业: 电子信息工程技术 学生姓名: 学 号: 指导教师: 周光祥 职 称: 讲师 2015 年 6 月 日 II 摘 要 火灾自动报警系统(Fire Alarm System,简称FAS系统)是人们为了早期发现通报火灾,并及时采取有效措施,控制和扑灭火灾,而设置在建筑物中或其它场所的一种自动消防设施,是人们同火灾作斗争的有力工具。 本次设计以AT89C51单片机,MQ-2烟雾传感器和DS18B20温度传感器为核心设计的火灾报警器可实现报警故障自诊断、报警设置、实时温度显示及与温度报警值设定等功能。是一种结构简单、电路简单、而且易懂、性能稳定、使用方便、价格低廉、智能化的烟雾报警器,具有非常高的实用价值。 关键词:AT89C51; 温度传感器;烟雾传感器;火灾报警器;四位共阴数码管; 目 录 引言 1 1 系统概述 2 1.1 选题背景 2 1.2 设计要求 2 2 设计原理 2 2.1 硬件部分 2 2.2 软件部分 3 3 硬件电路设计与分析 3 3.1 硬件框架图 3 3.2 单片机最小系统 4 3.2.1 STC89C52芯片介绍 4 3.2.2 时钟电路 4 3.2.3 复位电路 5 3.3 四位数码管 6 3.3.1 数码管的介绍 6 3.3.2 四位数码管共阳和共阴的区分 7 3.3.3数码管的驱动方式 8 3.4 74HC573芯片介绍 8 3.5 温度传感器DS18B20模块 9 3.6 烟雾传感器MQ-2模块 9 4 软件设计与分析 10 4.1 程序主流程图: 10 4.2 初始化定时器程序 11 4.3 四位共阴数码管的动态显示程序 11 5 系统调试 12 5.1 硬件调试 12 5.1.1 最小系统调试 12 5.1.2 四位数码管调试 12 5.2 软件调试 12 5.3 脱机运行调试 12 6 总结 13 谢 辞 14 附录1:火灾报警器原理图: 15 附录2:火灾报警器PCB图: 15 附录3:火灾报警器程序 16 参考文献 20 桂林电子科技大学毕业设计(论文)报告用纸 引言 随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的电子产品开始进入人们的生活。 现代家庭用火、用电量的增加,许多人因不懂家庭安全常识引起火灾事故,家庭火灾发生的频率越来越高,使好端端的幸福家庭转眼间毁于一旦,有的导致家破人亡。居民家庭火灾一旦发生,处置不当、报警迟缓,,很容易出现扑救不及时、灭火器材缺乏及在场人惊慌失措、逃生迟缓等不利因素,最终导致重大生命财产损失。探讨家庭火灾的特点及防火对策,对于预防家庭火灾,减少火灾损失具有现实意义。 所以说,人们应该积极了解家庭火灾的主要起因,掌握防止发生火灾的知识和万一发生火灾时保护自己的方法,及时消除。本系统使用AT89S51单片机,选用集成温度传感器DS18B20和气体传感器MQ-2作为敏感元件,利用多传感器信息融合技术,开发了可用于小型单位火灾报警的报警器。具有灵敏度高、响应快、抗干扰能力强等优点,而且价格低廉,使用寿命长等特点 1 系统概述 1.1 选题背景 全世界几乎每天都有火灾发生。城里的高层建筑,地下商场以及大型的建筑群日益增多。火灾的隐患也伴随着社会的发展而逐年升高。自动火灾报警系统就是为了保障人民生命财产安全而发明的,并且随着现代技术水平的不断提高。在方式,功能,和结构上不断的完善。 家庭火灾的主要原因是麻痹大意,没有及时采取预防措施,本次设计的火灾报警器,是防止火灾最重要的手段之一,它的作用是使用18B20温度传感器,实时检测房间的温度,使用MQ-2实时检测房间。一切正常时,绿灯亮,但温度超过预定值或有大量烟雾是,说明可能发生火灾时,蜂鸣器便会发出报警信号,且红灯亮。 1.2 设计要求 要求: (1)用单片机实现; (2)用C语言编程; (3)硬件电路板布局合理; (4)使用18B20温度传感器,实时检测房间的温度,且使用数码管显示温度; (5)使用烟雾传感器,实时检测房间; (6)如果空气中有烟雾,则蜂鸣器报警,并点亮红灯;若气体没有烟雾,则绿点亮表示正常; (7)如果空气温度超过限定值,则认为发生火灾,并蜂鸣器报警,点亮红灯。 2 设计原理 2.1 硬件部分 火灾报警器分为三个部分:温度传感器检测温度模块,烟雾传感器检测烟雾模块,数码管显示模块。 主控芯片采用AT89C52;显示部分采用四位共阴数码管;时钟电路采用12MHZ的石英晶体振荡器,将其和单片机对应的引脚正确连接,将晶振产生的时钟信号作为定时信号;复位电路采用传统RC复位电路。 单片机的I/O口分配:P1.0接温度传感器输出脚,P1.1接烟雾传感器模块的TTL信号; P1.5接绿灯,P1.6接红灯,P1.7接蜂鸣器,P0口和P2口分别接数码管的段选和位选。 2.2 软件部分 程序采用C语言进行编程,编程后利用KeiluVision4来进行编译,再生成的HEX文件通过下载口导入芯片中。然后根据按键功能查看是否实现功能。 3 硬件电路设计与分析 3.1 硬件框架图 单 片 机 STC 89C52 数码管显示 实时温度 烟雾传感器模块 时钟电路 复位电路 烟雾传感器模块 光电信号 蜂鸣器报警 图1 3.2 单片机最小系统 3.2.1 STC89C52芯片介绍 STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,指令代码完全兼容传统8051使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 工作电压: 3.3V~5.5V; 工作频率范围:0~40MHz; 用户应用程序空间为8K字节; 片上集成512 字节RAM; 通用I/O 口(32 个),上电复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0作为 I/O 口用时,需加上拉电阻; 外部中断2个,下降沿中断或低电平触发电路;共2个16 位定时器/计数器。即定时器T0、T1;可通过可直接使用串口下载,串口(RxD/P3.0,TxD/P3.1)直接下载用户程序;具有EEPROM(掉电储存)功能,内带4K字节EEPROM存储空间。 图2 3.2.2 时钟电路 STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在1.2~12MHz之间选择,电容值的大小可对频率起微调的作用。 单片机最小系统起振电容C1、C2一般采用15~33pF,晶振一般采用12MHZ,并且电容离晶振越近越好,晶振离单片机越近越好。 时钟电路原理图: 图3 3.2.3 复位电路 一般情况下,电容的大小是10uF,电阻的大小是10k,复位电路的原理是单片机RST引脚接收到2US以上的电平信号,只要保证电容的充放电时间大于2US,即可实现复位。 在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。 复位电路原理图: 图4 3.3 四位数码管 3.3.1 数码管的介绍 四位数码管是一种半导体发光器件,其基本单元是发光二极管。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个,引线已在内部连接完成,只需引出它们的各个笔划,公共电极分别由字母a,b,c,d,e,f,g,dp来表示,能显示4个数码管叫四位数码管。 图5 四位数码管的引脚图: 图6 3.3.2 四位数码管共阳和共阴的区分 市面上的四位一体的数码管一般都没有数据表,所以掌握他们管脚的分布是很重要的一个环节。 共阳数码管是指,将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 共阴数码管是指,将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 区别他们的方法是:若公共端接地,其他端接电源,若各段测试能亮,说明是共阴的,反之共阳的;若公共端接电源,其他端分别接的,测得各端亮,则说明是共阳的,反之为共阴的。 此次设计的火灾报警器的四位数码管采用共阴数码管。 3.3.3数码管的驱动方式 (1)静态显示:静态显示也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,但一个STC89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 (2)动态显示:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,却能够节省大量的I/O端口,而且功耗更低。 3.4 74HC573芯片介绍 此次篮球计分牌的设计利用74HC573来驱动两个四位共阴数码管。 74HC573 的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁.器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器 74HC573芯片引脚图: 图7 3.5 温度传感器DS18B20模块 DS18B20常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点 接线方法:面对着扁平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示85℃的原因。 温度的读取:DS18B20在出厂时以配置为12位,读取温度时共读取16位,前5个位为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。温度为正时读取方法为:将16进制数转换成10进制即可。温度为负时读取方法为:将16进制取反后加1,再转换成10进制即可 3.6 烟雾传感器MQ-2模块 接线方式: 1、VCC:接电源正极(5V) 2、GND:接电源负极 3、DO:TTL开关信号输出 4、AO:模拟信号输出 电气性能: 1、具有信号输出指示。 2、双路信号输出(模拟量输出及TTL电平输出) 3、TTL输出有效信号为低电平。(当输出低电平时信号灯亮,可直接接单片机) 4、模拟量输出0~5V电压,浓度越高电压越高。 5、对液化气,天然气,城市煤气有较好的灵敏度。 6、具有长期的使用寿命和可靠的稳定性 7、快速的响应恢复特性 特别提醒:传感器通电后,需要预热20S左右,测量的数据才稳定,传感器发热属于正常现象,因为内部有电热丝,如果烫手就不正常了。 4 软件设计与分析 本系统的编程部分工作采用Keil_C51语言完成,Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μ Vision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 开始 4.1 程序主流程图: 初始化 DS18B20 写入数据 绿灯亮 否 是否有烟雾 读取温度 温度超出范围 是 红灯亮 蜂鸣器报警 是 否 数码管显示 4.2 初始化定时器程序 void init() //初始化定时器 { TMOD=0X11; TH0=0xFE;TL0=0x36; TH1=0xFC;TL1=0x18; TR0=1; EA=1; ET0=1; ET1=1; } 4.3 四位共阴数码管的动态显示程序 /***********************数码位选函数*****************************/ void smg_we_switch(uchar i) { switch(i) { case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break; case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break; case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break; case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break; } } /***********************数码显示函数*****************************/ void display() { static uchar i; i++; if(i > smg_i) i = 0; smg_we_switch(i); //位选 P0 = dis_smg[i]; //段选 } 5 系统调试 单片机应用系统的调试是系统开发的重要环节。当完成了单片机应用系统的硬件设计、软件设计和硬件组装后,便可进入应用系统调试阶段。系统调试的目的是查出系统中硬件设计与软件设计中存在的错误以及可能出现的不协调问题,以便修改设计,最终使系统能正确地工作。单片机应用系统的调试分为硬件调试、软件调试和脱机运行调试三个部分。 5.1 硬件调试 5.1.1 最小系统调试 (1)上电复位后,用万用表测量单片机VCC和GND为5V; (2)上电复位后,晶振起振,晶振两端电压约为1.5V~2V; (3)上电复位后,万用表测量9脚为低电平; (4)没烧录程序时,万用表测量各I/O口输出高电平,约5V ; (5)30脚,产生频率,万用表测量为高电平,约5V; (6)31脚,接VCC,万用表测量为高电平,约5V; 5.1.2 四位数码管调试 将公共端接电源,其他端分别接GND,测得各端亮,说明数码管属于共阴数码管,且数码管各端LED发光管正常。 5.2 软件调试 程序按照流程图编程,数码管采用动态显示的方法,利用定时器0的工作方式1,在中断函数中对数码管的公共端进行位选控制。 为了防止PCB连接数码管时有很多跳线,原理图上将数码管个引脚的连接方式进行了修改,而程序的0~9段代码为:{ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f };导致电路板上电时数码管显示乱码;经过修改段代码为:{ 0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7 }后,测试数码管显示正常。 5.3 脱机运行调试 在焊完成后,程序烧录进去,上电后四位数码管都亮,说明P2口已开始进行位选工作;查看程序仿真合理,单片机最小系统正常工作; 用万用表检测数码管的各引脚电压,发现有两个引脚电压与单片机P0口段选输出电压不同,说明有断线; 整块电路板完全符合设计要求。 6 总结 按照脱机运行调试的电路板的情况来看,完全符合设计要求,应该是一个成功的设计。 实训中也暴露出在理论学习中的不足之处,对单片机的很多方面内容还不够了解,有些地方还需有待加强学习,正是理论学习的不足导致对作品原理图正确性的怀疑。通过不断地翻书查资料确定设计的原理图没问题后,才开始制作电路板。 制作电路板的工作是交给我的队友。最后的电路板,只有几根断线而已,补接好后,功能都能实现,一次成功,出乎我的意料,他向我展示了他强大的动手能力;也得益于我设计的原理图和PCB,都经过我的反复检查。 对此作品的软件程序编写,经百度找到了些程序,但这些程序不符合我的设计原理图。要得到能够实现功能的火灾报警器程序,我能从零开始编程。经过参考单片机实验指导书,编写的这个结构清晰简单,实现的功能也很全面,但感觉程序太琐长,不善精简。 谢 辞 两周的实训结束了,由衷感谢我的指导老师。周光祥老师对我遇到的问题总是耐心解答和悉心指导;提出了许多富有启发性的建议和具有创意的想法; 在这次毕业设计中,得益于学校的各方面资源,图书馆可以查找到许多相关的有用的书籍资料、图书馆网站上的数据库也给我提供了不少参考,这些都给我们创造一个良好的学习、设计环境。 在跟随周光祥老师学习期间,我学到了许多从未接触过的知识,受益匪浅。感谢桂林电子科技大学和诸位老师对我的培养和教育,同时也感谢学院为我提供良好的做毕业设计的环境。 本文参考了大量的文献资料,在此,向各学术界的前辈们致敬! 附录1:火灾报警器原理图: 附录2:火灾报警器PCB图: 附录3:火灾报警器程序 #include <reg52.h> #define uchar unsigned char #define uint unsigned int uchar code smg_du[]={0x5f,0x44,0x9d,0xd5,0xc6,0xd3,0xdb,0x45,0xdf,0xd7}; //段码 uchar dis_smg[] = {0x80,0x80,0x80,0x80}; uchar smg_i = 4; //数码管的显示个位数 sbit smg_we1 = P2^3; sbit smg_we2 = P2^2; sbit smg_we3 = P2^1; sbit smg_we4 = P2^0; sbit dq= P1^0; //温度传感器DS18B20输出 sbit key=P1^1; //烟雾传感器MQ-2经LM358放大输出低电平信号 sbit led_g=P1^5; sbit led_r=P1^6; sbit beeper=P1^7; bit flag_wd_z_f; //正负温度 int temperature; /***********************1ms延时函数*****************************/ void delay_1ms(uint q) { uint i,j; for(i=0;i<q;i++) for(j=0;j<120;j++); } /***********************小延时函数*****************************/ void delay_uint(uint q) { while(q--);} /***********************数码位选函数*****************************/ void smg_we_switch(uchar i) { switch(i) { case 0: smg_we1 = 0; smg_we2 = 1; smg_we3 = 1; smg_we4 = 1; break; case 1: smg_we1 = 1; smg_we2 = 0; smg_we3 = 1; smg_we4 = 1; break; case 2: smg_we1 = 1; smg_we2 = 1; smg_we3 = 0; smg_we4 = 1; break; case 3: smg_we1 = 1; smg_we2 = 1; smg_we3 = 1; smg_we4 = 0; break; } } /***********************数码显示函数*****************************/ void display() { static uchar i; i++; if(i > smg_i)i = 0; smg_we_switch(i); //位选 P0 = dis_smg[i]; //段选 } /***********************18b20初始化函数*****************************/ void init_18b20() { bit q; dq = 1; //把总线拿高 delay_uint(1); //15us dq = 0; //给复位脉冲 delay_uint(80); //750us dq = 1; //把总线拿高 等待 delay_uint(10); //110us q = dq; //读取18b20初始化信号 delay_uint(20); //200us dq = 1; //把总线拿高 释放总线 } /*************写18b20内的数据***************/ void write_18b20(uchar dat) { char i; for(i=0;i<8;i++) { //写数据是低位开始 dq = 0; //把总线拿低写时间隙开始 dq = dat & 0x01; //向18b20总线写数据了 delay_uint(5); // 60us dq = 1; //释放总线 dat >>= 1; } } /*************读取18b20内的数据***************/ uchar read_18b20() { char i,value; for(i=0;i<8;i++) { q = 0; //把总线拿低读时间隙开始 value >>= 1; //读数据是低位开始 dq = 1; //释放总线 if(dq == 1) //开始读写数据 value |= 0x80; delay_uint(5); //60us 读一个时间隙最少要保持60us的时间 } return value; //返回数据 } /*************读取温度的值 读出来的是小数***************/ uint read_temp() { uint value; uchar low; init_18b20(); //初始化18b20 write_18b20(0xcc); //跳过64位ROM write_18b20(0x44); //启动一次温度转换命令 delay_uint(50); //500us init_18b20(); //初始化18b20 EA = 0; write_18b20(0xcc); //跳过64位ROM write_18b20(0xbe); //发出读取暂存器命令 low = read_18b20(); //读温度低字节 value = read_18b20(); //读温度高字节 EA = 1; value <<= 8; //把温度的高位左移8位 value |= low; //把读出的温度低位放到value的低八位中 if((value & 0xf000) == 0xf000) { flag_wd_z_f = 1; } //负温度 else flag_wd_z_f = 0; //正温度 value *= 0.625; //转换到温度值 小数 return value; //返回读出的温度 } /*************定时器0初始化程序***************/ void time_init() { TMOD = 0X01; //定时器0、定时器1工作方式1 EA = 1; ET0 = 1;TR0 = 1; } /****************主函数***************/ void main() { time_init(); //初始化定时器 temperature = read_temp(); //先读出温度的值 delay_1ms(500); temperature = read_temp(); //先读出温度的值 while(1) { temperature = read_temp(); //先读出温度的值 delay_1ms(250); temperature = read_temp(); //先读出温度的值 if(!key) //烟雾传感器有信号 { delay_uint(10); if(!key){ led_g=1;led_r=0;beeper=0;} } else { led_g=0;led_r=1;beeper=1;} //烟雾传感器无信号 if(temperature >= 750) {led_g=1;led_r=0;beeper=0;} //超过75℃蜂鸣器报警 if(flag_wd_z_f == 1) //负温度 { smg_i = 4; temperature+=575; //补差 temperature=~temperature; //取反 dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示 dis_smg[1] = smg_du[temperature / 10 % 10]|0x20; //取温度的个位显示 dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示 dis_smg[3] = 0x80; //负号 }else { if(temperature >= 1000) { smg_i = 4; dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示 dis_smg[1] = smg_du[temperature / 10 % 10]|0x20 ; //取温度的个位显示 dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示 dis_smg[3] = smg_du[temperature / 1000 % 10] ; //取温度的百位显示 }else { smg_i = 3; dis_smg[0] = smg_du[temperature % 10]; //取温度的小数显示 dis_smg[1] = smg_du[temperature / 10 % 10]|0x20 ; //取温度的个位显示 dis_smg[2] = smg_du[temperature / 100 % 10] ; //取温度的十位显示 }} delay_1ms(300); }} /*************定时器0中断服务程序***************/ void time0_int() interrupt 1 { TH0 = 0xf8; TL0 = 0x30; //2ms display(); //数码管显示函数 } 参考文献 【1】百度文库,基于单片机火灾报警器的设计. 【2】叶俊明、苏鹏鉴,单片机实验指导书,2014. 【3】张秀国,单片机C语言程序设计教程与实训, 2012. 【4】姚宏坤,C语言程序设计项目教程,2012 【5】郭天祥,十天学会单片机视频. 【6】张建忠,传感器与检测技术,2014. 20 / 20- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 基于 单片机 火灾 报警器 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【1587****927】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【1587****927】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【1587****927】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【1587****927】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文