版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、. . . . 摘要在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。其中,溫度控制也越來越重要。在工業(yè)生產(chǎn)的很多領(lǐng)域中,人們都需要對各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進行檢測和控制。采用單片機對溫度進行控制不僅具有控制方便、簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的控制問題。本設(shè)計是一個典型的智能電子系統(tǒng)設(shè)計。以AD590為采集器、89S51為處中央理器、空調(diào)機相應(yīng)電路,結(jié)合相關(guān)的元器件(共陰極LED數(shù)碼顯示器、BCD-鎖存/7段譯碼/ A/D轉(zhuǎn)
2、換器等)為執(zhí)行器來完成設(shè)計任務(wù)提出的溫度控制要求。該設(shè)計分總體方案設(shè)計、硬件設(shè)計、軟件設(shè)計、系統(tǒng)調(diào)試幾個部分,設(shè)計過程流暢,所設(shè)計的電路單元較為合理。該設(shè)計在硬件方案設(shè)計、單元電路設(shè)計、元器件選擇等方面較有特色。關(guān)鍵詞89C51單片機,AD590為采集器,LED數(shù)碼顯示器,A/D轉(zhuǎn)換器。36 / 36目錄摘要1第一章設(shè)計方案41.1設(shè)計任務(wù)41.2設(shè)計總方案4第二章硬件設(shè)計62.1 硬件各單元方案設(shè)計與選擇62.2單元電路設(shè)計10第三章軟件設(shè)計153.1 程序流程圖153.2 主程序清單193.3 系統(tǒng)調(diào)試25第四章設(shè)計主要芯片介紹274.1 89S51274.2 ADC0809294.3 A
3、D59032總結(jié)與體會36辭37參考文獻38第一章 設(shè)計方案1.1 設(shè)計方案任務(wù)設(shè)計一個空調(diào)機的溫度控制單元。用單片機技術(shù)與相應(yīng)仿真平臺進行開發(fā),通過數(shù)據(jù)采集系統(tǒng),對溫度進行采集并作A/D轉(zhuǎn)換,再傳輸給單片機。以空調(diào)機為執(zhí)行器件,通過單片機程序來完成對室溫度的控制。設(shè)計的主要要求如下:1, 溫度設(shè)定圍為-1045攝氏度,最小區(qū)分溫度為1攝氏度,標定溫度小于等于1攝氏度。2, 用二位十進制數(shù)碼顯示當前溫度。3, 能根據(jù)設(shè)定的溫度實現(xiàn)自動加熱或降溫處理。4, 設(shè)計出控制系統(tǒng)電路單元。1.2設(shè)計總方案選用89S51單片機為中央處理器,通過溫度傳感器對空氣進行溫度采集,將采集到的溫度信號傳輸給單片機,
4、再由單片機控制顯示器,并比較采集溫度與設(shè)定溫度是否一致,然后再驅(qū)動空調(diào)機的加熱或降溫循環(huán)對空氣進行處理,從而模擬實現(xiàn)空調(diào)溫度控制單元的工作情況??偡桨附Y(jié)構(gòu)圖1所示輸入部分顯示部分89S51A/D轉(zhuǎn)換器驅(qū)動控制驅(qū)動控制溫度傳感器(加熱)(制泠)空氣圖1 空調(diào)溫度控制單元結(jié)構(gòu)圖實現(xiàn)方案的技術(shù)路線為:用按鈕輸入標準溫度值,用LED實時顯示環(huán)境空氣溫度,用驅(qū)動電路控制壓縮機完成加熱和制冷空調(diào),用匯編語言完成軟件編程。第二章 硬件設(shè)計硬件設(shè)計部分將尋找單元電路最合適的設(shè)計方案,再進行單元電路設(shè)計,最后介紹所用到的特殊元器件。2.1硬件各單元方案設(shè)計與選擇2.1.1 溫度傳感部分要求對溫度和與溫度有關(guān)的參
5、量進行檢測,應(yīng)該考慮用熱電阻傳感器。按照熱電阻的性質(zhì)可以分為半導體熱電阻和金屬熱電阻兩大類,前者通常稱為熱敏電阻,后者稱為熱電阻。方案1采用熱敏電阻,這種電阻是利用對溫度敏感度的半導體材料制成,其阻值隨溫度變化有明顯的改變。負溫度系數(shù)熱敏電阻器通常是由錳,鈷的氧化物燒制成半導體瓷制成。其特點是,在工作溫度圍電阻阻值隨溫度的升高而降低。課滿足4090攝氏度測量圍,但熱敏電阻精度,重復性,可靠性比較差,不適用于檢測小于1攝氏度的信號,而且線性度很差,不能直接用于A/D轉(zhuǎn)換,應(yīng)該用硬件或軟件對其進行線性化補償。方案2采用溫度傳感器鉑電阻Pt1000.鉑熱電阻的物理化學性能在高溫和氧化性介質(zhì)中很穩(wěn)定,
6、它能用作工業(yè)測溫元件,且元件線性較好。在0100攝氏度時,最大非線性偏差小于0.5攝氏度。鉑熱電阻與溫度的關(guān)系式,Rt=R0(1+At+Bt.t);其中Rt是溫度為t攝氏度時的電阻;R0是溫度為0攝氏度時的電阻;t為任意電阻值,A,B為溫度系數(shù)。但其成本太貴,不適合做普通設(shè)計。方案3采用集成溫度傳感器,如常用的AD590和LM35。AD590是電流型溫度傳感器。這種傳感器以電流作為輸出量至室溫度,其典型的電流溫度靈敏度是1uA/K.它是二端器件,使用非常方便,作為一種高阻電流源,它不需要要個考慮傳輸線上的電壓信號損失和噪聲干擾問題,因此特別適合作為遠距離測量或控制用。另外,AD590也特別適合
7、用于多點溫度測量系統(tǒng),而不必考慮選擇開關(guān)或CMOS多路轉(zhuǎn)換開關(guān)所引起的附加電阻造成的誤差。應(yīng)用電路簡單,便于設(shè)計。方案選擇:選擇方案3 理由:電路簡單穩(wěn)定可靠,無須調(diào)試,與A/D連接方便。2.1.2 A/D轉(zhuǎn)換部分模/數(shù)轉(zhuǎn)化器是一種將連續(xù)的模擬量轉(zhuǎn)化成離散的數(shù)字量的一種電路或器件。模擬信號轉(zhuǎn)換為數(shù)字信號一般需要經(jīng)過采樣保持和量化編碼兩個過程。針對不同的采樣對象,有不同的A/D轉(zhuǎn)換器(ADC)可供選擇,其中有通用的也有專用的。有些ADC還包含其他功能,在選擇ADC器件時要考慮多種因素,除了關(guān)鍵參數(shù),分辨率和轉(zhuǎn)換速度以外,還應(yīng)考慮其他因素,如靜態(tài)與動態(tài)精度,數(shù)據(jù)接口類型,控制接口與定時,采樣保持性
8、能,基本要求,校準能力,通道數(shù)量,功耗,使用環(huán)境要求,封裝形式以與與軟件有關(guān)的問題。ADC按功能劃分,可以分為直接轉(zhuǎn)換和非直接轉(zhuǎn)換兩大類,其中非直接轉(zhuǎn)換又有逐次分級轉(zhuǎn)換和積分式轉(zhuǎn)換等類型。A/D轉(zhuǎn)換器在實際應(yīng)用時,除了要設(shè)計適當?shù)牟蓸?保持電路、基準電路和多路模擬開關(guān)等電路外,還應(yīng)根據(jù)時機選擇的具體芯片進行輸入模擬信號極性轉(zhuǎn)換等設(shè)計。方案1采用分級式轉(zhuǎn)化器,這種轉(zhuǎn)換采用兩步或多步進行分辨的閃爍是轉(zhuǎn)換,進而快速的完成“模擬-數(shù)字”信號的轉(zhuǎn)換,同時可以實現(xiàn)較高的分辨率。方案2采用雙積分型A/D轉(zhuǎn)換器。雙積分型A/D轉(zhuǎn)換器轉(zhuǎn)換精度高,但是轉(zhuǎn)換速度不太快,若用于溫度測量,不能與時地反映當前的溫度值,而
9、且多數(shù)雙積分型A/D轉(zhuǎn)換器其輸出端都不是二進制碼,而是直接驅(qū)動數(shù)碼管的。所以,若直接將其輸出端接I/O接口會給軟件設(shè)計帶來激動的不方便。方案3采用逐次逼近式轉(zhuǎn)換器,對于這種轉(zhuǎn)換方式,通常是用一個比較輸入信號與作為基準的n位DAC輸出進行比較,并執(zhí)行n次1位轉(zhuǎn)換這種方法類似于天平上的二進制砝碼稱量物質(zhì)。采用逐次逼近寄存器,輸入信號僅與最高位(MSB)比較,確定DAC的最高位(DAC滿量程的一半)。確定后結(jié)果(0或1)被鎖存,同時加到DAC上,以決定DAC的輸出(0或1/2)。逐次逼近型A/D轉(zhuǎn)換器,如ADC0809、AD574等,其特點是轉(zhuǎn)換速度快精度也比較高,輸出為二進制碼,直接接I/O口,軟
10、件設(shè)計方便。ADC0809芯片包含8位模/數(shù)轉(zhuǎn)換器、8通道多路轉(zhuǎn)換器與微控制兼容的控制邏輯。8通道多路轉(zhuǎn)換器能直接連通8個單端輸入信號中任何一個。由于ADC0809設(shè)計時考慮到若干種模/數(shù)轉(zhuǎn)換技術(shù)的優(yōu)點,所以該芯片非常適合于過程控制、微控制器輸入通道的結(jié)合口電路、智能儀器和機床控制等應(yīng)用場合,并且價格低廉,降低設(shè)計成本。方案選擇:選擇方案3 理由:用ADC0809采樣速度快,配合溫度傳感器應(yīng)用方便,價格低廉,降低設(shè)計成本。2.1.3數(shù)字顯示部分通常的LED顯示器有段或8段和“米”字段之分。這種顯示器有共陽極和共陰極兩種。共陰極LED顯示器的發(fā)光二極管的陰極連接在一起,通常此公陰極接地。當某個發(fā)
11、光二極管的陽極為高電平時,發(fā)光二極管點亮,相應(yīng)的段被顯示。同樣,共陽極LED顯示器的工作原理也是一樣的。方案1采用靜態(tài)顯示方式。在這種方式下,各位LED顯示器共陽極或共陰極連接在一起并接地或電源正,每位的段選線分別與一個8位的鎖存器輸出相連,各個LED的顯示符一經(jīng)確定,相應(yīng)鎖存器的輸出將維持不變,直到顯示另一個字符為止,正因為如此,靜態(tài)顯示器的亮度都較高。若用I/O口接口,這需要占用N.8位I/O口(LED顯示器的個數(shù)N)。這樣的話,如果顯示器的個數(shù)較多,那使用的I/O接口就更多,因此在顯示位數(shù)較多的情況下,一般都不用靜態(tài)顯示。方案2采用動態(tài)顯示方式。當多位LED顯示時,通常將所有位的段選線相
12、應(yīng)的并聯(lián)在一起,由一個8位I/O口控制,形成段選線的多路復用。而各位的共陽極或共陰極分別有相應(yīng)的I/O口控制,實現(xiàn)各位的分時選通。其中段選線占用一個8位I/O,而位選線占用N個I/O口(N為LED顯示器的個數(shù))。由于各位的選段線并聯(lián),段碼的輸出對各位來說都是一樣的,因此,同一時刻,如果各位選線都處于選通狀態(tài)的話,那LED顯示器將顯示一樣的字符。若要各位LED能顯示出與本位相應(yīng)的字符,就必須采用掃描顯示方式,即在某一時刻,只讓某一位的位選線處于選通狀態(tài),而其他各位的位選線處于關(guān)閉狀態(tài),同時,段選線上輸出端相應(yīng)位要顯示字符的段碼。這種顯示方式占用的I/O個數(shù)為8+N(N為LED顯示器的個數(shù)),相對
13、靜態(tài)顯示少了很多,但需要占用大量的CPU資源,當CPU處理別的事情時,顯示可能出現(xiàn)閃爍或者不顯示的情況。方案3采用移位寄存器擴展I/O口,只需要占用3個I/O口,即數(shù)據(jù)(DATE)、時鐘(CLOCK)、輸出使能(OUTPUT ENABLE),從理論上講就無限制地擴展I/O口,而且顯示數(shù)據(jù)靜態(tài)顯示,幾乎不占用CPU資源。采用擴展口后,又能采用靜態(tài)顯示,這樣,既解決了靜態(tài)顯示占用I/O口多的問題,也解決了動態(tài)顯示不穩(wěn)定、容易閃爍、占用CPU資源過多的問題。方案選擇:選擇方案3 理由:非常節(jié)約I/O口,又有靜態(tài)顯示的特點,亮度高,節(jié)約CPU的使用率。2.1.4加熱降溫驅(qū)動控制電路采用開關(guān)量控制,如繼
14、電器、雙向可控硅、光耦等??販乜焖?,但是雙向可控硅驅(qū)動電路比較麻煩,調(diào)試也麻煩,若用現(xiàn)成的固態(tài)繼電器(其實就是把雙向可控硅和驅(qū)動電路做在一起的)價格比較貴。若用繼電器時要注意其電感的反向電動勢,和開關(guān)觸點對電源的影響,以與開關(guān)脈沖對整個電路的影響等。應(yīng)該加入必要的防干擾的措施。方案1:采用單向晶閘管,這是一種大功率半導體器件,它既有單向?qū)щ姷恼髯饔?,又有可以控制開關(guān)作用。利用它可以用較小的功率控制較大功率。在交、直流電動機調(diào)速系統(tǒng)、調(diào)功系統(tǒng)、隨動系統(tǒng)和無觸點開關(guān)等方面均獲得了廣泛的應(yīng)用。這種晶閘管與二極管不同的是,當其兩端加上正向電壓而控制極不加電壓時,晶閘管并不導通,其正向電流很小,處于正
15、向阻斷狀態(tài);當加上正向電壓、且控制極上(與陰極)也加上一正向電壓時,晶閘管便進入導通狀態(tài),這時管壓降很?。?V左右)。這時即使控制電壓消失,仍然保持導通狀態(tài),所以控制電壓沒有必要一直存在,通常采用脈沖形式,以降低觸發(fā)功耗。它不具有自關(guān)斷能力,要切斷負載電流,只有使陽極電流減小到維持電流以下,或加上反向電壓實現(xiàn)關(guān)斷。若在交流回路中應(yīng)用,當電流過零和進入負半周時,自動關(guān)斷,為了使其再次導通,必須重加控制信號。方案2:采用光耦合雙向可控硅驅(qū)動電路,這種器件是一種單片機輸出與雙向可控硅之間較理想的接口器件,它由輸入和輸出兩部分組成,輸入部分是一個砷化鎵發(fā)光二極管,該二極管在5毫安-15毫安正向電流作用
16、下發(fā)出足夠強度的紅外光,觸發(fā)輸出部分。輸出部分是一個桂光敏雙向可控硅,在紅外線作用下可雙向?qū)?。光電耦合器也常用于較遠距離的信號隔離傳送。一方面光耦合可以起到隔離兩個系統(tǒng)地線線的作用,使兩個系統(tǒng)的電源相互獨立,消除地電位不同所產(chǎn)生的影響。另一方面,光耦合器的發(fā)光二極管是電流驅(qū)動器件,可以形成電流環(huán)路的傳送形式。由于電流環(huán)電路時低阻抗電路,對噪音的敏感度低,因此提高通訊系統(tǒng)的抗干擾能力。常用于有噪音干擾的環(huán)境里傳輸信號。方案選擇:選擇方案2 理由:達到同樣的加熱效果,開關(guān)控制容易,驅(qū)動簡單,通訊系統(tǒng)的抗干擾能力強。2.2單元電路設(shè)計2.2.1溫度采集電路溫度采集系統(tǒng)主要由AD590,OP07 ,
17、ICL8069組成。選用溫度傳感器AD590, AD590具體較高精度和重復性(重復性優(yōu)于0.1攝氏度,其良好的非線性可以保證優(yōu)于0.1攝氏度的測量精度,利用其重復性較好的特點,通過非線形補償,可以達到0.1攝氏度測量精度)。超低溫飄逸高精度運算放大器OP-07將“溫度-電壓”信號進行放大,便于A/D進行轉(zhuǎn)換,以提高溫度采集電路的可靠性。集成溫度傳感器的輸出形式分為電壓輸出和電流輸出兩種。電壓輸出型的靈敏度一般為10mv/k,溫度0攝氏度時輸出為0,溫度25攝氏度時輸出為2.982V。電流輸出型的靈敏度一般為1ua/k。這樣便于A/D轉(zhuǎn)換器采集數(shù)據(jù)。2.2.2 A/D轉(zhuǎn)換電路選用89S51作為
18、中央處理器,A/D轉(zhuǎn)換器選用ADC0809。 圖3 A/D轉(zhuǎn)換電路用單片機控制ADC時,多數(shù)采用查詢和中斷控制兩種方式。查詢法事在單片機把啟動命令送到ADC之后,執(zhí)行別的程序,同時對ADC的狀態(tài)進行查詢,以檢查ADC變換是否已經(jīng)完成,如查詢到變換已結(jié)束,則讀入轉(zhuǎn)換完畢的數(shù)據(jù)。中斷控制是在啟動信號送到ADC之后,單片機執(zhí)行別的程序。當ADC轉(zhuǎn)換轉(zhuǎn)換結(jié)束并向單片機發(fā)出中斷請求信號時,單片機響應(yīng)此中斷請求,進入終端服務(wù)程序,讀入轉(zhuǎn)換數(shù)據(jù),并進行必要的數(shù)據(jù)處理,然后返回到原程序。這種方法單片機無需進行轉(zhuǎn)換時間管理,CPU效率高,所以特別適合與變換時間較長的ADC。本設(shè)計采用查詢方式進行數(shù)據(jù)收集。由于A
19、DC0809片無時鐘,故利用8051提供的地址所存使能信號ALE經(jīng)D觸發(fā)器二分頻后獲得時鐘。因為ALE信號的頻率是單片機始終頻率的六分之一,如果始終頻率為6MHz,則ALE信號的頻率為1MHz,經(jīng)二分頻后為500kHZ,與AD0809時鐘頻率的典型值吻合。由于AD0809具有三態(tài)輸出鎖存器,故其數(shù)據(jù)輸出引腳可直接與單片機的數(shù)據(jù)總線相連。地址碼引腳ADDAC分別與地址總線的低三位A0,A1,A2相連,以選通IN0IN7中的一個通道。采用單片機的P2.7(地址總線最高位A15)作為A/D的片選信號。并將A/D的ALE和START腳連在一起,以實現(xiàn)在鎖存通道地址的同時啟動ADC0809轉(zhuǎn)換。啟動信號
20、由單片機的寫信號WR和P2.7經(jīng)或非門而產(chǎn)生。在讀取轉(zhuǎn)換結(jié)果時,用單片機的讀信號RE和P2.7經(jīng)或非門加工得到的正脈沖作為OE信號去打開三態(tài)輸出鎖存器。編寫的軟件按下列順序動作:令P2.7=A15=0,并用A0、A1、A2的組合制定模擬通道的地址;執(zhí)行一條輸出指令,啟動A/D轉(zhuǎn)換;然后根據(jù)所選用的是查詢、中斷、等待延時三種方式之一的條件去執(zhí)行一條輸入指令,讀取A/D轉(zhuǎn)換結(jié)果。ADC0809是一個8路8位逐次逼近的A/D轉(zhuǎn)換器。ADC0809的轉(zhuǎn)換時間為100us。在CPU發(fā)出啟動A/D命令后,便執(zhí)行一個固定的延時程序,延時時間應(yīng)略大于A/D的轉(zhuǎn)換時間;延時程序一結(jié)束,便執(zhí)行數(shù)據(jù)讀入指令,讀取轉(zhuǎn)
21、換結(jié)果。我們只用了其一路AD轉(zhuǎn)換,參考電壓2.56V,即一位數(shù)字量對應(yīng)10mV即1攝氏度。所以用起來很方便。2.2.3顯示電路顯示電路由P2.0 P2.1 和P2.2擔任.位控電流較大,每一位用一只小型PNP三極管連接在數(shù)碼管的倆個公共端,當P2.0 P2.1 和P2.2中的一個引腳為低電平時,相應(yīng)的數(shù)碼管就會顯示P1口送來的容圖5 顯示電路2.2.4驅(qū)動控制電路光耦合雙向可控硅驅(qū)動器是一種單片機輸出與雙向可控硅之間較理想的接口器件,它由輸入和輸出兩部分組成,輸入部分為砷化鎵發(fā)光二極管,該二極管在5ma15ma正向電流作用下發(fā)出足夠強度的紅外光,觸發(fā)輸出部分。輸出部分為硅光敏雙向可控硅,在紅外
22、線作用下可雙向?qū)?。該器件為六引腳雙列直插式封裝。光耦合器是以光為媒介傳輸電信號的一種“電-光-電”轉(zhuǎn)換器件。它由發(fā)光源和受光器兩部分組成。把發(fā)光源和受光器組裝在同一密閉的殼體,彼此間用透明絕緣體隔離。發(fā)光源的引腳為輸入端,受光器的因較為輸出端,常見的發(fā)光源為發(fā)光二極管,受光器為光敏二極管、光敏三極管等。光耦合器的種類較多,常見的有光電二極管型、光電三極管型、光敏電阻型、光控晶閘管型、光電達林頓型、集成電路型等。在光電耦合器輸入端加電信號使發(fā)光源發(fā)光,光的強度取決于激勵電流大小,此光照射到封裝在一起的受光器上后,因為電效應(yīng)而產(chǎn)生了光電流,有受光器輸出端引出,這樣就實現(xiàn)了“電-光-電”的裝換。在
23、光耦合器部,由于發(fā)光管和受光器之間的耦合電容很小,所以共模輸入電壓通過極間耦合電容對輸出電流的影響很小,因而共模抑制比很高。在發(fā)光二極管上提供一個偏置電流,再把信號電壓通過電阻耦合到發(fā)光二極管上,這樣光電晶體管接收到的是在偏置電流上增減變化的光信號,其輸出電流將隨輸入的信號電壓作線性變化。光電耦合器也可工作于開關(guān)狀態(tài),傳輸脈沖信號。在傳輸脈沖信號時,輸入信號和輸出信號之間存在一定的延時時間,不同結(jié)構(gòu)的光耦合器輸入、輸出延時時間相差很大??照{(diào)通電后,制冷系統(tǒng)制冷劑的低壓蒸汽被壓縮機吸入并壓縮為高壓蒸汽后排至冷凝器。同時軸流風扇吸入的室外空氣流經(jīng)冷凝器,帶走制冷劑放出的熱量,使高壓制冷劑蒸汽凝結(jié)為
24、高壓液體。高壓液體經(jīng)過濾器、節(jié)流機構(gòu)后噴入蒸發(fā)器,并在相應(yīng)的低壓下蒸發(fā),吸取周圍的熱量。同時貫流風扇使空氣不斷進入蒸發(fā)器的肋片間進行熱交換,并將放熱后變冷的空氣向室。如此室空氣不斷循環(huán)流動,達到降溫的目的。2.2.5 鍵盤電路采用獨立式按鍵設(shè)計,每個按鍵各接一根輸入線,一根輸入線上的按鍵工作狀態(tài)不會影響其他輸入線上的工作狀態(tài)。軟件設(shè)計采用查詢方式和外部中斷相結(jié)合的方法設(shè)計,低電平有效。按鍵直接與89S51的I/O口線相連接,通過讀I/O口,判定各I/O的電平狀態(tài),即可識別出按下的按鍵。4個按鍵分別接到P1.0、P1.1、P1.2、RST。對于這種鍵各程序可以采用中斷查詢的方法,功能就是:檢測是
25、否有鍵閉合,如有鍵閉合,則去除鍵抖動,判斷鍵號并轉(zhuǎn)入相信的鍵處理。其功能很簡單,4個鍵定義如下。P1.0:功能轉(zhuǎn)換鍵,按此鍵則開始鍵盤控制。P1.1:按此鍵則溫度設(shè)定加1度。P1.2:按此鍵則溫度設(shè)定減1度。RST:復位鍵,使系統(tǒng)復位。第三章 軟件設(shè)計軟件設(shè)計從主程序流程圖設(shè)計開始,一次編制出各子程序。3.1程序流程圖3.1.1主程序流程圖本設(shè)計主程序流程如圖6所示。程序啟動后,首先清理系統(tǒng)存,然后對溫度進行采集,并通過A/D轉(zhuǎn)換后,傳輸?shù)絾纹瑱C,再由單片機控制顯示設(shè)備,然后系統(tǒng)進入待機狀態(tài),等待鍵盤輸入設(shè)定溫度,然后系統(tǒng)將設(shè)定溫度與現(xiàn)在溫度進行比較,得出結(jié)果后,啟動制冷系統(tǒng)或是加熱系統(tǒng)。主程
26、序開始采集溫度和設(shè)定值比較鍵盤輸入設(shè)定值調(diào)顯示程度調(diào)A/D程度查詢溫度啟動加熱/降溫溫度采集和比較要控制溫度?與比較值相等?是否否是圖6 主程序流程圖3.1.2 A/D轉(zhuǎn)換子程序圖7是A/D轉(zhuǎn)換子程序流程圖。89S51給出一個脈沖信號啟動A/D轉(zhuǎn)換后,ADC0809對接受到的模擬信號進行轉(zhuǎn)換,這個轉(zhuǎn)換過程大約需要100us,系統(tǒng)采用的是固定延時程序,所以在預(yù)先設(shè)定的延時后,89S51直接從ADC0809中讀取數(shù)據(jù)。 A/D入口讀取轉(zhuǎn)換數(shù)據(jù)壓縮BCD碼作未壓縮處理查詢EOC啟動A/D轉(zhuǎn)換子程序結(jié)束調(diào)整好的十位和個位分別存入某地址單元圖7 A/D轉(zhuǎn)換子程序A/D轉(zhuǎn)換原則: 根據(jù)前向通道總誤差選精度
27、與分辨率 根據(jù)信號變化率選轉(zhuǎn)換速度 環(huán)境參數(shù) 微機接口要求3.1.3顯示子程序當系統(tǒng)傳送一個字節(jié)數(shù)給74LS164時,利用UART模式0。把DISPLAY-DATA中的初始數(shù)顯示到LED1和LED2,十位數(shù)值顯示到LED1,個位數(shù)值顯示到LED2;當是為數(shù)值為0時LED1不顯示。每個數(shù)值的顯示時間由DISPLAY-TIME確定。程序流程如圖8顯示子程序入口送設(shè)定值(70)到A帶C標志移位送采集值(71H)到A送C到I/O口帶C標志移位送C到I/O口(8次)字節(jié)送完?(8次)字節(jié)送完?是否否是子程序結(jié)束圖8顯示子程序流程圖3.2主程序清單主程序 ORG 0000H MOV P0,#0FFH ;初
28、始化 MOV P1,#00H MOV P2,#01011000B MOV P3,#0FFH CLR P3.4 LCALL DATAO8O9 ;調(diào)用AD MOV 70H ,#0FFH LCALL XS ;調(diào)用顯示 LCALL YS700MS ;調(diào)用延時 MOV A,6CH MOV P1,6CH LCALLY FY MOV P1,#09H LCALLY FY MAIN00:SETB P3.1 ;停止預(yù)置數(shù)DELAY43: MOV R6,#50DELAY53: MOV R7,#100DELAY63: P2.4,QIDONG DJNZ R7,DELAY63 DJNZ R6,DELAY53 DJNZ R
29、5,DELAY43 LCALLY DATA0809 LCALLY XS AJMP MAIN ;等待鍵盤輸入 LCALLY YS10S ;調(diào)用延時 LJMP STOPMAIN: MOV R5,#5O LCALLY KEYPROCTEMC:MOVP1, 00000001B 溫度控制請按1 LCALLY KEYPROC ;調(diào)用鍵盤子程序 CLR P3.6 LCALLY YS2MS CLR P3.7 LCALLY YS20MS CLR P3.6 LCALLY YS2MS CLR P3.7 LCALLY YS20MS LCALLY YY0 MOV R5,#50SRWD: MOV R4,#03HSRWD1
30、:MOV P2,#00000011B ;請輸入溫度值 LCALLY KEYPROC ;調(diào)用鍵盤子程序 CLR P3.6 LCALLY YS2MS CLR P3.7DELAY18: MOV R5,#53DELAY28: MOV R6,#50DELAY38: P2.3,HERE22 DJNZ R7,DELAY38 DJNZ R6,DELAY28 DJNZ R5,DELAY18 SETB P3.7 SETB P3.6 LCALLY YS20MS LCALLY DATA0809DELAY40: MOV R6,#50DELAY50: MOV R7,#200DELAY60: P2.3,HERE25 DJN
31、Z R7,DELAY60 DJNZ R6,DELAY50 DJNZ R5,DELAY40 DJNZ R4,TEML1 LJMP STOPHERE17: JNB P2.3,HERE17HERE25: LCALLY YS20MS MOV A,P3 ANL A,#0FHHERE26: P2.3,HERE26 CJNE A,#01H,BJ1 LCALL TEM AJMP TEMCBJ1: CJNE A,#02H,STOP AJMP SRWDSTOP: MOV P1,#00000010B ;按2鍵確定 LCALL KEYPROC ;調(diào)用鍵盤子程序 CLR P2.7 LCALLY YS20MS SETB
32、P2.7 AJMP QUDONGQUDONG: LCALL DATAO8O9 ;調(diào)用AD LCALL XS ;調(diào)用顯示 MOV A,70H CJNE A,#0FFH,AAA1 LJMP MAINAAA1: CJNE A,71H,HERE7 ;比較兩數(shù)大小不相等則跳CLR P1.6 ;清零兩口 CLR P1.7 AJMP DD1HERE7: JNC JIARE ;實時檢測 JC JIANGWENJIARE: SETB P1.7 CLR P1.6 AJMP DD1 JIANGWEN: SETB P1.6 CLR P1.7 AJMP DD1 LCALL DATAO8O9 ;調(diào)用AD MOV 70H,
33、#0FFH LCALL XS ;調(diào)用顯示 LCALL YS700MS ;調(diào)用延時DD1: MOV R5,#50DL11: MOV R6,#50DL21: MOV R7,#100DL31: P2.4,HERE8 DJNZ R7,Dl31 DJNZ R6,Dl21 DJNZ R5,Dl11 AJMP QUDONGHERE8: P2.4,AA1 AJMP DL3AA1: LCALL YS700MS P2.4,AA2 AJMP DL3AA2: LJMP MAINHERE9:LCALL YS10S ;調(diào)用延時DATA8870: MOV R5,#100 DELAY19: MOV R6,#50DELAY29
34、: MOV R7,#200DELAY39: P2.3,WAIT1 DJNZ R7,DELAY39 DJNZ R6,DELAY29 DJNZ R5,DELAY19 DJNZ R4,SRWD3 LJMP START ;重新復位啟動顯示子程序XS: MOV R0,#08HSTART: CLR P2.0 CLR P2.1 CLR P2.2 MOV A,70H LCALL YW MOV A,71H LCALL YW SETB P2.2 LCALL YS1MS RETYW: RLC A ;移位送數(shù) MOV P2.1,C CLR P2.0 SETB P2.0 DJNZ R0,YW MOV R0,#08H R
35、ETYY0: MOV R5,#74DELAY15: MOV R6,#50DELAY25: MOV R7,#200DELAY35: P2.3,HERE10 DJNZ R7,DELAY35 DJNZ R6,DELAY25 DJNZ R5,DELAY15 SETB P3.7 SETB P3.6 LCALL YS20MS RET 延時子程序YS2MS: MOV R6,#20HL11: MOV R7,#20HL22: DJNZ R7,L22 DJNZ R6,L11 RETYS700MS: MOV R5,#8DL1: MOV R6,#210DL2: MOV R7,#200DL3: DJNZ R7,DL3
36、DJNZ R6,DL2 DJNZ R5,DL1 RETYS20MS: MOV R6,#50YDL1: MOV R7,#200YDL2: DJNZ R7,YDL2 DJNZ R6,YDL1 RETYS10S: MOV R5,#100DELAY12: MOV R6,#140DELAY22: MOV R7,#200DELAY32: DJNZ R7,DELAY32 DJNZ R6,DELAY22 DJNZ R5,DELAY12 RETA/D轉(zhuǎn)換DATA0809: SETB P2.6 NOP NOP SETB P2.5 ;啟動AD NOP NOP CLR P2.5 HERE1: P2.6,HERE1 ;
37、低電平檢測HERE2: JNB P2.6,HERE2 ;數(shù)據(jù)調(diào)整 LCALL YSIMS MOV A,P0 ANL A,#O1111111B MOV B,#1OO DIV AB MOV A,B MOV B,#1O DIV AB MOV 6CH, A SWAP A MOV 6BH,B ORL A,6BH MOV 71H,A RET鍵盤子程序KEYPROC: MOV A,B ;從B寄存器中獲取鍵值 ACC.2,KEYSTART ;分析鍵的代碼,某位被按下,則該為1(因為在鍵 ;盤程序中已取反) ACC.3,KEYOVER ACC.4,KEYUP ACC.5,KEYDOWN AJMP KEY-RET
38、KEYTTART: SETB STARTEND ;第一個鍵按下后的處理AJMP KEY-RETKEYOVER: CLR STARTEND ;第二個鍵按下后的處理AJMP KEY-RETKEYUP: SETB UPDOWN ;第三個鍵按下后的處理AJMP KEY-RETKEYDOWN: CLR UPDOWN ;第四個鍵按下后的處理KEY-RET: RET KEY: CLR F0 ;清F0,表示無鍵按下 ORL P3,#00111100B ;將P3口的接有鍵的4位置1 MOV A,P3 ;取P3的值 ORL A,#11000011B ;將其取余四位置1 CPL A ;取反 JZ K-RET ;如果
39、為0則一定無鍵按下ACALL DELAY ;否則延時去鍵抖ORL P3,#00111100B MOV A,P3 ORL A,#11000011B CPL A JZ K-RET MOV B,A ;確實有鍵按下將鍵值存入B中 SETB F0 ;設(shè)置有鍵按下的標志K-RET: ORL P3,#00111100B ;此處循環(huán)等待鍵的釋放 MOV A,P3 ORL A,#11000011B CPL A JZ K-RET1 K-RET1: AJMP K-RET RET3.3系統(tǒng)調(diào)試1.靜態(tài)測試 不通電,不插器件,用萬用表×100歐姆擋按圖紙的接線點,看兩點間的連線是否接通不好,如果有電阻存在或者
40、不通,要糾其原因,需要將測試筆分別與兩器件的插腳孔相接觸,萬用表指針應(yīng)回零。其中一測試筆不動,另一測試筆再與最近的兩插孔腳接觸一下,其阻值應(yīng)無窮大,證明此線安裝無誤。再依次測量其他各連線。最后再測量電源正,負極入口處理電阻,應(yīng)有一定阻值,說明電路安裝有短路現(xiàn)象出現(xiàn),決不能在此情況下通電。2.通電測量仍不插器件,用萬用表×10V檔,黑表筆在公共地端保持不動,紅表筆分別測各器件的插腳孔端,只有與電源端相連或有關(guān)分壓端的引腳才有電壓,其他引腳都不應(yīng)該有電壓,此檢查至關(guān)重要。電位器上的分壓電源看是否可調(diào),初步調(diào)整到所規(guī)定的電壓數(shù)值。3.動態(tài)測試把所有器件插好通電,觀察幾秒,看電阻是否有發(fā)黑或
41、冒煙現(xiàn)象,用手觸摸一下集成器件,看是否有過熱發(fā)燙,如果沒有異常現(xiàn)象,立刻斷電,重新再查原因。用標準溫度計進行實測,觀察其誤差。4聯(lián)機統(tǒng)調(diào)將程序?qū)懭?9S51的ROM,通電調(diào)試。由于空調(diào)接連不方便,調(diào)試時用鍵盤輸入目標溫度值,僅僅檢驗驅(qū)動電路輸出信號是否正確。第四章 設(shè)計主要芯片介紹4.1 89S514.1.1 引腳圖圖9 引腳圖4.1.2 引腳功能介紹89S51是標準的40引腳雙列直插式集成電路芯片。它由一個8位CPU,一個振蕩器和時鐘電路,4KB的ROM程序存儲器,128B的RAM數(shù)據(jù)存儲器,21個特殊功能寄存器,兩個16位的定時器/計數(shù)器,可尋址的64KB外部數(shù)據(jù)存儲器和64KB外部程序存
42、儲器空間的控制電路,32條可編程的I/O口線(4個8位并行I/O端口P0、P1、P2、P3),一個可編程的全雙工串行口,具有5個中斷源、2個優(yōu)先級的終端結(jié)構(gòu)組成。引腳功能如下:I/O線:P0.0P0.7 P0口8位雙向I/O 口線。P1.0P1.7 P1口8位雙向I/O 口線。P2.0P2.7 P2口8位雙向I/O 口線。P3.0P3.7 P3口8位雙向I/O 口線。P3口線有第二功能,使用時首先按需要優(yōu)先選用它的第二功能,剩下的口線才作為I/O口線使用。ALE/PROG地址鎖存控制信號:在系統(tǒng)擴展時,ALE用于控制把P0輸出低8位地址送入鎖存器鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的分時傳送。PSE
43、N外部程序存儲器讀選通信號:CPU在訪問外部程序存儲器時PSEN信號在每個機器周期中兩次有效(低電平),以實現(xiàn)外部ROM單元的讀操作。但在此期間,當訪問外部數(shù)據(jù)存儲器時,PSEN信號不出現(xiàn)。EA/Vpp外部訪問允許/變成電源輸入端:當EA信號為低電平時,對ROM的讀操作限定在外部程序存儲器;而當EA信號為高電平時,則對ROM的讀操作從部程序存儲器(0000H0FFFH)開始,并可自動延續(xù)至外部程序存儲器。RST/VPD復位信號:當輸入的復位信號延續(xù)2個機器周期以上高電平時即為有效,用以完成單片機的復位操作。此引腳還可以接上備用電源,在Vcc掉電期間,由VPD向部RAM提供電源,以保持部RAM的
44、數(shù)據(jù)。XTAL1和XTAL2為結(jié)晶體引線端:當使用芯片部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。在單片機部,XTAL1是反相放大器的輸入端,該放大器構(gòu)成振蕩器;XTAL2接至反相放大器的輸出端。采用外部時鐘時,對于HMOS單片機,XTAL1引腳必須接地,XTAL2輸入外部時鐘脈沖;對于CHMOS單片機,XTAL1作為驅(qū)動端,XTAL2引腳應(yīng)懸空。Vss:引腳接地線。Vcc:接+5V電源。4.2 ADC0809ADC0809是帶有8位A/D轉(zhuǎn)換器、8路多路開關(guān)以與微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機直接接口
45、。4.2.1 ADC0809的部邏輯結(jié)構(gòu)圖10 ADC0809的部邏輯結(jié)構(gòu)由上圖可知,ADC0809由一個8路模擬開關(guān)、一個地址鎖存與譯碼器、一個A/D轉(zhuǎn)換器和一個三態(tài)輸出鎖存器組成。多路開關(guān)可選通8個模擬通道,允許8路模擬量分時輸入,共用A/D轉(zhuǎn)換器進行轉(zhuǎn)換。三態(tài)輸出鎖器用于鎖存A/D轉(zhuǎn)換完的數(shù)字量,當OE端為高電平時,才可以從三態(tài)輸出鎖存器取走轉(zhuǎn)換完的數(shù)據(jù)。 4.2.2 引腳結(jié)構(gòu)圖11 ADC0809引腳結(jié)構(gòu)IN0IN7:8條模擬量輸入通道 ADC0809對輸入模擬量要求:信號單極性,電壓圍是05V,若信號太小,必須進行放大;輸入的模擬量在轉(zhuǎn)換過程中應(yīng)該保持不變,如若模擬量變化太快,則需在
46、輸入前增加采樣保持電路。 地址輸入和控制線:4條ALE為地址鎖存允許輸入線,高電平有效。當ALE線為高電平時,地址鎖存與譯碼器將A,B,C三條地址線的地址信號進行鎖存,經(jīng)譯碼后被選中的通道的模擬量進轉(zhuǎn)換器進行轉(zhuǎn)換。A,B和C為地址輸入線,用于選通IN0IN7上的一路模擬量輸入。通道選擇表如下表所示。表一 ADC0809真值表數(shù)字量輸出與控制線:11條ST為轉(zhuǎn)換啟動信號。當ST上跳沿時,所有部寄存器清零;下跳沿時,開始進行A/D轉(zhuǎn)換;在轉(zhuǎn)換期間,ST應(yīng)保持低電平。EOC為轉(zhuǎn)換結(jié)束信號。當EOC為高電平時,表明轉(zhuǎn)換結(jié)束;否則,表明正在進行A/D轉(zhuǎn)換。OE為輸出允許信號,用于控制三條輸出鎖存器向單片
47、機輸出轉(zhuǎn)換得到的數(shù)據(jù)。OE1,輸出轉(zhuǎn)換得到的數(shù)據(jù);OE0,輸出數(shù)據(jù)線呈高阻狀態(tài)。D7D0為數(shù)字量輸出線。 CLK為時鐘輸入信號線。因ADC0809的部沒有時鐘電路,所需時鐘信號必須由外界提供,通常使用頻率為500KHZ, VREF(),VREF()為參考電壓輸入。4.2.3 ADC0809應(yīng)用說明(1)ADC0809部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 (2)初始化時,使ST和OE信號全為低電平。 (3)送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 (4)在ST端給出一個至少有100ns寬的正脈沖信號。(5)是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。(6)當EOC變?yōu)楦唠娖綍r,
48、這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機了。4.2.4 ADC0809的主要性能指標 8路8位AD轉(zhuǎn)換器,即分辨率8位 具有轉(zhuǎn)換起停控制端 轉(zhuǎn)換時間為100s 單個5V電源供電 模擬輸入電壓圍05V,不需零點和滿刻度校準。 工作溫度圍為-4085攝氏度 低功耗,約15Mw4.2.5 ADC0809讀寫啟動以與A/D轉(zhuǎn)換的時序圖12 ADC0809的時序圖4.3 AD590的應(yīng)用電路1、基本應(yīng)用電路圖1是AD590的封裝形式與是AD590用于測量熱力學溫度的基本應(yīng)用電路。因為流過AD590的電流與熱力學溫度成正比,當電阻R1和電位器R2的電阻之和為1kW時,輸出電壓VO隨溫度的變化為1mV/
49、K。但由于AD590的增益有偏差,電阻也有誤差,因此應(yīng)對電路進行調(diào)整。調(diào)整的方法為:把AD590放于冰水混合物中,調(diào)整電位器R2,使VO=273.2mV?;蛟谑覝叵?25)條件下調(diào)整電位器,使VO=273.2+25=298.2(mV)。但這樣調(diào)整只可保證在0或25附近有較高精度。圖13AD590的封裝與基本電路2、攝氏溫度測量電路 如圖14所示,電位器R2用于調(diào)整零點,R4用于調(diào)整運放LF355的增益。調(diào)整方法如下:在0時調(diào)整R2,使輸出VO=0,然后在100時調(diào)整R4使VO=100mV。如此反復調(diào)整多次,直至0時,VO=0mV,100時VO=100mV為止。最后在室溫下進行校驗。例如,若室溫為25,那么VO應(yīng)為25mV。冰水混合物是0環(huán)境,沸水為100環(huán)境。要使圖2中的輸出為200mV/,可通過增大反饋電阻(圖中反饋電阻由R3與電位器R4串聯(lián)而成)來實現(xiàn)。另外,測量華氏溫度(符號為)時,因華氏溫度等于熱力學溫度減去255.4再乘以9/5,故若要求輸出為1mV/,則調(diào)整反饋電阻約為180kW,使得溫度為0時, VO=17.8mV;溫度為100時,VO=197.8mV。AD581是高精度集成穩(wěn)壓器,輸入電壓最大為40V,輸出10V。圖14用于測攝氏
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化學氧化工安全檢查能力考核試卷含答案
- 醋酸乙烯和乙烯共聚物裝置操作工常識水平考核試卷含答案
- 氣動元件制造工崗前實踐理論考核試卷含答案
- 硬質(zhì)合金混合料鑒定下料工發(fā)展趨勢測試考核試卷含答案
- 梁式窯石灰煅燒工持續(xù)改進水平考核試卷含答案
- 親屬結(jié)婚的請假條
- 2025年網(wǎng)安系統(tǒng)合作協(xié)議書
- 2025年轉(zhuǎn)子式海流計項目發(fā)展計劃
- 2025年碳二餾份加氫催化劑項目合作計劃書
- 2025年箱、包及類似容器項目合作計劃書
- 電力通信培訓課件
- 鋼結(jié)構(gòu)防護棚工程施工方案
- 中建三局2024年項目經(jīng)理思維導圖
- 中國藥物性肝損傷診治指南(2024年版)解讀
- 基層黨建知識測試題及答案
- DG-TJ08-2021-2025 干混砌筑砂漿抗壓強度現(xiàn)場檢測技術(shù)標準
- 鼻竇炎的護理講課課件
- 腸系膜脂膜炎CT診斷
- 體外膜肺氧合技術(shù)ECMO培訓課件
- 老年醫(yī)院重點專科建設(shè)方案
- 銀行解封協(xié)議書模板
評論
0/150
提交評論