【《单片机控制的粮仓安全系统的硬件和软件设计案例》7000字】_第1页
【《单片机控制的粮仓安全系统的硬件和软件设计案例》7000字】_第2页
【《单片机控制的粮仓安全系统的硬件和软件设计案例》7000字】_第3页
【《单片机控制的粮仓安全系统的硬件和软件设计案例》7000字】_第4页
【《单片机控制的粮仓安全系统的硬件和软件设计案例》7000字】_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

单片机控制的粮仓安全系统的硬件和软件设计案例目录TOC\o"1-3"\h\u28443单片机控制的粮仓安全系统的硬件和软件设计案例 1243631系统硬件设计 1148521.1STC89C52单片机及其最小系统设计 1232421.1.1功能特性概述 133771.1.2主要性能参数 2321951.1.3单片机最小系统设计 3256671.2防火检测电路设计 4198271.3温度检测电路设计 628721.4液晶显示电路设计 10171781.5防盗检测电路设计 11287581.6阈值设置及设防电路设计 14124611.7报警电路设计 148881.8整机电路图 15194102系统软件设计 17317442.1编程软件介绍 17116352.2系统主程序设计 17312512.3烟雾采集程序设计 19154802.4温度采集程序设计 20232762.5红外检测程序设计 20295302.6液晶显示程序设计 2283492.7蜂鸣器报警程序设计 221系统硬件设计1.1STC89C52单片机及其最小系统设计1.1.1功能特性概述STC89C52RC单片机是台湾宏晶公司进行设计和生产的单片机产品。它的内部是采用通用的CMOS工艺技术生产的8位单片机处理器。该处理器性能强大,功耗不高,价格低,开发难度小,所以在市场上的应用较为广泛。其内部集成了40个常用的高速IO,内部集成了3个定时器,1个UART串口,同时有8K的Flash和2K的掉电存储模块,所以其内部资源丰富,有助于用户进行系统的开发。STC89C52RC是一款功能强大的51单片机,它延续的MCS-51系列的内核,能够实现汇编语言和C语言两种方式的编程。作为一款中低端的单片机,为大量的嵌入式系统提供了核心控制器。他使用灵活,因此得到了众多工程师的使用。对于初学者而言,只需要掌握C语言的基础知识和单片机模块开发的基础知识即可,就能够实现对STC89C52RC单片机的系统开发。利用专业的单片机开发工具,实现hex文件的生成并下载,就能够实现对单片机程序的开发。单片机的实物图如图1.1所示。图图1.1STC89C52实物图1.1.2主要性能参数STC89C52一共有40个管脚,他们都有着不同的功能:VCC和GND引脚,他们共同构成单片机的供电引脚,其中VCC接电源的正极,GND接电源的负极,供电电压5V。RESET引脚是单片机的复位引脚,高电平有效。当该引脚从低电平变为高电平的时候,系统实现复位。XTAL1和XTAL2两个引脚是单片机的晶振引脚,可以接12M的晶振或者是11.05926M的晶振。P0.0-P0.7引脚是单片机的P0IO口,能够实现高速输入和输出。P1.0-P1.7引脚是单片机的P1IO口,能够实现高速输入和输出。P2.0-P2.7引脚是单片机的P2IO口,能够实现高速输入和输出。P1.0-P1.7引脚是单片机的P3IO口,能够实现高速输入和输出。同时P3IO还具有其他复用功能。单片机引脚图如图3-2所示。图3-2STC89C52引脚图1.1.3单片机最小系统设计对于STC89C52RC单片机的使用需要设计一个单片机最小系统,通过外围辅助电路之后,才能够实现单片机的功能。通过对STC89C52RC单片机IO的了解,可以看到,RST引脚是复位引脚,并且高电平有效,所以设计了一个复位电路,如图3-1所示。包含一个电容,一个电阻和一个按键,当按下按键的时候,系统进行复位。XTAL1引脚和XTAL1引脚,通过手册可以得出,接晶振。由于STC8952RC单片机的P0IO内部是没有上拉电阻的,所以设计了一个上拉电阻。最终设计的单片机最小系统如图3-2所示。图3-2STC89C52单片机最小系统(1)复位电路复位电路是当系统运行异常的时候,通过按下按键,控制器返回主程序的开头。(2)晶振和时钟电路 单片机根据晶振的脉冲信号来执行一次指令周期。单片机使用的晶振越大,单片机的指令周期就越短,需要根据实际的应用场景来保证单片机的运行稳定。单片机晶振电路连接单片机的XTAL1与XTAL2两个引脚,两个30PF的电容一端接到晶振的引脚,另一端接入地,这样就可以得到晶振标称的谐振频率。1.2防火检测电路设计本系统中,需要对粮仓中的烟雾浓度进行检测,以此来判断粮仓内烟雾是否超标,进而判断出是否有火灾,在本设计中,使用的是MQ-2气敏型烟雾传感器,在该系统中,用户在使用的时候,不需要做其他的动作,只需要将该传感器放置到室内即可,这样就能够实现对室内烟雾的检测。由于(SnO2)对气体敏感程度较高,烟雾传感器使用二氧化锡作为烟雾传感器的原材料,由于二氧化锡的特殊属性在空气中的导电率几乎为零。MQ-2传感器只针对烟雾进行检测,进而能够在复杂的环境中灵敏的识别出室内是否有烟雾泄露,这样就大大的降低了其他气体对检测的干扰性。MQ-2烟雾传感器具有较高的测试分辨率和测试的灵敏度,进而能够有效的准确的检测出烟雾浓度[9]。本传感器使用的寿命非常的长,具有非常强的可靠性和稳定性。在MQ-2烟雾传感器的内部,是由A12O3微型器件,陶瓷管,半导体元件SnO2敏感层以及测试电极和加热器件共同构成的。在封装方面,MQ-2传感器是通过塑料形式和不锈钢的腔体共同组成的。封装的气体传感器具有6个针形针,其中4个用于信号提取,另外2个用于提供加热电流[8],其实物图如图3-3所示。图3-3MQ-2烟雾传感器特点:适用气体:易燃性气体、烟雾等。探测范围:400—1200ppm。响应、恢复时间分别为:小于等于10S、小于等于30S。测量电压:小于等于24V。适用环境见表3-1:表3-1适用环境表符号参数名称技术条件备注Tao使用温度-10℃-50℃最小值大于2%Tas储存温度-20℃-70℃RH相对湿度小于95%RHO2氧气浓度21%(标准条件)氧气浓度会影响灵敏度特性在本设计中,对于烟雾参数的采集是采用烟雾传感器的。烟雾传感器在输出方面是采用模拟信号进行输出的,其输出的范围是0-5V。而对于STC89C52单片机而言,由于其内部是不具有ADC模数转换模块的。所以,在进行电路设计的时候,需要额外添加一个ADC转换模块,以此来实现模拟信号到数字信号的转换。进而单片机能够对其进行处理。在本设计中,选择的是ADC0832模式转换芯片。ADC0832一职中8位分辨率的模数转换器,它能够实现最高256级的电压识别,也就是将测试的电压分为256分,然后可以识别到的最小电压为1/256。对于**传感器输出的0-5V而言,其能够识别最小分辨率0.0195V的电压,所以其分辨率是非常高的,能够识别传感器输出的微弱信号,这对于整个系统测试过程中的精度还是非常重要的。同时,该信号的转换时间仅为32μS,转换速度非常快。单片机[11]在对其进行采用的时候,需要四个个IO,一个是时钟信号,一个是片选信号,另外两个是数据输入和输出引脚,如图3-4所示为设计的ADC0832与单片机进行通信的电路图,本设计中,使用P2.4与ADC0832的CS进行连接,P2.3与CLK进行连接,P2.2与DO进行连接,P2.2与DI进行连接。通过这四个IO的共同协作,进而实现了单片机对ADC0832的操作。读取电压转换值。图1.4烟雾采集电路设计单片机通过读取ADC0832的数值,就能够测试出是否有烟雾,进而判断出是否有火灾发生。1.3温度检测电路设计在本设计中,需要对温度进行采集。目前对于温度的采集常用的有两种方式。方式一是采用热敏电阻的方式来进行温度的采集,此种方式采集精度低,相应速度反,需要配合AD转换一起使用才能完成温度采集,但是通过热敏电阻能够实现高温的采集,而且成本较低。另一种方式是采用集成的温度传感器,以DS18B20为代表。通过集成的温度传感器能够快捷高效准确的实现对温度的采集,缺点是温度采集范围低,通常为-55度到125度。而在本系统中,主要是对环境中的温度进行采集,所以,采用DS18B20更加合适。DS18B20实物图如图1.5所示。图1.5DS18B20实物图DS18B20性能:1.电压范围为:2.0〜5.5V左右,数据线供电方式被采用;2.测温范围为:-40〜+110℃;1.三条线上并联连接可用在多个DS18B20,用来达到所需要的功能和期待的目的;2.无待机功耗;5.报警设置值可以被自定义设置;6.对超过自定义的温度进行标识并进行警报响应以回复;在寄生电源模式下,DS18B20获得信号能量的方式会变为单线获取:当信号线的DQ较高时,DS18B20内部转化为存储能量。电容器在运行期间在信号周期内的功耗低,其次对寄生电源(电容器)进行充电,直到信号值为高电平停止。特别的寄生电源方法优点如下:(1)距离如果太远的话,它不需要考虑电源所产生的问题(2)ROM值不需要电源就能读出(3)电路使用一个端口就能测量,所以电路更为简单便捷。DS18B20的体积相比较其他的传感器要小一些,而且是直插的封装,这样在进行安装的时候就方便很多。而且其供电的电压范围较大,能够实现多点同时测温。因此在实际的使用中得到了很大的推广。无论是消费类电子,工业控制中,都有广泛的使用。通过DS18B20的内部如可以看到,DS18B20集成了温度传感器,高低温以及缓冲模块和ROM模块,这种结构设计使得单片机在操作DS18B20的时候特别简单,只需要发送指令,启动转换,就能够实现温度的获取。DS18B20内部逻辑图如图1.6所示。图1.6DS18B20内部逻辑通过DS18B20的数据手册可以得出,在电路设计中,对于DS18B20温度采集电路的设计,只需要外加一个上拉电阻即可,在这个课题中,我们所用的是10K的上拉电阻,然后与单片机的P0.0接口进行连接,再对DS18B20供电即可,其电路设计如图1.7所示。图1.7DS18B20温度检测电路设计同时特别的指出,用户在使用DS18B20温度传感器的时候,一共要主要三个引脚的方向,一旦使用错误,就会造成传感器的损坏。1.4液晶显示电路设计在本设计中,对于采集到的温度数据和烟雾数据以及操作过程中的设置,都需要进行显示,以此来提高整个系统的交互能力。通过查阅相关的资料发现,在单片机系统中,应用最为广泛的就是液晶显示和数码管显示。采用液晶作为系统的显示器件,目前常用的液晶显示方式有LCD1602,LCD12864,OLED显示屏等。他们按照尺寸的不同可以分为多种,但是其核心也是一种集成形式的点阵电路,不同尺寸的显示屏内部集成了不同数量的显示器件,然后由单片机进行控制。在操作上,有的液晶跟单片机之间采用并行通信方式,有的是串行或者是IIC形式通信,价格上相对于数码管而言也是偏贵一点,但是可以显示的数据量较多,可以显示数字,字母,字符以及汉字或者是特定图形。本设计中,由于需要显示的数据较多,采用数码管不能够完全显示出来,所以采用液晶来进行显示,具体型号为液晶LCD1602。液晶LCD1602是一种在电子技术开发中被工程师所广泛使用的一种能够显示字符,数字以及字符的显示模块。液晶LCD1602通常由显示屏,驱动单元以及扩展接口组成。在本系统中,LCD1602的数据输入管脚与单片机的P0接口进行连接,RS,RW,EN引脚分别与单片机的P2.3,P2.4和P2.5进行连接。单片机通过RS,RW,EN引脚发送指令,通过P0接口输入数据进行显示。原理图如图1.8所示。图1.8液晶显示电路设计本设计中所选择使用的显示模块是LCD1602显示屏,1602通过其命名我们可以看出,是指显示的内容为两行,分为上下两行。同时对应的每行可以进一步的显示十六个字符。通过书写程序,操作不同的寄存器,即可以完成对液晶LCD1602数字,字母,以及特殊字符的显示。同时,通过调整其内部的寄存器,可以实现对液晶的显示控制,比如常见的闪烁动画,也可以完成移位,反相显示等动作。1.5防盗检测电路设计在防盗检测方面,人体检测模块是红外技术的衍生的一种技术。感应模块是运用双元探头,当检测范围里有人提进行无规则移动时,红外光谱就会检测到利用和双元的差值来触发报警。人体检测模块可以广泛应用于各种检测设备。本设计中使用的是热释红外人体感应模块,该模块可以感应到3-8米的距离,而且其灵敏度的感应距离是可以调节的,是一款专门用于人体检测的模块,系统采用HC-SR501人体红外感应模块。当危险情况发生时,该模块不仅能及时且快速地输出相应的信号,并且安装位置较为隐蔽,不会被人轻易发现[15]。其实物图如图1.9所示。图1.9人体红外传感器HC-SR501是基于红外线感应技术和自动控制技术设计的传感器,其探头部分采用德国的LHI778人体感应探头,其测试的灵敏度高,可靠性强,抗干扰能力强。该模块采用5V进行供电,广泛的应用在各类人体自动感应电路中,如白炽灯,自动门,防盗系统中,是一种高科技的传感器。该模块能够感应到3-8m的距离,用户在使用的时候,可以通过调节背面的电位器,调节感应灵敏度和输出延时时间。该模块具以下特点。1.自动感应,当有人进入范围内时,输出高电平,没有人时,输出低电平。2.多种感应方式进行选择。a、不可重复触发方式:当传感器感应到人之后,输出高电平后,延时一段时间之后,输出的高电平,自动变为低电平,在延时时间内,不再进行感应;b、可重复触发方式:即感应到人之后,传感器输出高电平后,在延时时间段内,如果传感器检测到有人,在输出一直为高电平,直到感应不到人之后,系统采输出低电平。1.工作电压范围非常的宽:默认传感器的工作电压DC2.5V-20V。适合大部分的嵌入式系统。2.微功耗功能,在静态下,传感器的电流<50微安,进而可以大大延迟系统的使用时间。电路设计如图1.10所示。使用的是单片机的P1.1接口。图1.10人体红外检测电路设计感应模块采用双元探头,探头的窗口为长方形,双元(A元B元)位于较长方向的两端,当人体从左到右或从右到左走过时,红外光谱到达双元的时间、距离有差值,差值越大,感应越灵敏,当人体从正面走向探头或从上到下或从下到上方向走过时,双元检测不到红外光谱距离的变化,无差值,因此感应不灵敏或不工作;所以安装感应器时应使探头双元的方向与人体活动最多的方向尽量相平行,保证人体经过时先后被探头双元所感应。为了增加感应角度范围,本模块采用圆形透镜,也使得探头四面都感应,但左右两侧仍然比上下两个方向感应范围大、灵敏度强,安装时仍须尽量按以上要求。感应范围:1.6阈值设置及设防电路设计在本系统,用户在使用之前,用户可以设置一个温度的上限和烟雾的上限,如果系统采集到的数值大于设定值,则会进行报警。而这个数值的设置较为简单,所以采用独立按键的方式进行设置。其电路图如图1.11所示。同时,也可以通过按键来进行设防。图1.11按键设置电路图其中,SW2表示设置按键,SW4为数据加,SW5为数据减,SW6为设防按键,这样,用户就可以根据自己的需要对阈值的上限进行设置以及进行系统的设防。1.7报警电路设计本系统是智能化的系统,如果感应到温度过高,烟雾浓度过高,热释红外感应到有人则会进行蜂鸣器的报警。本系统的报警电路如图3-12所示。本设计中,使用的蜂鸣器是驻极体的蜂鸣器,其正极连接5V,负极连接到GND之后,就会发出滴滴滴的声响,进而进行报警。但是,蜂鸣器在工作的时候,需要的电流较大,单片机的IO无法直接驱动,所以,本设计中,采用了三极管驱动的方式来进行报警处理,采用的是PNPN的三极管,型号为SS8550。该三极管的基极与单片机的P1.0IO进行连接,当单片机输出低电平的时候,控制三极管导通,进行报警,当输出高平的时候,三极管闭合,蜂鸣器停止发声。同时,本设计中,还添加了一个LED灯来进行指示,当发声的时候,LED灯亮起[13]。图1.12报警电路设计1.8整机电路图本课题的整机电路图根据程序的运行鹤流程图进行绘制,如图1.13所示。.图1.13整机电路设计2系统软件设计2.1编程软件介绍本系统在设计完硬件之后,如果需要对系统的软件进行开发,采用的是Keil来实现的。Keil是一种常见的单片机编程软件,能够实现C语言程序的编写,并具有工程管理功能,能够实现.c文件.h文件的引入,并进行整合使用。Keil的人机界面如图4-1所示。图2.1Keil编译界面2.2系统主程序设计系统上电之后,会进行温度传感器,烟雾传感器,人体红外传感器的初始化,然后对温度,烟雾,人体红外进行采集,采集完成之后,通过液晶LCD1602将数据显示出来,并进行判断,如果有异常,则进行声光报警[8]。其系统流程图如图2.2所示。图2.2系统主流程图系统上电之后,会进行温度传感器,烟雾传感器,人体红外传感器的初始化,然后对温度进行采集,采集完成之后,通过液晶LCD1602将数据显示出来。如果温度测量过高,进行声光报警,如果温度正常进行下一步操作。随后进行烟雾检测,如果室内烟雾浓度较高,进行声光报警,如果烟雾浓度正常,通过液晶LCD1602将数据显示出来并进行下一步流程。随后进行防盗检测,当粮仓处于封管状态时,用红外检测是否有人,如果有进行声光报警,如果没有通过液晶LCD1602将测量数据显示出来。最后结束流程。其系统主程序如图2.3所示。图2.3系统主程序2.3烟雾采集程序设计本系统中,使用的烟雾传感器,在输出的时候采用的是模拟信号,本设计中,利用ADC0832进行数据的转换。单片机上电之后,先进行ADC00832的初始化,然后发送指令进行启动,ADC0832完成转换之后,单片机发送指令进行读取。其程序流程图如图2.4所示。图2.4烟雾采集程序设计在程序中,在设计的时候,单片机通过SCL,CS,DO,DI四个引脚的高低电平变化实现对ADC0832数据的读取,读取ADC0832寄存器中的数据。读取完成之后,单片机进行判断,得出对应的烟雾

温馨提示

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

评论

0/150

提交评论