單片機溫度控制系統(tǒng)_第1頁
單片機溫度控制系統(tǒng)_第2頁
單片機溫度控制系統(tǒng)_第3頁
單片機溫度控制系統(tǒng)_第4頁
單片機溫度控制系統(tǒng)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、設(shè)計題目:單片機溫度控制系統(tǒng) 設(shè)計要求 1. 利用單片機對溫度進行采集與控制。 2. 利用A/D轉(zhuǎn)換芯片AD0809進行信號的轉(zhuǎn)換。 3. 轉(zhuǎn)換后的信號通過單片機的處理對可控硅進行控制。 4. 利用可控硅的通斷對加熱路進行控制從而達到對溫度的控制。 5. 外部數(shù)碼顯示器采用動態(tài)顯示方法,由單片機通過I/O口提供位碼和段碼實現(xiàn)四個數(shù)碼顯示器循環(huán)顯示。6. 根據(jù)控制原理設(shè)計溫度測量及顯示系統(tǒng)硬件電路圖。7. 根據(jù)控制要求合理編寫控制軟件程序。 摘   要在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。其中,溫度控制也越來越重要。在工業(yè)生產(chǎn)的很多領(lǐng)域中,人們

2、都需要對各類加熱爐、熱處理爐、反應爐和鍋爐中的溫度進行檢測和控制。采用單片機對溫度進行控制不僅具有控制方便、簡單和靈活性大等優(yōu)點,而且可以大幅度提高被控溫度的技術(shù)指標,從而能夠大大的提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的控制問題。 單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)等部分于一體的器件,只需要外加電源和晶振就可實現(xiàn)對數(shù)字信息的處理和控制。因此,單片機廣泛用于現(xiàn)代工業(yè)控制中。 本論文側(cè)重介紹“單片機溫度控制系統(tǒng)”的軟件設(shè)計及相關(guān)內(nèi)容。論文的主要內(nèi)容包括:采樣、濾波、鍵盤、LED顯示和報警系統(tǒng),加熱控制系統(tǒng),單片機MCS-51的開發(fā)以及

3、系統(tǒng)應用軟件開發(fā)等。作為控制系統(tǒng)中的一個典型實驗設(shè)計,單片機溫度控制系統(tǒng)綜合運用了微機原理、自動控制原理、模擬電子技術(shù)、數(shù)字控制技術(shù)、鍵盤顯示技術(shù)等諸多方面的知識,是對所學知識的一次綜合測試。關(guān) 鍵 詞:MCS-51 8051 溫度控制 可控硅ABSTRACWith scientific constant progress, in industrial production, electric current, voltage, temperature, pressure are mainly commonly used. especially in the heat treatment in

4、dustry, the accurate test and controlling of temperature is very important. In a lot of fields, for example: In metallurgical industry, chemical production, power engineering, machine manufactures, food processing, family and industry heat etc. people need to heating furnace, heat-treatment furnace

5、and all kinds of response stove and boiler temperature measure and control, through software design, to reach the intelligent control finally and realize the interactive function. This thesis introduces the design and debugging of “the temperature control system by microcomputer”. As a typical exper

6、imental system, it uses much control knowledge and comprehensively tests students ability in control system.The content of this thesis mainly includes: introduces, filtering ware, keyboard, man-computer dialogue supported by LED indication, heat control method, the development of micro-computer MCS-

7、51 and systemic applied software.Key words:MCS-51, 8051, temperature control, silicon controlled目 錄摘要 一 緒論 1(一) 概述 1(二)課題分析 1(三) 設(shè)計思路 2二MCS-51單片機的基本知識 5(一) MCS-51單片機的結(jié)構(gòu) 5(二) 8051存儲器配置 5(三)定時器及其應用 12三采樣與濾波 16(一)采樣 161. ADC0809的主要功能 162. 逐次逼近式轉(zhuǎn)換原理 17(二)數(shù)字濾波 17(三)可控硅 181. 可控硅的結(jié)構(gòu) 182. 可控硅的基本特性 18四系統(tǒng)程序設(shè)計

8、 20(一) 電路設(shè)計 20(二)鍵盤掃描及顯示程序 20(三)T0中斷服務程序 30(四)  子程序 321. 采樣子程序SAMP 322. 數(shù)字濾波子程序FILTER 33結(jié)    論 35參考文獻 36一 、緒 論(一)概述 隨著現(xiàn)代工業(yè)的逐步發(fā)展,在工業(yè)生產(chǎn)中,溫度、壓力、流量和液位是四種最常見的過程變量。其中,溫度是一個非常重要的過程變量。例如:在冶金工業(yè)、化工工業(yè)、電力工業(yè)、機械加工和食品加工等許多領(lǐng)域,都需要對各種加熱爐、熱處理爐、反應爐和鍋爐的溫度進行控制。然而,用常規(guī)的控制方法,潛力是有限的,難以滿足較高的性能要求。采用單片機

9、來對它們進行控制不僅具有控制方便、簡單和靈活性大的優(yōu)點,而且可以大幅度提高被測溫度的技術(shù)指標,從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機對溫度的控制問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的控制問題。 (二) 課題分析 單片機溫度控制系統(tǒng),是利用單片機作為系統(tǒng)的主控制器,測量電路中的溫度反饋信號經(jīng)A/D變換后,送入單片機中進行處理,經(jīng)過一定的算法后,單片機的輸出用來控制可控硅的通斷,控制加熱爐的輸出功率,從而實現(xiàn)對溫度的控制。 本單片機溫度控制系統(tǒng)的具體指標要求是,對加熱器加熱溫度調(diào)整范圍為6001000,溫度控制精度小于3,系統(tǒng)的超調(diào)量須小于15%。軟件設(shè)計須能進行人機對話,考慮到本系統(tǒng)控制對象為

10、電爐,是一個大延遲環(huán)節(jié),且溫度調(diào)節(jié)范圍較寬,所以本系統(tǒng)對過渡過程時間不予要求。 單片機是一種集CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于一體的器件,只需要外加電源和晶振就可以實現(xiàn)對數(shù)字信號的處理和控制。本設(shè)計運用MCS-51系列單片集中的8051單片機為主控制器,對加熱爐的溫度進行智能化控制,最終通過軟件設(shè)計來實現(xiàn)人機對話功能,實現(xiàn)對加熱爐的溫度控制。 本論文主要介紹單片機溫度控制系統(tǒng),內(nèi)容主要包括:采樣、濾波、鍵盤顯示、加熱控制系統(tǒng),單片機MCS-51的開發(fā)及系統(tǒng)應用軟件的開發(fā)等。全文共分四章。第一章緒論介紹課題背景、目的、意義及設(shè)計的總體思路。第二章介紹主控電路核心部分MCS-51單片

11、機8051的基本結(jié)構(gòu)和配置。第三章介紹A/D采樣技術(shù)和數(shù)字濾波技術(shù)。第四章主要是系統(tǒng)軟件編程。(三) 設(shè)計思路 根據(jù)系統(tǒng)具體指標要求,可以對每一個具體部分進行分析設(shè)計。整個控制系統(tǒng)分為硬件電路設(shè)計和軟件程序設(shè)計兩部分。硬件電路。分析硬件電路主要包括:加熱及控制電路部分,數(shù)據(jù)采集和模/數(shù)(A/D)轉(zhuǎn)換處理部分,鍵盤和顯示器部分,單片機與各部分的接口處理部分。這些可用一個方框圖來表示,顯然,這是一個典型的單反饋控制系統(tǒng)。單片機溫度控制系統(tǒng)框圖整個系統(tǒng)也可劃分為控制電路部分、加熱電路部分和測量電路三部分??刂齐娐肥怯蓡纹瑱C來處理給定信號和反饋信號,發(fā)出相應的指令來控制可控硅,是系統(tǒng)的核心。8051對

12、溫度的控制是通過可控硅調(diào)功能電路實現(xiàn)的。在給定的周期T內(nèi),8051只要改變可控硅管的接通時間便可改變加熱絲的功率,從而達到調(diào)節(jié)溫度的目的。而可控硅的接通時間可以通過可控硅極上觸發(fā)脈沖控制。該觸發(fā)脈沖受過零同步脈沖同步后經(jīng)光耦合管和驅(qū)動管輸出送到可控硅的控制極上。過零同步脈沖是一種50HZ交流電壓過零時刻的脈沖,可使可控硅在交流電壓正弦波過零時觸發(fā)導通。該脈沖一方面作為可控硅的觸發(fā)同步脈沖加到控制電路中,另一方面還作為計數(shù)脈沖加到8051的T0和T1端。 加熱電路用來實現(xiàn)對系統(tǒng)的升溫加熱達到預定的溫度。當溫度沒有達到要求,控制電路利用雙向可控硅的通斷特性來決定加熱電路的通電與斷電。 測量電路功能

13、為將測量到的信號經(jīng)過處理變成數(shù)字信號送入單片機中進行處理。主要由溫度檢測和變送器組成。溫度檢測元件和變送器的類型選擇和被控溫度及精度等級有關(guān)。鎳絡(luò)/鎳鋁熱電偶(2001000)適用于01000的溫度測量范圍,相應輸出電壓為0mV41.32mV。 變送器由毫伏變送器和電流/電壓變送器組成:毫伏變送器用于把熱點偶輸出的0mV41.32mV變換成0 mA10 mA范圍內(nèi)的電流;電流/電壓變送器用于把毫伏變送器輸出的0 mA10 mA電流變換成0 V5V范圍內(nèi)的電壓。 為了提高測量精度,變送器可以進行零點漂移。 本次設(shè)計的溫度控制范圍為6001000之間,溫度誤差要求在3左右,系統(tǒng)超調(diào)量不超過15%,

14、采用8位轉(zhuǎn)換器ADC0809就可以使溫度誤差保持在±2.34以內(nèi),滿足設(shè)計要求。除上述電路,8051還要有81552732和ADC0809等芯片接口電路。其中8155用于鍵盤/LED顯示器接口,2732可以作為8051的外部ROM存儲器,ADC0809為溫度測量電路的輸入接口,用于把連續(xù)變化的信號進行離散化。最終再通過控制電路中的鍵盤顯示器電路實現(xiàn)人機對話功能。軟件設(shè)計主要由溫度控制的算法和溫度控制程序組成。 軟件設(shè)計主要為控制器部分,即溫度控制系統(tǒng),采用PID算法,其原理是先求出實測爐溫對所需爐溫的偏差值,而后對偏差值處理而獲得控制信號去調(diào)節(jié)加熱爐的加熱功率,以實現(xiàn)對爐溫的控制。P

15、ID基本可滿足系統(tǒng)要求。 程序設(shè)計是本次設(shè)計的核心部分。整個程序包括管理程序和控制程序兩部分。管理程序是對顯示LED進行動態(tài)刷新,控制指示燈,處理鍵盤的掃描和響應,進行掉電保護,執(zhí)行中斷服務程序等??刂瞥绦蚴怯脕韺Ρ豢剡M行采樣,數(shù)據(jù)處理,根據(jù)控制算法進行計算和輸出等二 MCS-51單片機的基本知識(一) MCS-51單片機的結(jié)構(gòu) (二)8051存儲器配置8051存儲器可以分為程序和數(shù)據(jù)存儲器2大類。MCS-51單片機的程序存儲器和數(shù)據(jù)存儲器是相互分離的,分開編址,而且存儲器有片內(nèi)、片外存儲器之分。(1)程序存儲器    一個微處理器能夠聰明地執(zhí)

16、行某種任務,除了它們強大的硬件外,還需要它們運行的軟件,其實微處理器并不聰明,它們只是完全按照人們預先編寫的程序而執(zhí)行之。那么設(shè)計人員編寫的程序就存放在微處理器的程序存儲器中,俗稱只讀程序存儲器(ROM)。程序相當于給微處理器處理問題的一系列命令。其實程序和數(shù)據(jù)一樣,都是由機器碼組成的代碼串。只是程序代碼則存放于程序存儲器中。    MCS-51具有64kB程序存儲器尋址空間,它是用于存放用戶程序、數(shù)據(jù)和表格等信息。對于內(nèi)部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的端必須接地。強制CPU從外部程序存儲器讀取程序。對

17、于內(nèi)部有ROM的8051等單片機,正常運行時,則需接高電平,使CPU先從內(nèi)部的程序存儲中讀取程序,當PC值超過內(nèi)部ROM的容量時,才會轉(zhuǎn)向外部的程序存儲器讀取程序。    8051片內(nèi)有4kB的程序存儲單元,其地址為0000H0FFFH,單片機啟動復位后,程序計數(shù)器的內(nèi)容為0000H,所以系統(tǒng)將從0000H單元開始執(zhí)行程序。但在程序存儲中有些特殊的單元,這在使用中應加以注意:    其中一組特殊是0000H0002H單元,系統(tǒng)復位后,PC為0000H,單片機從0000H單元開始執(zhí)行程序,如果程序不是從0000H單元

18、開始,則應在這三個單元中存放一條無條件轉(zhuǎn)移指令,讓CPU直接去執(zhí)行用戶指定的程序。8051內(nèi)部RAM共有256個單元,這256個單元共分為兩部分。其一是地址從00H7FH單元(共128個字節(jié))為用戶數(shù)據(jù)RAM。從80HFFH地址單元(也是128個字節(jié))為特殊寄存器(SFR)單元。從圖1中可清楚地看出它們的結(jié)構(gòu)分布。    在00H1FH共32個單元中被均勻地分為四塊,每塊包含八個8位寄存器,均以R0R7來命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0R7,那么在程序中怎么區(qū)分和使用它們呢?聰明的INTEL工程師們又安排了一個寄存器程序狀

19、態(tài)字寄存器(PSW)來管理它們,CPU只要定義這個寄存的PSW的第3和第4位(RS0和RS1),即可選中這四組通用寄存器。對應的編碼關(guān)系如圖2所示。  內(nèi)部RAM的20H2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進行尋址。位尋址區(qū)共有16個字節(jié),128個位,位地址為00H7FH。位地址分配如表1所示,CPU能直接尋址這些位,執(zhí)行例如置“1”、清“0”、求“反”、轉(zhuǎn)移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲空間指的就是這些為尋址區(qū)。 (2)   程序計數(shù)器PC(program Counter)

20、    程序計數(shù)器在物理上是獨立的,它不屬于特殊內(nèi)部數(shù)據(jù)存儲器塊中。PC是一個16位的計數(shù)器,用于存放一條要執(zhí)行的指令地址,尋址范圍為64kB,PC有自動加1功能,即完成了一條指令的執(zhí)行后,其內(nèi)容自動加1。PC本身并沒有地址,因而不可尋址,用戶無法對它進行讀寫,但是可以通過轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以控制程序按我們的要求去執(zhí)行。   (3) 累加器ACC(Accumulator)    累加器A是一個最常用的專用寄存器,大部分單操作指令的一個操作數(shù)取自累加器,很多雙操

21、作數(shù)指令中的一個操作數(shù)也取自累加器。加、減、乘、除法運算的指令,運算結(jié)果都存放于累加器A或AB累加器對中。大部分的數(shù)據(jù)操作都會通過累加器A進行,它形象于一個交通要道,在程序比較復雜的運算中,累加器成了制約軟件效率的“瓶頸”,它的功能較多,地位也十分重要。以至于后來發(fā)展的單片機,有的集成了多累加器結(jié)構(gòu),或者使用寄存器陣列來代替累加器,即賦予更多  表2-1 特殊功能寄存器標識符號地址寄存器名稱ACC0E0H累加器B0F0HB寄存器PSW0D0H程序狀態(tài)字SP81H堆棧指針DPTR82H、83H數(shù)據(jù)指針(16位)含DPL和DPHIE0A8H中斷允許控制寄存器IP0B8

22、H中斷優(yōu)先控制寄存器P080HI/O口0寄存器P190HI/O口1寄存器P20A0HI/O口2寄存器P30B0HI/O口3寄存器PCON87H電源控制及波特率選擇寄存器SCON98H串行口控制寄存器SBUF99H串行數(shù)據(jù)緩沖寄存器TCON88H定時控制寄存器TMOD89H定時器方式選擇寄存器TL08AH定時器0低8位TH08CH定時器0高8位TL18BH定時器1低8位TH18DH定時器1高8位寄存器以累加器的功能,目的是解決累加器的“交通堵塞”問題。提高單片機的軟件效率。  DPTR主要是用來保存16位地址,當對64kB外部數(shù)據(jù)存儲器尋址時,可作為間址寄存器使用,此時,使用

23、如下兩條指令:            MOVX    A, DPTR            MOVX    DPTR, A    在訪問程序存儲器時,DPTR可用來作基址寄存器,采用基址+變址尋址方式訪問程序存儲器,這條

24、指令常用于讀取程序存儲器內(nèi)的表格數(shù)據(jù)。            MOVC    A, A+DPTR(4) 堆棧指針SP(Stack Pointer)    堆棧是一種數(shù)據(jù)結(jié)構(gòu),它是一個8位寄存器,它指示堆棧頂部在內(nèi)部RAM中的位置。系統(tǒng)復位后,SP的初始值為07H,使得堆棧實際上是從08H開始的。但我們從RAM的結(jié)構(gòu)分布中可知,08H1FH隸屬13工作寄存器區(qū),若編程時需要用到這

25、些數(shù)據(jù)單元,必須對堆棧指針SP進行初始化,原則上設(shè)在任何一個區(qū)域均可,但一般設(shè)在30H1FH之間較為適宜。   數(shù)據(jù)的寫入堆棧我們稱為入棧(PUSH,有些文獻也稱作插入運算或壓入),從堆棧中取出數(shù)據(jù)稱為出棧(POP,也稱為刪除運算或彈出),堆棧的最主要特征是“后進先出”規(guī)則,也即最先入棧的數(shù)據(jù)放在堆棧的最底部,而最后入棧的數(shù)據(jù)放在棧的頂部,因此,最后入棧的數(shù)據(jù)出棧時則是最先的。這和我們往一個箱里存放書本一樣,需將最先放入箱底部的書取出,必須先取走最上層的書籍。這個道理非常相似。  那么堆棧有何用途呢?堆棧的設(shè)立是為了中斷操作和子程序的調(diào)用而用于保存數(shù)據(jù)的

26、,即常說的斷點保護和現(xiàn)場保護。微處理器無論是在轉(zhuǎn)入子程序和中斷服務程序的執(zhí)行,執(zhí)行完后,還是要回到主程序中來,在轉(zhuǎn)入子程序和中斷服務程序前,必須先將現(xiàn)場的數(shù)據(jù)進行保存起來,否則返回時,CPU并不知道原來的程序執(zhí)行到哪一步,原來的中間結(jié)果如何?所以在轉(zhuǎn)入執(zhí)行其它子程序前,先將需要保存的數(shù)據(jù)壓入堆棧中保存。以備返回時,再復原當時的數(shù)據(jù)。供主程序繼續(xù)執(zhí)行。轉(zhuǎn)入中斷服務程序或子程序時,需要保存的數(shù)據(jù)可能有若干個,都需要一一地保留。如果微處理器進行多重子程序或中斷服務程序嵌套,那么需保存的數(shù)據(jù)就更多,這要求堆棧還需要有相當?shù)娜萘?。否則會造成堆棧溢出,丟失應備份的數(shù)據(jù)。輕者使運算和執(zhí)行結(jié)果錯誤,重則使整個

27、程序紊亂。    MCS-51的堆棧是在RAM中開辟的,即堆棧要占據(jù)一定的RAM存儲單元。同時MCS-51的堆??梢杂捎脩粼O(shè)置,SP的初始值不同,堆棧的位置則不一定,不同的設(shè)計人員,使用的堆棧區(qū)則不同,不同的應用要求,堆棧要求的容量也有所不同。堆棧的操作只有兩種,即進棧和出棧,但不管是向堆棧寫入數(shù)據(jù)還是從堆棧中讀出數(shù)據(jù),都是對棧頂單元進行的,SP就是即時指示出棧頂?shù)奈恢茫吹刂罚?。在子程序調(diào)用和中斷服務程序響應的開始和結(jié)束期間,CPU都是根據(jù)SP指示的地址與相應的RAM存儲單元交換數(shù)據(jù)。    堆棧的操作有兩種方法

28、:其一是自動方式,即在中斷服務程序響應或子程序調(diào)用時,返回地址自動進棧。當需要返回執(zhí)行主程序時,返回的地址自動交給PC,以保證程序從斷點處繼續(xù)執(zhí)行,這種方式是不需要編程人員干預的。第二種方式是人工指令方式,使用專有的堆棧操作指令進行進出棧操作,也只有兩條指令:進棧為PUSH指令,在中斷服務程序或子程序調(diào)用時作為現(xiàn)場保護。出棧操作POP指令,用于子程序完成時,為主程序恢復現(xiàn)場。(5) I/O口專用寄存器(P0、P1、P2、P3)    I/O口寄存器P0、P1、P2和P3分別是MCS-51單片機的四組I/O口鎖存器。MCS-51單片機并沒有專門的

29、I/O口操作指令,而是把I/O口也當作一般的寄存器來使用,數(shù)據(jù)傳送都統(tǒng)一使用MOV指令來進行,這樣的好處在于,四組I/O口還可以當作寄存器直接尋址方式參與其他操作。(6) 定時/計數(shù)器(TL0、TH0、TL1和TH1)    MCS-51單片機中有兩個16位的定時/計數(shù)器T0和T1,它們由四個8位寄存器組成的,兩個16位定時/計數(shù)器卻是完全獨立的。我們可以單獨對這四個寄存器進行尋址,但不能把T0和T1當作16位寄存來使用。(7) 定時/計數(shù)器方式選擇寄存器(TMOD)    TMOD寄存器是一個

30、專用寄存器,用于控制兩個定時計數(shù)器的工作方式,TMOD可以用字節(jié)傳送指令設(shè)置其內(nèi)容,但不能位尋址,各位的定義如下,更詳細的內(nèi)容,我們將在MCS-51定時器和中斷系統(tǒng)章節(jié)中敘述。(三)定時器及其應用8051單片機內(nèi)部定時器T0,T1的結(jié)構(gòu)與CPU的關(guān)系如圖6.1所示。16位定時器T0由8位特殊功能寄存器TH0和TL 0構(gòu)成,16位定時器T1由8位特殊功能寄存器TH1和TL1構(gòu)成。定時器方式寄存器TMOD用于設(shè)置定時器的工作方式,定時器控制寄存器TCON用于啟動和停止定時器的計數(shù),并控制定時器的狀態(tài)。T0和T1實際上都是16位加1計數(shù)器,可由編程來設(shè)置它工作狀態(tài)。當T0或T1設(shè)置為定時工作方式時,

31、定時器對8051片內(nèi)振蕩器輸出經(jīng)12分頻后的脈沖進行計數(shù),即每個機器周期使T0或T1的數(shù)值加1直到計滿溢出,當8051采用12MHz晶振時,一個機器周期為1s,計數(shù)頻率為1MHz。當T0或T1設(shè)置為計數(shù)工作方式時,計數(shù)器對來自輸入引腳T0(P3.4)和T1(P3.5)的外部信號計數(shù)。在每一個機器周期的S5P2周期采樣引腳輸入電平,若前一個機器周期采樣值為1, 后一個機器周期采樣值為0,則計數(shù)器加1。新的計數(shù)值是在檢測到輸入引腳發(fā)生1到0的負跳變后,于下一個機器周期的S3P1期間裝入計數(shù)器中,由于它需要兩個機器周期(24個時鐘周期)來識別一個1到0跳變,所以計數(shù)頻率最高為fosc的1/24。計數(shù)

32、器對外部脈沖信號的占空比沒有特別的要求,但必須保證輸入的高電平和低電平信號至少應維持一個完整的機器周期。8051單片機的定時器/計數(shù)器T0和T1可由軟件對TMOD的M1,M0位進行四種工作模式設(shè)置,即模式0,模式1,模式2和模式3。 在模式0 、模式1和模式2時,T0與T1的工作模式相同; 在模式3時,兩個定時器的工作模式不同。下面簡單介紹一下模式0的應用模式0是選擇定時器的高8位和低5位組成的一個13位定時器/計數(shù)器,圖6.4是T0在模式T0時的邏輯電路結(jié)構(gòu)。圖2-2 T0時的邏輯電路結(jié)構(gòu)在這種模式下,16位寄存器只用了13位。其中,TL0的高3位未用,TH0占8位。當TL0的低5位溢出時,

33、向TH0進位。當TH0溢出時,向中斷標志位TF0進位,并申請中斷。 因此,可通過查詢TF0 是否置位或考察中斷是否發(fā)生來判斷定時器/計數(shù)器0的操作完成與否。 在圖6.4中,當C/T=0時, 控制開關(guān)接通振蕩器12分頻輸出端, T0對機器周期計數(shù)。 即定時器工作方式。 定時時間由下式?jīng)Q定: T=(1213T0初值)×振蕩周期×12如果晶振頻率為12MHz,則時鐘周期為1/12s,當初值為0時,最長的定時時間為TMAX=(12130)×1/12×12s=8.192ms。 當C/T=1 控制開關(guān)與引腳T0(P3.4)接通,計數(shù)器T0對來自外部引腳T0的輸入脈沖

34、計數(shù),當外部信號電平發(fā)生由1到0跳變時,計數(shù)器加1,這時,T0成為外部事件計數(shù)器。當GATE=0時,封鎖或門輸出恒為1,使外部中斷輸入引腳INT0信號失效,同時又打開與門,由TR0控制定時器T0的開啟和關(guān)斷。若TR0=1,接通控制開關(guān),啟動定時器T0工作,計數(shù)器被控制為允許計數(shù)。若TR0=0,則斷開控制開關(guān),停止計數(shù)。 當GATE=1時,與門的輸出由INT0的輸入電平和TR0位的狀態(tài)來確定。若TR0=1,則打開與門,外部信號電平通過INT0引腳直接開啟或關(guān)斷定時器T0。 當INT0為高電平時,允許計數(shù),否則停止計數(shù)。這種工作方式可用來測量外部信號的脈沖寬度等。 同理,上述說明同樣適合于定時器T

35、1。8051的定時器/計數(shù)器是可編程的,因此在利用定時器/計數(shù)器進行定時或計數(shù)之前。需通過軟件對其進行初始化。即:確定工作模式;對TMOD寄存器賦值。設(shè)置定時器/計數(shù)器初值;初值按下列原則計算:設(shè)計數(shù)器的最大值為M(在不同的工作模式中:M可以為213,216和28) 初值為X: 計數(shù)方式時: X=M-計數(shù)模值 定時方式時: 因為(M-X)×振蕩周期×12=定時值 所以 X=M-定時值/振蕩周期×12是否設(shè)置中斷,則需對中斷允許寄存器IE置初值。三 采樣與濾波(一) 采樣1. ADC0809的主要功能   ADC0809是帶有8位A/D轉(zhuǎn)換器、8

36、路多路開關(guān)以及微處理機兼容的控制邏輯的CMOS組件。它是逐次逼近式A/D轉(zhuǎn)換器,可以和單片機直接接口。 (1) ADC0809的內(nèi)部邏輯結(jié)構(gòu) 圖3-1 ADC8090的內(nèi)部邏輯結(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ù)。    (2) ADC0809應用說明 ADC080

37、9內(nèi)部帶有輸出鎖存器,可以與AT89S51單片機直接相連。 初始化時,使ST和OE信號全為低電平。 送要轉(zhuǎn)換的哪一通道的地址到A,B,C端口上。 在ST端給出一個至少有100ns寬的正脈沖信號。 是否轉(zhuǎn)換完畢,我們根據(jù)EOC信號來判斷。 當EOC變?yōu)楦唠娖綍r,這時給OE為高電平,轉(zhuǎn)換的數(shù)據(jù)就輸出給單片機了。 2. 逐次逼近式轉(zhuǎn)換原理常規(guī)模數(shù)轉(zhuǎn)換電路中,采用并行(Flash)式轉(zhuǎn)換法的并行式ADC的轉(zhuǎn)換速度最快,其轉(zhuǎn)換時間tc和比特數(shù)n無關(guān),但不足之處是其器件內(nèi)部單元數(shù)m隨著比特數(shù)n的增加呈指數(shù)增長,即m2n1 (1)逐次逼近比較式ADC的器件內(nèi)部單元數(shù)m隨著比特數(shù)n的增加呈線性增長,但不足之處

38、是其轉(zhuǎn)換時間tc隨著比特數(shù)n的增加呈線性增長,即 tck1·n    (2)其中,k1為比例系數(shù)。(二) 數(shù)字濾波數(shù)字濾波:  用數(shù)字處理方式選擇信號頻率。數(shù)字濾波是用計算機軟件或數(shù)字電路來實現(xiàn)的。設(shè)計數(shù)字濾波器,就是按預期的選頻要求,構(gòu)造其脈沖響應函數(shù) 優(yōu)點:精度高,若使用16位數(shù)字系統(tǒng),精度可達;靈活性強,只要改變程序參數(shù)即可改變?yōu)V波器的性能;時分兩用,一臺計算機可同時處理多路信號;處理功能強,可處理幾赫茲頻率的信號;可靠性強,不受周圍環(huán)境溫度的影響等。分類:直接卷積濾波 遞歸濾波(三)可控硅1. 可控硅的結(jié)構(gòu)不管可控硅的外形如何,它們的管

39、芯都是由P型硅和N型硅組成的四層P1N1P2N2結(jié)構(gòu)。見圖1。它有三個PN結(jié)(J1、J2、J3),從J1結(jié)構(gòu)的P1層引出陽極A,從N2層引出陰級K,從P2層引出控制極G,所以它是一種四層三端的半導體器件。圖3-2、可控硅結(jié)構(gòu)示意圖和符號圖 2.可控硅的基本特性(1)反向特性當控制極開路,陽極加上反向電壓時(見下圖),J2結(jié)正偏,但J1、J2結(jié)反偏。此時只能流過很小的反向飽和電流,當電壓進一步提高到J1結(jié)的雪崩擊穿電壓后,接差J3結(jié)也擊穿,電流迅速增加,圖3的特性開始彎曲,如特性O(shè)R段所示,彎曲處的電壓URO叫“反向轉(zhuǎn)折電壓”。此時,可控硅會發(fā)生永久性反向擊穿。圖3-3、反向特性(2)

40、正向特性當控制極開路,陽極上加上正向電壓時(見下圖),J1、J3結(jié)正偏,但J2結(jié)反偏,這與普通PN結(jié)的反向特性相似,也只能流過很小電流,這叫正向阻斷狀態(tài),當電壓增加,圖3的特性發(fā)生了彎曲,如特性O(shè)A段所示,彎曲處的是UBO叫:正向轉(zhuǎn)折電壓 圖3-4、正向特性四、系統(tǒng)程序設(shè)計(一) 電路設(shè)計溫度控制模塊原理框圖如圖4-1所示,溫度傳感器經(jīng)模擬開關(guān)由單片機控制順序選通到放大電路和A/D轉(zhuǎn)換器ADC0809。單片機采集數(shù)據(jù)后,經(jīng)校零、濾波、參比端補償(熱電偶)和線性化處理后轉(zhuǎn)換為對應的溫度數(shù)字量,存入內(nèi)部RAM。模塊每隔2.16秒(有濾波)或0.72秒(無濾波)完成一次上述操作,自動刷新內(nèi)

41、部RAM。上位機可以通過RS485接口取得這些溫度數(shù)據(jù)。單片機把采集來的溫度根據(jù)控溫參數(shù)設(shè)置,進行相應的控溫運算,由運算結(jié)果決定PWM的占空比進行控溫。開關(guān)量輸出口如果用于報警輸出,單片機則根據(jù)該開關(guān)量輸出的邏輯參數(shù)設(shè)置進行邏輯運算,結(jié)果輸出到輸出口。開關(guān)量輸入輸出口撥碼開關(guān)DI0DI20A校零通道輸入電路和模擬開關(guān)放大電路和斷偶指示基準源RXDP07VrefD7D0P13P10VROESTEOCRDWRINT0ADC08098051TXDP04P06P00P03P20P27T1INT1電源監(jiān)視看門狗EEPROMT+T-INTD8(STB)D0D7隔離485單片機0B0C7A7B7C圖4-1溫

42、度控制模塊電路原理框圖(二) 鍵盤掃描及顯示程序A 鍵盤掃描子程序KEYBUF EQU 30H ORG 00H START: MOV KEYBUF,#2 WAIT: MOV P3,#0FFH CLR P3.4 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY1 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK1 MOV KEYBUF,#0 LJMP DK1 NK1: CJNE A,#0DH,NK2 MOV KEYBUF,#1 LJMP

43、 DK1 NK2: CJNE A,#0BH,NK3 MOV KEYBUF,#2 LJMP DK1 NK3: CJNE A,#07H,NK4 MOV KEYBUF,#3 LJMP DK1 NK4: NOP DK1: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK1A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK1A NOKEY1: MOV P3,#0FFH CLR P3.5 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY2 LCALL DELY10MS MOV A,P3

44、ANL A,#0FH XRL A,#0FH JZ NOKEY2 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK5 MOV KEYBUF,#4 LJMP DK2 NK5: CJNE A,#0DH,NK6 MOV KEYBUF,#5 LJMP DK2 NK6: CJNE A,#0BH,NK7 MOV KEYBUF,#6 LJMP DK2 NK7: CJNE A,#07H,NK8 MOV KEYBUF,#7 LJMP DK2 NK8: NOP DK2: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK2A: MOV A

45、,P3 ANL A,#0FH XRL A,#0FH JNZ DK2A NOKEY2: MOV P3,#0FFH CLR P3.6 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY3 MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK9 MOV KEYBUF,#8 LJMP DK3 NK9: CJNE A,#0DH,NK10 MOV KEYBUF,#9 LJMP DK3 NK10: CJNE A,#0BH,NK11 MOV KEYBUF,

46、#10 LJMP DK3 NK11: CJNE A,#07H,NK12 MOV KEYBUF,#11 LJMP DK3 NK12: NOP DK3: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK3A: MOV A,P3 ANL A,#0FH XRL A,#0FH JNZ DK3A NOKEY3: MOV P3,#0FFH CLR P3.7 MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4 LCALL DELY10MS MOV A,P3 ANL A,#0FH XRL A,#0FH JZ NOKEY4

47、MOV A,P3 ANL A,#0FH CJNE A,#0EH,NK13 MOV KEYBUF,#12 LJMP DK4 NK13: CJNE A,#0DH,NK14 MOV KEYBUF,#13 LJMP DK4 NK14: CJNE A,#0BH,NK15 MOV KEYBUF,#14 LJMP DK4 NK15: CJNE A,#07H,NK16 MOV KEYBUF,#15 LJMP DK4 NK16: NOP DK4: MOV A,KEYBUF MOV DPTR,#TABLE MOVC A,A+DPTR MOV P0,A DK4A: MOV A,P3 ANL A,#0FH XRL A

48、,#0FH JNZ DK4A NOKEY4: LJMP WAIT DELY10MS: MOV R6,#10 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H END B顯示子程序DISP: ANL 2FH,#10H   MOV A,21H   ANL A,#0FH    ORL A,2FH   MOV 2FH,A 

49、0; MOV A,21H   ANL A,#0F0H   SWAP A   MOV 2EH,A   ANL 2DH,#10H   MOV A,22H   ANL A,#0FH   ORL A,2DH   MOV 2DH,A   MOV A,22H   ANL A,#0F0H   SWAP A   MOV 2CH,AANL 2BH,#10HMOV A,23HA

50、NL A,#0FHORL A,2BHMOV 2BH,AMOV A,23HANL A,#0F0HSWAP AMOV 2AH,AMOV R0,#2FH       MOV R3,#06H       MOV A,#01HLOOP1:  MOV B,A       MOV p2,a       MOV DPTR,#TABLE  

51、60;    MOV A,R0       MOVC A,A+DPTR       MOV  p0,A       MOV R2,#80H       DJNZ R2,$       DEC R0       MOV A,B       RL A      

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論