河南科技大学毕业设计(论文)
图2-11 LCD写操作时序
由于LCD1602在确认时都会确认它是否忙碌,如果是低电平时这时候就表示,此设备不忙就会得到相应的指令,所以就可以输入相应的显示字符内部显示地址。
图2-12液晶内部显示地址
1602液晶模块在相应的存储器中就已经储存了很多我们需要的字符,这些字符就会根据我们的需要进行编写。
1602LCD的一般初始化(复位)过程 延时15mS
写指令38H(不检测忙信号) 延时5mS
写指令38H(不检测忙信号) 延时5mS
写指令38H(不检测忙信号)以后每次写指令、读/写数据操作均需要检测忙信号
写指令38H:显示模式设置 写指令08H:显示关闭 写指令01H:显示清屏
写指令06H:显示光标移动设置
17
河南科技大学毕业设计(论文)
§2.2.4发光报警电路
报警电路采用蜂鸣器,三极管9012驱动,和单片机的P15相连接,当P15口为高电平,蜂鸣器不报警,当P15口为低电平,并且带有LED二极管发光,蜂鸣器报警。同时还可以手动通过按键来调节PM2.5的最高浓度值。电路图如图2-13、2-14所示。
图2-13报警电路
18
河南科技大学毕业设计(论文)
图2-14按键电路
§2.2.5 供电电路
采用USB电源模块供电,输出5V的直流电压,SW1为按键开关。电路图如图2-15所示。
图2-15供电电路
第3章 软件部分设计
19
河南科技大学毕业设计(论文)
本设计系统使用AT89S52作为微控制中心的单片机芯片,软件系统设计主要分为系统初始化模块、驱动传感器模块,AD模数转换模块,PM2.5数值计算和显示等模块,各个模块都有不可磨灭的作用各自发挥着主要功能,单片机AT89S52通过软件程序实现对硬件设备的控制,测量并通过LCD显示出来PM2.5的值。系统的主流程图3-1
开 始
初 始 化
是否按下按键 是 调整报警值 否 AD模数转换
计算PM2.5的浓度
显示PM2.5的浓度 否 是 否 超 标 是 发光报警 图3-1软件主流程图
20
河南科技大学毕业设计(论文)
§3.1开发环境
通过使用软件 Keil 来检测编写的程序是否正确,或者检测是否有不得当的作用此软件可以生成让我们烧写进单片机的程序,这个过程生成HEX文件,此软件在编译,操作的时候都比较方便,简单。
§3.2主体程序设计
§3.2.1 主程序设计
1.设计流程
整个设计系统主要要完成的任务是驱动传感器,采集传感器输出的电压值,通过单片机的实时计算,在LCD上面显示出测量的PM2.5的浓度值,从单片机软件程序的角度来看,主程序的流程为:在完成各部分初始化之后,采集模拟输出电压,计算PM2.5值的程序,再根据采集到的电压值,通过拟合的关系,如图3-2所示,可以经过单片机计算出来测量到的
PM2.5数量值。
图3-2电压和PM2.5拟合曲线关系
2.初始化编程
进入程序后,首先初始化,主要包括对ADC0832初始化,液晶LCD1602进行初始化,选择转换的虚拟模拟量通道,对定时器进行初始化。程序看附录.
21