基于51單片機的空氣智能加濕器的設計論文_第1頁
基于51單片機的空氣智能加濕器的設計論文_第2頁
基于51單片機的空氣智能加濕器的設計論文_第3頁
基于51單片機的空氣智能加濕器的設計論文_第4頁
基于51單片機的空氣智能加濕器的設計論文_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、常州大學信息科學與工程學院畢業(yè)設計論文 畢業(yè)設計題目: 基于51單片機的室內(nèi)濕度自動控制裝置設計 專 業(yè): 電 子 年 級: 學 號: 姓 名: 指 導 老 師: 徐 權 摘 要在日常生活中加濕器得到了廣泛的應用,但是現(xiàn)有的加濕器都需要手工控制開啟和關閉并且不具備對室內(nèi)空氣溫濕度的監(jiān)測,人們在使用過程中存在過度加濕和干燒的問題,不僅給室內(nèi)空氣舒適度造成負面影響并且還存在安全隱患。因此開發(fā)設計一種價格低廉、功耗低、具有自動控制功能的加濕器顯得尤為必要。本設計采用智能控制,以AT89C51單片機為核心,外接輔助電路,通過實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關閉以及室內(nèi)溫濕度的顯示功能基本實現(xiàn)加

2、濕器的智能化。目 錄摘 要1第一章 任務來源意義及目的3第二章 設計方案42.1 總體設計42.2 實現(xiàn)方式42.3 理論基礎52.3.1 單片機52.3.2 DS18B20傳感器62.3.3 1602LCD液晶顯示屏7第三章 硬件設計93.1 設計方案93.2 電路圖93.3 信號分析103.4 功能描述103.5 復位電路113.6液位定位及光電開關123.7 1602顯示屏123.8 DS18B20溫度傳感器13第四章 軟件設計144.1整體設計及說明144.2 DS18B20流程設計154.3 1602字符型LCD流程設計18第五章 系統(tǒng)調(diào)試21第六章 總結22致 謝23參考文獻24附

3、錄一 1602液晶模塊資料(特點,引腳及指令)25附錄二 LCD控制及顯示子程序29第一章 任務來源意義及目的在日常生活中加濕器得到了廣泛的應用,但是現(xiàn)有的加濕器都需要手工控制開啟和關閉并且不具備對室內(nèi)空氣溫濕度的監(jiān)測,人們在使用過程中存在過度加濕和干燒的問題,不僅給室內(nèi)空氣舒適度造成負面影響并且還存在安全隱患。因此開發(fā)設計一種價格低廉、功耗低、具有自動控制功能的加濕器顯得尤為必要。本設計采用智能控制,以AT89C51單片機為核心,外接輔助電路,通過實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關閉以及室內(nèi)溫濕度的顯示功能基本實現(xiàn)加濕器的智能化。第二章 設計方案2.1 總體設計智能加濕器需滿足以下要

4、求:1)相對濕度低于40時自動加濕;2)用戶可以設置系統(tǒng)溫濕度報警值;3)由5V穩(wěn)壓直流電源供電,提供溫濕度調(diào)節(jié)控制信號,實現(xiàn)自動控制;4)檢測得到的數(shù)據(jù)可以通過顯示模塊顯示。硬件設計不僅要滿足系統(tǒng)需求,還要滿足功能和外形尺寸要求。根據(jù)設計要求確定了系統(tǒng)的總體方案,包系統(tǒng)由兩個DS18B20溫度傳感器一個水位傳感器、單片機、1602LCD液晶顯示屏、聲光報警器、以及一個光電耦合開關等部分組成。系統(tǒng)功能原理圖如圖1-1所示,兩個溫度傳感器分別采集室內(nèi)空氣的干濕球溫度,并將采集的溫度傳送至單片機。單片機對這兩個數(shù)據(jù)加以處理并結合室內(nèi)濕度要求參數(shù)控制加濕器的開啟和閉合。另外,水位傳感器還能監(jiān)測水位,

5、單片機根據(jù)水位高低控制聲光報警裝置。自動加濕器包括加濕模塊、報警模塊、自動斷電模塊。單片機溫度傳感器1溫度傳感器21602LCD顯示屏水位傳感器加濕器開關聲光報警器圖1-1 自動加濕器功能原理圖2.2 實現(xiàn)方式自動加濕器功能原理圖要達到自動加濕器功能要做好硬件和軟件設計和調(diào)試三個方面的工作。首先硬件方面,通過合理的設計單片機管腳及其他外圍電路的鏈接,使之既有I/O口的功能,又有控制型號的功能。由于時間倉促,沒有找到合適的水位傳感器,在開發(fā)過程中利用三個按鈕開關代替水位傳感器分別代表高、中、低水位,而加濕器開關則由一發(fā)光二級管代替,在方正過程中更容易觀察系統(tǒng)開發(fā)效果。這方面的內(nèi)容詳見硬件設計部分

6、內(nèi)容。其次軟件方面,通過合理設計軟件的結構和安排子程序,使程序以最簡潔有效的方式實現(xiàn)目的。最后,調(diào)試方面,程序編輯用LAC51系列開發(fā)與仿真環(huán)境,編輯過程可使用軟件仿真觀察,并對其進行調(diào)試。在程序編輯完成之后使用硬件仿真,最終用燒錄器將程序?qū)懭雴纹瑱C進行實測。本系統(tǒng)分信號的主要有溫度傳感器的輸入信號和單片機輸出的控制信號構成。首先由單片機向溫度傳感器發(fā)出讀信號,隨后溫度傳感器做出響應,單片機待DS18B20完成收集到得溫度信息進行AD處理并存儲為數(shù)字信號后,開始讀取溫度值,并對其信號做位處理使之達到用戶需求的精度以及計算得到相對濕度,最后通過1602LCD顯示溫濕度值。另外,系統(tǒng)在運行過程中還

7、有專門的控制聲光報警系統(tǒng)、光電耦合開關的控制信號,2.3 理論基礎2.3.1 單片機T89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除1000次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖2-1所示圖2-1 AT89S51芯片引腳圖AT89C51共有40個引腳,

8、大致可分為4類:電源引腳、時鐘電路引腳、I/O引腳、控制線引腳。根據(jù)開發(fā)的需要和單片機的結構,我們就可以實現(xiàn)單片機的自動工作,即實現(xiàn)自動化!2.3.2 DS18B20傳感器傳感器是一種按一定的精度把被測量轉換為與之有確定關系的、便于應用的某種物理的測量器件或裝置,用于滿足系統(tǒng)信息傳輸、存儲、顯示、記錄及控制等要求。在本系統(tǒng)的開發(fā)過程中主要用到了DS18B20數(shù)字溫度傳感器,這種傳感器提供9-12位攝氏溫度測量i fu b有一個由高低電平觸發(fā)的可編程的不因電源消失fu改變的報警功能。DS18B20通過一個單線接口發(fā)送或接受信息,因此在中央處理器和DS18B20之間僅需一條連接線(加上地線)。它的

9、測溫范圍為一55- + 125 0C,并目在一10-+850C精度為士5 0C。除此之外,DS18B20能直接從單線通訊線上汲取能量,除去了對外部電源的需求。每個DS 18B20都有一個獨特的64位序列號,從fu允許多只DS 18B20同時連在一根單線總線上;因此,很簡單就可以用一個微控制器去控制很多覆蓋在一大片區(qū)域的DS 18B20。這一特性在HVAC環(huán)境控制、探測建筑物、儀器或機器的溫度以及過程監(jiān)測和控制等方面非常有用。 在測溫操作方面,DS18B20的核心功能是它的直接讀數(shù)字的溫度傳感器。溫度傳感器的精度為用戶可編程的9, 10, 11或12位,分別以0. 5 0C , 0 . 2 5

10、0C , 0. 12 5 0C和0. 06250C增量遞增。在上電狀態(tài)下默認的精度為12位。DS18B20啟動后保持低功耗等待狀態(tài);當需要執(zhí)行溫度測量和AD轉換時,總線控制器必須發(fā)出44h命令。在那之后,產(chǎn)生的溫度數(shù)據(jù)以兩個字節(jié)的形式被存儲到高速暫存器的溫度寄存器中,DS18B20繼續(xù)保持等待狀態(tài)。當DS18B20由外部電源供電時,總線控制器在溫度轉換指令之后發(fā)起“讀時序”,DS18B20正在溫度轉換中返回0,轉換結束返回1。如果DS18B20由寄生電源供電,除非在進入溫度轉換時總線被一個強上拉拉高,否則將不會由返回值。寄生電源的總線要求在口618820供電節(jié)詳細解釋。圖2-2 DS18B20

11、數(shù)字溫度傳感器內(nèi)部結構2.3.3 1602LCD液晶顯示屏在單片機系統(tǒng)中應用液晶顯示器作為輸出器件有以下幾個優(yōu)點:一、顯示質(zhì)量高,由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍。二、數(shù)字式接口,液晶顯示器都是數(shù)字式的,和單片機系統(tǒng)的接口更加簡單可靠,操作更加方便。三、體積小、重量輕,液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。四、功耗低,相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比其它顯示器要

12、少得多。本系統(tǒng)選用的字符型LCD是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1,16*2,20*2和40*2行等的模塊。本次設計選用的是1602字符型液晶顯示器。一般1602字符型液晶顯示器實物如圖3-1: 圖2-3 1602字符型液晶顯示器實物圖1602LCD主要技術參數(shù):顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm 第三章 硬件設計3.1 設計方案單片機溫度傳感器1溫度傳感器21602LCD顯示屏水位傳感器加濕器開關聲光報警器圖3-1

13、 自動加濕器功能原理圖3.2 電路圖單片機是整個系統(tǒng)的控制中樞,它指揮外圍器件協(xié)調(diào)工作,從而完成特定的功能。硬件實現(xiàn)上采用模塊化設計,每一模塊只實現(xiàn)一個特定功能,最后再將各個模塊搭接在一起。這種設計方法可以降低系統(tǒng)設計的復雜性。系統(tǒng)電路原理圖如圖2所示。本系統(tǒng)主要硬件設計包括電源電路、蜂鳴器電路、晶振電路、復位電路、LCD顯示電路以及溫度傳感器電路。控制電路的核心器件是由美國Atmel公司生產(chǎn)的AT89C51單片機,屬于MCS-51系列。AT89C51是一種低功耗、高性能的CMOS8位微控制器,具有2K在系統(tǒng)可編程Flash存儲器,采用的工藝是Atmel公司的高密度非易失存儲器技術;片上Fla

14、sh允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器;在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89C51為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案;價格低廉、性能可靠、抗干擾能力強。因此廣泛應用于工業(yè)控制和嵌入式系統(tǒng)中。圖3-2 電路原理圖系統(tǒng)的聲光報器電路(警蜂鳴和LED發(fā)光二極管組成)、振落電路、復位電路。顯示模塊選用1602字符型液晶模塊,是目前工控系統(tǒng)中使用最為廣泛的液晶屏之一,電路圖如圖所示。1602字符型液晶模塊是點陣型液晶,驅(qū)動方便,經(jīng)編碼后顯示內(nèi)容多樣化。由于時間倉促,沒有找到合適的水位傳感器,在開發(fā)過程中利用三個按鈕開關代替水位傳感器分別代表高

15、、中、低水位,而加濕器開關則由一發(fā)光二級管代替,在方正過程中更容易觀察系統(tǒng)開發(fā)效果。3.3 信號分析本系統(tǒng)分信號的主要有溫度傳感器的輸入信號和單片機輸出的控制信號構成。首先由單片機向溫度傳感器發(fā)出讀信號,隨后溫度傳感器做出響應,單片機待DS18B20完成收集到得溫度信息進行AD處理并存儲為數(shù)字信號后,開始讀取溫度值,并對其信號做位處理使之達到用戶需求的精度以及計算得到相對濕度,最后通過1602LCD顯示溫濕度值。另外,系統(tǒng)在運行過程中還有專門的控制聲光報警系統(tǒng)、光電耦合開關的控制信號,這些控制信號比較簡單,不再一一論述。3.4 功能描述參考舒適性空調(diào)的相對濕度采用40%65%的要求x,在功能設

16、計過程中以40%為最適相對濕度參考值。單片機一方面通過監(jiān)測加濕器內(nèi)部的水位,達到加濕器防干燒的功能,即只有在水位在水位下限以上時加濕器才能通電工作。另一方面通過處理兩個溫度傳感器測得的干濕球溫度得到室內(nèi)相對濕度,并和人體最適相對濕度做比較。在水位符合要求的前提下,若室內(nèi)相對濕度高于人體最適值則控制加濕器不動作,反之則對加濕器通電開始加濕,直到室內(nèi)空氣達到最適濕度時斷電。另外,單片機通過和聲光報警器以及1602LCD顯示屏相連,還具有了溫濕度及水位的顯示功能??傊?,在現(xiàn)有的加濕器內(nèi)加入此單片機將實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關閉以及室內(nèi)溫濕度的顯示功能基本實現(xiàn)加濕器的智能化。3.5 復

17、位電路復位電路的基本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。圖3-3所示的RC復位電路可以實現(xiàn)上述基本功能,圖3為其輸入-輸出特性。但解決不了電源毛刺(A點)和電源緩慢下降(電池電壓不足)等問題 而且調(diào)整 RC 常數(shù)改變延時會令驅(qū)動能力變差。左邊的電路為高電平復位有效 右邊為低電平Sm為手動復位開關 Ch可避免高頻諧波對電路的干擾。圖3-3 上電及手動復位電路圖3.6液位定位及光電開關由于開發(fā)過程時間緊迫,暫時未購買到合適的液位監(jiān)測傳感器,因此在實際開發(fā)過程中

18、采用三個開關進行代替,按下按鈕表示水位到達相應的水位。另外為了直觀的看出控制輸出信號的轉臺,開發(fā)過程中將光電開關改為一發(fā)光二級管并與電阻串聯(lián)接地。見圖3-4。圖3-4 水位計光電開關替代元件3.7 1602顯示屏利用滑動變阻器調(diào)節(jié)背光燈與顯示字符的對比度,利用三極管的及P2.7控制背光的的暗與滅。接線原理見圖3-5。圖3-5 1602接線原理圖3.8 DS18B20溫度傳感器由于此款溫度傳感器輸出串行通信信號,電路圖相對簡單,見圖3-6。圖3-6 DS18B20溫度傳感器接線圖第四章 軟件設計4.1整體設計及說明系統(tǒng)單片機代碼采用匯編語言編譯,以偉福仿真器V8/L為開發(fā)環(huán)境。系統(tǒng)軟件實現(xiàn)的功能

19、:1)通過LCD顯示溫濕度值及水位;2)比較監(jiān)測到的水位,發(fā)現(xiàn)低水位時自動掉電并聲光報警;3)根據(jù)相對濕度值控制加濕器的開關。根據(jù)監(jiān)控系統(tǒng)功能要求,系統(tǒng)軟件流程圖設計如圖所示。顯示溫濕度初始化載入程序讀干球溫度T讀濕球溫度TS求出相對濕度D讀水位H判斷H>Ho是否成立開啟加濕器判斷D >D0是否成立聲光報警并關閉加濕器是否是否關加濕器圖4-1 主程序流程圖初始化開始,然后載入程序,根據(jù)顯示數(shù)據(jù)讀出干球溫度T,濕球溫度TS,根據(jù)干濕球溫度求出相對濕度D,然后讀出顯示的水位H,判斷水位H是否大于最小水位Ho:若H<=Ho,則聲光報警并關閉加濕器,然后顯示溫濕度,再讀出一個干球溫度

20、T,濕球溫度TS,計算出相對濕度D,讀出水位H循環(huán),直至H>Ho成立后,判斷相對濕度D與最小濕度Do的大小比較,若D<=Do則開啟加濕器,顯示溫濕度,循環(huán)直至相對濕度D<=Do,關閉加濕器,然后顯示溫濕度過程循環(huán)。4.2 DS18B20流程設計每個DS18B20溫度傳感器的流程圖設計如下:啟動溫度轉換讀取溫度溫度處理跳過ROM匹配DS18B20復位跳過ROM匹配DS18B20復位圖4-2 DS18B20模塊程序流程圖傳感器DS18B20復位,跳過ROM匹配后啟動溫度轉換,DS18B20復位然后跳過ROM匹配,再讀取溫度后進行溫度處理,保留一位小數(shù)。讀取數(shù)據(jù)及傳送的程序如下:R

21、EAD_TEMP: ;讀1820內(nèi)部溫度子程序.CALL RESETJB 70h,EXT1CALL SKIP_ROMCALL TEMP_CONV ;溫度AD變換CALL DELAY_600MSCALL RESETCALL SKIP_ROMCALL TEMP_GET ;發(fā)取溫度的命令CALL READ ;接收.EXT1:RETSKIP_ROM:;跳過ROM檢測MOV A,#0CCH ;#0CCH為跳過rom命令CALL WRITERETRECALL_EPROM:;重調(diào)EpromMOV A,#0B8HCALL WRITERETTEMP_CONV:MOV A,#44H ;AD變換CALL WRITE

22、RETTEMP_GET:MOV A ,#0BEH;讀18b20命令CALL WRITERET;* 18B20基本時序子程序RESET: ;初始化子程序SETB P1.2NOPCLR P1.2 ;拉低MOV R3,#150 ; *4=600USCALL DELAY_BY_R3SETB P1.2;拉高MOV R3,#15 ; 60USCALL DELAY_BY_R3MOV R3,#60 ;4個周期*60=240US內(nèi)檢測A1: JNB P1.2,A2 ;檢測到低平信號DJNZ R3,A1 ;如果沒有應答的低電平信號,返回A1重新檢測,超時后下一行,SETB 70h ;DS1820不存在.JMP A

23、3A2: CLR 70hMOV R3,120;240US;等恢復時間2*120=240usDJNZ R3, $A3:RETWRITE:MOV R2,#8;一個字節(jié)為8位CLR C ;C位清0 C位用來放A的一位數(shù)據(jù),用移位的方法放入CB1: SETB P1.2NOPCLR P1.2MOV R3,#4 ;16USCALL DELAY_BY_R3RRC A;把A中的數(shù)送入CMOV P1.2,C ;把C送入總線MOV R3,#12;48US(一位數(shù)據(jù)的發(fā)送:60us<tx<120us)CALL DELAY_BY_R3SETB P1.2 ;拉高1us結束一位NOPDJNZ R2,B1RET

24、READ:MOV R1,#4 ;接收4個字節(jié)數(shù)據(jù)依次是1.低位 2.高位. 3.高限 4.低限MOV R0,#28H;低位放28H;高位放29h (1. 28H,2. 29H 3. 2AH 4. 2BH )C0: MOV R2,#8;一字節(jié)數(shù)據(jù)8位C1: CLR C ;清除CSETB P1.2NOPNOPCLR P1.2 ;拉低.NOP ;1us秒后拉高?SETB P1.2MOV R3,#4 ;16us后采數(shù)據(jù)CALL DELAY_BY_R3MOV C,P1.2 ;讀出18b20的數(shù)據(jù)RRC A ;移入AMOV R3,#12;48US恢復時間CALL DELAY_BY_R3DJNZ R2,C1

25、 ;一個字節(jié)收完MOV R0,A ;移入存儲位INC R0 ;下一位;29hDJNZ R1,C0 ;全部取完嗎?沒有重復RET4.3 1602字符型LCD流程設計1602字符型LCD流程設計如下:延時15ms顯示模式設置延時5ms顯示關閉顯示清屏延時5ms延時5ms顯示光標移動設置延時5ms顯示開及光標設置顯示位置設置延時顯示溫度各位數(shù)值1602初始化圖4-3 1602液晶驅(qū)動程序流程圖顯示器1602初始化后延時15ms,顯示模式設置,再延時5ms,顯示關閉,延時5ms顯示清屏,再延時5ms顯示光標移動設置延時5ms顯示開及光標設置,然后顯示位置設置,延時,顯示溫度各位數(shù)值。此部分主要程序過長

26、,參見附錄一。第五章 系統(tǒng)調(diào)試系統(tǒng)與LAC51系列的仿真環(huán)境下開發(fā),編程過程中利用軟件仿真調(diào)試系統(tǒng),當軟仿通過則利用該仿真器仿真,并按順序檢查錯誤進行修改,最終將程序的HEX文件燒錄進入單片機進行實測。第六章 總結通過本次單片機學習課程的畢業(yè)設計,使自己在理解單片機基本電路的基礎上掌握了簡單電路的設計方法,同時對整個課題的編程方法和技巧也有了一定的認識和理解,并初步具備了獨立編程和系統(tǒng)調(diào)試的能力。在本次課題設計中,自己遇到了不少問題,通過請教徐老師和翻閱資料,最終將問題解決。尤其是在調(diào)試程序時,運用軟件仿真,逐步排查錯誤,最終將程序調(diào)試成功。在此過程中,自己的編程能力得到了加強,同時也鍛煉了自

27、己的耐性??傊ㄟ^本次設計,使自己受益匪淺。另外,在智能加濕器的開發(fā)過程中我體會到了自動化得真正含義,對以后的學習和工作奠定了一定的基礎,以后進一步的學習過程中一方面要拓展智能的加濕器的功能和應用范圍,使之更加完善。另一方面還要探究新的課題,開發(fā)新的單片機應用系統(tǒng),問何那得清如許,為由源頭活水來!走上單片機開發(fā)之路,我要將自己的知識轉化為社會可以運用的技術,為社會的進步盡自己一份力量。致 謝在畢業(yè)設計期間,始終得到指導老師徐權的悉心指導。整個學習和設計過程中,我深切的體會到了導師嚴謹?shù)闹螌W精神、淵博的知識、敏銳的思維、對工作的熱情態(tài)度和樸素高尚的人格修養(yǎng),相信這些將使我終生受益。在此論文完成

28、之際,謹向我敬愛的導師表示最誠摯的敬意。由衷地感謝老師給予我的許多指導和幫助。也由衷地感謝各位同學為我的無私幫助,而且他們孜孜不倦的學習精神永遠是我學習的榜樣。同時,也向所有幫助支持過我的老師、同學和朋友致以衷心的感謝。參考文獻1. 周向紅.MCS-51系列單片機應用于實踐教程【M】.北京航空航天大學出版社,2008.2. 公孫茂,馬寶匍,孫晨.單片機入口接口實例集【M】.北京:北京航空航天出版社,2002.3. 何立民.MCS51系列單片機應用設計系統(tǒng)配置與接口技術【M】. 北京:北京航空航天出版社,1990.4. 陳一民.計算機精梳車間濕度自動控制系統(tǒng)【J】.上海大學學報(自然科學版),1

29、997附錄一1602液晶模塊資料(特點,引腳及指令)這里介紹的字符型液晶模塊是一種用5x7點陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個字、2行16個字、2行20個字等等,這里以常用的2行16個字的1602液晶模塊來介紹它的編程方法。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,如表1所示,這些字符有:阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A”  16

30、02引腳功能描述:1602采用標準的14腳接口,其中:第1腳:VSS為地電源第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地電源時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以通過一個10K的電位器調(diào)整對比度第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和RW共同為低電平時可以寫入指令或者顯示地址,當RS為低電平RW為高電平時可以讀忙信號,當RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。

31、第714腳:D0D7為8位雙向數(shù)據(jù)線。 1602液晶模塊指示介紹:1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2所示, 它的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標復位到地址00H位置指令2:光標復位,光標返回到地址00H 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無

32、光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符 指令7:字符發(fā)生器RAM地址設置 指令8:DDRAM地址設置 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù) 指令11:讀數(shù)據(jù)附錄二 LCD控制及顯示子程序DISPLAY: MOV A,R1MOVC A,A+D

33、PTRMOV P0,ACALL WRITE_DATA_TO_LCDINC R1DJNZ R0,DISPLAYRETWRITE_NOT_CHECK_BUSY:SETB ENOPNOPCLR RS ;寫入控制命令的子程序CLR RWCLR ERETENABLE:SETB ENOPNOPCLR RS ;寫入控制命令的子程序CLR RWCLR EACALL TEST_BUSYSETB ERETTEST_BUSY:SETB ENOPNOPMOV P0,#0FFH ;判斷液晶顯示器是否忙的子程序CLR RSSETB RWCLR ENOPSETB EJB P0.7,TEST_BUSY ;如果P0.7為高電平

34、表示忙就循環(huán)等待RETWRITE_DATA_TO_LCD:SETB ENOPNOPSETB RS ;RS=1CLR RW ;RW=0 ;準備寫入數(shù)據(jù)CLR E ;E=0 ;執(zhí)行顯示命令ACALL TEST_BUSY ;判斷液晶模塊是否忙?SETB E ;E=1 ;顯示完成,程序停車RET;*數(shù)據(jù)轉換*DATA_CONV: ;數(shù)據(jù)轉換MOV A,28H ;低字節(jié)ANL A,#0FH;去除高位MOV B,#6;乘6得到實際數(shù)值的100倍.MUL ABMOV B,#10DIV ABMOV 33H,A;小數(shù)位高MOV 32H,B; 小數(shù)位低MOV A,28HMOV C,29H.0 ;29h高位的低4字

35、節(jié)RRC AMOV C,29H.1RRC AMOV C,29H.2RRC AMOV C,29H.3RRC AMOV 28H,A ;重新合成.結果存在28H.MOV A,28HMOV B,#10DIV ABMOV 26H,A ;整數(shù)位高MOV 25H,B ;整數(shù)位低;-MOV A,2AHMOV B,#10DIV ABMOV 40H,B ;高溫限值個位MOV B,#10DIV ABMOV 41H,B;十位MOV 42H,A;百位;-MOV A,2BHMOV B,#10DIV ABMOV 43H,B ;低溫限值位個位MOV B,#10DIV ABMOV 44H,B ;十位MOV 45H,A ;百位C

36、LR CMOV A,28H;現(xiàn)溫度值與高溫限值比較SUBB A,2AHJC BIG ;如果高.則關機器CLR CMOV A,2BH;現(xiàn)溫度與低溫限值比較SUBB A,28HJC X_BIG ;低溫限值比現(xiàn)溫高,則開機器AJMP CONVERT_ENDBIG:AJMP CONVERT_ENDX_BIG:CONVERT_END:RET;*顯示溫度*DISPLAY_18B20_TEMP: ;LCD_顯示子程序MOV P0,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB3;顯示'WENDU:'MOV R1,#0 ;碼表初值MOV R0,#

37、7;字數(shù)CALL DISPLAY;-顯示溫度值高位MOV DPTR,#LED_DATAMOV R1,26H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-顯示溫度值低位MOV DPTR,#LED_DATAMOV R1,25H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-顯示小數(shù)點MOV DPTR,#DOTMOV R1,#0 ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-顯示溫度值小數(shù)高位MOV DPTR,#LED_DATAMOV R1,33H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-顯示溫度值小數(shù)低位MOV DPTR,#L

38、ED_DATAMOV R1,32H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-顯示單位度MOV DPTR,#SIGNMOV R1,#0 ;碼表初值MOV R0,#2;字數(shù)CALL DISPLAYRET;*顯示限值.*DISPLAY_18B20_TEMP_XZ:MOV P0,#11000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_L ; 顯示'L:'MOV R1,#0 ;碼表初值MOV R0,#2;字數(shù)CALL DISPLAY;-顯示溫度限值高位MOV DPTR,#LED_DATAMOV R1,45H ;碼表初值MOV

39、R0,#1;字數(shù)CALL DISPLAY;-顯示溫度限值低位MOV DPTR,#LED_DATAMOV R1,44H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-MOV DPTR,#LED_DATAMOV R1,43H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAYMOV P0,#11000111B; 顯示位置ACALL ENABLE;- -MOV DPTR,#TAB_H ; 顯示'H:'MOV R1,#0 ;碼表初值MOV R0,#2;字數(shù)CALL DISPLAY;-顯示高溫度限值高位MOV DPTR,#LED_DATAMOV R1,42H ;碼

40、表初值MOV R0,#1;字數(shù)CALL DISPLAY;-顯示高溫度限值低位MOV DPTR,#LED_DATAMOV R1,41H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAY;-MOV DPTR,#LED_DATAMOV R1,40H ;碼表初值MOV R0,#1;字數(shù)CALL DISPLAYRET;* *提示語*DISPLAY_18B20_HELLO:MOV P0,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_HELLOMOV R1,#0 ;碼表初值MOV R0,#16;字數(shù)CALL DISPLAyRET;/*DISPLAY

41、_18B20_TESTING:MOV P1,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_TESTINGMOV R1,#0 ;碼表初值MOV R0,#16;字數(shù)CALL DISPLAyRET;*/DISPLAY_18B20_ERROR:MOV P0,#00000001B ;清屏并光標復位ACALL ENABLEMOV DPTR,#TAB1MOV R1,#0 ;碼表初值MOV R0,#16;字數(shù)CALL DISPLAyRETDISPLAY_WATING:MOV P0,#00000001B ;清屏并光標復位ACALL ENABLE;調(diào)用寫入命令子程

42、序MOV P0,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB2MOV R1,#0 ;碼表初值MOV R0,#13;字數(shù)CALL DISPLAyRETDISPLAY_SAVE:MOV P0,#00000001B ;清屏并光標復位ACALL ENABLE;調(diào)用寫入命令子程序MOV P0,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_SAVEMOV R1,#0 ;碼表初值MOV R0,#10;字數(shù)CALL DISPLAyRETDISPLAY_SETING_TEMP_H:MOV P0,#00000001B ;清屏并光標復位ACALL ENABLE;調(diào)用寫入命令子程序MOV P0,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_SETING_TEMP_HMOV R1,#0 ;碼表初值MOV R0,#13;字數(shù)CALL DISPLAyRETDISPLAY_SETING_TEMP_L:MOV P0,#00000001B ;清屏并光標復位ACALL ENABLE;調(diào)用寫入命令子程序MOV P0,#10000000B; 顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_SETING_TEMP_LMOV R1,#

溫馨提示

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

評論

0/150

提交評論