• 方案介紹
    • 1.? 簡介
    • 2.? 主要功能
    • 3.? 源程序(Keil5)
    • 4.? 仿真proteus8.6
    • 5.? 設(shè)計(jì)報告
    • 6.? 資料清單
    • 7.? 資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的PM2.5空氣質(zhì)量檢測(二)!!!

04/25 08:55
340
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個文件

資料清單:C程序+仿真+設(shè)計(jì)報告+使用說明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5 C51

編程語言:C語言

設(shè)計(jì)編號:【U02】

1.? 簡介

? 本文提出了一種基于51單片機(jī)的PM2.5空氣質(zhì)量檢測系統(tǒng)。單片機(jī)實(shí)時通過ADC0832轉(zhuǎn)換芯片采集粉塵傳感器的粉塵的濃度,通過單片機(jī)的數(shù)據(jù)轉(zhuǎn)換處理后在液晶屏上顯示空氣中的質(zhì)量,當(dāng)測量空氣中的粉塵濃度大于設(shè)置粉塵濃度時,蜂鳴器發(fā)光二極管發(fā)出聲光報警,粉塵的濃度報警值可以通過按鍵進(jìn)行設(shè)置。

2.? 主要功能

a.通過LCD1602顯示當(dāng)前PM2.5濃度和報警閾值。

b.通過按鍵設(shè)置粉塵濃度報警閾值。

3.? 源程序(Keil5)

本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過.c和.h文件新建工程即可。

#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char //宏定義
sbit RS=P1^6;//液晶接口
sbit EN=P1^7;

sbit LED = P2^0;//粉塵傳感器控制接口

sbit ADCS = P3^7;//AD0832接口
sbit ADCLK =P3^5;
sbit ADDI = P3^6;
sbit ADDO = P3^6;		  

sbit SET= P1^1;//按鍵接口
sbit ADD= P1^2;
sbit DEC= P1^3;

sbit BEEP=P2^1;//蜂鳴器接口

uchar set_st;
uchar tab[5];
uint DUST_SET=150; //固體顆粒的閾值

//bit shanshuo_st; //閃爍間隔標(biāo)志
bit beep_st; //蜂鳴器間隔標(biāo)志
uchar x=4; //計(jì)數(shù)器
//定義標(biāo)識
uchar FlagStart = 0;
float DUST_Value;
uint DUST;
uchar num=0;
uchar mm;
uchar abc;
uchar ADC_Get[10]={0}; //定義AD采樣數(shù)組
uchar str[5]={0};

/*****初始化定時器0*****/
void InitTimer(void)
{
	TMOD = 0x01;
	TL0 = (65536-10000)/256; //定時10ms
	TH0 = (65536-10000)%256;
	TR0 = 1;
	ET0 = 1;
	EA = 1;
}
/*************************lcd1602程序**************************/
void delay1ms(uint ms)//延時1毫秒
{ 
    uint i,j;
	for(i=0;i<ms;i++)
	for(j=0;j<100;j++);
}

void wr_com(uchar com)//寫指令//
{ 
    delay1ms(1);
	RS=0;
//	RW=0;
	EN=0;
	P0=com;
	delay1ms(1);
	EN=1;
	delay1ms(1);
	EN=0;
}
void wr_dat(uchar dat)//寫數(shù)據(jù)//
{ 
    delay1ms(1);;
	RS=1;
//	RW=0;
	EN=0;
	P0=dat;
	delay1ms(1);
	EN=1;
	delay1ms(1);
	EN=0;
}

4.? 仿真proteus8.6

? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問題,該仿真是通過proteus8.6導(dǎo)出的,所以請盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

初始界面:

超限報警:

5.? 設(shè)計(jì)報告

設(shè)計(jì)報告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.? 資料清單

設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報告+使用說明+元件清單+操作視頻等。

7.? 資料獲取鏈接

百度網(wǎng)盤下載鏈接:【U02】百度網(wǎng)盤下載鏈接

更多單片機(jī)仿真設(shè)計(jì)合集:單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦