freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

工學(xué)]基于單片機的粉塵檢測儀控制程序設(shè)計-資料下載頁

2024-11-08 01:15本頁面

【導(dǎo)讀】量越來越成為社會的迫切要求。環(huán)境污染除廢氣、廢水外,顆粒狀粉塵、煙塵向大氣排。放所造成的空氣污染已成為一個十分突出的問題,所以空氣質(zhì)量的提高備受關(guān)注。及很多工礦企業(yè)的必備品。塵濃度的測定、環(huán)境環(huán)保監(jiān)測部門大氣飄塵檢測和污染源調(diào)查等。實現(xiàn)整個系統(tǒng)的功能。

  

【正文】 E:地址鎖存允許信號輸入端。 (以上兩種信號用于啟動 A/D轉(zhuǎn)換) . EOC:轉(zhuǎn)換結(jié)束信號輸出引腳,開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平。 OE:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。 CLK:時鐘信號輸入端(一般為 500KHz)。 A、 B、 C:地址輸入線。 (3) 對模擬量要求: 信號單極性,電壓范圍是 0- 5V,若 信號太小,必須進行放大;輸 入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣 保持電路。 (4) 引線功能: 地址輸入和控制線 :4條 ALE為地址鎖存允許輸入線,高電平有效。當(dāng) ALE線為高電平時,地址鎖存與譯碼器將 A, B, C三條地址線的地址信號進行鎖存,經(jīng)譯 碼后被選中的通道的模擬量進轉(zhuǎn)換器進行轉(zhuǎn)換。 A, B和 C為地址輸入線,用于選通 IN0- IN7上的一路模擬量輸入。模擬通道選擇如表 33所示 。 表 33 模擬信號輸入信道選擇 C B A 選擇的通道 0 0 0 IN0 0 0 1 IN1 0 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 數(shù)字量輸出及控制線 :11條 ST為轉(zhuǎn)換啟動信號。當(dāng) ST上跳沿時,所有內(nèi)部寄存器清零;下跳沿時,開始進行 A/D轉(zhuǎn)換;在轉(zhuǎn)換期間, ST應(yīng)保持低電平。 EOC為轉(zhuǎn)換結(jié)束信號。當(dāng) EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行 A/D轉(zhuǎn)換。 OE為輸出允許信號,用于控制三條輸出鎖存器向單片機輸出轉(zhuǎn)換得到的數(shù)據(jù)。 OE= 1,輸出 轉(zhuǎn)換得到的數(shù)據(jù);OE= 0,輸出數(shù)據(jù)線呈高阻狀態(tài)。 D7- D0為數(shù)字量輸出線。 CLK為時鐘輸入信號線。因 ADC0809的內(nèi)部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為 500KHZ, VREF(+), VREF(-)為參考電壓輸入。 基于單片機的粉塵檢測儀控制程序設(shè)計 21 ADC0809 的 工作 特性 由 ADC0809 的 內(nèi)部結(jié)構(gòu)和各 引腳的功能 知其工作特性如下 。 ( 1) ADC0809內(nèi)部帶有輸出鎖存器,可以與 AT89S52單片機直接相連。 ( 2)初始化時,使 ST和 OE信號全為低電平。 ( 3)送要轉(zhuǎn)換的哪一通道的地址到 A, B, C端口上 。 ( 4)在 ST端給出一個至少有 100ns寬的正脈沖信號。 ( 5)是否轉(zhuǎn)換完畢,我們根據(jù) EOC信號來判斷。 ( 6)當(dāng) EOC變?yōu)楦唠娖綍r,這時給 OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機了。 ADC0809 數(shù)據(jù)采集 時序圖 ADC0809數(shù)據(jù)采集及輸出控制信號時序如下圖 32所示 。 圖 32 ADC0809時序圖 數(shù)據(jù)采集流程圖 設(shè)計 本模塊數(shù)據(jù)采集流程圖如下圖 33所示 。 陜西科技大學(xué)畢業(yè)論文(設(shè)計說明書) 22 開 始設(shè) 置 模 擬 通 道 地 址輸 出 啟 動 信 號等 待讀 轉(zhuǎn) 換 結(jié) 果是 否 讀 取 完 數(shù) 據(jù)結(jié) 束Y修 改 模 擬 通 道 地 址N 圖 33 數(shù)據(jù)采集流程圖 信號采集 的程序 設(shè)計 本系統(tǒng)軟件設(shè)計采用 C語言編程, 所設(shè)計的 主要代碼 如下。 include define uchar unsigned char define uint unsigned int sbit ST=P3^0。 //模數(shù)轉(zhuǎn)換控制 位 設(shè)置 sbit OE=P3^1。 sbit EOC=P3^2。 unsigned char channel=0xbc。//選擇模數(shù)轉(zhuǎn)換器 IN3作為模擬信號輸入端 unsigned char value,n。 //************************************************ //自己設(shè)定短時間延時 //************************************************ void delay(uint a) { while (a)。 } 基于單片機的粉塵檢測儀控制程序設(shè)計 23 //********************************************** //數(shù)據(jù)采集函數(shù) //********************************************** void ad() { ST=0。 ST=1。 ST=0。 while(EOC==0)。 OE=1。 value=P0。 OE=0。 delay(200)。 } 該代碼完成的主要功能:定義了 A/D轉(zhuǎn)換器各狀態(tài)控制位工作的各個引腳和模擬信號的輸入通道;編寫了完整的數(shù)據(jù)采集的函數(shù),以便在主函數(shù)數(shù)據(jù)采集過程中對其進行調(diào)用。 數(shù)碼管顯示部分的程序設(shè)計 對于人機交互式單片機系統(tǒng)來說,不僅需要響應(yīng)用戶輸入,同時也需要將一些測控信息輸出顯示。這些顯示信 息可以提供實時的數(shù)據(jù)或圖形結(jié)果,以便于掌握系統(tǒng)的狀態(tài)并進行分析處理。目前,在單片機中最常用的是 LED數(shù)碼管顯示。其成本低廉、使用簡便,可以顯示數(shù)字或幾個特定的字符。 LED 數(shù)碼管的選擇 LED數(shù)碼管是由若干個發(fā)光二極管組成的顯示字段的顯示器件,一般簡稱為數(shù)碼管。當(dāng)數(shù)碼管中的某個發(fā)光二極管導(dǎo)通的時候,相應(yīng)的一個字段便發(fā)光,不導(dǎo)通的則不發(fā)光。LED數(shù)碼管可以根據(jù)控制不同組合的二極管導(dǎo)通,來顯示各種數(shù)據(jù)和字符。 單片機應(yīng)用系統(tǒng)中使用最多的是 7段 LED,其可以顯示十進制數(shù)字以及一些英文字符。 7段 LED顯 示模塊可以分為共陰極和共陽極兩種。 本模塊主要采用的是 4個 共陽極七段顯示數(shù)碼管: 7段共陽極 LED數(shù)碼管是由 7個條形發(fā)光二極管和一個小數(shù)點位構(gòu)成,其引腳配置,如 下 圖 34所示,其內(nèi)部結(jié)構(gòu),如 下 圖 34所示。從圖中可以看出,其中 7個發(fā)光二極管構(gòu)成字形“ 8”,可以用來顯示數(shù)字,另一個發(fā)光二極管構(gòu)成小數(shù)點。因此,這種數(shù)碼管有時也被稱為 8段 LED數(shù)碼管顯示器。 陜西科技大學(xué)畢業(yè)論文(設(shè)計說明書) 24 圖 34 共陽 7段 LED引腳配置及內(nèi)部結(jié)構(gòu)圖 顯示方式 的選擇 在實際的單片機應(yīng)用系統(tǒng)中,使用單個 LED數(shù)碼管的情況比較少,經(jīng)常需要同時使用多個 LED數(shù)碼管來顯示大于 1位的數(shù)據(jù)或字符串。以 4個 LED數(shù)碼管并列使用的情況為例。這 4個數(shù)碼管可以顯示 999~9999之間的任何數(shù)字,也可以同時顯示 4個字符構(gòu)成的字符串??梢娛褂枚鄠€ LED數(shù)碼管可以大大擴展顯示的信息量。 對于使用單個 LED數(shù)碼管的場合,直接用單片機的一個并行口便可以控制顯示。如果仍然采用這種方法來控制顯示 N個 LED數(shù)碼管顯然是不太可能的,因為典型的 8051單片機只有 4個 I/O并口,而 且有些 I/O口還需要用作其他用途。而對于一些多引腳的型號,通常也不夠為每個 LED分配一個 I/O并口用于顯示。 此時就需要使用另一種顯示方式; 動態(tài)顯示 : (1) 動態(tài)顯示是指每隔一段時間循環(huán)點亮每個 LED數(shù)碼管,每次只有一個 LED被點亮。根據(jù)人眼的視覺暫留效應(yīng),當(dāng)循環(huán)點亮的速度很快的時候,可以認為各個 LED是穩(wěn)定顯示的。 (2) 動態(tài)顯示的硬件連接比較簡單。本模塊 使用了 4個 LED數(shù)碼管,將所有 LED的 8段引腳并聯(lián)在一起,連接到 8位的 I/O數(shù)據(jù)總線上。而各個 LED的共陽極引腳分別由另一組 I/O口的其中四位 控制, 使用兩個 8位的 I/O端口便可以動態(tài)顯示 4個 8位 LED數(shù)碼管。其中一個并口作為 LED數(shù)碼管的控制引腳 (位選) ,另一個并口作為公共的數(shù)據(jù)總線 (段選) 。 (3) 程序中采用掃描顯示的方式,即在同一時刻,只使用一個 LED顯示數(shù)據(jù)。通過為 LED的公共引腳賦電平值 ,從而選擇某個 LED顯示。如此循環(huán),使每個 LED顯示該 LED應(yīng)顯示的數(shù)據(jù),并進行適當(dāng)?shù)难訒r,形成視覺暫留效果, 這樣便可以達到動態(tài)顯示的目的。 基于單片機的粉塵檢測儀控制程序設(shè)計 25 顯示接口 的程序 設(shè)計 由 LED的結(jié)構(gòu)及工作原理可知,要想在 LED上顯示數(shù)據(jù)或者字母,則首先必須要把待顯示的數(shù) 據(jù)或者字母轉(zhuǎn)換成 LED的 7位顯示代碼,方可顯示相應(yīng)的數(shù)字或者字母。通過實現(xiàn)這種轉(zhuǎn)換有兩種方法:一種是專用硬件譯碼器,另一種是專用軟件譯碼器。 本模塊采用“單片機軟件譯碼”來實現(xiàn)數(shù)碼管的動態(tài)顯示,因為本設(shè)計采集的粉塵濃度經(jīng)模數(shù)轉(zhuǎn)換 和單片機處理是以 三位的十進制數(shù) 表示的 ,所以 四個 LED數(shù)碼管足以顯示粉塵濃度,本模塊采用的 4個共陽 LED數(shù)碼管 ,因為 I/O口輸出驅(qū)動電流過小,所以每個數(shù)碼管的控制端接一個三極管對電流進行放大而使 LED工作,而控制各個數(shù)碼管的位選轉(zhuǎn)為控制 4個三極管的基極 使三極管導(dǎo)通時數(shù)碼管工作。 其中 P1口控制數(shù)碼管的段選, P2^0、 P2^ P2^ P2^3控制四個 LED數(shù)碼管的位選。 表 34列出了數(shù)碼管顯示數(shù)字與 P1口輸出段 碼之間的對應(yīng)關(guān)系。 表 34 數(shù)字顯示與輸出段碼之間的關(guān)系 顯示數(shù)字 0 1 2 3 4 5 6 7 8 9 輸出段碼 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 顯示 流程圖 設(shè)計 數(shù)碼管顯示流程圖如下圖 35所示 。 開 始初 始 化設(shè) 置 顯 示 模 式字 段 碼輸 出 到 數(shù) 碼 管顯 示 數(shù) 據(jù)輸 出 到 數(shù) 碼 管 圖 35 數(shù)碼管顯示流程圖 陜西科技大學(xué)畢業(yè)論文(設(shè)計說明書) 26 顯示 程序設(shè)計 本系統(tǒng)采用 C語言編程, 所設(shè)計的 主要代碼 如下所示 。 include define uchar unsigned char define uint unsigned int uchar table1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}。//段選 uchar table2[]={0xf7,0xfb,0xfd,0xfe}。 //位選 //********************************************** //自己設(shè)定短時間延時 //********************************************** void delay(uint a) { while (a)。 } //********************************************** //顯示函數(shù) //********************************************** void display(uchar value) { uchar l,m,s。 l=value/100。 m=l/10。 s=l%10。 while(1) { P2=table2[0]。 P1=table1[s]。 delay(100)。 P2=table2[1]。 P1=table1[m]。 delay(100)。 P2=table2[2]。 P1=table1[l]。 delay(100)。 基于單片機的粉塵檢測儀控制程序設(shè)計 27 } } 該段代碼主要由單片機通過 I/O口軟件控制數(shù)碼管的段選和位選,從而實現(xiàn)數(shù)碼管十進制數(shù)的動態(tài)顯示。 按鍵控制顯示轉(zhuǎn)換部分和蜂鳴器報警 部分程序設(shè)計 按鍵控制顯示轉(zhuǎn)換 程序設(shè)計 按鍵控制顯示轉(zhuǎn)換 部分 是用一個 獨立按鍵控制 顯示值 ,當(dāng)按鍵按下時,顯示粉塵濃度參考值, 當(dāng) 鍵盤處于釋放狀態(tài)時,顯示當(dāng)前采集到的粉塵濃度值。該獨立轉(zhuǎn)換按鍵經(jīng)過 P2^4口接入單片機,用 key0表示。 顯示 轉(zhuǎn)換程序 主要代碼 如下所示。 include define uchar unsigned char define uint unsigned int uchar xieyi=0xff。 //先給 P2口寫 1 sbit key0=P2^4。 //顯示轉(zhuǎn)換按鈕 sbit key1=P2^5。 sbit key2=P2^6。 sbit key3=P2^7。 sbit noise=P3^3。 //蜂鳴器控制位 void main() { uchar num1,num2,num3,num,value。 //設(shè)定比較值 // while(1) { key_scan1(key1,num1)。 key_scan1(key2,num2)。 key_scan1(key3,num3)。 num=num1
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1