毕业设计|基于51单片机的空气质量检测PM2.5粉尘检测温度设计

简介: 毕业设计|基于51单片机的空气质量检测PM2.5粉尘检测温度设计

1、项目简介

1.1 系统构成

本系统采用51/52单片机+LCD1602液晶显示屏+声光报警按键+0832模数转换芯片+PM2.5传感器设计而成。

1.2 系统功能

  • 1、51单片机作为主控芯片,由(GP2Y1010AU0F)粉尘传感器采集到信号,然后通过ADC0832将模拟信号转化为数字信号,传送给单片机读取并处理数据。
  • 2、LCD1602液晶屏幕上显示测到的PM2.5实际值,PM2.5浓度报警阀值
  • 3、通过按键可修改报警阈值
  • 4、使用LED与蜂鸣器进行报警,超出报警阈值,打开风扇

2、部分电路设计

2.1 LED信号指示灯电路设计

LED灯即发光二极管,它是半导体二极管的一种,可以把电能转化成光能。发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。在电路中,电阻的作用是限流,保护LED灯。只要单片机的控制引脚拉低,则LED灯亮,否则,LED灯不亮。其具体电路原理图如下图所示。

2.2 LCD1602显示电路

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

一、LCD1602主要技术参数如下:

(1)显示容量为16×2个字符;

(2)芯片工作电压为4.5~5.5V;

(3)工作电流为2.0mA(5.0V);

(4)模块最佳工作电压为5.0V;

(5)字符尺寸为2.95×4.35(W×H)mm。

二、LCD1602采用标准的14脚,其接口的引脚说明如下:

(1)第1脚:VSS为地电源。

(2)第2脚:VDD接5V正电源。

(3)第3脚:V0为液晶显示器对比度调整端。

(4)第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

(5)第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。

(6)第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

(7)第7~14脚:D0~D7为8位双向数据线。

(8)第15~16脚:空脚

2.3 PM2.5粉尘检测电路设计

粉尘浓度检测仪的核心部件是粉尘传感器[10]。它的选择直接影响到了量程的大小以及测量结果的准确程度。而考虑到它与单片机协同工作,因此在电源供电电压输出问题上也需谨慎。本设计中使用了SHARP(夏普)公司的GP2Y1010AU0F粉尘浓度传感器。如图

电路连接如下图

3、部分代码展示

3.1 串口初始化

void UART_Init(void)
{
  SCON  = 0x50;   // SCON: 模式 1, 8-bit UART, 使能接收  
  TMOD |= 0x20;     // TMOD: timer 1, mode 2, 8-bit 重装
  TH1   = 0xFD;     // TH1:  重装值 9600 波特率 晶振 11.0592MHz
  TL1 = TH1;  
  TR1   = 1;        // TR1:  timer 1 打开                         
  EA    = 1;        //打开总中断
  ES    = 1;        //打开串口中断
} 

3.1 定时器初始化

void Init_Timer0(void)
{
  TMOD |= 0x01;   //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响        
  TH0=(65536-10000)/256;      //重新赋值 20ms
  TL0=(65536-10000)%256;
  EA=1;            //总中断打开
  ET0=1;           //定时器中断打开
  TR0=1;           //定时器开关打开
}

3.2 LCD1602显示函数

void L1602_char(uchar hang,uchar lie,char sign)
{
  uchar a;
  if(hang == 1) a = 0x80;
  if(hang == 2) a = 0xc0;
  a = a + lie - 1;
  enable(a);
  write(sign);
}

4 演示视频及代码资料获取

相关文章
|
7月前
|
传感器 C语言 智能硬件
基于单片机的温度控制系统
基于单片机的温度控制系统
130 0
|
7月前
|
传感器 编解码 数据处理
毕业设计|基于STM32单片机的水位浑浊度检测设计
毕业设计|基于STM32单片机的水位浑浊度检测设计
872 0
|
7月前
|
传感器 监控 IDE
基于单片机的温度监控系统设计
基于单片机的温度监控系统设计
263 0
|
2月前
|
传感器 数据采集 存储
基于51单片机的大棚环境检测系统设计
基于51单片机的大棚环境检测系统设计
185 0
|
2月前
|
传感器 编解码 人机交互
基于51单片机的温室大棚环境检测系统
基于51单片机的温室大棚环境检测系统
71 0
|
7月前
|
传感器 数据采集 监控
LabVIEW单片机的废气再循环EGR检测系统
LabVIEW单片机的废气再循环EGR检测系统
53 0
|
7月前
|
传感器 数据处理
基于单片机的室内空气质量检测系统设计_kaic
基于单片机的室内空气质量检测系统设计_kaic
|
7月前
|
传感器 人工智能 前端开发
单片机毕业设计|农家菜园自动灌溉控制系统设计
单片机毕业设计|农家菜园自动灌溉控制系统设计
120 0
|
7月前
|
人工智能 安全 搜索推荐
单片机毕业设计|基于stm32智能快递箱设计
单片机毕业设计|基于stm32智能快递箱设计
143 0
|
7月前
|
传感器 监控 测试技术
单片机开发|基于51单片机的全自动黑板檫粉尘清除装置设计与实现
单片机开发|基于51单片机的全自动黑板檫粉尘清除装置设计与实现