温度、烟雾报警器论文课件_第1页
温度、烟雾报警器论文课件_第2页
温度、烟雾报警器论文课件_第3页
温度、烟雾报警器论文课件_第4页
温度、烟雾报警器论文课件_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、山东管理学院实习报告SHANDONGMANAGEMENTUNIVERSITY实习报告(温度、烟雾报警器)专 业: 安全工程 班 级: 15级一班 学生姓名: 李文栋 学生学号: 2015058010109 指导教师: 郭胜召 白莹莹 日 期: 2017年7月12日 机电学院目 录1实习目的和意义11.1实习目的:11.2实习意义:12实习内容13总体设计14实现的功能:25硬件介绍35.1STC89C52RC芯片介绍35.2气体检测部分45.3A/D转换部分45.4DS18B20 TO-92 温度传感器介绍55.5液晶显示电路的设计66软件程序流程图77程序代码(见附录)88Proteus仿真

2、原理图89实物图910实习的心得体会1011参考文献1012附录11山东管理学院实习报告1 实习目的和意义1.1 实习目的:(1)利用单片机小系统实习板,掌握电路原理图;(2)通过对系统板的测试,了解系统板的工作原理及性能,掌握元器件及系统故障的排除方法;(3)通过单片机系统的调试、程序编制及运行,掌握单片机系统的工作原理、开发方法和操作方法。1.2 实习意义:通过实习可以掌握单片机软、硬件的综合调试方法,熟练掌握电路原理图,激发对单片机智能性的探索精神,提高我们的综合素质。在制作学习过程中,不但可以掌握软、硬件的综合调试方法,而且提高我们对单片机智能性强烈的欲望。达到最大限度地掌握微机应用技

3、术,软件及接口设计和数据采集与处理的技能,培养综合实践素质的目的。2 实习内容(1)、根据任务要求选择方案、设计电路、确定元器件型号和参数(2)硬件设计:要求设计出完整的电路原理图,包括电源模块、单片机最小系统电路、按键电路、报时电路、显示电路。(3)、软件设计:包括编程思路,主程序和各子程序模块的流程图及编写方法,并用汇编语言或C语言编写出完整的源程序。(4)、按图焊接电路,检查无误后通电调试,调试电路的功能是否符合要求。 (5)、调试与仿真:对设计的硬件和程序进行仿真调试,并给出仿真结果。制作实物进行调试。3 总体设计从设计的要求来分析该设计须包含如下结构:燃气检测部分,AT89C51单片

4、机主控部分,报警部分,AD转换部分,显示电路五大部分。显示电路STC89C52单片机电源按键控制报警电路A/D转换模块气体检测4 实现的功能:(1) 对天燃气体进行检测,天燃气体浓度达到报警设定值时,应能报警。(2) 温度超过报警设设定值时,应能报警。(3) 正常工作,红灯不亮,蜂鸣器不报警。(4) 能显示此时温度和天然气浓度。(5) 浓度超限报警时,应能启动输出控制功能。(6) 错误时,有复位功能。5 硬件介绍本设计主要以MCS-51系列单片机STC89C52RC为控制核心,它自带8K的FLASH程序存储器,它的核心处理单元为8位。数据处理主要是对数字温度传感器18B20采集温度数据和烟雾传

5、感器MQ-2进行AD采集,并进行逻辑判断,根据数据的具体情况输出到数码管显示和使蜂鸣器动作。整个单片机应用系统的设计分为硬件电路设计和软件编程设计两大部分;其中硬件电路设计包括温度采集电路,单片机控制电路,路显示电路和报警与控制电路。软件设计部分包括系统主程序,温度采集子程序,数码管显示子程序和输出驱动子程序,均采用51系列C语言编程实现。5.1 STC89C52RC芯片介绍STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。图

6、 1 STC89C52RC芯片引脚特性:8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间;可直接使用串口下载5.2 气体检测部分图 Error! Main Document Only. MQ2在此设计中我们选用MQ-2半导体气敏传感器。该传感器具备一般半导体气敏传感器灵敏度高、电导率变化大、响应和恢复时间短、抗干扰能力强、输出信号大、寿命长和工作稳定等优点。气敏元件开机时,其内阻很小,但经过一段时间后,才能到原来的稳定状态。因此QM-2气体传感器需开机预热几分钟,才可投入使用,以免造成误报。图2就是MQ2气体传感器。5.3 A/D转换部分 ADC0832是NS公司

7、生产的串行接口8位A/D转换器,通过三线接口与单片机连接,功耗低,性能价格比较高,适宜在袖珍式的智能仪器仪表中使用。引脚及接线如3图:图 Error! Main Document Only. A/D转换部分 CS为片选端,低电平有效;CH0,CH1两路模拟 信号输入端;DI模拟通道选择输入端;DO模 数转换结果输出端;CLK时钟输入端;Vcc电 源;GND地线。 P32低电平时,转换器工作,P33提供时钟 脉冲,P34高点平时,转换器启动(模拟通 选择及A/D转换后的输出)5.4 DS18B20 TO-92 温度传感器介绍DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一

8、种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高1,如图4所示图 Error! Main Document Only. DS18B20 引脚特性: 独特的单线接口方式:DS18B20与微处理器连接时仅

9、需要一条口线即可实现微处理器与DS18B20的双向通讯。 在使用中不需要任何外围元件。 可用数据线供电,电压范围:+3.0 +5.5 V。 测温范围:-55 +125 。固有测温分辨率为0.5 。 通过编程可实现912位的数字读数方式。 用户可自设定非易失性的报警上下限值。 支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。5.5 数码管的设计共阳数码管:led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,led数码管根

10、据LED的接法不同分为共阴和共阳两类,不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。共阴和共阳极数码管的发光原理是一样的,只是它们的电源极性不同而已。如图3.7可知共阳及共阴数码管的结构。10引脚的LED数码管引脚定义每一笔划都是对应一个字母表示,DP是小数点。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量

11、的I/O口,而且功耗更低2。其原理图5所示:图5 数码管显示硬件电路6 软件程序流程图图 6软件程序流程图7 程序代码(见附录) (P13p24)8 Proteus仿真原理图主机电路、数据采集电路、键盘显示电路、电源电路、控制执行电路以及掉电保护电路。各个模块电路通过主机电路控制,协调一致的进行工作。完成对被测物体的温度控制3,如图7所示。图 7仿真原理图 9 实物图图 8实物图10 实习的心得体会在这次单片机设计过程中,我们团队分工合作完成的,我负责的软件仿真,在仿真过程中遇到很多的困难,遇到的第一个困难便是软件安装,这个安装真是一个技术活,全是英文,第一印象就是懵,完全不知道怎么安装,后来

12、通过百度,找到了安装指导及其使用方法。在仿真过程中,有很多有很多硬件不知道如何去接线,我通过请教老师和同学,最终将问题解决。这次仿真学到了很多东西。回顾起此次实训,感觉受益匪浅,从拿到题目到完成整个编程,从理论到实践,学到很多很多的课堂理论中没学到过的东西,通过这次实训,我们不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西这次实习能顺利的完成,除了我们的努力外,当然也离不开郭胜召老师和白莹莹老师的辛勤指导,致使我在设计的过程中学到了很多实用性的知识

13、。同时,对给过我帮助的所有同学和各位指导老师表示忠心的感谢!11 参考文献1喻宗泉,喻晗,李建民.单片机原理与应用技术M.西安:西安电子科技大学出版社,20062宋雪松,李冬明,崔长胜,手把手教你学单片机C语言版.清华大学出版社,20163于永学.1-Wire总线数字温度传感器DS18B20及应用J.电子产品世界,2003,1212 附录程序代码#include <reg52.h>#define uchar unsigned char #define uint unsigned int#include <intrins.h>#include "eeprom52

14、.h"uchar code smg_du=0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28, 0x30,0x25,0xe4,0x23,0x64,0x74,0x38,0xff; uchar code smg_we=0x7f,0xbf,0xdf,0xef;uchar dis_smg8sbit CS=P37;sbit SCL=P33;sbit DO=P34;sbit ledy = P14;sbit ledr = P17;sbit dq = P15;sbit beep = P36;uint temperature,s_temp ;uchar

15、dengji,s_dengji;uchar shoudong;bit flag_300ms = 1;uchar key_can;uchar menu_1;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 write_eeprom()SectorErase(0x2000);byte_write(0x2000, s_temp);byte_write(0x2001, s_dengji);byte_write(0x2060, a_a);v

16、oid read_eeprom()s_temp = byte_read(0x2000);s_dengji = byte_read(0x2001);a_a = byte_read(0x2060);void init_eeprom() read_eeprom();if(a_a != 1)s_temp = 50;s_dengji = 5;a_a = 1;write_eeprom();void init_18b20()bit q;dq = 1;delay_uint(1);dq = 0;delay_uint(80);dq = 1;delay_uint(10);q = dq;delay_uint(20);

17、dq = 1;void write_18b20(uchar dat)uchar i;for(i=0;i<8;i+) dq = dat & 0x01;delay_uint(5);dq = 1;dat >>= 1;uchar read_18b20()uchar i,value;for(i=0;i<8;i+)dq = 0; value >>= 1;dq = 1;if(dq = 1) value |= 0x80;delay_uint(5);return value;uint read_temp()uint value;uchar low;init_18b20

18、();write_18b20(0xcc);write_18b20(0x44);delay_uint(50);init_18b20();write_18b20(0xcc);write_18b20(0xbe);EA = 0;low = read_18b20();value = read_18b20();EA = 1;value <<= 8;value |= low;value *= 0.0625; return value; unsigned char ad0832read(bit SGL,bit ODD)unsigned char i=0,value=0,value1=0;SCL=0

19、;DO=1;CS=0;SCL=1;SCL=0;DO=SGL;SCL=1;SCL=0;DO=ODD;SCL=1; SCL=0; DO=1;for(i=0;i<8;i+)SCL=1;SCL=0; value<<=1;if(DO)value+;for(i=0;i<8;i+)value1>>=1;if(DO)value1+=0x80;SCL=1;SCL=0;CS=1;SCL=1;if(value=value1)return value;return 0;void display()uchar i;P0 = 0xff; P2 = smg_wei; P0 = dis_s

20、mgi; i +;if(i >= 4)i = 0; void time_init() EA = 1;TMOD = 0X01; ET0 = 1; TR0 = 1;uchar key_can;void key()static uchar key_new;key_can = 20; P1 |= 0x0f;if(P1 & 0x0f) != 0x0f)delay_1ms(1);if(P1 & 0x0f) != 0x0f) && (key_new = 1)key_new = 0;switch(P1 & 0x0f)case 0x0e: key_can = 4;

21、break;case 0x0d: key_can = 3; break;case 0x0b: key_can = 2; break;case 0x07: key_can = 1; break;else key_new = 1;void key_with()if(key_can = 4) if(menu_1 = 0)shoudong = 1;if(key_can = 1) menu_1 +;if(menu_1 >= 3)menu_1 = 0;if(menu_1 = 0)if(key_can = 2)shoudong = 0; if(menu_1 = 1)if(key_can = 2)s_t

22、emp + ; if(s_temp > 99)s_temp = 99;if(key_can = 3)s_temp - ; if(s_temp <= 10)s_temp = 10 ;dis_smg0 = smg_dus_temp % 10;dis_smg1 = smg_dus_temp / 10 % 10;dis_smg2 = 0x7f;dis_smg3 = smg_du12;write_eeprom();void clock_h_l()static uchar value;if(dengji >= s_dengji) | (temperature >= s_temp) | (shoudong = 1)value +;if(value >= 2)value = 10;b

温馨提示

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

评论

0/150

提交评论