性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

【我的畢設作品】PM2.5顆粒濃度在線監(jiān)測系統(tǒng)的設計

摘要:

文設計的PM2.5顆粒濃度在線檢測系統(tǒng)的控制核心為AT89S52單片機,PM2.5顆粒濃度檢測采用日本夏普公司的灰塵傳感器GP2Y1010AU,采集到的PM2.5模擬數據信號經過ADC0832數模轉換后將數字信號輸送給單片機進行處理,LCD1602顯示屏第一行顯示設定的PM2.5顆粒濃度安全值,第二行顯示實時監(jiān)測到的PM2.5顆粒濃度值。當PM2.5顆粒濃度超過設定的2倍安全值時,設計的紅色LED燈閃爍,同時蜂鳴器發(fā)出警報;當PM2.5顆粒濃度介于安全值和2倍安全值之間時,黃色LED燈閃爍發(fā)出警告;當PM2.5顆粒濃度低于安全值時,綠色LED燈閃爍表示污染程度較低。

通過設計的單片機最小系統(tǒng)、ADC轉換模塊、粉塵傳感器模塊等電路在Proteus中搭建了PM2.5顆粒濃度在線檢測仿真電路,并在Keil軟件中編寫程序。

全部回復(15)
正序查看
倒序查看
vera69
LV.1
2
2019-08-26 20:40

AT89S52是ATMEL公司出品的兼容MCS-51系統(tǒng)的低功耗CMOS單片機,它的內部還集成了8位CPU和ISP Flash存儲單元,AT89S52單片機原理圖如下:

0
回復
vera69
LV.1
3
2019-08-26 20:41
@vera69
AT89S52是ATMEL公司出品的兼容MCS-51系統(tǒng)的低功耗CMOS單片機,它的內部還集成了8位CPU和ISPFlash存儲單元,AT89S52單片機原理圖如下:[圖片]

顯示屏用的是:LCD1602

0
回復
vera69
LV.1
4
2019-08-26 20:42
@vera69
顯示屏用的是:LCD1602[圖片]

夏普粉塵傳感器GP2Y1010AU0F

粉塵濃度檢測傳感器通常應用在煤礦、面粉加工車間等其他粉塵濃度較高的場合,而這些粉塵傳感器檢測的大都是顆粒較大的粉塵物,不適宜于用來檢測PM2.5這類直徑較小的顆粒物濃度。

0
回復
vera69
LV.1
5
2019-08-26 20:48

本文設計的PM2.5顆粒濃度在線監(jiān)測系統(tǒng)硬件電路是由AT89S52單片機為控制核心,還包括電源電路、晶振電路、復位電路、報警電路、按鍵電路、1206顯示電路、ADC轉換模塊組成,硬件電路框圖如圖3.1所示。

0
回復
vera69
LV.1
6
2019-08-26 20:50
@vera69
本文設計的PM2.5顆粒濃度在線監(jiān)測系統(tǒng)硬件電路是由AT89S52單片機為控制核心,還包括電源電路、晶振電路、復位電路、報警電路、按鍵電路、1206顯示電路、ADC轉換模塊組成,硬件電路框圖如圖3.1所示。[圖片]

單片機系統(tǒng)運行需要5V電壓,而電腦上的USB輸出電壓剛好是5V,輸最大電流為500mV,因此可以為單片機供電電路上設計USB接口,使用數據線連接電腦即可為系統(tǒng)供電,縮短了單片機與電腦的距離可便于單片機程序燒寫,也有利于觀察和調試硬件電路。并采用7805穩(wěn)壓芯片為系統(tǒng)提供穩(wěn)定的電壓,然后進行濾波,并在輸出端設計一個防倒流的二極管。在輸入端還另加了兩孔的排插接口,方便在必要時使用干電池對系統(tǒng)供電。設計的供電電路如圖3.2所示:

0
回復
vera69
LV.1
7
2019-08-26 20:51
@vera69
單片機系統(tǒng)運行需要5V電壓,而電腦上的USB輸出電壓剛好是5V,輸最大電流為500mV,因此可以為單片機供電電路上設計USB接口,使用數據線連接電腦即可為系統(tǒng)供電,縮短了單片機與電腦的距離可便于單片機程序燒寫,也有利于觀察和調試硬件電路。并采用7805穩(wěn)壓芯片為系統(tǒng)提供穩(wěn)定的電壓,然后進行濾波,并在輸出端設計一個防倒流的二極管。在輸入端還另加了兩孔的排插接口,方便在必要時使用干電池對系統(tǒng)供電。設計的供電電路如圖3.2所示:[圖片]

本設計的單片機最小系統(tǒng)如圖3.5所示。

0
回復
vera69
LV.1
8
2019-08-26 20:52
@vera69
本設計的單片機最小系統(tǒng)如圖3.5所示。[圖片]

夏普GP2Y1010AU粉塵傳感器將空氣中的微小顆粒物檢測到以后輸出的為模擬電壓信號,再送往ADC0832數模轉換電路中轉換為數字信號,設計的粉塵傳感器電路如圖3.7所示。

0
回復
vera69
LV.1
9
2019-08-26 20:53
@vera69
夏普GP2Y1010AU粉塵傳感器將空氣中的微小顆粒物檢測到以后輸出的為模擬電壓信號,再送往ADC0832數模轉換電路中轉換為數字信號,設計的粉塵傳感器電路如圖3.7所示。[圖片]

LCD1602顯示電路如圖所示:

0
回復
vera69
LV.1
10
2019-08-26 20:54
@vera69
LCD1602顯示電路如圖所示:[圖片]

本文設計的按鍵雖然只有3個,但是而這些按鍵全部是機械彈性的開關,由于彈簧片的作用,當按下按鍵后并不能迅速將開關閉合,同理當松開按鍵時也不會立刻斷開,因此在按下和松開按鍵時會存在短時間的抖動。按鍵的抖動時長通常是由人為的因素以及按鍵自身的機械特性相關,按鍵抖動時長通常在在5ms~25ms。按鍵抖動原理如圖所示。

0
回復
vera69
LV.1
11
2019-08-26 20:55

系統(tǒng)軟件流程圖

0
回復
vera69
LV.1
12
2019-08-26 20:56
@vera69
系統(tǒng)軟件流程圖[圖片]

在Proteus中搭建PM2.5顆粒濃度在線監(jiān)測系統(tǒng)仿真電路,并結合Keil中編寫的系統(tǒng)軟件程序,以對本文的理論分析和軟硬件做驗證。由于Proteus的庫文件中并沒有加入類似于粉塵傳感器功能的模塊,因此采用了滑動變阻器進行模擬。LCD1602液晶屏能夠顯示兩行信息,因此在第一行顯示的值為設定PM2.5濃度的警報值,第二行為可調節(jié)的當前PM2.5濃度值,當調節(jié)到不同濃度值時,紅黃綠指示燈會根據當前的值發(fā)亮,并且在超過設定濃度值的2倍時發(fā)出警報。下圖為Proteus搭建的系統(tǒng)仿真電路。

0
回復
vera69
LV.1
13
2019-08-26 20:57
@vera69
在Proteus中搭建PM2.5顆粒濃度在線監(jiān)測系統(tǒng)仿真電路,并結合Keil中編寫的系統(tǒng)軟件程序,以對本文的理論分析和軟硬件做驗證。由于Proteus的庫文件中并沒有加入類似于粉塵傳感器功能的模塊,因此采用了滑動變阻器進行模擬。LCD1602液晶屏能夠顯示兩行信息,因此在第一行顯示的值為設定PM2.5濃度的警報值,第二行為可調節(jié)的當前PM2.5濃度值,當調節(jié)到不同濃度值時,紅黃綠指示燈會根據當前的值發(fā)亮,并且在超過設定濃度值的2倍時發(fā)出警報。下圖為Proteus搭建的系統(tǒng)仿真電路。[圖片]

仿真電路中LCD1602顯示屏的第一行為PM2.5顆粒濃度參考值,由滑動變阻器將該閥值設置為20μg/m3,LCD1602顯示屏的第二行為實時顯示的PM2.5濃度值。當PM2.5濃度低于20μg/m3時,綠色LED燈亮,蜂鳴器處于關閉狀態(tài),表明此時污染程度較低。在Proteus中的仿真.效果如圖所示。

0
回復
vera69
LV.1
14
2019-08-26 20:58
@vera69
仿真電路中LCD1602顯示屏的第一行為PM2.5顆粒濃度參考值,由滑動變阻器將該閥值設置為20μg/m3,LCD1602顯示屏的第二行為實時顯示的PM2.5濃度值。當PM2.5濃度低于20μg/m3時,綠色LED燈亮,蜂鳴器處于關閉狀態(tài),表明此時污染程度較低。在Proteus中的仿真.效果如圖所示。[圖片]

調節(jié)按鍵,繼續(xù)增加LCD1602第二行的PM2.5濃度值,當PM2.5濃度介于20μg/m3~40μg/m3時黃色LED亮,蜂鳴器處于關閉狀態(tài),表明此時有PM2.5顆粒污染。在Proteus中的仿真效果如圖所示。

0
回復
vera69
LV.1
15
2019-08-26 20:58
@vera69
調節(jié)按鍵,繼續(xù)增加LCD1602第二行的PM2.5濃度值,當PM2.5濃度介于20μg/m3~40μg/m3時黃色LED亮,蜂鳴器處于關閉狀態(tài),表明此時有PM2.5顆粒污染。在Proteus中的仿真效果如圖所示。[圖片]

調節(jié)按鍵繼續(xù)增加PM2.5濃度值,當PM2.5濃度高于40μg/m3時,紅色LED亮,蜂鳴器打開,表明此時污染較為嚴重。在Proteus中的仿真效果如圖所示。

0
回復
vera69
LV.1
16
2019-08-26 21:00
/********************************************************************
* 名稱 : Main()
* 功能 : 主函數
***********************************************************************/
void main()
{
	uchar h;
	uint sum;		 //參數局部變量 
    EA = 0;			 //關閉中端
	Timer0_Init();   //定時器0初始化
	EA = 1;		     //打開中斷
	RW=0;		     //關閉讀寫命令
	L1602_init();
	while(1)
	{
		 if (FlagStartRH == 1&&set==0)	 //PM2.5轉換標志檢查
		 {
		    TR0 = 0;
			for(h=0;h<50;h++)	         //求取數字信號的平均值 50次采集
			{
				DA=adc0832(0);			 //緩存AD轉換數值
				sum=sum+DA;
				delay_ms(100);
				Key();				     //按鍵掃描
			}
			DA=sum/50;				     //求均值
			sum=0;						 //局部參量清零
			DA=DA*(float)(DA/5);	     //整型浮點化
			ALARM();					 //參數報警
			if(set==0)
			display();				     //LCD1602顯示數值
			TR0 = 1;
		}
		Key();					         //按鍵掃描
		ALARM();
	}
}
0
回復
發(fā)