收藏 分享(赏)

基于单片机的PM2.5空气质量检测论文.doc

上传人:HR专家 文档编号:6874688 上传时间:2019-04-25 格式:DOC 页数:49 大小:1.52MB
下载 相关 举报
基于单片机的PM2.5空气质量检测论文.doc_第1页
第1页 / 共49页
基于单片机的PM2.5空气质量检测论文.doc_第2页
第2页 / 共49页
基于单片机的PM2.5空气质量检测论文.doc_第3页
第3页 / 共49页
基于单片机的PM2.5空气质量检测论文.doc_第4页
第4页 / 共49页
基于单片机的PM2.5空气质量检测论文.doc_第5页
第5页 / 共49页
点击查看更多>>
资源描述

1、基于单片机的空气质量检测系统设计专业:通信工程班级:2013 级 1 班姓名:王世达目 录引 言 41 概述 61.1 系统组成 61.2 硬件设计 61.3 软件设计 72 电路设计 82.1 原理图 82.2 单片机及外围电路设计 82.3 传感器电路设计 162.4 A/D 模数转换电路 .182.5 LCD 显示电路 .202.6 LED 显示电路 .222.7 报警模块 233 程序设计 243.1 主程序设计 243.2 按键部分 243.3 显示部分 243.4 A/D 转换部分 .274 应用软件介绍 304.1 keil 的应用 .304.2 protel99se 的应用 .

2、314.3 Proteus 的应用 .335 设计的应用 345.1 主要用途 345.2 应用场景 346 结果与分析 35总 结 36致 谢 37参考文献 38附录 1 原理图 .39附录 2 程序源代码 .401摘 要随着现代科技的高度发展,工业生产力正在不断提高,而由此带来的负面影响也尤为显著,那就是环境的污染,它严重危害着人类的健康和生活。雾霾,为大气污染之一,一直以来广受人们关注。现在有越来越多的地区和国家开始高度重视雾霾天气,并将其视为一种灾害性天气。其实,很早以前就报道过一些雾霾灾害的重大事件,在这几次事件当中,不仅危害到人们的健康,甚至还剥夺了很多人的生命,比如 1952 年

3、伦敦杀人雾事件和 2013 年北京雾霾事件。PM2.5 ,指环境中直径小于 2.5m 的颗粒物,是雾霾的主要成分之一,由于其粒径小,活性强,易附有毒、有害物质,因而对人体健康威胁很大。因此,对 PM2.5 的测量显得越来越重要。本文将空气中 PM2.5 的浓度作为评定空气质量的依据。本设计的控制核心采用的是非常实用的 51系列单片机 AT89C52,配合粉尘浓度采集装置和显示设备,共同完成数据的采集,处理及显示。并会根据设置好的报警值报警提示,并且用不同颜色的指示灯显示空气质量。本文详细介绍了各个单元的电路设计过程及各功能的实现方法,该系统有良好的人机交互界面,有较高的测量精度,不仅简单实用而

4、且便于携带。相信,它的价值一定会得到体现。关键词:雾霾;大气污染;PM2.5 ;单片机;AT89C52;空气质量2ABSTRACTWith the highly development of modern science and technology, industrial productivity is increasing, and the resulting negative impact is particularly significant, that is the environment pollution, which cause serious damage to the hu

5、man health and life.Fog haze, as one of the atmospheric pollution, has been widely attention by people.Now there are more and more regions and countries begin to attach great importance to the fog weather, and regard it as a kind of severe weather.Actually, long ago reported some fog disaster events

6、, in this case, not only harm peoples health, even deprive the lives of many people, such as killing 1952 London fog and smog in Beijing in 2013 events.PM2.5 refers to environment particles less than 2.5 microns in diameter, is one of the major components of fog, because of its small size, activity

7、is strong, easy to attach poisonous and harmful substances, thus a big threat to human health.So, for the measurement of PM2.5 is more and more important.This article will air concentrations of PM2.5 as a basis for the evaluation of air quality.Used the control core of this design is very practical

8、to 51 series microcontroller AT89C52, cooperate with the dust concentration acquisition and display devices, common to complete data collection, processing and display.And according to set good alarm value alarm prompt, and use different color indicator shows that the air quality.Each unit circuit a

9、re introduced in detail in this paper the design process and method of realization of each function, the system has good man-machine interface, have higher measurement accuracy, not only simple and practical and easy to carry.Believe that its value will be reflected.Keywords: Haze; Atmospheric pollu

10、tion; PM2.5; Single chip microcomputer; AT89C52;Air quality3引 言现在,老百姓的生活越来越好,衣食住行和几十年前早已不可同日而语。当然,这些都得益于科技的飞速发展和生产力的不断提高。但与此同时也伴随着一些负面影响。比如,现在老百姓都十分关注的雾霾问题。通过调查发现,现在不管是发展中国家还是发达国家,不管是城市还是农村,都或多或少遭受到雾霾的侵害。而雾霾中所包含的有害物质严重影响着人们的健康,甚至威胁到人们的生命。据不完全统计,那些雾霾污染严重的城市比那些相对清洁的城市的死亡率高出将近 20%之多。而本设计中检测的 PM2.5,它的影响

11、也随着医学技术的发展暴露出其相当恐怖的一面 1。根据一些气象学和医学方面的专家推测,PM2.5 中所包含的颗粒状污染物对人类健康的影响甚至超过了可怕的沙尘暴。由于人类的生理结构原因,人的身体不能够过滤和阻拦 PM2.5 中的有害物质。人的鼻子只能挡住部分粒径在 10m 以上的颗粒物质,而那些粒径在 2.5m10m 之间的颗粒物虽然可以进入到人的上呼吸道,但是会被呼吸系统内部的绒毛阻挡,有些会通过痰液排出,所以不会对健康造成太大的伤害。但是小于 2.5m 的颗粒物,由于不能有效的阻挡,会有相当一部分通过呼吸进入支气管,进入肺部,造成呼吸道感染,肺部的气体交换也会受到干扰。这样就有可能使人呼吸困难

12、引发哮喘和慢性支气管炎等疾病,甚至会间接导致心律不齐等心血管方面的问题 2。因此,必须高度重视对 PM2.5 的检测,治理以及防范。本设计就是为了达到检测这一目的。只有准确的检测 PM2.5,才能有效的治理和防范。根据 PM2.5 检测网的空气质量新标准, 24 小时平均值标准值分布如表 1:4表 1 PM2.5 平均值标准值分布 3PM2.5 浓度范围(g/m 3) 空气质量035 优3575 良75115 轻度污染115150 中度污染150250 重度污染大于 250 及以上 严重污染本设计根据表 1 将空气质量大致分为三个等级,单片机通过分析采集到的数据判断 PM2.5 的浓度落在哪一

13、个浓度区间,从而判断出空气质量等级,并作出相应的反应。本论文层次分明,按功能将设计分为几大部分,化整为零。各单元再紧密配合,实现所有功能。51 概述1.1 系统组成判断大气空气质量的指标很多,本论文选择比较典型的 PM2.5 这一指标作为本次设计对空气质量的主要评定依据。根据空气中 PM2.5 的浓度将空气质量分为优良、轻度污染、重度污染三个等级。本系统以单片机为核心,通过检测单元采集大气中 PM2.5 浓度,然后单片机负责处理分析由检测单元传过来的数据,最后将分析结果送给显示单元。图 1 为系统组成框图,其中检测单元主要包括传感器和模数转换电路,显示单元包括 LED 显示,LCD 显示,蜂鸣

14、器报警。单片机检测单元显示单元图 1 系统组成框图1.2 硬件设计本系统采用模块化设计,将整个系统细化为一个个小单元,各单元分别实现不同的功能,最后根据它们之间的相互关系,将它们整合到一起,这样能够达到简化设计的目的。这些单元主要包括单片机、传感器 、A/D 模数转换电路、液晶显示电路、LED 显示电路、按键电路等功能模块。各模块之间的关系如图 2 所示 ,传感器将空气中的 PM2.5 浓度转化为模拟的电压信号,由于本设计采用的单片机不能识别模拟信号,所以需要 A/D 模数转换电6传感器单片机报警模块A / DL C D 显示按键L E D 显示路将模拟信号转化为数字信号,单片机分析处理数据,

15、将分析结果通过LCD、LED 、报警模块显示出来。图 2 硬件设计框图1.3 软件设计软件部分按照其功能的不同,主要可以划分为主程序部分,按键部分,显示部分,报警部分, A/D 转换部分等。72 电路设计2.1 原理图见附件一2.2 单片机及外围电路设计2.2.1 AT89C52 介绍AT89C52 是一款 CMOS 8 位的高性能单片机,它由美国 ATMEL 公司生产,现在有许多控制场合都采用 AT89C52。它不仅兼容标准的 MCS-51 指令系统和 8051 产品引脚,它还拥有更大的只读程序存储器和随机存取数据存储器,而且 AT89C52 除了具备 AT89C51 的定时器/计数器 T0

16、 和定时器/计数器 T1,还额外增加了一个定时器/计数器 T2,使设计更加丰富、灵活 4。(1)主要性能特点: 与 MCS-51 产品指令和引脚完全兼容 8K 字节可重擦写 FLASH 闪存存储器 1000 次写/擦循环 时钟频率:0Hz24MHz 三级加密存储器 256 字节内部 RAM 32 个可编程 I/O 口线 3 个 16 位定时/计数器 6 个中断源8 可编程串行 UART 通道 低功耗的空闲和掉电模式 片内振荡器和时钟电路 图 3 引脚图(2)引脚功能 P0 端口:该口是一个 8 位漏极开路的双向 I/O 口。在作为输出口时,每根引脚可以带动 8 个 TTL 输入负载。当把“1”

17、写入 P0 时,则它的引脚可用作高阻抗输入。当对外部程序或数据存储器进行存取时,P0 可用作多路复用的低字节地址/数据总线,在该模式,P0 口拥有内部上拉电阻。在对 Flash存储器进行编程时,P0 用于接收代码字节;在校验时,则输出代码字节;此时需要外加上拉电阻 5。 P1 端口:该口是带有内部上拉电阻的 8 位双向 I/O 端口,P1 口的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P1 口作输入口9使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在对 Flash 编程和程序校验时

18、,P1 口接收低 8 位地址 5。另外,P1.0 与 P1.1 可以配置成定时 /计数器 2 的外部计数输入端(P1.0/T2)与定时/计数器 2 的触发输入端( P1.0/T2EX),如表 2 所示。表 2 P1 口管脚复用功能端口引脚 复用功能P1.0 T2(定时器/计算器 2 的外部输入端)P1.1 T2EX(定时器/计算器 2 的外部触发端和双向控制)P1.5 MOSI(用于在线编程)P1.6 MISO(用于在线编程)P1.7 SCK(用于在线编程) P2 端口:该口是带有内部上拉电阻的 8 位双向 I/O 端口,P2 口的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对

19、端口写“1”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P2 口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。在访问外部程序存储器或 16 位的外部数据存储器时,P2 口送出高 8 位地址,在访问 8 位地址的外部数据存储器时,P2 口引脚上的内容(就是专用寄存器(SFR )区中 P2 寄存器的内容),在整个访问期间不会改变。在对Flash 编程和程序校验期间,P2 口也接收高位地址或一些控制信号 5。 P3 端口:该口是带有内部上拉电阻的 8 位双向 I/O 端口,P3 口的输出缓冲器可驱动(吸收或输出电流方式)4 个 TTL 输入。对端口写“1

20、”时,通过内部的上拉电阻把端口拉到高电位,此时可用作输入口。P3 口作输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电10流 5。在 AT89C52 中,同样 P3 口还用于一些复用功能,如表 3 所列。在对Flash 编程和程序校验期间,P3 口还接收一些控制信号。表 3 P3 端口引脚与复用功能表端口引脚 复用功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 INT0(外部中断 0)P3.3 INT1(外部中断 1)P3.4 T0(定时器 0 的外部输入)P3.5 T1(定时器 1 的外部输入)P3.6 WR(外部数据存储器写选通)P3.7

21、RD(外部数据存储器读选通)RST :复位输入端。在振荡器运行时,在此脚上出现两个机器周期的高电平将使其单片机复位。看门狗定时器(Watchdog)溢出后,该引脚会保持 98 个振荡周期的高电平。在 SFR AUXR(地址 8EH)寄存器中的DISRTO 位可以用于屏蔽这种功能。 DISRTO 位的默认状态,是复位高电平输出功能使能。ALE/PROG:地址锁存允许信号。在存取外部存储器时,这个输出信号用于锁存低字节地址。在对 Flash 存储器编程时,这条引脚用于输入编程脉冲 PROG。一般情况下,ALE 是振荡器频率的 6 分频信号,可用于外部定时或晶振。但是,在对外部数据存储器每次存取中,

22、会跳过一个 ALE 脉冲。在需要时,可以把地址 8EH 中的 SFR 寄存器的 0 位置为“1”,从而屏蔽ALE 的工作;而只有在 MOVX 或 MOVC 指令执行时 ALE 才被激活。在单片机处于外部执行方式时,对 ALE 屏蔽位置 “1”并不起作用。11PSEN:程序存储器允许信号。它用于读外部程序存储器。当AT89C52 在执行来自外部存储器的指令时,每一个机器周期 PSEN 被激活 2次。在对外部数据存储器的每次存取中,PSEN 的 2 次激活会被跳过。EA/Vpp:外部存取允许信号。为了确保单片机从地址为0000HFFFFH 的外部程序存储器中读取代码,故要把 EA 接到 GND 端

23、,即地端。但是,如果锁定位 1 被编程,则 EA 在复位时被锁存。当执行内部程序时,EA 应接到 Vcc。在对 Flash 存储器编程时,这条引脚接收 12V 编程电压 Vpp。XTAL1:振荡器的反相放大器输入,内部晶振工作电路的输入。XTAL2:振荡器的反相放大器输出。2.2.2 单片机最小系统的实现单片机在实际应用中,都是和其它元器件共同完成工作任务的,为了保证单片机能够正常工作并且发挥一定作用,有些元器件是必不可少的,由单片机和这些元器件共同组成的系统称为单片机的最小系统 6。一般说来,51系列单片机的最小系统主要包括:电源、输入/ 输出设备、MCU 、复位电路及晶振电路等。单片机最小

24、系统框图如图 4 所示。图 4 单片机最小系统框图单片机电 源输 入 输 出 晶 振 电 路复 位 电 路12(1)晶振电路晶振,全程晶体振荡器,它在单片机系统中发挥着非常重要的作用。它通常和电容配合共同组成晶振电路,或称为时钟电路。单片机运行程序时,需要时钟频率,而时钟频率就是由晶振电路结合单片机内部电路共同产生。现在已有很多单片机都内置晶振电路,不需要外接晶振。晶振电路提供的晶振频率越高,单片机运行的速度也就越快。单片机时运行需要时间基准才能进行内部各种微操作,而这种时间基准由时钟信号来提供。AT89C52 有两种时钟信号产生方式,分别为内部时钟和外部时钟方式。采用内部时钟方式需要外接一个

25、晶振电路(有些单片机内置晶振电路,不需要外接晶振电路)与单片机内部的振荡器组合共同产生时钟脉冲信号,而在实际应用中也可以不用晶振电路,而是直接把外部时钟信号直接引入到单片机内部,这种方式就是外部时钟方式。通常在需要多个单片机同时工作,一般采用外部时钟方式,这样可以使这些单片机同步工作,这种方式下,外部信号通常为频率低于12MHz 且高电平超过 20ns 的方波。对于 CHMOS 工艺的单片机,外部时钟要由 XTAL1 端引入,而 XTAL2 端应悬空。由于本系统只用到一个单片机,所以采用了内部时钟方式。图 5 为晶振电路设计:13X T A L 1X T A L 23 0 p F3 0 p F

26、图 5 晶振电路图为了计算方便,晶振电路采用的是 12MHz 晶体,晶体两端各跨接一个30pF 的瓷片电容外接在在单片机的 XTAL1 和 XTAL2 两个引脚上,与AT89C52 单片机的内部的震荡电路共同构成自激振荡器,用来产生时钟脉冲信号。图中两个瓷片电容器能够帮助稳定频率和达到快速起振的目的。电容值通常选在 530pF 之间。(2)复位电路为了使单片机有一个稳定的工作状态,单片机在工作开始之前必须进行一次复位,这样单片机才能在一个确定的状态上。否则,单片机很有可能因为某一个端口的高低电平的不稳定导致外围电路误动作造成不可逆的损伤;也可能导致内部定时器异常,不能按程序产生中断或者自行产生

27、中断,使程序异常;也可能使单片机随机向外部设备发送数据等 7。这些都是非常设计者不愿见到的后果。复位电路原理:当 AT89C52 单片机的 RST 引脚收到 2 个机器周期高电平时,单片机就会完成复位操作。在实际应用中,一般用上电复位电路和按键复位电路两种基本形式 8。14RST 引脚的高电平必须保持足够的时间(2 个机器周期)才能够完成复位操作。每个单片机都有复位电路,复位电路一般外接电阻电容与单片机一起共同完成复位操作。每种单片机都有它典型的复位电路。由于本设计电路比较简单,所以采用的是上电复位电路,典型电路如图6 所示,单片机在上电瞬间,电容充电,且电容上的电压不会发生突变,这就使单片机

28、 RST 脚的电压在一定时间内与 VCC 相同。电容充电一定时间后,RST 脚上的电压才会降下来。只要合理的选择电容和电阻,就能使 RST 引脚保持高电平 2 个机器周期,这样就可以满足单片机复位要求。 R S TCR图 6 复位电路图2.2.3 P0 口外接上拉电阻本设计中 51 单片机的 P0 端与 LCD1602 液晶显示器相连,为显示器提供数据输出,51 单片机的输出口为漏极开路电路,内部无上拉电阻。当做为普通 I/O 口输出数据时, V2 截止,当需要输出高电平时,必须外接上拉电阻 9,如图 7 所示。15图 7 P0 口外接上拉电阻另外,外接上拉电阻还可以防止端口读取输入数据时出错

29、。这是因为,在输入状态下,一般情况下从引脚上和锁存器上读来的信号一致,但也有特殊情况。比如,单片机内部总线在输出低电平以后,锁存器输入端为低电平,对应的输出端为高电平,此时,对应的场效应管导通,端口线会呈低电平状态。也就是说就算端口线上外接高电平信号,从引脚读入单片机的信号也是低电平,因而造成读取信号错误。又如,若单片机输入/输出端口内部总线输出高电平,锁存器输入端为高电平,对应的输出端为低电平,此时,对应的场效应管截止,这样,读取信号就会与实际不同,造成读取错误。所以当单片机的 P0 口作为输入输出端口使用时,外加上拉电阻才能保证在输入数据前,输出级的两个场效应管均截止,引脚处于高阻状态。总

30、的来说:无论是防止 P0 口在读取数据时发生上述错误,还是在输出时能够驱动 NMOS 电路都应该在端口上外接上拉电阻。在本设计中,在 P0口外加了一个 10K 排电阻。P 0 . 0P 0 . 7P 0 . 6P 0 . 5P 0 . 4P 0 . 3P 0 . 2P 0 . 1P RU 1162.3 传感器电路设计2.3.1 传感器 GP2Y1010AU 介绍经过多方面的比较,本设计选择了一款体积小,灵敏度高的灰尘传感器GP2Y1010AU 作为粉尘检测的工具,该传感器由日本夏普公司生产,它可以用来测量空气中 0.8 微米以上的微小粒子,可以满足本设计检测 PM2.5 的要求。在许多花粉浓度

31、及粉尘浓度检测等应用中都采用的是这一款传感器 10。此款产品既可以检测出微小粒子的浓度,还在内部设置了气流发生器,用来有效吸入外部空气。灰尘传感器 GP2Y1010AU 有很长的使用寿命,无论是保养还是安装都非常方便。该传感器不但具有非常低的电流消耗(最大20mA,典型值 11mA),而且其稳定性好,精度高,非常适合简单的检测装置。图 8 为实物图。图 8 夏普灰尘传感器 GP2Y1010AU0FGP2Y1010AU0F 中有一个红外发光二极管和一个光电晶体管,呈对角分布,测量原理如图 9 所示,传感器中心有个洞可以让空气自由流动,LED 定向发射红外线,尤光电晶体管 PD 检测空气中灰尘散射

32、的光线强度,以此来判断灰尘的密度,然后输出与灰尘密度成正比的模拟电压 VO2。 17图 9 传感器内部结构2.3.2 传感器主要参数表 4 GP2Y1010AU0F 的主要参数电源电压 57V工作温度 -1065消耗电流 最大值 20mA,典型值 11mA灵敏度 0.5V/(0.1mg/m3)清洁空气中的输出电压 0.6V 典型值2.4 A/D 模数转换电路2.4.1 ADC0832 介绍ADC0832 是美国国家半导体公司生产的一种 8 位分辨率、双通道 A/D 转换芯片。由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率 14。学习并使用 ADC0832

33、 可是使我们了解 A/D 转换器的原理,有助于我们单片机技术水平的提高。(1)ADC0832 主要参数:8 位分辨率;18双通道 A/D 转换;输入输出电平与 TTL/CMOS 相兼容;5V 电源供电时输入电压在 05V 之间;工作频率为 250KHZ,转换时间为 32S;一般功耗仅为 15mW;8P、14PDIP(双列直插)、PICC 多种封装;商用级芯片温宽为 0 +70,工业级芯片温宽为40+85;(2)芯片引脚定义:CS_:片选使能,低电平芯片使能。CH0 :模拟输入通道 0,或作为 IN+/-使用。CH1 :模拟输入通道 1,或作为 IN+/-使用。GND:芯片参考 0 电位(地)。

34、DI:数据信号输入,选择通道控制。DO:数据信号输出,转换数据输出。CLK:芯片晶振输入。Vcc/REF :电源输入及参考电压输入(复用)。ADC0832 为 8 位分辨率 A/D 转换芯片,其最高分辨可达 256 级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在 05V 之间。芯片转换时间仅为 32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过 DI 数据输入端,可以轻易的实现通道功能的选择。192.5 LCD 显示电路 2.5.1 LCD1602 简介LCD

35、显示器分为字段显示和字符显示两种。其中字段显示与 LED 显示相似,只要送对应的信号到相应的管脚就能显示。字符显示是根据需要显示基本字符。本设计采用的是字符型显示。系统中采用 LCD1602 作为显示器件输出信息。与传统的 LED 数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了 。LCD1602 可以显示2 行 16 个汉字。(1)LCD1602 主要技术参数显示容量为 162 个字符;芯片工作电压为 4.55.5V;工作电流为 2.0mA(5.0V);模块最佳工作电压为 5.0V;字符尺

36、寸为 2.954.35(WH)mm。(2)LCD1602 的引脚说明LCD1602 采用标准的 14 脚接口,其中:第 1 脚:VSS 为地电源。第 2 脚:VDD 接 5V 正电源。第 3 脚:V0 为液晶显示器对比度调整端。第 4 脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。20第 5 脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 RW 共同为低电平时可以写入指令或者显示地址,当 RS 为低电平 RW 为高电平时可以读忙信号,当 RS 为高电平 RW 为低电平时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电

37、平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。 第 1516 脚:空脚2.5.2 LCD1602 电路设计 系统中采用 LCD1602 作为显示器件输出信息。与传统的 LED 数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,根据各管脚的功能电路设计如图 10:图 10 LCD1602 功能电路1 2161514131211109876543GNDVCCV0RSR/WEND0D1D2D3D4D5D6D7A KV C CV C CEND 0 D 7RSV C C212.6 LED 显示电路本设计采用红、黄、绿三种指示灯显示当

38、前空气质量,当 PM2.5 小于75 时,绿灯亮,表示当前空气质量较为良好;当 PM2.5 大于 75,小于 150时,黄灯亮,表示当前空气轻度或中度污染;当 PM2.5 大于 150 时,红灯亮,表示当前空气为重度污染状态。红黄绿指示灯负极与单片机三个不同接口相连,正极连在一起并与 5V 电源相连,当单片机 IO 口输出低电平时,对应的LED 就会被点亮。图 11 为 LED 的电路原理图:图 11 LED 电路原理图2.7 报警模块当 PM2.5 浓度高于一定程度时,会对身体造成很大伤害,因此该设计专门添加了报警电路。当 PM2.5 浓度超过单片机设定的报警值时,单片机控制蜂鸣器报警提醒用

39、户 PM2.5 浓度严重超标。当单片机控制引脚输出低电平时,三极管导通,电流通过蜂鸣器,蜂鸣器响。当单片机控制引脚输出高电平时RU 1P 2 . 0P 2 . 2P 2 . 1RRD D D5 V红 绿黄22三极管关断蜂鸣器不响。报警模块如图 12 所示。图 12 报警模块原理图P 3 . 75 VRQB E L L233 程序设计3.1 主程序设计主程序主要配合硬件实现系统的功能,包括数据采集与处理、测量结果的显示以及各个子函数的调用等。图 13 为主程序流程图:开始初始化数据采集 、 处理按键 Y / N显示按键程序YN图 13 主程序流程图3.2 显示部分 1602 液晶模块内部的控制器

40、共有 11 条控制指令,如 5 表所示:表 5 控制命令表序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D01 清显示 0 0 0 0 0 0 0 0 0 12 光标返回 0 0 0 0 0 0 0 0 1 *3 置输入模式 0 0 0 0 0 0 0 1 I/D S4 显示开/关控制 0 0 0 0 0 0 1 D C B5 光标或字符移位 0 0 0 0 0 1 S/C R/L * *6 置功能 0 0 0 0 1 DL N F * *7 置字符发生存贮器地址 0 0 0 1 字符发生存贮器地址8 置数据存贮器地址 0 0 1 显示数据存贮器地址9 读忙标志或地址 0

41、 1 BF 计数器地址10 写数到 CGRA 或DDRAM) 1 0 要写的数据内容11 从 CGRAM 或 DDRAM读数 1 1 读出的数据内容241602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1 为高电平、0 为低电平)指令 1:清显示,指令码 01H,光标复位到地址 00H 位置指令 2:光标复位,光标返回到地址 00H 指令 3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 指令 4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:

42、控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符 指令 7:字符发生器 RAM 地址设置 指令 8:DDRAM 地址设置 指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 指令 10:写数据 指令 11:读数据

43、 253.3 A/D 转换部分正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是CS、CLK、DO、DI 。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。当 ADC0832 未工作时其 CS 输入端应为高电平,此时芯片禁用, CLK和 DO/DI 的电平可任意。当要进行 A/D 转换时,须先将 CS 使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片晶振输入端 CLK 输入晶振脉冲,DO/DI 端则使用 DI 端输入通道功能选择的数据信号。在第 1

44、个晶振脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2、3 个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,当 2 位数据为“1”、“0”时,只对 CH0 进行单通道转换。当 2 位数据为“1”、“1”时,只对 CH1 进行单通道转换。当 2 位数据为“0”、“0”时,将 CH0 作为正输入端 IN+,CH1 作为负输入端 IN-进行输入。当2 位数据为“0”、“1”时,将 CH0 作为负输入端 IN-,CH1 作为正输入端IN+进行输入。到第 3 个脉冲的下沉之后 DI 端的输入电平就失去输入作用,此后 DO/DI 端则开始利用数据输出 DO 进行转换数据的读取。从第

45、 4 个脉冲下沉开始由 DO 端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO端输出下一位数据。直到第 11 个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第 11 个字节的下沉输出 DATD0。随后输出 8 位数据,到第 19 个脉冲时数据输出完成,也标志着一次 A/D 转换的结束。最后将 CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。26更详细的时序说明请参考图 14:图 14 ADC0832 时序图作为单通道模拟信号输入时 ADC0832 的输入电压是 05V 且 8 位分辨率时的电压精度为 19.53m

46、V。如果作为由 IN+与 IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行 IN+与 IN-的输入时,如果 IN-的电压大于 IN+的电压则转换后的数据结果始终为 00H。ADC0832 数据读取程序流程见图 15:图 15 ADC0832 数据读取流程图27应用代码举例:unsigned char ADC0832(bit MO,bit CH) /返回转换结果,unsigned char i,dat,ndat;CS = 0;/将 CS 端置 0,使能_nop_();/延时一个机器周期_nop_();DI = 1; /起始信号必须置高CLK =

47、 1;/时钟信号_nop_();_nop_();CLK = 0;/时钟信号形成 第一个脉冲_nop_();_nop_();DI = MO; /模式选择CLK = 1;_nop_();_nop_();CLK = 0;/时钟信号形成 第二个脉冲_nop_();_nop_();DI = CH; /通道选择CLK = 1;/_nop_();_nop_();CLK = 0;/时钟信号形成 第三个脉冲DI = 1;dat = 0;/读取转换后数据for(i = 0;i 8;i+)dat = 1;CLK=1;_nop_();_nop_();CLK=0;/时钟信号 形成第四个脉冲_nop_();_nop_();dat |= ADDO;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报