

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 1 引言</b></p><p> 在工業(yè)生產(chǎn)中,溫度是最基本的檢測參數(shù)之一,溫度的檢測和控制直接和安全生產(chǎn)、產(chǎn)品質(zhì)量、生產(chǎn)效率、節(jié)約能源等重大技術(shù)指標相聯(lián)系。隨著半導(dǎo)體技術(shù)的發(fā)展,以單片機為主題,將計算機技術(shù)與測量控制技術(shù)結(jié)合起來組成的智能儀表在生產(chǎn)中得到了廣泛的應(yīng)用。這些智能儀器自身帶有微處理器,在結(jié)構(gòu)上自成一體,能獨立進行測試,使用靈活方便。然而在實際
2、工業(yè)生產(chǎn)活動中常常包含許多工業(yè)參數(shù)需要測量,如:溫度、濕度、壓力、水位、流量等,單獨使用溫度計、濕度計、壓力計等分別測量溫度、濕度、壓力等等生產(chǎn)現(xiàn)場的工藝參數(shù)已經(jīng)不能適應(yīng)生產(chǎn)和生活的需要。數(shù)字式智能多路巡檢儀可以測量多個傳感器數(shù)據(jù),通過巡回顯示方式,在單臺儀表上可以顯示多個數(shù)據(jù),因而可有效節(jié)省成本。</p><p> 隨著電子技術(shù)的飛躍發(fā)展,數(shù)據(jù)采集巡回檢測已成為日益重要的檢測技術(shù),廣泛應(yīng)用于工農(nóng)業(yè)等需要同時檢
3、測溫度、濕度和壓力等場合。數(shù)據(jù)采集是工業(yè)控制等系統(tǒng)中的重要環(huán)節(jié),普通電路已無法滿足日常生活及工業(yè)的控制需求,通常采用一些功能相對獨立的單片機系統(tǒng)來實現(xiàn),作為測控系統(tǒng)不可缺少的部分,數(shù)據(jù)采集的性能特點直接影響到整個系統(tǒng),日益增大的市場需求,需要我們在這個方面做出更大的努力,因而需要一套完善的解決方案。該設(shè)計正是從生產(chǎn)需要出發(fā),低成本的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計,配以不同的傳感器完成各類數(shù)據(jù)的采集、顯示、控制與數(shù)據(jù)匯總保存。因此,數(shù)字式智能多路
4、巡檢儀具有十分廣闊的現(xiàn)實市場和潛在的市場要求。</p><p> 2 AT89C51單片機與傳感器</p><p> 2.1 AT89C51單片機的主要性能參數(shù)</p><p> AT89C51是一種低功耗,高性能的片內(nèi)含有4KB快閃可編程/擦除只讀存儲器的8位COMS微控制器,使用高密度,非易失存儲技術(shù)制造,并且與80C51引腳和指令系統(tǒng)完全兼容。芯片上的
5、FPEROM允許在線編程或采用通用的非易失存儲編程器對存儲器重復(fù)編程[1]。</p><p> 2.2 AT89C51單片機的結(jié)構(gòu)及特點</p><p> AT89C51采用40引腳的雙列直插式封裝(DIP)形式,內(nèi)部由CPU,4 KB的ROM,256B的RAM,2個16位的定時/計數(shù)器T0和T1,4個8位的I/O端口和一個全雙工串行通信口等部分組成。AT89C51單片機具有系統(tǒng)結(jié)構(gòu)
6、簡單,成本低,可靠性高,低功耗等特點。特別是內(nèi)部集成了4KB的FLASH程序存儲器,使單片機系統(tǒng)的結(jié)構(gòu)更加簡單,也使其得到了廣泛的應(yīng)用。同時,它還具有高級語言編程的特點,指令豐富,軟件開發(fā)簡單[2]。</p><p> 綜上所述AT89C51單片機是一款性價比很高的單片機芯片,特別適合于儀器儀表的應(yīng)用。所以本課題主要基于AT89C51單片機,設(shè)計一個多路傳感器數(shù)據(jù)的測量與顯示儀表。</p><
7、;p><b> 2.3 傳感器 </b></p><p> 2.3.1 溫度傳感器 </p><p> 由于在工業(yè)生產(chǎn)中,溫度是最基本的檢測參數(shù)之一,溫度的檢測和控制直接和安全生產(chǎn)、產(chǎn)品質(zhì)量、生產(chǎn)效率、節(jié)約能源等重大技術(shù)指標相聯(lián)系。</p><p> 用于溫度檢測的傳感器有熱電偶、熱電阻和半導(dǎo)體集成溫度傳感器。熱電偶價格便宜,
8、但需要冷端補償、電路設(shè)計復(fù)雜。熱電阻是中低溫區(qū)最常用的一種溫度檢測器。它的主要特點是測量精度高,性能穩(wěn)定,測量范圍廣,構(gòu)造簡單,使用方便。其中鉑熱是阻的測量精確度是最高的,它不僅廣泛應(yīng)用于工業(yè)測溫,而且被制成標準的基準儀。半導(dǎo)體集成溫度傳感器的主要特點是測溫誤差小、微功耗、適合遠距離測溫、線性度好、外圍電路簡單等[3]。</p><p> 綜上所述本次設(shè)計是從生產(chǎn)需要出發(fā),低成本的多路數(shù)據(jù)采集系統(tǒng)的設(shè)計,配以不
9、同的傳感器完成各類數(shù)據(jù)的采集、顯示、控制與數(shù)據(jù)匯總保存,單機實現(xiàn)</p><p> 過去多臺儀器儀表所具備的功能。</p><p><b> 系統(tǒng)硬件設(shè)計</b></p><p> 3.1 系統(tǒng)整體設(shè)計方案</p><p> 本設(shè)計采用8路輸入,每路輸入能支持多種形式的傳感器接入:電阻式(如:熱電阻)、毫伏信號
10、(如:熱電偶)及標準信號輸入(如:1~5VDC,4~20mA),對于不同傳感器接入信號,能進行軟件整定與校正;采用4個操作按鈕,6位數(shù)碼管作為顯示,其中4位數(shù)碼管用于顯示數(shù)據(jù),2位數(shù)碼管顯示功能號或通道號;對每個通道,傳感器參數(shù)與工程參數(shù)都可以通過鍵盤設(shè)定。通常情況下,儀表自動循環(huán)顯示多路數(shù)據(jù),也可通過鍵盤固定顯示任一路數(shù)據(jù)。</p><p><b> 硬件總體結(jié)構(gòu):</b></p&
11、gt;<p> 硬件部分是整個儀表的重要部分,其設(shè)計的好壞直接影響到整機的性能,本儀器以AT89C51單片機為核心。整個硬件系統(tǒng)分為以下幾個模塊:傳感器模擬信號采集處理模塊,A/D轉(zhuǎn)換模塊,鍵盤及顯示模塊,單片機系統(tǒng)模塊及報警控制模塊。</p><p><b> 圖1. 系統(tǒng)方框圖</b></p><p> 3.2 多路信號采集模塊</p&
12、gt;<p> 3.2.1 模擬信號放大電路</p><p> 由于有些傳感器的輸出電流或電壓不足以進行A/D處理,需要對信號進行轉(zhuǎn)換和放大。由于LM324四運算放大電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價格低廉等優(yōu)點,因此本設(shè)計采用LM324作為運算放大器。模擬信號放大電路如下圖所示。</p><p> 圖2. 模擬信號放大電路</p>&
13、lt;p> 放大倍數(shù)為1+Rf/R=1+10=11。通過增加或去掉電阻R6可分別接收電流與電壓信號。</p><p> 3.2.2 多路信號采集通道的選擇</p><p> 在本設(shè)計中,輸入信號為8路的模擬信號,這就需要多通道結(jié)構(gòu)。本系統(tǒng)采用多路分時的模擬量輸入通道。</p><p> 這種結(jié)構(gòu)的模擬量通道特點為:</p><p&
14、gt;<b> 對ADC要求高。</b></p><p><b> 處理速度慢。</b></p><p><b> 硬件簡單,成本低。</b></p><p><b> 軟件比較復(fù)雜。</b></p><p> 圖3. 多路信號采集框圖</
15、p><p> 3.2.3 多路信號采集的實現(xiàn)</p><p> 本設(shè)計系統(tǒng)為八路的溫度信號采集,而ADC0804僅為一路輸入,故采用CD4051組成多路分時的模擬量信號采集電路,其硬件接口如圖所示</p><p> 圖4. 多路模擬輸入電路圖</p><p> 3.2.4 多路模擬開關(guān)CD4051</p><p&g
16、t; 多路開關(guān),又稱“多路模擬轉(zhuǎn)換器”。多路開關(guān)通常有n個模擬量輸入通道和一個公共的模擬輸入端,并通過地址線上不同的地址信號把n個通道中任一通道輸入的模擬信號輸出,實現(xiàn)有n線到一線的接通功能。反之,當模擬信號有公共輸出端輸入時 ,作為信號分離器,實現(xiàn)了1線到n線的分離功能。因此,多路開關(guān)通常是一種具有雙向能力的器件[4]。</p><p> 所以本設(shè)計選用CD4051多路開關(guān),它是一種單片、COMS、8通道開
17、關(guān)。該芯片由DTL/TTL-COMS電平轉(zhuǎn)換器,帶有禁止端的8選1譯碼器輸入,分別加上控制的8個COMS模擬開關(guān)TG組成。</p><p> 3.2.5 多路模擬開關(guān)工作原理</p><p> CD4051作為8選1功能時,若A、B、C均為邏輯“0”(INH=0),則地址碼00013經(jīng)譯碼后使輸出端OUT/IN和通道0接通。其它情況下,輸出端OUT/IN輸出端OUT/IN和各通道的
18、接通關(guān)系如下:</p><p> 表1. CD4051八路通道關(guān)系表</p><p> 3.3 A/D轉(zhuǎn)換模塊</p><p> 為了把溫度、濕度等信號采集電路測出的模擬信號轉(zhuǎn)換成數(shù)字信號送CPU處理,本系統(tǒng)選用了A/D轉(zhuǎn)換器ADC0804,它精度高,速度快。由于ADC0804芯片只有一路輸入,而本系統(tǒng)檢測的多路信號輸入,故選用多路選擇電子開關(guān)CD4051,
19、可輸入多路模擬量。</p><p> 3.3.1 ADC0804主要技術(shù)指標</p><p> (1) 高阻抗狀態(tài)輸出</p><p> (2) 分辨率:8 位(0~255)</p><p> (3) 存取時間:135 ms</p><p> (4) 轉(zhuǎn)換時間:100 ms</p><p
20、> (5) 總誤差:-1~+1LSB</p><p> (6) 工作溫度:ADC0804C為0度~70度;ADC0804L為-40 度~85 度</p><p> (7) 模擬輸入電壓范圍:0V~5V</p><p> (8) 參考電壓:2.5V</p><p> (9) 工作電壓:5V</p><p>
21、; (10) 輸出為三態(tài)結(jié)構(gòu)</p><p> 3.3.2 ADC0804特點及工作原理</p><p> 模數(shù)轉(zhuǎn)換采用ADC0804,對輸入模擬量要求:信號單極性,電壓范圍是0-5V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在輸入前增加采樣保持電路[5]。ADC0804有20個引腳,其中11-18管腳為數(shù)字信號輸出端,與單片機P1口
22、相連;cs為片選端,接單片機P3.5口,WR接P3.6口, RD接單片機P3.7口。CLK為時鐘輸入信號線, 因ADC0804的內(nèi)部有時鐘電路,只要在外部“CLK R”和“CLK IN”兩端外接一電阻電容即可產(chǎn)生A/D轉(zhuǎn)換所要求的時鐘。通常使用2.5V作為為參考電壓輸入。INTR為中斷控制信號,接單片機外部中斷端口,當A/D轉(zhuǎn)換完后向單片機發(fā)出中斷信號,等待讀走數(shù)字信號,INTR也空可置不接,因為當啟動A/D后一段時間后模數(shù)轉(zhuǎn)換完后,等
23、待一段時間后單片機也可以讀走數(shù)字量。</p><p> 圖5. 多路模擬開關(guān)及A/D轉(zhuǎn)換電路圖</p><p> 3.4 單片機系統(tǒng)模塊</p><p> 3.4.1 AT89C51單片機的基本功能</p><p> AT89C51具有以下標準功能: 4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位
24、定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其他所有部件工作指導(dǎo)下一個硬件復(fù)位[6]。</p><p> 3.4.2 AT89C51單片機基本工作電路<
25、/p><p> AT89C51單片機正常工作,必須連接基本電路。基本電路包括晶振電路和復(fù)位電路[7]。</p><p><b> 1.晶振電路</b></p><p> 單片機的時鐘信號通常有兩種產(chǎn)生方式:一是內(nèi)部時鐘方式,二是外部時鐘方式。內(nèi)部時鐘方式是利用單片機內(nèi)部的振蕩電路產(chǎn)生時鐘信號。外部時鐘方式是把外部已有的時鐘信號引入到單片機內(nèi)。
26、本設(shè)計所采用的是內(nèi)部時鐘方式。</p><p> 在單片機的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振),作為單片機內(nèi)部振蕩電路的負載,構(gòu)成自激振蕩器,可在單片機內(nèi)部產(chǎn)生時鐘脈沖信號。C1和C2可以穩(wěn)定振蕩頻率,并使快速起振。本電路選用晶振12MHz,C1=C2=30pF。</p><p><b> 2.復(fù)位電路</b></p><p&g
27、t; 復(fù)位是使單片機處于某種確定的初始狀態(tài)。單片機工作從復(fù)位開始。在單片機RST引腳引入高電平并保持2個機器周期,單片機就執(zhí)行復(fù)位操作。復(fù)位操作有兩種基本方式:一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。本設(shè)計采用了后一種復(fù)位電路。</p><p> 當RST獲得高電平,隨著電容C3的充電,RST引腳的高電平將逐漸下降。若該高電平能保持足夠2個機器周期,就可以實現(xiàn)復(fù)位操作。選擇C3=10µF,R
28、1=10KΩ[7]。</p><p> 圖6. AT89C51單片機管腳及基本工作電路圖</p><p> 3.5 鍵盤顯示模塊</p><p> 本設(shè)計鍵盤顯示模塊采用4個操作按鈕,6位數(shù)碼管作為顯示。其中4位數(shù)碼管用于顯示數(shù)據(jù),2位數(shù)碼管顯示功能號或通道號;對每個通道,傳感器參數(shù)與工程參數(shù)都可以通過鍵盤設(shè)定。通常情況下,儀表自動循環(huán)顯示多路數(shù)據(jù),也可通過鍵
29、盤固定顯示任一路數(shù)據(jù)。</p><p> 3.5.1 鍵盤控制電路設(shè)計</p><p> 鍵盤控制電路由按鍵及其接口構(gòu)成,鍵盤是單片機最簡單的輸入設(shè)備。常用鍵盤分為獨立式鍵盤和矩陣式鍵盤[8]。</p><p> 本系統(tǒng)的輸入控制簡單,采用獨立式鍵盤及接口電路。輸入電路由4個按鈕開關(guān)、4個10歐的限流電阻組成;鍵掃描識別采用軟件查詢的方法。</p>
30、;<p> 圖7. 鍵盤輸入控制電路</p><p> 表2. 四個獨立鍵盤對應(yīng)功能表</p><p> S2 模式切換鍵 自動循環(huán)顯示與固定顯示切換</p><p> S3 參數(shù)設(shè)定鍵 傳感器參數(shù)設(shè)定</p><p> S
31、4 參數(shù)設(shè)定鍵 工程參數(shù)設(shè)定</p><p> S5 通道切換鍵 切換固定顯示通道</p><p> 3.5.2 LED顯示器的簡介</p><p> LED顯示器是由發(fā)光二極管組成,其中7個發(fā)光二極管按“8”行排列,用于顯示數(shù)字,字母等符號,一個發(fā)
32、光二級管圓點形狀,右下角用于顯示小數(shù)點,LED顯示器共陰極和共陽極兩種類型。</p><p> 當發(fā)光二極管導(dǎo)通時,相應(yīng)的一段筆畫成小數(shù)點亮,對共陰極顯示器,將共陰極COM接地,在a_q段加驅(qū)動信號,當驅(qū)動信號是高電平時,相應(yīng)段發(fā)光;對共陽極顯示器,將共陽極COM極接高電平,在a_q段幾加驅(qū)動信號,當驅(qū)動信號是低電平時,相應(yīng)段發(fā)光,從而顯示相應(yīng)字符。不同的顯示字符其驅(qū)動代碼是不一樣的,發(fā)光二極管每段流過5mA的
33、平均電流就可以有較滿意的亮度,最大電流不得超過30A,由于發(fā)光二極管是電流驅(qū)動設(shè)備,一般的I/O接口驅(qū)動能力是都是有限的,在發(fā)光二極管與接口芯片間要接驅(qū)動電路,常用的CMOS或TTL驅(qū)動器有:74LS164, CD4094等。</p><p> 3.5.3 LED顯示電路原理</p><p> 采用LED數(shù)碼管顯示。在單片機應(yīng)用系統(tǒng)中LED顯示器有動態(tài)和靜態(tài)兩種顯示方式,所謂的靜態(tài)顯
34、示方式就是需要在顯示的字符各段通過連續(xù)的電流,動態(tài)顯示方式就是需要顯示的字符斷續(xù)通過電流,對于動態(tài)顯示,當需要顯示多個字符時輪流給每個字符通以電流,由于輪流的速度很快,發(fā)光二極管的余輝以及人的視覺暫留等因素,雖然在同一時刻只有一個顯示器通電,但人們看起來都是所有的顯示器都穩(wěn)定的顯示。</p><p> 動態(tài)顯示的特點是:單片機既要控制數(shù)碼管的公共端又要控制各段發(fā)光二極管。各數(shù)碼管的相應(yīng)顯示發(fā)光二極管的段選信號都
35、并聯(lián)起來,接單片機的同一個I/0口,單片機控制數(shù)碼管公共端的信號,稱為位選信號,控制數(shù)碼管各顯示字段的信號稱為段選信號,需要在哪些數(shù)碼管上顯示,先輸出位選信號,選中該數(shù)碼管,再輸出段選信號,顯示一位字符,需要顯示每個字符時,用掃描的方法,依次向各個數(shù)碼管輸出位選信號和段選信號,顯然每一瞬間只有一個數(shù)碼管點亮,但由于掃描頻率高,所以看上去,就好象所有的數(shù)碼管都同時點亮(20ms掃描一次)[9]。</p><p>
36、 3.5.4 LED顯示電路的設(shè)計</p><p> 在本系統(tǒng)中,需要顯示6位數(shù)字,顯示數(shù)字位數(shù)較多,而且需要循環(huán)顯示。綜合比較靜態(tài)顯示方式和動態(tài)顯示方式,同時結(jié)合本設(shè)計的實際情況,選擇動態(tài)顯示方式。顯示模塊中,單片機AT89C51的P0.0-P0.7端作為數(shù)據(jù)輸出,連接到兩個鎖存器74HC573對應(yīng)的輸入端D0-D7。6位數(shù)碼管段選線并聯(lián)在一起與其中一個鎖存器U1的Q0-Q7端相連,6為數(shù)碼管位選與另一個鎖
37、存器U2的Q0-Q5端相連。鎖存器U1的鎖存端與單片機P2.6端相連,鎖存器U2的鎖存端與單片機P2.7端相連。</p><p> 圖8. LED顯示電路</p><p> 3.6 報警控制模塊</p><p> 在實際應(yīng)用中,為了安全生產(chǎn),對于一些重要的參數(shù)或系統(tǒng)部位,都設(shè)有緊急狀態(tài)報警系統(tǒng),以便提醒操作人員注意,或采取緊急措施。其方法就是把計算機采集的
38、數(shù)據(jù)或記過計算機進行數(shù)據(jù)處理、數(shù)字濾波,標度變換之后,與該參數(shù)上下限給定值進行比較,如果高于上限值(或低于下限值)則進行報警,否則就作為采樣的正常值,進行顯示。</p><p> 3.6.1 報警控制電路結(jié)構(gòu)</p><p> 報警控制電路由單片機AT89C51的P3.3端作輸出,通過一個限流電阻與三極管C945的基極相連接。三極管C945集電極連接壓電蜂鳴器(BUZZER)的一端。
39、壓電蜂鳴器的另一端連接電源。報警控制電路如下圖所示。</p><p> 圖9. 報警工作電路</p><p> 3.6.2 報警控制電路工作過程</p><p> ?。?)壓電蜂鳴器工作原理</p><p> 壓電蜂鳴器以壓電陶瓷制作而成。壓電陶瓷是一類有將壓力與電流相互轉(zhuǎn)換能力的特殊陶瓷。當壓電陶瓷在一定方向上受到一個壓力使其晶體結(jié)
40、構(gòu)發(fā)生形變時,它就會在內(nèi)部產(chǎn)生一個電流,電流的變化與壓力的變化密切相關(guān)。反之,當在壓電陶瓷上加上一定頻率的電壓,就會在內(nèi)部產(chǎn)生一定頻率的電流,從而就會引起壓電陶瓷微小形變,這一形變帶動空氣發(fā)生振動。如果頻率適當,就產(chǎn)生蜂鳴聲,可以被人耳所聽見[10]。</p><p> ?。?)報警控制電路工作過程</p><p> 報警控制信號由單片機AT89C51的P3.3端輸出,通過一個限流電阻加
41、到三極管C945的基極。當P3.3端的輸出信號發(fā)生變化時,則三極管C945將交替的工作于截止、飽和狀態(tài),形成高低電平的波,從而使壓電蜂鳴器發(fā)出聲音。</p><p><b> 4 系統(tǒng)軟件設(shè)計</b></p><p> 4.1 系統(tǒng)總體軟件設(shè)計</p><p> 在本程序的設(shè)計中,A/D轉(zhuǎn)換是通過每次轉(zhuǎn)換完成后單片機延時接收轉(zhuǎn)換結(jié)果,
42、并將轉(zhuǎn)換結(jié)果送入處理器的存儲器中保存;因為在硬件結(jié)構(gòu)時,就采用了獨立鍵盤的結(jié)構(gòu),所以鍵盤子程序采用查詢方式,以保證處理器始終都在監(jiān)視鍵盤的動作;顯示子程序采用單獨的子程序,作為主程序的調(diào)用子程序,以保證LED管的連續(xù)顯示。主程序流程圖如圖10。</p><p> 將鍵盤查詢子程序和顯示調(diào)用子程序作為它的程序運行的循環(huán)環(huán)節(jié);A/D轉(zhuǎn)換中斷處理子程序,采用中斷處理程序,保持了檢測信號的不斷及時更新;顯示子程序直接通
43、過單片機的端口,不停的送出字位顯示和字數(shù)的顯示;鍵盤處理子程序,鍵盤采用獨立鍵盤,在有鍵按下時,首先判斷那個鍵按下,然后根據(jù)相應(yīng)的鍵作出相應(yīng)的處理,在此程序中,鍵盤采用的是脈沖式按鍵方式,按鍵按下一下,處理器作出一次相應(yīng)的回應(yīng),當采集信號超過報警值時,蜂鳴器發(fā)出報警。</p><p> 圖10. 主程序流程圖</p><p> 4.2 信號采集分析模塊軟件設(shè)計</p>
44、<p> 4.2.1 信號采集控制邏輯</p><p> 將傳感器輸出經(jīng)調(diào)整后的模擬電壓輸入轉(zhuǎn)換器進行A/D轉(zhuǎn)換,采用ADC0804其操作時序圖如下</p><p> 圖11. ADC0804控制信號時序圖</p><p> 由ADC0804 的時序可以知道,轉(zhuǎn)換過程由一個寫信號啟動,轉(zhuǎn)換完成后,輸出INTR信號,此時可以讀取數(shù)據(jù)。之后可以進入下
45、一個轉(zhuǎn)換周期。由ADC0804 的轉(zhuǎn)換時間可知,其最大采集頻率為10KHZ,只要用戶設(shè)置的采樣頻率不超過這個數(shù)值,ADC0804 就可以正常的工作。綜合以上考慮,設(shè)計時要注意兩點:(1)寫信號的頻率要低于ADC0804 的最大轉(zhuǎn)換頻率。(2)在寫信號之后至少要有100us 的時延,才能輸出讀信號。 在此,提出兩種方法來實現(xiàn)ADC0804 的控制信號時序:(1)主動模式,在這種模式下,控制電路啟動A/D 轉(zhuǎn)換
46、后,在INTR 信號的作用下,輸出讀信號,同時從ADC0804 的數(shù)據(jù)總線上讀入數(shù)據(jù),之后輸出一個寫信號,開始下一次轉(zhuǎn)換。由于這種方式是異步進行的,讀寫信號彼此之間交互的產(chǎn)生,因此,能夠滿足上面提出的兩點要求。采用這種方式,其難易程度與ADC0804 外部電路的接法密切相關(guān)。(2)被動模式,在這種模式下,ADC0804 的讀寫信號完全由控制電路按照固定的時序產(chǎn)生,與其自身輸出無關(guān)。采用這種方式,可以不考慮ADC0804 的輸出,讀寫信
47、號的產(chǎn)生只是用到了</p><p> 4.2.2 ADC0804轉(zhuǎn)換及數(shù)據(jù)的讀取</p><p> ADC0804用脈沖啟動信號。AT89C51發(fā)出指令使CS和WR同為低電平時,A/D轉(zhuǎn)換被啟動,ADC0804開始工作。A/D轉(zhuǎn)換被啟動而在WR上升沿后100μs完成數(shù)模轉(zhuǎn)換,同時INTR自動變?yōu)榈碗娖?,表示本次轉(zhuǎn)換已經(jīng)結(jié)束。</p><p> 圖12. A/
48、D轉(zhuǎn)換流程圖</p><p> 89C51要接收ADC0804轉(zhuǎn)換后的數(shù)字信號。A/D轉(zhuǎn)換結(jié)束時,A/D轉(zhuǎn)換芯片輸出轉(zhuǎn)換結(jié)束信號。89C51A/D轉(zhuǎn)換結(jié)束后即可讀取轉(zhuǎn)換后數(shù)據(jù)。89C51一般可以采用3種方式和A/D轉(zhuǎn)換器進行聯(lián)絡(luò)來實現(xiàn)對轉(zhuǎn)換數(shù)據(jù)的讀取。本設(shè)計采用延時方式進行89C51和ADC0804間的數(shù)據(jù)讀取。采集數(shù)據(jù)時,首先89C51執(zhí)行一條傳送指令,在該指令執(zhí)行過程中,89C51在控制總線的同時產(chǎn)生CS、
49、WR低電平信號,啟動A/D轉(zhuǎn)換器工作,ADC0804經(jīng)100μs后將輸入的模擬信號轉(zhuǎn)換為數(shù)字信號存在輸出鎖存器中,并在INTR端產(chǎn)生低電平表示轉(zhuǎn)換結(jié)束。當89C51設(shè)定接收延時時間到時,立即執(zhí)行輸入指令,以產(chǎn)生CS、RD低電平信號到ADC0804相應(yīng)引腳,將數(shù)據(jù)取出。</p><p> A/D轉(zhuǎn)換子程序;ADC0804端口定義;****************************************
50、***** cs equ p3.6 ;定義AD的片選信號線 wr equ p2.0 ;定義AD的寫入數(shù)據(jù)線 rd equ
51、p3.7 ;定義AD的讀入數(shù)據(jù)線 out equ p1 ;定義AD轉(zhuǎn)換后的數(shù)字信號送P1口;=============================================</p><p> org
52、; 0000h ajmp main</p><p> org 004h</p><p> main:
53、0; ;主程序 lcall Start ;調(diào)啟動轉(zhuǎn)換子程序 lcall delay1ms ;延時1ms lcall read
54、0; ;調(diào)讀取轉(zhuǎn)換結(jié)果子程序 clr wr mov p0,a ;送P0口顯示當前AD轉(zhuǎn)換結(jié)果 ajmp main;*********************
55、************************;A/D轉(zhuǎn)換開始;*********************************************Start: clr cs ;選中ADC0804 nop
56、 clr wr nop setb wr nop setb cs nop ret;***********
57、**********************************;讀A/D 轉(zhuǎn)換結(jié)果</p><p> Read: mov out,#0ffh clr cs nop clr rd nop
58、60; nop mov a,out; nop setb rd nop setb cs ret;*********************************************; 延時1ms子程序;
59、*********************************************delay1ms: mov r1,#2tt1:</p><p> mov r0,#250 djnz r0,$ djnz r1,tt1 ret
60、 </p><p> 圖13. 信號采集子程序流程圖</p><p> 4.3 鍵盤與顯示模塊軟件設(shè)計</p><p> 4.3.1 鍵盤掃描子程序</p><p> 鍵盤掃描子程序?qū)Π聪碌逆I進行判斷,并轉(zhuǎn)到按下的相應(yīng)鍵對應(yīng)的程序段,執(zhí)行相應(yīng)的功能。</
61、p><p> 4.3.2 按鍵產(chǎn)生抖動原因及解決方案</p><p> 實際中,在按下某個鍵時,被按按鍵的彈簧總會有輕微的抖動。t1,t3分別是閉和和釋放的抖動時間,抖動時間的長短與按鍵的機械特性有關(guān),一般為5ms-20ms。為確保CPU對鍵的一次閉和僅做一次處理,必須去抖動,這可以分別通過軟件和硬件兩種方法實現(xiàn)。如果用硬件來實現(xiàn)去抖動,那就需要增加必要的元器件這樣就使得電路變的復(fù)雜,而
62、且也不經(jīng)濟,所以本設(shè)計選用了軟件去抖動的方法</p><p> 具體實現(xiàn)的方法就是,當CPU檢測到有按鍵按下后通過軟件延時(5ms-20ms)一段時間后再進行掃描,如果延時后檢測到仍然有鍵按下,這時才讀取鍵值并存入寄存器,從而達到了去抖動的效果。</p><p> 4.3.3 竄鍵的處理</p><p> 用戶在操作時常常因不小心同時按下了一個以上的按鍵的處
63、理一般用軟件的方法解決,也有用硬件方法實現(xiàn)的,但是用硬件的方法既復(fù)雜有不經(jīng)濟,而用軟件的方法只需幾行程序就能夠解決,所以在本設(shè)計中我選用了軟件的方法完成竄鍵的處理。</p><p> 在AT89C51單片機的數(shù)據(jù)存儲單元中預(yù)先設(shè)定了竄鍵標志寄存器。竄鍵標志寄存器在行掃描期間用于記錄被按按鍵個數(shù),故發(fā)生竄鍵時竄鍵標志必大于01H。CPU在行掃描時不以發(fā)生第一個被按按鍵為滿足,而是繼續(xù)完成對所有鍵的一遍掃描,并在該
64、鍵掃描結(jié)束后根據(jù)竄鍵標志來判斷是否發(fā)生竄鍵。如果未發(fā)現(xiàn)竄鍵,則CPU再進行一遍掃描就可以獲得最后放開鍵的鍵值了。從而解決了竄鍵的問題。</p><p> 圖15. 鍵盤掃描子程序流程圖</p><p> 4.3.4 顯示模塊軟件設(shè)計</p><p> 本設(shè)計采用6位數(shù)碼管作為顯示模塊,其中4位數(shù)碼管用于顯示數(shù)據(jù),2位數(shù)碼管顯示功能號或通道號。本設(shè)計數(shù)碼管采用
65、動態(tài)顯示,由兩個鎖存器分別控制數(shù)碼管段選與位選從而顯示所需數(shù)值。</p><p> 圖16. 顯示子程序流程圖</p><p> 4.4 報警控制電路軟件設(shè)計</p><p> 當采集的信號超過設(shè)定上下限時,P3.3輸出高電平信號“1”,晶體管導(dǎo)通,蜂鳴器獲得+5V電壓而鳴叫;當P3.3輸出低電平信號“0”時,三極管截止,蜂鳴器停止發(fā)聲。報警流程圖如下<
66、;/p><p> 圖17. 報警子程序流程圖</p><p> 4.5 多路數(shù)據(jù)巡回顯示</p><p> 圖18. 多路巡回顯示功能流程圖</p><p> 系統(tǒng)開始工作,判斷工作模式是否為掃描模式。當系統(tǒng)工作模式為指定顯示模式時,數(shù)碼管顯示所選擇通道的通道號與對應(yīng)通道的采集值。若工作模式為顯示模式則循環(huán)顯示8路通道的通道號與其對應(yīng)的
67、通道的采集值。模式的切換與通道號的選擇通過獨立鍵盤來完成。</p><p><b> 結(jié) 論</b></p><p> 數(shù)字式多路智能巡檢儀具有溫度、濕度、流量等信號的采集、顯示、簡單的人機對話及報警功能。它的可測范圍廣,適用性強,具有很大的實用價值。</p><p> 本系統(tǒng)主要用于采集、顯示和監(jiān)控被測數(shù)據(jù)信息,不具備控制調(diào)節(jié)功能。但
68、能夠進行硬件和軟件功能擴展。在硬件擴展后,通過軟件編程實現(xiàn)控制功能擴展。例如當被測數(shù)據(jù)達到一定值時,通過軟件編程進行判斷,從主控制器的一個I/O端口輸出一個控制指令,去驅(qū)動外部的控制電路工作,從而調(diào)節(jié)環(huán)境溫度、濕度、流量等使環(huán)境被測數(shù)據(jù)達到人們所需的要求。在工業(yè)、農(nóng)業(yè)等行業(yè)高度自動化的今天,環(huán)境信息的自動監(jiān)測控制越來越受到人們的重視,本產(chǎn)品將會有很好的市場推廣及應(yīng)用前景。</p><p><b> 致
69、 謝</b></p><p> 經(jīng)過幾個月的努力,在指導(dǎo)教師龔固豐的幫助下,順利完成了畢業(yè)設(shè)計。畢業(yè)設(shè)計是對大學四年所學知識的綜合運用,也是理論走向?qū)嵺`的第一步。在此設(shè)計過程中,擴展了知識面,增強了獨立思考和自學的能力,為以后走向工作崗位奠定了基礎(chǔ)。</p><p> 在此首先感謝母校的辛勤培育之恩;其次,感謝學院給我提供了很好的設(shè)計環(huán)境,使我的設(shè)計得以順利的進行。最后,
70、感謝設(shè)計指導(dǎo)老師——**,在題目選定、總體方案確立、資料收集與提供等方面給予了悉心指導(dǎo)和大力幫助,并對本系統(tǒng)的論文多次進行認真審閱、批注,提供了許多寶貴的修改意見。另外我還得到了同班同學的支持和幫助,對這些同學表示誠摯的謝意,也對參考書的作者表示感謝。</p><p><b> 參 考 文 獻</b></p><p> [1] 白駒珩,雷曉平.單片計算機及其應(yīng)用[
71、M]. 成都:電子科技大學出版社,1997</p><p> [2] 朱定華.單片機原理及接口技術(shù)[M].北京:電子工業(yè)出版社,2001年 </p><p> [3] 羅亞非.凌陽16位單片機應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學出版社,2003 </p><p> [4] 譚家玉.單片機原理及接口技術(shù)[M].哈爾濱:哈爾濱工業(yè)大學出版社,2003 </
72、p><p> [5] 王衛(wèi)東.模擬電子電路基礎(chǔ)[M]. 成都:西安電子科技大學出版社,2003 </p><p> [6] 謝自美.電子線路設(shè)計;實驗;測試[M]. 北京:華中科技大學出版社,2002 </p><p> [7] 李群芳,黃建.單片機微型計算機與接口技術(shù)[M]. 北京:電子工業(yè)出版社,2001</p><p> [8] 康
73、華光等.電子技術(shù)基礎(chǔ)模擬部分(第五版),高等教育出版社,2006.</p><p> [9] 陳杰,黃鴻.傳感器與檢測技術(shù)[M].北京:高等教育出版社,2002.8 </p><p> [10] 劉亮.先進傳感器及其應(yīng)用.北京:化學工業(yè)出版社,2005.4</p><p> [11] 楊亞極.HD_2001多路流量巡檢儀的研制,油氣田地面工程,21(2):87
74、-88,2002</p><p> [12] 高偉平,龍娟. 多回路智能溫控儀的研制, 計算技術(shù)與自動化,199,18(3)</p><p> [13] 謝自美.電子線路設(shè)計;試驗;測試 [M].武漢:華中科技大學出版社,2002</p><p> [14] 張愛民,林輝.四路智能溫度測控儀的設(shè)計,電子設(shè)計工程.2009.5</p><p&
75、gt; [15] 何橋.單片機原理及應(yīng)用[M],中國鐵道出版社.2004</p><p> [16] 樓然苗.51系列單片機設(shè)計實例[M],北京航空航天出版社,2003</p><p> [17] 李光飛.單片機課程設(shè)計實例指導(dǎo)[M].北京:北京航空航天大學出版社,2004:105-106.</p><p> [18] 周航慈.單片機程序設(shè)計基礎(chǔ)[M].北京
76、:北京航空航天大學出版社,2003.</p><p> [19] 戴伏生.基礎(chǔ)電子電路設(shè)計與實踐 國防工業(yè)出版社 2002.4</p><p> [20] 楊振江等.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應(yīng)用.西安電子科技大學出版社,2001.12</p><p> [21] 李志全等.智能儀表設(shè)計原理及應(yīng)用.國防工業(yè)出版社,1998.6</p>
77、<p> [22] 邵敏權(quán),劉剛.單片機原理實驗及應(yīng)用.吉林科學技術(shù)出版社,1995.1</p><p> [23] 李華. MCS-51系列單片機應(yīng)用接口技術(shù).北京航空航天大學出版,1993</p><p> [24] 沈德金,陳粵初.MCS-51系列單片機接口電路與應(yīng)用程序?qū)嵗本┖娇蘸教齑髮W出版社,1990</p><p> 附錄A 系
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于89c51單片機的智能小車設(shè)計
- 畢業(yè)設(shè)計--基于89c51單片機的測溫系統(tǒng)
- 基于89c51單片機的智能窗簾
- 基于89c51單片機的秒表設(shè)計
- 基于89c51單片機的數(shù)字電子鐘設(shè)計
- 基于at89c51單片機的數(shù)字式低頻信號發(fā)生器畢業(yè)設(shè)計
- 89c51單片機課程設(shè)計
- 【畢業(yè)設(shè)計】基于89c51單片機的步進電機控制系統(tǒng)設(shè)計
- 【畢業(yè)設(shè)計】基于89c51單片機的步進電機控制系統(tǒng)設(shè)計
- 畢業(yè)設(shè)計-基于at89c51單片機的數(shù)字時鐘設(shè)計
- 基于89c51單片機電子數(shù)字時鐘設(shè)計
- 基于89c51單片機的光控路燈設(shè)計
- 單片機基于89c51設(shè)計報告書
- 基于89c51單片機的秒表課程設(shè)計
- 基于89c51單片機小車超聲波測距畢業(yè)設(shè)計
- 課程設(shè)計-基于89c51單片機的數(shù)字溫度計設(shè)計
- 畢業(yè)設(shè)計---基于單片機89c51的ic卡識別(led顯示)
- 畢業(yè)設(shè)計---聲光顯示89c51單片機搶答器
- 基于89c51單片機的秒表課程設(shè)計
- 基于89c51單片機的開關(guān)電源設(shè)計
評論
0/150
提交評論