版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单片机的空气质量检测系统摘 要随着工业技术的飞速发展,虽然人们的生活获得了很多的方便,但是在工业生产过程中,不可避免的产生了一些对人体有害的因素,如煤炭、水泥、面粉等毫不相干的行业中产生的粉尘污染。粉尘对人体产生最大的危害就是肺部以及呼吸道相关的疾病。当周围环境处于高温干燥的情况下时,粉尘浓度到达某一极限值,这个时候如果存在火源或强烈振动与摩擦,极有可能产生爆炸。本设计使用STC89C52单片机作为主控单元,由夏普GP2Y1010AU粉尘传感器采集周围环境的粉尘浓度值,再经过ADC0832模数转换器对测量到的信号进行模数转换,最后将数值通过LCD1602液晶显示屏显示出来,然后根据事先通过
2、按键设置好的阈值相比较,超出则蜂鸣器报警。关键词:GP2Y1010AU0F传感器,粉尘检测,空气质量目 录摘 要IABSTRACTII第一章 引言31.1 课题研究背景与意义31.2 国内外研究现状 31.3 本文主要内容4第二章 系统方案设计、比较与论证52.1 系统方案设计.52.2 主控制器模块选择52.3 按键的选择62.4 显示模块的选择62.5 电源选取6第三章 系统硬件设计73.1 GP2Y1010AU0F传感器73.1.1 内部原理图73.1.2 主要参数73.1.3 电光特性83.1.4 LED的输入条件.83.1.5 LED输入端子的输入条件83.1.6 电路接线93.1.
3、7 检出方法113.2 ADC0832模数转换器133.3 LCD显示模块153.3.1 LCD1602的特性153.3.2 LCD1602的使用说明173.4 STC89C52单片机193.4.1 STC89C52单片机主要特性203.4.2 STC89C52单片机引脚说明.213.5主控制模块233.6显示模块电路243.7报警模块的设计253.8按键模块的设计253.9粉尘模块电路设计263.10电源部分的设计27第四章 系统软件设计284.1程序结构分析284.2系统程序流图284.2.1 DS18B20初始化程序流程图294.2.2读空气中粉尘浓度子程序流程图29第五章 系统的安装与
4、调试315.1安装步骤315.2电路的调试31第六章 总结与展望346.1 本文总结346.2 展望.34参考文献35致谢.36第一章 引 言1.1 课题研究背景与意义二十一世纪的今天,科学技术水平的发展与日俱进,与此同时,测量技术也随之发展,现代控制设备在性能和结构上都远远超出了过去老式的设备。现在的时代是信息时代,发展速度走上了快车道,每天都有新的东西出现,因此我们获取信息的渠道主要是靠测量技术,因此它被广泛地应用到各种项目的各个领域。随着我国经济水平的飞速发展,人们的生活水平也日益提高,于是人们对空气质量问题也倍感关注。粉尘又被称为可吸入颗粒物,这种颗粒物直径小于75m,而且漂浮在空气当
5、中,可以进入人体呼吸道,对人的眼睛、鼻腔以及上呼吸道都会造成很大的危害。同时这种可吸入颗粒能够直接进入肺泡。关键是其沉积时间较长,这样很有可能导致心肺病和心血管疾病。而且粉尘作为大部分病原体的载体,当它散布在空气中时,极易传播疾病。在生产过程中,许多工作环境对粉尘浓度也有极为严格的要求。例如,一些生产化学品的工厂中的很多粉尘携带有毒化学物质,在这种工作环境下工作的人们长久呼吸或接触这些粉尘,很容易导致一些与皮肤或者呼吸道有关的疾病。还有煤炭生产企业,无论是在井下作业还是露天采煤,都会产生大量粉尘,尤其是在通风条件很差的矿井里。长期在这种环境下工作,肺泡中就会沉积粉尘,会引起慢性职业病。由此可见
6、,粉尘对人体的健康和工业生产有非常大的危害性。因此,必须对生产环境的粉尘浓度进行实时检测,这样便于及时了解工人的工作生活环境。1.2 国内外研究现状使用射线法测量数据是目前国内采用的最为先进的测量方法,这个方法的原理就是吸收量只与吸收物质的重量有关,而与吸收物质的物理和化学性质没有关系。跟称重法的原理差不多,都可直接读取粉尘浓度。但是射线法比称重法有一点好处,就是射线法可以采用不同的采样入口装置,分别对不同类别的粉尘进行测量。袖珍式激光粉尘仪是以激光管为光源,基于前向光散射原理设计而成的。与前面介绍的两种方法相比,袖珍式激光粉尘仪使用更加方便,测量更加便捷。适用于那些极易产生粉尘的工厂,可以为
7、防尘、降尘提供最新的现场数据。1.3 本文主要内容本文的主要内容就是使用STC89C52单片机作为主控单元,由夏普GP2Y1010AU粉尘传感器采集周围环境的粉尘浓度值,再经过ADC0832模数转换器对测量到的信号进行模数转换,最后将数值通过LCD1602液晶显示屏显示出来,然后根据事先通过按键设置好的阈值相比较,超出则蜂鸣器报警。第二章 系统方案设计、比较与论证本系统主要分成四个部分:粉尘传感器测量空气中的粉尘浓度,液晶显示屏显示实时数值,按键上下调整设定的阈值,当测量到的实时数值超过所设定的阈值时,蜂鸣器发出声音报警。2.1 系统方案设计本系统的工作流程就是首先由粉尘传感器测量周围环境中的
8、粉尘的浓度,然后通过ADC0832模数转换器将模拟量转换为数字量,之后再将数字量送入STC89C52单片机中,通过单片机内部的数据以及程序处理,将测量到的数据传输到液晶显示屏上显示出来,我们可以通过按键模块进行设置阈值,当粉尘传感器实时监测到的粉尘浓度超出所设置的阈值时,蜂鸣器会产生报警。系统的总体框图如下图2.1所示:液晶显示单片机STC89C52ADC0832粉尘传感器按键模块蜂鸣器报警电源部分图2.1 总体结构框图2.2 主控制器模块选择1、方案一:我们可以采用CPLD作为主控单元,其中文是复杂可编程逻辑器件,因为它是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件
9、,所以这就使CPLD可以轻易地实现各种复杂的逻辑功能,并且这个器件编程灵活、适用范围广、设计制造的成本较低、开发工具先进,尤其是这个器件对设计者的硬件要求不高。但是本设计只用到了很简单的数据传输以及处理的功能,并不需要复杂的逻辑功能,并且从价格方面来考虑,这个方案并不适合我们这个设计。2、方案二:采用STC89C52单片机作为主控单元,分析我们的设计方案就可以得出STC89C52单片机最为适合,因为STC89C52单片机控制比较简单,但是功能强大,其功耗和电压都比较低,便于供电,方便随身携带,单片机的编程语言也是比较基础和简单,出现错误也容易检查。还有一点就是CPLD无法媲美的,那就是STC8
10、9C52单片机价格十分便宜,而且非常容易购买。2.3 按键的选择1、方案一:采用矩阵式键盘,这种键盘适用于按键需求非常多的情况,这种时候使用矩阵式键盘可以减少使用单片机的输入输出口,但是也存在一定的缺点,那就是增加了编程的难度。2、方案二:采用独立式按键电路,独立式按键最显著的特点就是一个按键控制一个输入输出口,与其他输入输出口互不干扰。这个键盘的优点就是编程相对简单,但是随之而来的缺点也很明显,那就是一个按键对应一个输入输出口,无法适应按键需求过多的设计。结合我们的设计要求来看,在这个设计中,我们只用到两个按键,一个负责增,一个负责减,再考虑到编程的难度问题,所以我们选择独立式按键。2.4
11、显示模块的选择1、方案一:采用数码管来显示实时浓度。数码管有很明显的优点,那就是显示速度快,而且使用也非常方便。但是缺点就是它无法显示字母以及百分比符号。2、方案二:用LCD液晶显示屏进行显示。LCD液晶显示屏的优点就是显示的内容丰富且清晰,能显示出很多东西,比如字母、百分比符号以及一些特殊字符。结合我们的设计要求来看,在这个设计中,我们测量到的粉尘浓度是以百分比形式展现的,所以我们选用LCD液晶显示屏。2.5 电源的选用1、方案一:采用5V蓄电池供电。蓄电池的优点就是输出的电压极其稳定,但是缺点就是体积比较庞大,不方便随身携带。2、方案二:采用移动电源USB供电,移动电源也能输出比较稳定的5
12、V电压,并且它的体积小,携带方便。结合我们的设计要求来看,我们这个系统要求能够随身携带,所以我们选择移动电源来供电。第三章 系统硬件设计3.1 GP2Y1010AU0F传感器GP2Y1010AU0F粉尘传感器的工作原理就是光学传感系统。该传感器灵敏度比较高,甚至可以检测到直径只有0.8微米的颗粒。,可以很方便的用来检测工人的生产工作环境。3.1.1 内部原理图 图3.1 GPP2Y1010AUOF传感器原理图夏普公司的灰尘传感器GP2Y1010AU的内部结构如图3.1所示,这款灰尘传感器内部有一个气流发生器,可以吸入当前需要测量的环境的空气,当空气被吸入后,内部的红外发光二极管发出红光,然后电
13、路通过探测到的经由粉尘反射回来的光线来判断当前空气中的粉尘浓度。3.1.2 主要参数表3.1 GPP2Y1010AUOF传感器主要参数主要参数技术条件备注灵敏度0.5V/(0.1mg/m3)输出电压0.9V(TYP)无灰尘供电电流11mA体积规格46.0*30.0*17.6单位:mm兼容性兼容无铅ROHS指令供应电压Vcc-0.3+7.0单位:V输入终端电压-0.3VccVled单位:V适应温度-1065单位:3.1.3 电光特性表3.2 GP2Y1010AU0F传感器的电光特性(=25,=5V)参数符号工作条件最小典型值最大单位灵敏度K0.350.50.65V/(0.1mg/m³)
14、无粉尘时的输出电压Voc00.91.5V输出电压范围=4.7K3.4-VLED端子电流LED端子=0V-1020mA消耗电流=-1120mA3.1.4 LED的输入条件表3.3 GP2Y1010AU0F传感器LED的输入条件参数符号数值单位脉冲周期T101ms脉冲宽度0.320.02ms工作电源电压50.5V3.1.5 LED输入端子的输入条件图3.2 LED输入端子的输入条件图图3.3 采样时序的脉冲输出综合表3.1、表3.2、表3.3可知,夏普的GP2Y1010AU0F粉尘传感器输出电压类型为模拟电压,这个输出的模拟电压的值与粉尘浓度成正比。如图3.2所示,GP2Y1010AU0F灰尘传感
15、器的1、2、3号引脚的作用就是为LED供电,当你需要进行测量时,在3号引脚上加一个方波,其周期为10ms、低电平为0.32ms,以这个方波作为检测粉尘浓度的一个周期。从图3.2可知,我们可以在1号引脚外串联一个150的电阻,然后再并联一个220uF的电容。这样的接法增加了整个电路的稳定性。根据图3.3可看出,我们首先需要开启内部的红外发光二极管并等待280us,之后再读取输出值。再结合图3.2的脉冲驱动波形可知,整个脉冲时间总共需要320us。所以,再过40us之后,内部的红外发光二极管才会关闭。3.1.6 电路接线图3.4 灰尘传感器引脚表3.4 灰尘传感器对应的Arduino引脚引脚号传感
16、器引脚Arduino引脚1V-LED5V(串联一个150欧的电阻)2LED-GNDGND3LED数字口24S-GNDGND5模拟口065V结合图3.4和表3.4可得出,将灰尘传感器的引脚1和6连接起来再接到电路板的1或6号引脚,将其引脚2和5连接起来再与电路板的2或5号引脚相连接,再将传感器的3号引脚与电路板的数字口2相连接,最后将传感器的输出口5号引脚与模拟口0连接起来。具体连接示意图见图3.5。图3.5 粉尘传感器引脚连接实物图然后添加一个电阻和一个电容,接线如下图3.6所示:图3.6 粉尘传感器引脚连接原理图3.1.7 检测方法粉尘传感器通电后,可以在一秒钟内稳定、正常的工作,并且可以进
17、行检测。粉尘传感器输出电压的绝对值,并不是判定是否检测出结果的依据。我们一般使用的方法是确定无尘状态下的输出电压。当灰尘和烟雾被检出时,它们输出之间的差异是:一般烟雾是细小颗粒,密度高,会产生扩散式的大范围漂移。而灰尘、粉尘是低密度的大颗粒,间歇地进入灰尘传感器的有效检测范围。就如图3.7所示,烟雾被灰尘传感器检测出来的表现就是连续地出现较高的输出电压,而灰尘则是偶尔出现一次较高的输出电压。所以,我们可以通过脉冲输出的波形,也就是输出的电压值来判断所检测的环境内是否有香烟的烟或者灰尘。当环境处于无尘状态时,这个时候灰尘传感器的输出电压才是判断空气中是否有烟或者灰尘的标准。然而无尘时的输出电压又
18、会受到发光二极管发出光线的强弱、传感器内部粉尘的沉积和周围环境温度的影响。一般情况下,在长期供电时,可以减少发光二极管的输出,从而减少无尘输出电压和检测灵敏度。此时输出电压和灵敏度应该按照标准进行校正。另外,也要定期清理器件盒子内部沉积的粉尘。图3.7 检测为灰尘、烟的输出波形3.2 ADC0832模数转换器ADC0832是一款逐次逼近式、8位分辨率且是双通道的A/D转换芯片。因为它不仅不占用空间而且性价比还高,所以在单片机领域深受欢迎。当然,我们选用ADC0832模数转换芯片还是因为它有其他特点,当使用移动电源供电时,移动电源的输出电压是5V,这时候ADC0832模数转换芯片的输入电压只会在
19、0到5V之间。其次,这个芯片的转换时间很快,只有32S,而且功耗也很低,只有15mW。最为重要的就是它的输入输出电平是与TTL/CMOS相兼容的。图3.8 芯片顶视图芯片接口(如图3.8所示)说明:· 低电平信号输入口。· CH0 模拟量信号输入口0。· CH1 模拟量信号输入口1。· GND 芯片接地引脚。· DI 数字量信号输入口,还可以选择控制通道。· DO 数字量信号输出口,也可以将模拟量信号转换成数字量输出。· CLK 芯片时钟输入。· Vcc/ 电源输入口。图3.9 ADC0832 与单片机的接口电路A
20、DC0832是一款具有双通道的A/D转换芯片,这样的双通道可以用来验证传输的数据是否准确,可以有效地减少误差,而且还能使模拟量和数字量之间的转换速度变快并且保证它的性能稳定。这个模数转换芯片具有一个单独的使能输入口,就是口,这样可以使芯片处于多器件挂接的情况下变得很方便,同时也便于处理器控制它。当我们想选择另一个通道的功能时,我们可以通过DI引脚来进行变更。一般情况下,ADC0832模数转换芯片与单片机之间连接时,只用到了四个端口:低电平使能信号口()、时钟输入信号口(CLK)、数字量信号输出口(DO)、数字量信号输入口(DI)。具体引脚连接见图3.9。但是因为数字量信号输入输出口(DO和DI
21、)不能同时有效,而且这个输入输出口与单片机之间是双向连接,所以我们可以把这两个端口并联到同一根数据线上。当端口接收到的信号是高电平时,芯片没法使用,所以其他三个端口的电平无所谓。当开始要启用这块芯片时,我们必须要将端口给低电平,此时芯片开始将模拟量信号转换到数字量信号,与此同时,处理器会向时钟输入端口(CLK)输入时钟脉冲信号,而数字量信号输入输出端口(DO和DI)则会根据数字量信号输入端口(DI)的信号来选择通道实现其功能。在芯片给时钟输入端口第一个低电平信号之前,数字量信号输入口必须要是高电平,这样表示的就是起始信号。当时钟输入端口接下来的两个低电平到来之前,我们应当在数字量信号输入端口输
22、入两位数据来选择通道功能。具体数据以及其对应的功能见表3.5。表3.5 DI端口数据与其功能第一位数据第二位数据对应功能10只对模拟量信号输入通道0(CH0)进行单通道转换11只对模拟量信号输入通道1(CH1)进行单通道转换00将CH0作为正输入端,CH1作为负输入端01将CH0作为负输入端,CH1作为正输入端当第三个低电平到来之后,数字量信号输入口(DI)就被禁用,这个时候只使用数字量信号输出口(DO)来读取转换数据。当开始给第四个低电平时就由数字量信号输出口(DO)输出之前读取的转换数据的最高位,随后的每一次低电平,就输出下一位数据,一直到输出最低位数据,这样一个周期下来就代表输出一个字节
23、的数据。在这之后就输出下一个相反的字节,也就是先输出最低位数据,然后一直到最高位数据输出完成,这也代表着一次模数转换的结束。转换完成后,往端口输入高电平来禁用芯片。具体时序见图3.10。图3.10 ADC0832时序图当ADC0832模数转换器采用单通道模拟信号时,这时候它的输入电压则是0到5V,此时它的电压精度为19.53mV。如果当CH0、CH1作为正负输入端口输入信号时,我们可以提高输入电压的范围,这样就可以提高数模转换的宽度。但是如果负输入端的电压大于正输入端的电压时,我们只能得到00H这个数据。3.3 LCD1602液晶显示屏3.3.1 LCD1602的特性LCD1602是一款工业级
24、的液晶显示屏,可以同时显示16x2即32个字符。在平常的生活中,我们在很多方面都能接触到液晶显示屏,比如计算机、电子手表以及很多电子产品,主要用来显示字母、数字以及一些特殊符号。在单片机领域,我们一般通过数码管或者液晶显示屏来读取数据。相对于数码管来说,液晶显示屏有以下几个优点:1、显示的内容清晰放大我们可以看出,液晶显示屏内部由一个又一个小点组成,当其中任何一个点收到高电平信号后,这个点就会保持常亮,而不会像数码管那样需要不断刷新新亮点。所以,这就导致了液晶显示屏显示的内容很清晰。2、数字式接口液晶显示器都是数字式的,和单片机的接口更加简单可靠,操作也更加方便。3、体积小、重量轻液晶显示器通
25、过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。4、功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。字符型液晶显示屏是用来专门读取数字、字母和特殊符号的,目前常用的型号都有:16行1列、16行2列、20行2列和40行2列等。在本系统中,我们选取的是一个16行2列的字符型液晶显示器(如图3.11/3.12所示)。图3.11 液晶显示屏正面图3.12 液晶显示屏背面3.3.2 LCD1602的使用说明1、 引脚说明:表3.6 LCD1602液晶显示屏引脚引脚号液晶显示屏引脚引脚使用说明1GND接地2接
26、5V电源3液晶显示器对比度调整端4寄存器选择:高电平-数据寄存器;低电平-指令寄存器5R/W读写信号线:高电平-读操作;低电平-写操作6E使能端,当高电平跳变到低电平时,液晶模块执行命令7148位双向数据线15背光源正极16背光源负极2、LCD1602的RAM地址映射以及标准字库表LCD1602液晶模块内部的存储器已经存储了160个不同的点阵字符图形,每一个字符都用一个八位二进制数来编码,比如大写的英文字母“A”的代码是01000001B(41H),当我们需要显示A这个字母时,我们可以在程序中输入01000001B,也就是41H,这样就可以在液晶显示屏上显示出英文字母A。这个液晶显示屏的读写和
27、光标的操作都是通过指令编程来实现的。具体编程指令见下表3.7。(1代表高电平,0代表低电平)。表3.7 液晶显示屏的编程指令指令作用1用于清除显示屏的显示内容。2复位光标位置,返回到00H。3确定光标移动方向,1右移,0左移。S:所有文字或数字是否左移或右移,高电平有效;4控制字符、数字等显示开关。D:控制整体是否显示的开关,1显示,0不显示;C:控制光标是否显示的开关,1开,0关;B:控制光标是否闪烁,1闪烁,0不闪烁;5使光标或者显示文字移位,1移动文字,0移动光标6功能设置,14位总线,08位总线。N:控制显示行数,1双行,0单行;F:控制显示的行列阵,15行10列,05行7列;7设置字
28、符发生器的RAM地址。8设置DDRAM地址。9得知显示屏是否忙信号,1忙,不接收任何命令,0不忙,可以接收数据。10写入数据11读取数据在我们让液晶显示屏执行每一条指令之前,我们一定要确保模块的忙信号处于低电平,否则将无法执行这条指令。如果要显示字符,我们就要通过输入对应的地址编码来告诉液晶显示屏要显示的字符的位置在哪里。图3.13 LCD1602内部显示地址具体显示地址如图3.13所示。打个比方,我们现在要求显示的字符的地址是40H,但是我们不能直接写入40H,因为按照写入显示地址的要求来说,一定要确保输入数据的最高位D7为高电平,也就是10000000B,在此基础上我们再加上要求显示的字符
29、的地址40H,也就是10000000B(80H)+01000000B(40H)=11000000B(C0H)。但是一定要注意的就是在每次输入指令前都要判断液晶模块是否处于忙状态。3.4 STC89C52单片机主控系统在整个设计中起着居中调度的作用,它不仅需要检测出按键是否闭合,接收粉尘传感器输送过来的数据,还要输出数据,在液晶显示屏上进行显示。所以在本设计中我们选用STC89C52单片机作为整个系统的“大脑”。STC89C52单片机引脚众多,足足有40个引脚,这里面包括时钟电路、4KB的闪存、128B的RAM、2个定时/计数器、5个中断源和2个优先级、1个全双工串行通信口和4个并行口,具体结构
30、图如图3.14所示。图3.14 STC89C52单片机结构图3.4.1 STC89C52单片机主要特性1.CPU的位数为8位。2.拥有128B的数据存储器,可以用来存放外部输入进来的数据以及经过单片机程序处理过的,即将输出的数据。3.拥有4KB的程序存储器,可以用来存放用户编写好的程序和一些初始数据。4.拥有4个8位的输入输出口,分别是P0、P1、P2、P3这四个引脚,这四个口既可以用来输入数据,也可以用来输出数据。5.拥有2个定时/计数器,这两个既可以当做计数器使用,用来对外部输入信号的计数,也可以将它当做定时器使用,用来延时或者定时导通。6.拥有5个中断源和2个优先级,这个单片机的中断系统
31、都是低电平有效。7.拥有1个全双工的串行输入输出口,这个串行输入输出口一般是用于单片机与单片机或者是单片机与微机之间通信。8.片内振荡器和时钟产生电路,但是这里面的石英晶体和微调电容需要外接。最高允许振荡频率为12MHz。 图3.15 STC89C52单片机管脚图3.4.2 STC89C52单片机引脚说明1.时钟电路引脚XTAL1和XTAL2:XTAL2(18脚):这个引脚是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。当我们的设计要求中需要用到外部时钟电路时,就可以通过这个引脚来读取外部时钟脉冲。所以当我们要检查振荡电路是否在正常工作,我们就可以通过示波器来查看该引脚是否有脉冲
32、信号输出。XTAL1(19脚):这个引脚是振荡电路反相放大器的输入端。当我们用到外部时钟时,这个引脚必须接地。2.控制信号引脚RST,ALE,PSEN和EA:RST/VPD(9脚):这个引脚的作用就是输入复位信号,高电平有效。这个引脚还有另一个功能就是可以被用来当做备用电源。当单片机的引脚出现故障时,无法供给单片机正常的电压时,可以在这个引脚输入两个机器周期的高电平,这样就可以完成信号复位。这个引脚还可以在断电时给RAM继续供电,这样可以保证存储在RAM中的信息不会丢失。ALE/PROG(30脚):地址锁存允许信号端。当单片机正常得电后,这个引脚就会持续的向外发送正脉冲信号,这个正脉冲信号的频
33、率只有振荡器频率的六分之一。当CPU与片外存储器没有关联时,这个引脚就会一直向外输出正脉冲,这个脉冲的频率仅为振荡频率的六分之一,所以这个正脉冲可以用来对外输出时钟或者是定时信号。当CPU与片外存储器有关联时,这个引脚就会锁住控制信号的低8位地址。当我们想判断这个单片机是好还是坏的,我们就可以通过示波器来查看此引脚是否具有脉冲输出,有的话,这个单片机就是好的。PSEN(29脚):程序存储允许输出信号端。当单片机在访问片外程序存储器时,这个引脚就会对外固定的输出负脉冲信号,用来读取片外程序存储器的选通信号。当这个引脚有效时,就代表着单片机允许读取EPROM/ROM中的指令码。当你想要检查单片机上
34、电后,其中的CPU是否能够读取到EPROMROM中的指令码时,你就可以通过使用示波器来测量该引脚是否有脉冲输出,如果有脉冲输出则代表该引脚有效。EA/Vpp(31脚):片外程序存储器地址允许输入端/固化编程电压输入端。当这个引脚输入高电平时,单片机中的CPU只会读取片内存储器,然后执行其中存储的程序和指令,但是当单片机内的计数器数值超过0FFFH时,单片机则会自动去读取并执行片外程序存储器中的程序和指令。但是当这个引脚接收到低电平或者此引脚接地时,单片机中的CPU只会读取并执行片外存储器中的程序和指令,不会去理会片内程序存储器里的程序和指令。3.输入输出端口P0、P1、P2、P3:P0口(39
35、32脚):P0端口包括P0.0-P0.7共8个引脚,P0口的8个引脚都是准双向的输入输出口,还具有漏极开路的特点,这个特点确保了每个引脚都能驱动8个LS型TTL负载。当P0口向内输送外部数据时,当这个引脚向单片机内输入数据时,应该往P0口锁存器里写入全1,这个时候就代表着全部引脚禁用,可以当做高阻抗输入。这个就是准双向口的意思。当单片机读取外部存储器的数据和程序时,此引脚会低8位地址和8位数据的复用总线,此时,引脚内部的上拉电阻启用。P1口(18脚):P1端口包括P1.0-P1.7共8个引脚,P1口的8个引脚也都是准双向的输入输出口,并且内部还带有上拉电阻。因为此引脚没有P0口漏极开路的特点,
36、所以P1口的每个引脚只能驱动4个LS型TTL负载。当P1口向单片机内输入数据时,应该往P1口锁存地址(90H)写入全1,这样就能使P1口的所有引脚被内部的上拉电阻拉成高电平。P2口(2128脚):P2端口包括P2.0-P2.7共8个引脚,P2口的8个引脚也都是准双向的输入输出口,并且内部还带有上拉电阻。因为此引脚没有P0口漏极开路的特点,所以P2口跟P1口一样,每个引脚只能驱动4个LS型TTL负载。当读取片外存储器里的程序和数据时,P2端口输出高8位地址。P3口(1017脚):P3端口包括P3.0-P3.7共8个引脚,P3口的8个引脚也都是准双向的输入输出口,并且内部还带有上拉电阻。因为此引脚
37、没有P0口漏极开路的特点,所以P3口的每个引脚只能驱动4个LS型TTL负载。P3口与P1、P2、P3口有很大的不同,因为P3口的每个引脚还有第二个作用。具体见表3.8:表3.8 P3口引脚第二作用引脚功能P3.0接收串行口数据P3.1发送串行口数据P3.2输入外部中断信号0P3.3输入外部中断信号1P3.4定时/计数器0的外部计数输入P3.5定时/计数器1的外部计数输入P3.6外部数据存储器写选通P3.7外部数据存储器读选通3.5 主控电路模块主控系统的电路如图3.16所示。这里面包括了单片机、上拉电阻、复位电路和时钟电路等。STC89C52单片机可以在4到5.5V的电压下开始工作。但是我们一
38、般都会给单片机5V的直流电源,通常就是让单片机的40号引脚接5V直流电源,而单片机的20号引脚接地。复位电路在整个系统中的作用就是恢复单片机的起始状态。在整个系统开始运行时,正常情况下就是读取外部数据,内部处理数据,在输送到液晶显示屏上显示,但是如果在运行过程中收到了周围环境或者人为的干扰,此时有可能会导致单片机执行的程序出现错误,这个时候我们就可以按下复位电路中的复位按钮,这样单片机就会回到它的起始状态,重新执行程序或指令。如果说CPU时单片机的大脑,那么时钟电路就是单片机的心脏,整个单片机工作的速度都是由时钟电路来控制的。时钟电路通过向单片机发送一个正弦波作为基准来调整单片机执行程序和指令
39、的速度。XTAL1和XTAL2这两个时钟电路引脚分别为反向放大器的输入和输出,该反向放大器可以配置为片内振荡器。如需要使用外部时钟源驱动器件,XTAL2引脚应该不接。图3.16 主控电路3.6 显示模块显示模块通过液晶显示屏显示所测量到的数据,因为此液晶显示屏显示清晰,便于我们准确的得到数据。液晶显示屏的命令操作脚是RS、RW、EN,分别对应单片机的P3.5、P3.6、P3.7这三个引脚,数据引脚D0D7分别对应接单片机的P1口的8个引脚。具体电路图如图3.17所示:图3.17 液晶显示屏连接电路3.7报警模块本设计中蜂鸣器报警电路采用NPN型S8550三极管驱动,当单片机的P1.3口输出低电
40、平时,三极管的发射结正偏,集电结反偏,三极管饱和导通,此时发光二极管和蜂鸣器发出声光报警。当单片机的P1.3口输出高电平时,三极管截止,声光报警停止工作。具体电路图如图3.18所示:图3.18 蜂鸣器工作原理图3.8 按键模块液晶显示屏里的报警阈值就是通过按键来设置,本设计中总共用到两个按键,一个加数值键,一个减数值键。具体电路图如图3.19所示:图3.19 按键模块电路图3.9粉尘传感器模块电路GP2Y1010AU0F粉尘传感器可以有效地检测出很细微的颗粒,比如抽烟吐出来之后散开的烟雾。传感器的1号引脚接了一个220uF的电解电容和150欧姆的电阻。3号引脚接到单片机的P3.2外部中断0口,
41、5号引脚则是粉尘浓度的模拟量输出脚,接在模数转换器ADC0832的通道1上。具体电路图如图3.20所示:图3.20 粉尘模块电路图3.10电源模块在本设计中我们使用移动电源来给整个系统供电,经过对每个芯片的分析之后,我们发现移动电源所提供的5V直流电源足以支持整个系统,并且移动电源无论是更换还是携带,都很便捷。电源模块电路如图3.21所示,这里面的SW1就是开关电源,负责整个电路的通断,电路是否导通我们无法得知,所以就加了一个二极管,这样就可以直观的观察电路是否导通,R6为二极管的限流电阻,C5和C6为电源的滤波电容。图3.21 电源接口电路第四章 系统软件设计4.1 程序结构分析在整个设计中
42、,分别有液晶屏显示程序、粉尘浓度测量程序、按键设定报警阈值程序,这三个子程序都要通过主程序来居中调度。首先通过粉尘传感器测量到周围环境中粉尘的浓度,然后将数据输送到主程序中,经过主程序的处理,再将数据送到液晶显示屏上显示,然后通过按键来设定报警阈值。4.2系统程序流图主程序的主要功能是读取粉尘传感器测量出来的数据,并加以处理。粉尘传感器的测量速度为1秒1次,主程序不间断的读取这些数据,并将此数据与设定的报警阈值相比较,当前的浓度值没有超过报警阈值,没反应。但是一旦超出报警阈值,主程序则会向报警电路发送信号,蜂鸣器响。其程序流程见图4.1所示。单片机处理,判断否超过设定报警值?否是程序初始化开始
43、 A/D转换并液晶显示进入报警子程序灰尘信号采集 图4.1 系统工作流程图4.2.1 粉尘传感器初始化程序流程图在粉尘传感器工作之前需要进行初始化,流程图如下:是否发复位命令发跳过ROM命令 初始化成功? 结束图4.2 粉尘传感器初始化程序流程图4.2.2 读粉尘浓度子程序流程图这个程序的主要功能就在于读取粉尘传感器测量出来的数据,并将此数据送入数据寄存器保存。其程序流程图如下:发复位命令发跳过ROM命令 读取粉尘浓度命令 移入数据寄存器 结束图4.3 粉尘浓度子程序流程图第5章 系统的安装与调试5.1 安装步骤1.检查元件的好坏首先按照我们之前的设计思路买好我们所需要的元器件,然后按照每个原器件自己的检测方法来检测此元器件是否良好,当确定所有元器件都是好的之后再可以焊接,防止焊接好之后才发现有坏的元器件,这样就不方便改正了。2.放置、焊接各元件当我们完成第一步检查之后,我们就可以按照原理图开始布置各个元器件的位置,在这过程中我们要先放置焊接要求较低的元器件,最后焊接要求较
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南京市森林保护站事业单位人员招聘考试备考试题及答案详解
- 2026年新疆维吾尔自治区税务系统事业单位人员招聘考试备考试题及答案详解
- 2026年湛江市广播电视台(融媒体中心)人员招聘考试备考试题及答案详解
- 2026年马鞍山市住房和城乡建设系统事业单位人员招聘考试备考试题及答案详解
- 2026年南平市消防救援系统事业单位人员招聘考试备考试题及答案详解
- 2026年徐州市应急管理系统事业单位人员招聘考试备考试题及答案详解
- 2026年三门峡市粮食和物资储备系统事业单位人员招聘考试备考试题及答案详解
- 2026长沙人才集团有限公司见习人员招聘1人考试模拟试题及答案解析
- 公司安全文明施工方案
- 钢结构施工安全技术方案及预算书
- (DMTO)甲醇制烯烃基础理论知识培训
- 自动控制元件课件
- (高清版)DZT 0064.2-2021 地下水质分析方法 第2部分:水样的采集和保存
- 广西科技大学毕业答辩模板
- GB/T 29349-2023法庭科学现场照相、录像要求
- 人教版一年级数学下册《第8单元 总复习 第1节 数与代数》课堂教学课件PPT小学公开课
- 2023年驾驶员技能竞赛实际操作项目及评分标准
- 特种加工技术课件第11章 高压水射流加工
- YS/T 96-2009散装浮选铜精矿中金、银分析取制样方法
- GB/T 2637-2016安瓿
- 生物化学与分子生物学实验(终版)
评论
0/150
提交评论