第一章、概述
1.1、設計的主要內容和意義
1.1.1、設計的主要內容本設計提出的“PM2.5監測”的方案最基本的實現方法是由單片機、粉塵監測傳感器、顯示模塊、報警器等模塊組成的電路,GP2Y1010AU0F粉塵傳感器采集空氣中PM2.5的濃度值,經過AT89C52單片機處理后,在LCD1602液晶上顯示,并且設置一個報警值,檢測的PM2.5濃度值超過報警值后,蜂鳴器報警,報警值可以用按鍵手動調節。另外,該設計在實時檢測濃度的同時,根據當前檢測濃度亮起相應的燈,濃度范圍分別為:
檢測的PM2.5的濃度值在0-0.1,綠燈亮,表示環境良好;
檢測的PM2.5的濃度值在0.1-0.3,黃燈亮,表示輕度污染;
檢測的PM2.5的濃度值在0.3以上,紅燈亮,表示重度污染;
1.1.2、設計的主要意義21世紀的今天,科學技術的發展日新月異,科學技術的進步同時也帶動了測量技術的發展,現代控制設備不同于以前,它們在性能和結構發生了翻天覆地的變化。我們已經進入了高速發展的信息時代,測量技術是當今社會的主流,廣泛地深入到應用工程的各個領域。
因為空氣質量的惡化,陰霾天氣現象出現增多,危害現象加重。中國不少地區把陰霾天氣現象并入霧一起作為災害性天氣預警預報。統稱為“霧霾天氣”。霧霾主要由PM2.5、PM10、PM0.1以及重金屬鎳砷鉻鉛等顆粒組成。在空氣動力學和環境氣象學中,顆粒物是按直徑大小來分類的,粒徑小于100微米的稱為TSP(TotalSuspendedParticle),即總懸浮物顆粒;粒徑小于10微米的稱為PM10(PM為ParticulateMatter縮寫),即可吸入顆粒物;粒徑小于2.5微米的稱為PM2.5,即可入肺顆粒物,它的直徑僅相當于人的頭發絲粗細的1/20。雖然PM2.5只是地球大氣成分中含量很少的組分,但它與較粗的大氣顆粒物相比,粒徑小,富含大量的有毒、有害物質且在大氣中的停留時間長、輸送距離遠,因而對人體健康和大氣環境質量影響更大。
世界衛生組織發布的報告顯示,無論是發達國家還是發展中國家,目前大多數城市和農村人口均遭受到顆粒物對健康的影響。高污染城市中的死亡率超出相對清潔城市的15%至20%。據統計,在歐洲,PM2.5每年導致386000人死亡,并使歐盟國家人均期望壽命減少8.6個月。人體的生理結構決定了對PM2.5沒有任何過濾、阻攔能力,而PM2.5對人類健康的危害卻隨著醫學技術的進步,逐步暴露出其恐怖的一面。氣象專家和醫學專家認為,由細顆粒物造成的灰霾天氣對人體健康的危害甚至要比沙塵暴更大。粒徑10微米以上的顆粒物,會被擋在人的鼻子外面;粒徑在2.5微米至10微米之間的顆粒物,能夠進入上呼吸道,但部分可通過痰液等排出體外,另外也會被鼻腔內部的絨毛阻擋,對人體健康危害相對較小;而粒徑在2.5微米以下的細顆粒物,直徑相當于人類頭發的1/10大小,不易被阻擋。被吸入人體后會直接進入支氣管,刺激呼吸道,干擾肺部的氣體交換,從而引發咳嗽、呼吸困難、哮喘、慢性支氣管炎等呼吸系統的疾病并導致心律不齊、非致命性心臟病等心血管方面的疾病。其中,老人、小孩以及心肺疾病患者是PM2.5污染的敏感人群。
因此,對PM2.5的監測與治理便顯得越來越重要。
第二章、主控制器及主要器件
2.2、A/D轉換芯片ADC0832
ADC0832 是美國國家半導體公司生產的一種 8 位分辨率、雙通道 A/D 轉換芯片。由于它體積小,兼容性強,性價比高而深受單片機愛好者及企業歡迎,
其目前已經有很高的普及率。學習并使用 ADC0832 可是使我們了解 A/D 轉換器的原理,有助于我們單片機技術水平的提高。
ADC0832 具有以下特點:
①8 位分辨率;
②雙通道 A/D 轉換;
③輸入輸出電平與 TTL/CMOS 相兼容;
④5V 電源供電時輸入電壓在 0~5V 之間;
⑤工作頻率為 250KHZ,轉換時間為 32μS;
⑥一般功耗僅為 15mW;
⑦8P、14P—DIP(雙列直插)、PICC 多種封裝;
⑧商用級芯片溫寬為0°C to +70°C,工業級芯片溫寬為−40°C to +85°C;
芯片頂視圖:
芯片接口說明:
CS_:片選使能,低電平芯片使能。
CH0:模擬輸入通道 0,或作為 IN+/-使用。
CH1:模擬輸入通道 1,或作為 IN+/-使用。
GND:芯片參考 0 電位(地)。
DI:數據信號輸入,選擇通道控制。
DO:數據信號輸出,轉換數據輸出。
CLK:芯片時鐘輸入。
Vcc/REF:電源輸入及參考電壓輸入(復用)。
ADC0832 為 8 位分辨率 A/D 轉換芯片,其最高分辨可達 256 級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在 0~5V 之間。芯片轉換時間僅為 32μS,據有雙數據輸出可作為數據校驗,以減少數據誤差,轉換速度快且穩定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過 DI 數據輸入端,可以輕易的實現通道功能的選擇。
2.3、1602LCD液晶顯示屏
LCD顯示器分為字段顯示和字符顯示兩種。其中字段顯示與LED顯示相似,只要送對應的信號到相應的管腳就能顯示。字符顯示是根據需要顯示基本字符。本設計采用的是字符型顯示。系統中采用LCD1602作為顯示器件輸出信息。與傳統的LED數碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內容豐富等優點,而且不需要外加驅動電路,現在液晶顯示模塊已經是單片機應用設計中最常用的顯示器件了。LCD1602可以顯示2行16個漢字。
LCD1602主要技術參數
顯示容量為16×2個字符;
芯片工作電壓為4.5~5.5V;
工作電流為2.0mA(5.0V);
模塊最佳工作電壓為5.0V;
字符尺寸為2.95×4.35(W×H)mm。
3.1.2 LCD1602的引腳說明
LCD1602采用標準的14腳接口,其中:
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:V0為液晶顯示器對比度調整端。
第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。
第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數據。
第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執行命令。
第7~14腳:D0~D7為8位雙向數據線。
第15~16腳:空腳
3.1.3控制指令說明
1602液晶模塊內部的控制器共有11條控制指令,如3.8表所示:
表3.8 控制命令表
序號 | 指令 | RS | R/W | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
1 | 清顯示 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2 | 光標返回 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | * |
3 | 置輸入模式 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | I/D | S |
4 | 顯示開/關控制 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | D | C | B |
5 | 光標或字符移位 | 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 | 1 | BF | 計數器地址 |
10 | 寫數到CGRA或DDRAM) | 1 | 0 | 要寫的數據內容 |
11 | 從CGRAM或DDRAM讀數 | 1 | 1 | 讀 出的數據內容 |
1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平)
指令1:清顯示,指令碼01H,光標復位到地址00H位置
指令2:光標復位,光標返回到地址00H
指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效
指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍
指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標
指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符
指令7:字符發生器RAM地址設置
指令8:DDRAM地址設置
指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。
指令10:寫數據
指令11:讀數據
2.4、夏普粉塵傳感器GP2Y1010AU0F
日本夏普公司灰塵傳感器GP2Y1010AU,體積小巧,靈敏度高,可以用來測量0.8微米以上的微小粒子,可用于室內環境中煙氣、粉塵、花粉等濃度的檢測。此款產品不但可以檢測出單位體積粒子的絕對個數,而且內置氣流發生器,可以自行吸入外部空氣。灰塵傳感器GP2Y1010AU安裝保養方便,使用壽命長,精度高,穩定性好。其內部對角安放著紅外線發光二極管和光電晶體管,使得其能夠探測到空氣中塵埃反射光,即使非常細小的如煙草煙霧顆粒也能夠被檢測到,通常在空氣凈化系統中應用。該傳感器具有非常低的電流消耗(最大20mA,典型值11mA),可使用高達7VDC。該傳感器輸出為模擬電壓,其值與粉塵濃成正比。
夏普灰塵傳感器GP2Y1010AU0F
傳感器內部結構
應用領域:
1、空氣凈化器和空氣清新機;
2、空調;
3、空氣質量監控儀;
4、空調等相關產品。
主要參數:
靈敏度:0.5V/(0.1mg/m3)
輸出電壓:0.9V(TYP)
消耗電流:11mA
工作溫度:-10~65℃
存儲溫度:-20~80℃
第三章、硬件電路設計
3.1、電路設計框圖
3.2、系統概述
本電路是由AT89S52單片機為控制核心,另外主要通過6個模塊的電路設計實現功能,他們分別是LCD顯示模塊、粉塵傳感器、A/D轉換、按鍵電路、報警電路、污染級別提醒電路。
系統原理圖如下:
3.3、單片機最小系統
單片機的最小系統就是讓單片機能正常工作并發揮其功能時所必須的組成部分,也可理解為是用最少的元件組成的單片機可以工作的系統。對51系列單片機來說, 最小系統一般應該包括: 單片機、時鐘電路、復位電路、輸入/ 輸出設備等。

單片機最小系統框圖
時鐘電路:
在設計時鐘電路之前,讓我們先了解下51單片機上的時鐘管腳:
XTAL1(19 腳) :芯片內部振蕩電路輸入端。
XTAL2(18 腳) :芯片內部振蕩電路輸出端。
XTAL1 和XTAL2 是獨立的輸入和輸出反相放大器,它們可以被配置為使用石英晶振的片內振蕩器,或者是器件直接由外部時鐘驅動。圖3中采用的是內時鐘模式,即采用利用芯片內部的振蕩電路,在XTAL1、XTAL2 的引腳上外接定時元件(一個石英晶體和兩個電容),內部振蕩器便能產生自激振蕩。一般來說晶振可以在1.2 ~ 12MHz 之間任選,甚至可以達到24MHz 或者更高,但是頻率越高功耗也就越大。在本實驗套件中采用的11.0592M 的石英晶振。和晶振并聯的兩個電容的大小對振蕩頻率有微小影響,可以起到頻率微調作用。當采用石英晶振時,電容可以在20 ~ 40pF 之間選擇(本實驗套件使用30pF);當采用陶瓷諧振器件時,電容要適當地增大一些,在30 ~ 50pF 之間。通常選取33pF的陶瓷電容就可以了。
另外值得一提的是如果讀者自己在設計單片機系統的印刷電路板(PCB) 時,晶體和電容應盡可能與單片機芯片靠近,以減少引線的寄生電容,保證振蕩器可靠工作。檢測晶振是否起振的方法可以用示波器可以觀察到XTAL2 輸出的十分漂亮的正弦波,也可以使用萬用表測量( 把擋位打到直流擋,這個時候測得的是有效值)XTAL2 和地之間的電壓時,可以看到2V左右一點的電壓。
時鐘電路如圖所示。
時鐘電路圖
復位電路:
在單片機系統中,復位電路是非常關鍵的,當程序跑飛(運行不正常)或死機(停止運行)時,就需要進行復位。
MCS-5l 系列單片機的復位引腳RST( 第9管腳) 出現2個機器周期以上的高電平時,單片機就執行復位操作。如果RST持續為高電平,單片機就處于循環復位狀態。
復位操作通常有兩種基本形式:上電自動復位和開關復位 。上電瞬間 ,電容兩端電壓不能突變 ,此時電容的負極和 RESET 相連,電壓全部加在了電阻上,RESET 的輸入為高,芯片被復位。隨之+5V電源給電容充電,電阻上的電壓逐漸減小,最后約等于0 ,芯片正常工作。并聯在電容的兩端為復位按鍵,當復位按鍵沒有被按下的時候電路實現上電復位,在芯片正常工作后 ,通過按下按鍵使RST管腳出現高電平達到手動復位的效果。
復位電路圖如圖所示。
圖4 復位電路圖
EA/VPP(31 腳)的功能和接法:
51 單片機的EA/VPP(31 腳) 是內部和外部程序存儲器的選擇管腳。當EA 保持高電平時,單片機訪問內部程序存儲器;當EA保持低電平時,則不管是否有內部程序存儲器,只訪問外部存儲器。
對于現今的絕大部分單片機來說,其內部的程序存儲器(一般為flash容量都很大,因此基本上不需要外接程序存儲器,而是直接使用內部的存儲器。
在本實驗套件中,EA 管腳接到了VCC 上,只使用內部的程序存儲器。這一點一定要注意,很多初學者常常將EA 管腳懸空,從而導致程序執行不正常。
P0口外接上拉電阻:
51 單片機的P0 端口為開漏輸出,內部無上拉電阻。所以在當做普通I/O 輸出數據時,由于V2 截止,輸出級是漏極開路電路,

要使“1”信號(即高電平)正常輸出,必須外接上拉電阻,如圖所示。
圖5 P0口外接上拉電阻
另外,避免輸入時讀取數據出錯,也需外接上拉電阻。在這里簡要的說下其原因:在輸入狀態下,從鎖存器和從引腳上讀來的信號一般是一致的,但也有例外。例如,當從內部總線輸出低電平后,鎖存器Q = 0, Q = 1,場效應管V1 開通,端口線呈低電平狀態。此時無論端口線上外接的信號是低電平還是高電平,從引腳讀入單片機的信號都是低電平,因而不能正確地讀入端口引腳上的信號。又如,當從內部總線輸出高電平后,鎖存器Q = 1, Q = 0,場效應管V1 截止.如外接引腳信號為低電平, 從引腳上讀入的信號就與從鎖存器讀入的信號不同。所以當P0口作為通用I/O 接口輸入使用時,在輸入數據前,應先向P0 口寫“1”,此時鎖存器的Q 端為“0”,使輸出級的兩個場效應管V1、V2 均截止,引腳處于懸浮狀態,才可作高阻輸入。
總結來說:為了能使P0 口在輸出時能驅動NMOS 電路和避免輸入時讀取數據出錯,需外接上拉電阻。在本實驗套件中采用的是外加一個10K 排阻。此外,51 單片機在對端口P0—P3 的輸入操作上,為避免讀錯,應先向電路中的鎖存器寫入“1”,使場效應管截止,以避免鎖存器為“0”狀態時對引腳讀入的干擾。
3.4、粉塵傳感器電路設計
根據粉塵傳感器GP2Y1010AU的規劃書中對管腳的描述:
對應的管腳為:

故粉塵傳感器的電路設計如圖:
粉塵傳感器GP2Y1010AU通過對空氣粉塵顆粒濃度的檢測輸出模擬電壓,其
值與粉塵濃度成正比。故在仿真原理圖中,我們用可變電阻設計的局部限壓電路代替傳感器:
3.5、A/D轉換

ADC0832的封裝機管腳說明:
CS_:片選使能,低電平芯片使能。
CH0:模擬輸入通道 0,或作為 IN+/-使用。
CH1:模擬輸入通道 1,或作為 IN+/-使用。
GND:芯片參考 0 電位(地)。
DI:數據信號輸入,選擇通道控制。
DO:數據信號輸出,轉換數據輸出。
CLK:芯片時鐘輸入。
Vcc/REF:電源輸入及參考電壓輸入(復用)

電路設計如圖所示:
3.6、LCD顯示模塊設計

系統中采用LCD1602作為顯示器件輸出信息。與傳統的LED數碼管顯示器件相比,液晶顯示模塊具有體積小、功耗低、顯示內容豐富等優點,而且不需要外加驅動電路,根據各管腳的功能電路設計如下:

仿真電路圖:
3.7、按鍵電路
本次設計的按鍵電路使用了單片機的P3.3,P3.4,P3.5三個口。
設計如下圖:
3.8、報警電路

本次設計的報警電路的控制輸出使用了單片機的P3.6口,設計如下:
3.9、污染級別提醒電路和程序下載電路
根據不同的濃度范圍提醒當前污染級別的電路,采用了綠,黃,紅三個LED燈,使用了單片機的P2.2,P2.1,P2.0實現提醒功能,設計如下:
為方便程序的燒錄,單片機的程序下載電路設計如下:
第四章、程序設計及軟件應用
4.1、主程序設計
主程序代碼:
/*****主函數*****/
void main(void)
{
InitTimer(); //初始化定時器
LED=1;
LED2=1;
LED3=1;
LED4=1;
BEEP=0;
lcd_init(); //初始化顯示
delay1ms(100);
lcd_init(); //初始化顯示
delay1ms(100);
while(1)
{
checkkey(); //按鍵檢測
if(set_st==0)
{
wr_com(0x0c);
if(FlagStart==1) //1次數據采集完成
{
num++;
ADC_Get[num]=abc;
if(num>9)
{
num=0;
DUST=Error_Correct(ADC_Get,10); //求取10次AD采樣的值
DUST_Value=(DUST/256.0)*5000; //轉化成電壓值MV
DUST_Value=DUST_Value*0.17-0.1; //固體懸浮顆粒濃度計算 Y=0.17*X-0.1 X--采樣電壓V
if(DUST_Value<0) DUST_Value=0;
if(DUST_Value>760) DUST_Value=760; //限位
DUST=(uint)DUST_Value;
}
TL0 = (65536-10000)/256;
TH0 = (65536-10000)%256;
TR0 = 1; //開啟定時器0
EA = 1;
FlagStart=0;
}
Alarm(); //報警檢測
}
disp(DUST); //顯示粉塵濃度值
baojing(); //顯示報警值
if(set_st==1) //報警值閃動
{
wr_com(0xca);
wr_com(0x0d);
delay1ms(150);
}
}
}/*****END*****/
說明:詳細子函數請見附錄3

主程序框圖:
4.2、主要子函數的設計
除主程序外,程序設計中還定義了一些函數,方便主程序調用,主要有液晶初始化程序,顯示函數,報警顯示,報警子函數,按鍵檢測函數,A/D轉換函數,中值濾波等。以下主要介紹A/D轉換函數。
單片機對ADC0832 的控制原理:
正常情況下ADC0832 與單片機的接口應為 4條數據線,分別是 CS、CLK、DO、DI。但由于 DO端與 DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO 和 DI并聯在一根數據線上使用。(見圖 3)當 ADC0832未工作時其CS 輸入端應為高電平,此時芯片禁用,CLK 和
DO/DI 的電平可任意。當要進行 A/D轉換時,須先將 CS使能端置于低電平并
且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯
片時鐘輸入端 CLK 輸入時鐘脈沖,DO/DI 端則使用 DI端輸入通道功能選擇的
數據信號。在第 1 個時鐘脈沖的下沉之前 DI端必須是高電平,表示啟始信號。
在第 2、3 個脈沖下沉之前 DI端應輸入 2位數據用于選擇通道功能,其功能項
見下表 。
如表 1 所示,當此 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 進行轉換數據的讀取。從第4個脈沖下沉開始由 DO端輸出轉換數據最高位DATA7,隨后每一個脈沖下沉 DO端輸出下一位數據。直到第11個脈沖時發出最低位數據 DATA0,一個字節的數據輸出完成。也正是從此位開始輸出下一個相反字節的數據,即從第 11個字節的下沉輸出 DATD0。隨后輸出 8位數據,到第 19 個脈沖時數據輸出完成,也標志著一次 A/D 轉換的結束。最后將 CS置高電平禁用芯片,直接將轉換后的數據進行處理就可以了。

更詳細的時序說明請下表:
作為單通道模擬信號輸入時ADC0832的輸入電壓是 0~5V且8位分辨率時的電壓精度為 19.53mV。如果作為由 IN+與 IN-輸入的輸入時,可是將電壓值設定在某一個較大范圍之內,從而提高轉換的寬度。但值得注意的是,在進行 IN+與 IN-的輸入時,如果 IN-的電壓大于 IN+的電壓則轉換后的數據結果始終為00H。

ADC0832 數據讀取程序流程:
實際程序設計代碼為:
/***********AD0832轉換程序******************/
uchar ADC0832(bit mode,bit channel) //AD轉換,返回結果
{
uchar i,dat,ndat;
ADCS = 0;//拉低CS端
_nop_();
_nop_();
ADDI = 1; //第1個下降沿為高電平
ADCLK = 1;//拉高CLK端
_nop_();
_nop_();
ADCLK = 0;//拉低CLK端,形成下降沿1
_nop_();
_nop_();
ADDI = mode; //低電平為差分模式,高電平為單通道模式。
ADCLK = 1;//拉高CLK端
_nop_();
_nop_();
ADCLK = 0;//拉低CLK端,形成下降沿2
_nop_();
_nop_();
ADDI = channel; //低電平為CH0,高電平為CH1
ADCLK = 1;//拉高CLK端
_nop_();
_nop_();
ADCLK = 0;//拉低CLK端,形成下降沿3
ADDI = 1;//控制命令結束(經試驗必需)
dat = 0;
//下面開始讀取轉換后的數據,從最高位開始依次輸出(D7~D0)
for(i = 0;i < 8;i++)
{
dat <<= 1;
ADCLK=1;//拉高時鐘端
_nop_();
_nop_();
ADCLK=0;//拉低時鐘端形成一次時鐘脈沖
_nop_();
_nop_();
dat |= ADDO;
}
ndat = 0; //記錄D0
if(ADDO == 1)
ndat |= 0x80;
//下面開始繼續讀取反序的數據(從D1到D7)
for(i = 0;i < 7;i++)
{
ndat >>= 1;
ADCLK = 1;//拉高時鐘端
_nop_();
_nop_();
ADCLK=0;//拉低時鐘端形成一次時鐘脈沖
_nop_();
_nop_();
if(ADDO==1)
ndat |= 0x80;
}
ADCS=1;//拉高CS端,結束轉換
ADCLK=0;//拉低CLK端
ADDI=1;//拉高數據端,回到初始狀態
if(dat==ndat)
return(dat);
else
return 0;
}
4.3、keil的應用
Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。 Keil C51軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹Keil C51開發系統各部分功能和使用。Keil_c軟件界面如圖:
該軟件是一款集編程和仿真于一體的軟件,它支持匯編、C語言及二者的混合編程。
4.4、protel99se的應用
Protel99SE是PORTEL公司在80年代末推出的EDA軟件。Protel99SE是應用于Windows9X/2000/NT操作系統下的EDA設計軟件,采用設計庫管理模式,可以網設計,具有很強的數據交換能力和開放性及3D模擬功能,是一個32位的設計軟件,可以完成電路原理圖設計,印制電路板設計和可編程邏輯器件設計等工作,可以設計32個信號層,16個電源--地層和16個機加工層。
Protel99SE軟件的特點:
- 可生成30多種格式的電氣連接網絡表;
- 強大的全局編輯功能;
- 在原理圖中選擇一級器件,PCB中同樣的器件也將被選中;
- 同時運行原理圖和PCB,在打開的原理圖和PCB圖間允許雙向交叉查找元器件、引腳、網絡
- 既可以進行正向注釋元器件標號(由原理圖到PCB),也可以進行反向注釋(由PCB到原理圖),以保持電氣原理圖和PCB在設計上的一致性;
- 滿足國際化設計要求(包括國標標題欄輸出,GB4728國標庫);
- 方便易用的數模混合仿真(兼容SPICE 3f5);
- 支持用CUPL語言和原理圖設計PLD,生成標準的JED下載文件;
- PCB可設計32個信號層,16個電源-地層和16個機加工層;
- 強大的“規則驅動”設計環境,符合在線的和批處理的設計規則檢查;
- 智能覆銅功能,覆鈾可以自動重鋪;
- 提供大量的工業化標準電路板做為設計模版;
- 放置漢字功能;
- 可以輸入和輸出DXF、DWG格式文件,實現和AutoCAD等軟件的數據交換;
- 智能封裝導航(對于建立復雜的PGA、BGA封裝很有用);
- 方便的打印預覽功能,不用修改PCB文件就可以直接控制打印結果;
4.5、Proteus的應用
Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列處理器,并持續增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MATLAB等多種編譯器。
它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。
主界面及仿真效果如下:
Proteus主界面
仿真圖
第五章、設計的應用及相關實驗
5.1、PM2.5簡介
PM2.5是指大氣中直徑小于或等于2.5微米的顆粒物,也稱為可入肺顆粒物。它的直徑還不到人的頭發絲粗細的1/20。雖然PM2.5只是大氣成分中含量很少的組分,但它對空氣質量和能見度等有重要的影響。與較大的大氣顆粒物相比,PM2.5粒徑小,富含大量的有毒、有害物質且在大氣中的停留時間長、輸送距離遠,因而對人體健康和大氣環境質量的影響更大。2012年2月,國務院同意發布新修訂的《環境空氣質量標準》增加了PM2.5監測指標。
PM,英文全稱為particulate matter(顆粒物)。科學家用PM2.5表示每立方米空氣中這種顆粒的含量,這個值越高,就代表空氣污染越嚴重。可吸入顆粒物又稱為PM10,指直徑大于2.5微米、等于或小于10微米,可以進入人的呼吸系統的顆粒物;總懸浮顆粒物也稱為PM100,即直徑小于或等于100微米的顆粒物
PM2.5 即細顆粒物,細顆粒物又稱細粒、細顆粒、PM2.5。細顆粒物指環境空氣中空氣動力學當量直徑小于等于 2.5 微米的顆粒物。它能較長時間懸浮于空氣中,其在空氣中含量濃度越高,就代表空氣污染越嚴重。雖然PM2.5只是地球大氣成分中含量很少的組分,但它對空氣質量和能見度等有重要的影響。與較粗的大氣顆粒物相比,PM2.5粒徑小,面積大,活性強,易附帶有毒、有害物質(例如,重金屬、微生物等),且在大氣中的停留時間長、輸送距離遠,因而對人體健康和大氣環境質量的影響更大。
2013年2月,全國科學技術名詞審定委員會將PM2.5的中文名稱命名為細顆粒物。細顆粒物的化學成分主要包括有機碳(OC)、元素碳(EC)、硝酸鹽、硫酸鹽、銨鹽、鈉鹽(Na+)等。
5.1、PM2.5的主要來源
顆粒物的成分很復雜,主要取決于其來源。主要有自然源和人為源兩種,但危害較大的是后者。在學術界的分為一次氣溶膠(Primary aerosol)和二次氣溶膠(Secondary aerosol)兩種。
自然源:
自然源包括土壤揚塵(含有氧化物礦物和其他成分)海鹽(顆粒物的第二大來源,其組成與海水的成分類似)、植物花粉、孢子、細菌等。自然界中的災害事件,如火山爆發向大氣中排放了大量的火山灰,森林大火或裸露的煤原大火及塵暴事件都會將大量細顆粒物輸送到大氣層中。
人為源:
人為源包括固定源和流動源。固定源包括各種燃料燃燒
源,如發電、冶金、石油、化學、紡織印染等各種工業過程、供熱、烹調過程中燃煤與燃氣或燃油排放的煙塵。流動源主要是各類交通工具在運行過程中使用燃料時向大氣中排放的尾氣。
PM2.5可以由硫和氮的氧化物轉化而成。而這些氣體污染物往往是人類對化石燃料(煤、石油等)和垃圾的燃燒造成的。在發展中國家,煤炭燃燒是家庭取暖和能源供應的主要方式。沒有先進廢氣處理裝置的柴油汽車也是顆粒物的來源。燃燒柴油的卡車,排放物中的雜質導致顆粒物較多。
在室內,二手煙是顆粒物最主要的來源。顆粒物的來源是不完全燃燒、因此只要是靠燃燒的煙草產品,都會產生具有嚴重危害的顆粒物,使用品質較佳的香煙也只是吸煙者的自我安慰,甚至可能因為臭味較低,而造成更大的危害;同理也適用于金紙燃燒、焚香及燃燒蚊香。但是炒菜5分鐘,PM2.5增加20倍系誤讀。
大氣化學反應:
除自然源和人為源之外,大氣中的氣態前體污染物會通過大氣化學反應生成二次顆粒物,實現由氣體到粒子的相態轉換。如:
其中氣態硫酸來自OH自由基氧化二氧化硫SO2的氣態反應。[2]鹽的水合物:如xCl·yH2O、xNO3·yH2O、xSO4·yH2O,隨著濕度的變化,水合物對PM2.5的影響較大,水不僅與鹽化合物生成水合物,由于濕度的改變還形成了鹽的微小溶液液滴。
5.2、PM2.5的現狀及常用數據
我國城市環境空氣顆粒物污染呈現多類型污染的態勢,可以分為:傳統的煤煙型,如烏魯木齊、蘭州、太原等(尤其是冬季);煤煙、揚塵和機動車混合型,如鄭州、石家莊等;復合型,如北京、天津、廣州等。隨著經濟的迅猛發展,國外數十年發生的大氣污染問題在我國多個城市集中出現,呈現復合、壓縮形態。目前我國超過2/3的城市空氣質量不達標,已進入大范圍生態退化和復合性環境污染的階段。如果不采取有效的控制措施,國內的大部分城市最終都將發展成為復合型的顆粒物污染狀態。PM2.5是表征大氣復合型污染的首要污染物。
如今,中國已成為PM2.5污染最嚴重的地區之。
常用指標及數據:
細顆粒物的標準,是由美國在1997年提出的,主要是為了更有效地監測隨著工業化日益發達而出現的、在舊標準中被忽略的對人體有害的細小顆粒物。細顆粒物指數已經成為一個重要的測控空氣污染程度的指數。
到2010年底為止,除美國和歐盟一些國家將細顆粒物納入國標并進行強制性限制外,世界上大部分國家都還未開展對細顆粒物的監測,大多通行對PM10進行監測。
PM2.5檢測網空氣質量新標準:
根據PM2.5檢測網的空氣質量新標準,24小時平均值標準值分布如下:
空氣質量等級 | 24小時PM2.5平均值標準值 |
優 | 0~35 |
良 | 35~75 |
輕度污染 | 75~115 |
中度污染 | 115~150 |
重度污染 | 150~250 |
嚴重污染 | 大于250  及以上 |
世界衛生組織(WHO)2005年《空氣質量準則》 |
項目 | 年均值 | 日均值 |
準則值 | 10 | 25 |
過渡期目標1 | 35 | 75 |
過渡期目標2 | 25 | 50 |
過渡期目標3 | 15 | 37.5 |
5.2、設計主要用途及應用的場景
5.2.1、主要用途本設計主要可用于室內和戶外的空氣質量(主要是PM2.5)的檢測,可調節的報警濃度的設計,可用于長期檢測和提醒PM2.5濃度。
5.2.2、應用場景辦公室空氣檢測和提醒,公共場合控煙,空調和通風口處監測,氣象臺,觀測站,馬路口監測為期排量
5.3、應用設計進行的相關實驗及結論分析
5.3.1、實驗一 :東湖公園檢測測 (單位:毫克/立方米)
5.3.2、實驗二:路口檢測(單位:毫克/立方米)
5.3.3、實驗三:常見生活場景檢測 (單位:毫克/立方米)
5.3.4、檢測分析實驗一可以看出,在樹木植被比較好的地方可以達到凈化空氣的效果,由于記錄數據的三天為端午小長假,公園的車流和人流都比較多,但是晚上PM2.5值開始下降,說明了植被有助于凈化空氣。
實驗二是去了兩個車流量不一的兩個地點比較,后者車流量大,PM2.5數值較高,兩個地點均出現早晚數值較高,原因可能是因為早晚車流的高峰期引起的。
實驗三責驗證了該設計在日常生活中可以用于對我們進場處在的生活場景進行監測,數據結果都還算比較良好。
5.3.5、應對方法治理方法:多植樹,減少機動車的排放量,促進清潔能源開發,監督工廠排放等
生活應對霧霾方法:1、霧霾天氣少開窗,最好不出門或晨練;2、外出戴專業防塵口罩;3、多喝桐桔梗茶、桐參茶、桐桔梗顆粒、桔梗湯等“清肺除塵”茶飲;4、少量補充維生素D ;5、飲食清淡多喝蜂蜜水;7、盡量減少吸煙甚至不吸煙。
第六章、總結
隨著霧霾天氣的肆虐,我們有理由且必要的做一些措施來注意我們身邊空氣的PM2.5,而本設計這是基于這點,應用所學的知識,制作一個經濟,簡單,實用的多功能PM2.5濃度檢測儀。
在設計中GP2Y1010AU0F粉塵傳感器采集空氣中PM2.5的濃度值,經過AT89C52單片機處理后,在LCD1602液晶上顯示,并且設置一個報警值,檢測的PM2.5濃度值超過報警值后,蜂鳴器報警,報警值可以用按鍵手動調節。另外,該設計在實時檢測濃度的同時,根據當前檢測濃度亮起相應的燈,直觀的能告知觀測者當前的濃度。
在本設計中,主要的難點在于傳感器的實用和A/D轉換,需要閱讀相應的資料才能做出設計,對于資料的應用和學習能力是很重要,這也算是這次設計給我帶來的鍛煉。
當然在設計完成后,本著一開始設計的實用性的出發點,進行了三個檢測試驗,一方面檢測設計的可操作性和實用性,另一方面也是讓自己對PM2.5的產生有了直觀的了解。
最后很高心能夠通過自己的努力,運用所學順利完成了該設計。
致謝
本論文是在余老師的悉心指導下完成的。余老師專業知識淵博,耐心細致的教導,在老師的點撥下,完善了設計的相關功能,在老師的幫助下,解決了在制作設計遇到的各種難題,除了專業知識,余老師也教會了在今后的職業生涯中也要做到謙虛,謹慎,認真的態度,在此衷心的感謝余老師的教導和幫助。
非常感謝三年來把我領進門,手把手耐心教授我們知識的各位老師,正是你們的教導,學生今天才能運用自己的所學去設計并完成相關的作品。
感謝學校對我的培養,學生深知作為一名深職學子的榮譽,使命和責任,感謝學校讓我能有這份能力去面對未來職業生涯的挑戰!
參考文獻
[1] 劉宏斌.我國PM2.5的現狀與防治對策.武漢:湖北經濟學院學報.2012.
[2] 王幸之,鐘愛琴.AT89系列單片機原理與接口技術.北京:北京航空航天大學出版社.2004.
[3] 鄭鋒,王巧芝.51單片機應用系統典型模塊開發大全.北京:中國鐵道出版社.2011.
[4] ATMEL.8-bit Microcontroller with 8K Bytes In-System Programmable Flash AT89S52.1999
[5] 李全利.單片機原理及應用技術.北京:高等教育出版社.2009.
[6] 羅亞萍.基于AT89S52單片機的室內有害氣體監控系統.山西電子技術.2011.
[7] 范紅剛,魏學海.51單片機自學筆記.北京:北京航空航天大學出版社.2010.
[8] 楊將新,李華軍.單片機程序設計及應用從基礎到實踐.北京.機械工業出版社.2006.
[9] 李維提,郭強.液晶顯示應用技術.北京:電子工業出版社.2006. [15] 李學海.經典[10]8051單片機輕松入門與上手.北京:清華大學出版社.2009
[11]夏普粉塵傳感器GP2Y1010AU0F使用說明
[10]A/D轉換芯片ADC0832產品規格書
附錄
附錄1. 原件清單

附錄2. 原理圖
附錄3 程序源代碼(見附件)