簡(jiǎn)易溫度控制系統(tǒng)doc_第1頁
簡(jiǎn)易溫度控制系統(tǒng)doc_第2頁
簡(jiǎn)易溫度控制系統(tǒng)doc_第3頁
簡(jiǎn)易溫度控制系統(tǒng)doc_第4頁
簡(jiǎn)易溫度控制系統(tǒng)doc_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、長(zhǎng)安大學(xué)單片機(jī)原理及接口技術(shù)課程設(shè)計(jì)題目:簡(jiǎn)易溫度控制系統(tǒng)學(xué)院:電子與控制工程學(xué)院專業(yè):電氣工程及其自動(dòng)化學(xué)號(hào):3204080113姓名:孟川指導(dǎo)老師:段晨東時(shí)間:2010年12月27號(hào)-1月6號(hào)目錄一、要求 . 3二、摘要 . 4三、前言 . 5四、方案分析. 6五、實(shí)現(xiàn) . 10六、結(jié)論 . 14七、附錄 . 15一、要求簡(jiǎn)易溫度控制系統(tǒng)設(shè)計(jì)并制作一個(gè)簡(jiǎn)易的單片機(jī)溫度自動(dòng)控制系統(tǒng)(見圖一)??刂茖?duì)象為自定。圖一 恒溫箱控制系統(tǒng)設(shè)計(jì)要求如下(1)溫度設(shè)定范圍為4090,最小區(qū)分度為1(2)用十進(jìn)制數(shù)碼顯示實(shí)際溫度。(3)被控對(duì)象溫度采用發(fā)光二極管以光柱形式和數(shù)碼形式顯示。(4)溫度控制的靜態(tài)

2、誤差2。擴(kuò)充功能:控制溫度可以在一定范圍內(nèi)設(shè)定,并能實(shí)現(xiàn)自動(dòng)調(diào)整,以保持設(shè)定的溫度基本保持不變(測(cè)量溫度時(shí)只要求在現(xiàn)場(chǎng)任意設(shè)置一個(gè)檢測(cè)點(diǎn))。二、摘要本次設(shè)計(jì)的主要目的是實(shí)現(xiàn)對(duì)溫度的控制,其主要思路是通過溫度傳感器感應(yīng)物體的溫度,通過數(shù)碼管顯示出來,由于本此設(shè)計(jì)的溫度設(shè)定范圍是在40度到90度之間,因此如果物體的溫度不在這個(gè)設(shè)定范圍內(nèi),那么就需要通過加熱或降溫使物體的溫度達(dá)到這個(gè)范圍。另外本次設(shè)計(jì)設(shè)定了鍵盤,通過鍵盤輸入設(shè)定的數(shù),然后通過調(diào)溫使該物體的溫度達(dá)到設(shè)定的數(shù)值。本次設(shè)計(jì)采用單片機(jī)原理,共有溫度感應(yīng)模塊、顯示模塊、鍵盤輸入模塊、比較模塊四大塊。通過溫度動(dòng)態(tài)顯示,可以顯示被測(cè)物體的溫度,而

3、通過鍵盤掃描可以求出設(shè)定的溫度值,通過溫度傳感器可以感應(yīng)物體的溫度。那么,本次設(shè)計(jì)所能實(shí)現(xiàn)的功能就是可以測(cè)定物體的溫度并能實(shí)現(xiàn)自動(dòng)調(diào)整和手動(dòng)鍵盤調(diào)整。三、前言隨著社會(huì)的發(fā)展和科技的進(jìn)步以及測(cè)溫儀器在各個(gè)領(lǐng)域的應(yīng)用,智能化是現(xiàn)代溫控系統(tǒng)發(fā)展的主流方向,特別是今年來,溫度控制系統(tǒng)已應(yīng)用到生活的各個(gè)方面,但是溫度控制一直是一個(gè)未開發(fā)的領(lǐng)域,是與人們息息相關(guān)的一個(gè)問題。針對(duì)這種實(shí)際情況,設(shè)計(jì)一個(gè)溫度控制系統(tǒng),具有廣泛的應(yīng)用前景和實(shí)際意義。溫度是科學(xué)技術(shù)中最基本的物理量之一。物理、化學(xué)、生物等學(xué)科都離不開溫度,在工業(yè)生產(chǎn)等許多領(lǐng)域,溫度常常是表征對(duì)象和過渡狀態(tài)的重要物理量。各行各業(yè)對(duì)溫度的要求越來越高,

4、可見溫度的測(cè)量和控制是非常重要的。單片機(jī)在電子產(chǎn)品中的應(yīng)用已經(jīng)越來越廣泛,在很多的電子產(chǎn)品中也用到了溫度檢測(cè)和溫度控制。隨著溫度控制器應(yīng)用越來越廣泛,各種試用于不同場(chǎng)和的溫度控制器應(yīng)運(yùn)而生。四、方案分析本次設(shè)計(jì)主要版塊分為溫度感應(yīng)模塊,溫度顯示模塊,鍵盤設(shè)定模塊以及溫度比較模塊。一、方案的選擇1.對(duì)于溫度感應(yīng)模塊有兩種方案:一種是使用普通溫度傳感器pt100再結(jié)合電壓放大器和AD轉(zhuǎn)換器將感應(yīng)到的溫度數(shù)值轉(zhuǎn)換為數(shù)字量存儲(chǔ)在某一單元內(nèi)。但由于該方案電路繁多,線路冗長(zhǎng),所以舍之不用。 第二種是使用溫度傳感器18B20感應(yīng)溫度,由于該溫度傳感器內(nèi)含AD轉(zhuǎn)換器,因此連接簡(jiǎn)單,應(yīng)用方便,故選用該方案。2.

5、對(duì)于溫度顯示模塊有兩種方案:一種是使用靜態(tài)顯示,通過數(shù)碼管顯示被測(cè)溫度和設(shè)定溫度。該方案程序簡(jiǎn)單,但硬件連接復(fù)雜,所需元件數(shù)量多,不適合設(shè)計(jì)應(yīng)用。第二種是使用動(dòng)態(tài)顯示,通過數(shù)碼管顯示被測(cè)溫度和設(shè)定溫度。該方案程序復(fù)雜,但硬件連接簡(jiǎn)單,所需元件少,適合設(shè)計(jì)應(yīng)用。3.對(duì)于鍵盤設(shè)定模塊有兩種方案:一種是使用線反轉(zhuǎn)法,通過矩陣鍵盤,一次求出行數(shù)和列數(shù),然后求出設(shè)定的數(shù)值。由于該方案不具有掃描功能,因此不適用于一般的鍵盤程序,而適用于鍵盤中斷程序。第二種是使用鍵盤掃描法,通過矩陣鍵盤,求出設(shè)定的數(shù)值,由于該方案具有掃描功能,因此在不使用中斷的情況下,使用鍵盤掃描程序是十分恰當(dāng)?shù)?,本次設(shè)計(jì)采用的是鍵盤掃描

6、程序。4.對(duì)于溫度比較模塊,是通過比較程序,直接決定進(jìn)行升溫還是降溫。二、硬件的說明本次設(shè)計(jì)硬件用到了單片機(jī)89C52、溫度傳感器18B20、三八譯碼器74LS138、驅(qū)動(dòng)74LS245、數(shù)碼管、矩陣式鍵盤、燈泡等。單片機(jī)89C52是常用的單片機(jī)之一,單片機(jī)上有32個(gè)P口,其中P0、P1、P2、P3各8個(gè)。溫度傳感器18B20接到單片機(jī)的一個(gè)P口上,本次設(shè)計(jì)是P1.3,因?yàn)闇囟葌鞲衅?8B20可以直接將數(shù)據(jù)傳輸給單片機(jī),因此可直接連接。三八譯碼器74LS138出線端用于連接驅(qū)動(dòng)74LS245,入線端ABC連接到單片機(jī)的P1口上的P1.0、P1.1、P1.2,通過調(diào)節(jié)P1口上的這三端的值進(jìn)而控制

7、出線端0到7哪個(gè)為低電平。本次設(shè)計(jì)用到2個(gè)74LS245,它的輸出端接數(shù)碼管,輸入端一個(gè)接P0口,一個(gè)接74LS138,它們分別控制數(shù)碼管的字型碼輸出和數(shù)碼管選擇。矩陣式鍵盤采用3×3式,分別表示1到9。通過將6個(gè)出線端接到P2口上,然后通過P2口控制鍵盤,鍵盤的行拉高電阻和5伏電壓。三、軟件的說明對(duì)于溫度感應(yīng)模塊,調(diào)用18B20程序,直接在某一單元存儲(chǔ)溫度的數(shù)值。其中18B20程序見附錄。對(duì)于溫度顯示模塊,一共有靜態(tài)和動(dòng)態(tài)兩種顯示,靜態(tài)顯示時(shí),各個(gè)LED數(shù)碼管相互獨(dú)立,公共端接地,每個(gè)數(shù)碼管的8個(gè)顯示字段控制端分別與一個(gè)8位并行輸出口相連,只要輸出口輸出字型碼,LED數(shù)碼管就立即顯

8、示出相應(yīng)的字符,并保持到輸出口輸出新的字型碼。采用靜態(tài)顯示,用較小的電流便可獲得較高的亮度,而且占用CPU時(shí)間少,編程簡(jiǎn)單,顯示便于檢測(cè)和控制,但其占用的口線多,硬件電路復(fù)雜,成本較高。動(dòng)態(tài)顯示時(shí),是各個(gè)LED數(shù)碼管一位一位輪流顯示。在硬件電路上,各個(gè)數(shù)碼管的顯示字段控制端并聯(lián)到一起,有一個(gè)8位并行輸出口控制,各個(gè)LED數(shù)碼管的公共端作為顯示位的位選線,由另外的輸出口控制,動(dòng)態(tài)顯示節(jié)省I/O口,硬件電路簡(jiǎn)單。本次設(shè)計(jì)采用的是動(dòng)態(tài)顯示,實(shí)現(xiàn)方法是溫度顯示程序的流程圖為對(duì)于鍵盤設(shè)定模塊,鍵盤是由多個(gè)按鍵組成。它可以分成獨(dú)立式和矩陣式2種形式。獨(dú)立式鍵盤是一組相互獨(dú)立的按鍵,他們分別直接與I/O口電

9、路連接,每個(gè)按鍵占用一根輸入口線。獨(dú)立式鍵盤比較靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但當(dāng)按鍵較多時(shí),輸入口線浪費(fèi)較大。因此在應(yīng)用系統(tǒng)中,按鍵較多時(shí),一般不采用。矩陣式鍵盤也稱為行列式鍵盤,用輸入和輸出口線組成行列結(jié)構(gòu),按鍵設(shè)置在行和列的交叉點(diǎn)上,按鍵閉合時(shí),接通輸入和輸出口線。矩陣式鍵盤在按鍵較多時(shí)可以節(jié)省I/O口線。本次設(shè)計(jì)采用矩陣式鍵盤,并且按鍵識(shí)別的方法是掃描法。在按鍵識(shí)別過程中,依次使行線輸出低電平,然后檢查列線的輸入電平,如果所有列線的輸入全為高電平,則該行無按鍵按下;如果不全為高電平,則被按下的按鍵在本行,且在輸入電平變?yōu)榈碗娖降牧械慕徊纥c(diǎn)上。本次設(shè)計(jì)沒有用線反轉(zhuǎn)法是由于本次設(shè)計(jì)沒有用到中斷,而沒

10、有中斷的情況下就要求我們必須不停地掃描鍵盤,因此線反轉(zhuǎn)法在本次設(shè)計(jì)中并不是最好的按鍵識(shí)別方法。鍵盤程序的流程圖為:、對(duì)于溫度比較模塊,通過比較傳感器溫度和鍵盤溫度,然后對(duì)被控對(duì)象作出調(diào)整。由于本次設(shè)計(jì)采用的加熱裝置是燈泡,降溫裝置是自然冷卻,因此如果單純地令傳感器溫度和鍵盤溫度相等,就會(huì)出現(xiàn)燈泡一閃一滅的抖動(dòng)狀態(tài),本次的消抖方略是在設(shè)定溫度上下各加2度。使最終溫度在這個(gè)范圍內(nèi)來回波動(dòng)。四、軟硬件的總體概述本次設(shè)計(jì)的主題思路如下:本次設(shè)計(jì)的溫度控制系統(tǒng)為手動(dòng)、自動(dòng)雙重輸入系統(tǒng)。如果鍵盤沒有按下鍵值,則系統(tǒng)自動(dòng)將溫度設(shè)定在40度到90度。如果鍵盤輸入數(shù)據(jù),但數(shù)據(jù)不在40度到90度的范圍之內(nèi),那么按

11、沒有輸入鍵值處理。如果鍵盤輸入的數(shù)據(jù)在40度到90度范圍內(nèi),那么系統(tǒng)會(huì)將被控對(duì)象的溫度控制在設(shè)定溫度左右,且誤差不超過2度。五、實(shí)現(xiàn)本次設(shè)計(jì)的功能板塊分為四塊,分別是溫度傳感器顯示功能、鍵盤輸入顯示功能、無鍵盤輸入自動(dòng)調(diào)整功能、有鍵盤輸入溫度調(diào)整功能。1.溫度傳感器顯示功能溫度傳感器18B20能自動(dòng)感應(yīng)溫度,并且內(nèi)含AD轉(zhuǎn)換器,能夠直接輸出一個(gè)溫度值,并將它存儲(chǔ)在單片機(jī)某一個(gè)單元內(nèi)。功能如圖所示2.鍵盤輸入顯示功能鍵盤輸入數(shù)值,數(shù)碼管會(huì)顯示輸入的數(shù)值。功能如圖所示3.無鍵盤輸入自動(dòng)調(diào)整功能在沒有鍵盤輸入的情況下,被控對(duì)象的溫度會(huì)被控制在40到90度以內(nèi)。功能如圖所示4.有鍵盤輸入溫度調(diào)整功能當(dāng)

12、有鍵值輸入且鍵值在40度到90度范圍內(nèi)時(shí),被控對(duì)象的溫度將被控制到設(shè)定溫度左右,誤差不超過2度。功能如圖所示調(diào)試過程中,出現(xiàn)過不少問題,諸如:1.發(fā)現(xiàn)在仿真開始后,數(shù)碼管不亮原因:發(fā)現(xiàn)繼電器用的不好解決方法:換了一個(gè)繼電器2.發(fā)現(xiàn)溫度傳感器的溫度并不能有效地顯示在數(shù)碼管上原因:溫度傳感器的程序有問題,其中31H和32H單元錯(cuò)寫成了#31H和#32H。解決方法:將31H和32H前面的#號(hào)去掉,溫度開始正常顯示。3.發(fā)現(xiàn)鍵盤的數(shù)字按下后,鍵盤沒有反應(yīng)。原因:程序中鍵盤的按鍵識(shí)別方法是線反轉(zhuǎn)法,鍵盤的鍵值所對(duì)應(yīng)的行與列不能有效接通。 解決方法:改用掃描法,鍵盤有了反應(yīng)。4.發(fā)現(xiàn)數(shù)碼管顯示的溫度在不停

13、地跳動(dòng)。原因:數(shù)碼管顯示程序中先輸出字型碼后選顯示位置。解決方法:數(shù)碼管程序中先選顯示位置后輸出字型碼。5.在連接外電路燈泡時(shí),發(fā)現(xiàn)接好后燈泡不亮。原因:繼電器的開關(guān)接線端接錯(cuò)解決方法:將繼電器的接線端接好6.發(fā)現(xiàn)實(shí)物中當(dāng)電燈泡的溫度達(dá)到設(shè)定溫度時(shí),燈泡開始一亮一閃不停閃爍。 原因:燈泡的溫度不停地升降,導(dǎo)致燈泡不停的抖動(dòng)解決方法:在設(shè)定的溫度上下各加2度,使溫度在這個(gè)范圍內(nèi)來回波動(dòng)。六、結(jié)論本次設(shè)計(jì)的題目是溫度控制系統(tǒng),其主要思想是將溫度控制在某一個(gè)設(shè)定的溫度左右,誤差不超過2度。本次設(shè)計(jì)所包含的基本功能如下:當(dāng)沒有鍵值輸入時(shí),被控對(duì)象的溫度將被設(shè)定在40到90度內(nèi),來回往復(fù)波動(dòng)。當(dāng)有按鍵按

14、下時(shí),如果按鍵設(shè)置的溫度不在40到90度內(nèi),那么按照沒有按鍵輸入來處理。如果按鍵設(shè)置的溫度在40到90度內(nèi),那么就將物體的溫度設(shè)定在按鍵溫度左右,且誤差不超過2度。本次設(shè)計(jì)中不足之處就是溫度變化比較慢,可能原因是箱子的密封性不太好,傳感器與燈泡距離遠(yuǎn)等原因。改進(jìn)方法是換一個(gè)密封性好一點(diǎn)的箱子,且箱子不要太大。本次設(shè)計(jì)歷時(shí)3周左右,花費(fèi)了大量的精力和時(shí)間,可以說其中包含了諸多的汗水和付出。通過翻閱書籍和不停地寫程序調(diào)試,既增長(zhǎng)了知識(shí),又增加了經(jīng)驗(yàn)。其過程中有苦有甜,不足道也。最后感謝老師的指導(dǎo)和同學(xué)的幫助。七、附錄1原理圖附錄2元件明細(xì)單片機(jī)89C52溫度傳感器18B20 驅(qū)動(dòng)74LS245 三

15、線八線譯碼器數(shù)碼管鍵盤 繼電器附錄3電路程序ORG 0000HLJMP STATORG 0100HSTAT:CLR EA ;關(guān)閉中斷MOV SP,#70H ;開辟棧區(qū)CLR 00H ;DS18B20標(biāo)志位SETB P3.3 ;關(guān)閉加熱MOV R1,#00H ;清R1MOV 31H,#00HMOV 32H,#00HMOV 41H,#00H ;設(shè)置鍵盤設(shè)定溫度的高位 MOV 42H,#00H ;設(shè)置鍵盤設(shè)定溫度的低位 MOV 51H,#00H ;設(shè)置測(cè)量溫度高位 MOV 52H,#00H ;設(shè)置測(cè)量溫度低位 MOV 55H,#00HMOV 61H,#00HMOV 62H,#00HLCALL INI

16、T ;消除上電抖動(dòng)BCDH:LCALL LOOP ;測(cè)溫LCALL LOW1 ;顯示測(cè)量溫度 LCALL LOW2 ;顯示鍵盤設(shè)定溫度 LCALL KEYB ;掃描鍵盤LCALL LOW1 ;顯示測(cè)量溫度LCALL LOW2 ;顯示鍵盤設(shè)定溫度 LCALL COMP ;比較溫度LJMP BCDH ;返回鍵盤程序:KEYB:MOV P2,#00011111B ;置輸入為1,輸出為0 18MOV A,P2 ;讀P2口的引腳狀態(tài)ANL A,#00011111BXRL A,#00011111BJZ NOKEY ;判斷有無按鍵按下ACALL DL20MS ;延時(shí)20MS消抖ANL A,#00011111

17、B ;重讀鍵盤XRL A,#00011111BJZ NOKEY ;再次判斷有無按鍵按下MOV R2,#11101111B ;行掃描初始值,從第一行開始 SCAN: MOV A,R2MOV P2,AMOV A,P2ANL A,#00001111BMOV R3,A ;取列線的引腳狀態(tài)CJNE A,#00001111B,KEYP ;有鍵按下MOV A,R2RL A ;產(chǎn)生下次的行線輸出 MOV R2,AXRL A,#11111110BJNZ SCAN ;掃描完否,未完繼續(xù) NOKEY:MOV R5,#0FFH ;無按鍵按下RETKEYP:MOV A,R2 ;取行掃描值A(chǔ)NL A,#11110000B

18、 ;計(jì)算行特征碼ORL A,R3 ;計(jì)算按鍵特征碼MOV R4,A ;按鍵特征碼暫存在R4中 MOV R5,#00H ;設(shè)置按鍵鍵值初始值 MOV DPTR,#KEY_TAB ;特征碼表首地址 CALV:MOV A,R5 ;計(jì)算按鍵鍵值 MOVC A,A+DPTRXRL A,R4JZ FIXEDINC R5SJMP CALVFIXED:MOV A,P2 ;判斷鍵值是否釋放 ANL A,#1FHXRL A,#1FHJNZ FIXEDACALL DL20MSMOV A,P2ANL A,#1FHXRL A,#1FHJNZ FIXEDINC R5CJNE R1,#1,TURNMOV A,R5MOV 4

19、2H,AINC R1RETTURN:CJNE R1,#2,RNUOMOV A,R5MOV 41H,AMOV 42H,#00HDEC R1RETRNUO:MOV A,R5MOV 41H,AMOV 42H,#00HINC R1RET;延時(shí)消抖 ;判斷是否是第二次按鍵 ;若是第二次按鍵,則將數(shù)存在42H中,且R1加1 ;若不是第二次按鍵,則判斷是否是第三次按鍵 ;若是第三次按鍵,則將數(shù)存在41H中,42H清0 且R1減1 41H中,42H清0 且R1加1 20 ;若是第一次按鍵,則數(shù)存在比較程序:COMP:MOV A,41H ;判斷是否有鍵按下, 若有,跳到NEXT CJNE A,#00H,NEXT

20、SGD: MOV A,51H ; 無鍵按下時(shí),判斷是否在40到90度范圍 CJNE A,#4,GOOD 內(nèi)MOV A,52HCJNE A,#00H,HUPCLR P3.3RETGOOD:JC NEQMOV A,51HCJNE A,#9,HUPSETB P3.3RETNEQ: CLR P3.3RETHUP: RETNEXT:MOV A,41HCJNE A,#4,KJHDRT: MOV A,41HCJNE A,51H,ROMOV A,42HCJNE A,52H,RORETKJH: JC QDSMOV A,41HCJNE A,#9,DRTMOV A,42HCJNE A,#00H,QDSLJMP DR

21、T40度,則加熱 ;判斷溫度是否大于40度,若小于,則跳轉(zhuǎn) ;判斷溫度是否小于90度,若小于,則跳轉(zhuǎn) ;溫度剛好為90度,關(guān)閉加熱 ;啟動(dòng)加熱 ;結(jié)束 ;當(dāng)有鍵按下時(shí),判斷鍵值是否在40到90 度范圍內(nèi) ;若在范圍內(nèi),則比較鍵盤設(shè)定溫度和測(cè)量溫度;鍵盤設(shè)定溫度和測(cè)量溫度相同,不處理 ;判斷設(shè)定溫度是否大于40度,若小于,跳轉(zhuǎn) ;判斷設(shè)定溫度是否小于90度,若小于,跳轉(zhuǎn) ;等于90度,則跳轉(zhuǎn)到DRT 21 ;若溫度剛好在QDS: MOV 41H,#00HLJMP SGD ;小于40度,則跳轉(zhuǎn)到SGDRETRO: JC GOON ;比較設(shè)定溫度和測(cè)量溫度,若設(shè)定溫度小于測(cè)量 MOV A,41H 溫

22、度,則跳轉(zhuǎn)到GOONMOV 61H,AMOV A,42HMOV 62H,ACJNE A,#00H,QWEMOV 62H,#9DEC 61HPUO:MOV A,61HCJNE A,51H,WEQMOV A,62HCJNE A,52H,WEQRETWEQ:CLR P3.3RETQWE:MOV A,62HDEC AMOV 62H,ALJMP PUOGOON:MOV A,41HMOV 61H,AMOV A,42HMOV 62H,ACJNE A,#9,XCZMOV 62H,#00HINC 61HYEC: MOV A,61H;令設(shè)定溫度減1度 ;重新比較設(shè)定溫度和測(cè)量溫度 ;相等,不處理 ;不相等,啟動(dòng)加

23、熱 ;令設(shè)定溫度加1度 22 ;重新比較設(shè)定溫度和測(cè)量溫度CJNE A,51H,LKPMOV A,62HCJNE A,52H,LKPRET ;若相等,不處理 LKP: SETB P3.3 ;若不等,關(guān)閉加熱 RETXCZ: MOV A,62HINC AMOV 62H,ALJMP YECDL20MS:MOV R2,#100DEL3: MOV R3,#50DEL4: NOPNOPDJNZ R3,DEL4DJNZ R2,DEL3RET顯示程序:LOW1:MOV R0,#51HMOV R2,#00000000BRED1:ACALL DISOMOV A,R2INC AMOV R2,AINC R0XRL

24、A,#00000010BJNZ RED120mS消抖 ;顯示測(cè)量溫度,顯示緩沖區(qū)地址 ;顯示起始位置 ;顯示一位 ;計(jì)算下一個(gè)顯示位置 ;修改緩沖區(qū)地址 ;2位顯示完否 ;未完,繼續(xù)顯示 23 ;延時(shí)RET ;返回DISO:MOV A,R2 ;取顯示位置MOV P1,A ;顯示MOV DPTR,#LED_SEG ;字型碼表首地址MOV A,R0 ;取顯示數(shù)據(jù)MOVC A,A+DPTR ;求顯示數(shù)據(jù)的字型碼MOV P0,A ;輸出字型碼ACALL DL1MS ;穩(wěn)定顯示1MSRETLED_SEG:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H;DB 7FH,6FH,77H,

25、7CH,39H,5EH,79H,71H; ;顯示字型碼表 DB 3EH,50H,40H,08H,00H,顯示程序LOW2:MOV A,41HCJNE A,#00H,BNMMOV 42H,#00HBNM: MOV R0,#41H ;顯示設(shè)定溫度,顯示緩沖區(qū)地址 MOV R2,#00000010B ;顯示起始位置RED2:ACALL DISE ;顯示一位MOV A,R2 ;計(jì)算下一個(gè)顯示位置INC AMOV R2,AINC R0 ;修改顯示緩沖區(qū)地址XRL A,#00000100B ;2位顯示完否JNZ RED2 ;未完,繼續(xù)顯示RET ;返回DISE:MOV A,R2 ;取顯示位置MOV P1,

26、A ;顯示MOV DPTR,#LED_SEG ;字型碼表首地址MOV A,R0 ;取顯示數(shù)據(jù)MOVC A,A+DPTR ;求顯示數(shù)據(jù)的字型碼MOV P0,A ;輸出字型碼ACALL DL1MS ;穩(wěn)定顯示1MSRETDL1MS:MOV R5,#10 ;延時(shí)1MS子程序DEL1: MOV R6,#30DEL0: NOPNOPDJNZ R6,DEL0DJNZ R5,DEL1RETKEY_TAB:DB 77H,7BH,7DH,0B7H,0BBH,0BDH,0D7H ;鍵盤字型碼表 DB 0DBH,0DDH溫度傳感器18B20程序:LOOP:LCALL RE ; 溫度傳感器程序,初始化18B20 LC

27、ALL GETLCALL CONVLCALL OBCDRETRE: JB 00H,RE1 ;若18B20存在,轉(zhuǎn)RE1RETRE1: MOV A,#0CCH ;發(fā)SKIP ROM命令LCALL WRMOV A,#4EH ;發(fā)寫暫存存儲(chǔ)器命令LCALL WRMOV A,#00H ;TH(報(bào)警上限)中寫入00H LCALL WRMOV A,#00H ;TL(報(bào)警下限)中寫入00H LCALL WRRETGET: SETB P1.3 ;定時(shí)入口LCALL INITJB 00H,TSS1RET ;若18B20不存在,則返回 TSS1:MOV A,#0CCH ;跳過ROM匹配 LCALL WRMOV A,#44HLCALL WRMOV R0,#250TSS2:NOPDJNZ R0,TSS2LCALL INITMOV A,#0CCHLCALL WRMOV A,#0BEHLCALL WRLCALL READMOV 55H,ARETINIT:SETB P1.3NOPCLR P1.3MOV R0,#180TSR1:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論