版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、基于51單片機的空氣智能加濕器的設計目 錄1任務來源意義及目的22設計方案22. 22. 2 32 單片機32. 3. 2DS18B20傳感器42.3.3 1602LCD液晶顯示屏53硬件設計63. 1設計方案63.3信號分析83.4功能描述83.5復位電路83. 6液位定位及加濕器的光電開關93. 7 1602 顯示屏104軟件設計114.1整體設計及說明114. 2 DS18B20 流程設計124.3 1602字符型LCD流程設計155系統(tǒng)調(diào)試176總結17致謝18附錄一:1602LCD簡介20附錄二LCD限制及顯示子程序24 摘要:在日常生活中加濕器得到了廣泛的應用,但是
2、現(xiàn)有的加濕器都需要手工限制開啟和關 閉并且不具備對室內(nèi)空氣溫濕度的監(jiān)測,人們在使用過程中存在過度加濕和干燒的問題,不 僅給室內(nèi)空氣舒適度造成負而影響并且還存在平安隱患.因此開發(fā)設計一種價格低廉、功耗 低、具有自動限制功能的加濕器顯得尤為必要.本設il采用智能限制,以AT80S51單片機 為核心,外接輔助電路,通過實現(xiàn)加濕器的防干燒、聲光報警、智能開啟和關閉以及室內(nèi)溫 濕度的顯示功能根本實現(xiàn)加濕器的智能化.關鍵詞:單片機、智能、加濕器、相對濕度、傳感器1任務來源意義及目的在日常生活中加濕器得到了廣泛的應用,但是現(xiàn)有的加濕器都需要手工限制 開啟和關閉并且不具備對室內(nèi)空氣溫濕度的監(jiān)測,人們在使用過程
3、中存在過度加 濕和干燒的問題,不僅給室內(nèi)空氣舒適度造成負面影響并且還存在平安隱患.因 此開發(fā)設計一種價格低廉、功耗低、具有自動限制功能的加濕器顯得尤為必要.本設計采用智能限制,以AT80S51單片機為核心,外接輔助電路,通過實現(xiàn) 加濕器的防干燒、聲光報警、智能開啟和關閉以及室內(nèi)溫濕度的顯示功能根本實 現(xiàn)加濕器的智能化.2設計方案2.1總體設計智能加濕器需滿足以下要求:1相對濕度低于40%時自動加濕;2用戶可以設置系統(tǒng)溫濕度報警值;3由5V穩(wěn)壓直流電源供電,提供溫濕度調(diào)節(jié)限制信號,實現(xiàn)自動限制;4檢測得到的數(shù)據(jù)可以通過顯示模塊顯示.硬件設計不僅要滿足系統(tǒng)需求,還要滿足功能和外形尺寸要求.根據(jù)設計
4、要求確定了系統(tǒng)的總體方案,包系統(tǒng)由兩個DS18B20溫度傳感器一 個水位傳感器、單片機、1602LCD液晶顯示屏、聲光報警器、以及一個光電耦合 開關等局部組成.系統(tǒng)功能原理圖如圖1-1所示,兩個溫度傳感器分別釆集室內(nèi) 空氣的干濕球溫度,并將采集的溫度傳送至單片機.單片機對這兩個數(shù)據(jù)加以處 理并結合室內(nèi)濕度要求參數(shù)限制加濕器的開啟和閉合.另外,水位傳感器還能監(jiān) 測水位,單片機根據(jù)水位上下限制聲光報警裝置.自動加濕器包括加濕模塊、報 警模塊、自動斷電模塊.圖1-1自動加濕器功能原理圖2.2實現(xiàn)方式要到達自動加濕器功能要做好硬件和軟件設計和調(diào)試三個方面的工作.首先 硬件方面,通過合理的設計單片機管腳
5、及其他外圍電路的鏈接,使之既有I/O 口的功能,又有限制型號的功能.由于時間倉促,沒有找到適宜的水位傳感器, 在開發(fā)過程中利用三個按鈕開關代替水位傳感器分別代表髙、中、低水位,而加 濕器開關那么由一發(fā)光二級管代替,在方正過程中更容易觀察系統(tǒng)開發(fā)效果.這方 面的內(nèi)容詳見硬件設計局部內(nèi)容.其次軟件方面,通過合理設計軟件的結構和安 排子程序,使程序以最簡潔有效的方式實現(xiàn)目的.最后,調(diào)試方面,程序編輯用 VW8系列方針器環(huán)境,編輯過程可使用軟件仿真觀察,并對其進行調(diào)試.在程序 編輯完成之后使用硬件仿真,最終用燒錄器將程序寫入單片機進行實測.本系統(tǒng)分信號的主要有溫度傳感器的輸入信號和單片機輸出的限制信號
6、構 成.首先由單片機向溫度傳感器發(fā)出讀信號,隨后溫度傳感器做出響應,單片機 待DS18B20完成收集到得溫度信息進行AD處理并存儲為數(shù)字信號后,開始讀取 溫度值,并對其信號做位處理使之到達用戶需求的精度以及計算得到相對濕度, 最后通過1602LCD顯示溫濕度值.另外,系統(tǒng)在運行過程中還有專門的限制聲光 報警系統(tǒng)、光電耦合開關的限制信號,2.3理論根底2.3.1單片機T89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機.單片機 的可擦除只讀存儲器可以反復擦除1000次.該器件采用ATMEL高密度非易失存 儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容.由于將多功能
7、8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89S51是一種髙效微限制器,AT89C2051是它的一種精簡版本.AT89S51單片機為很多嵌入式限制系統(tǒng)提供了一種靈活性髙且價廉的方案.外形及引腳排列如圖2-1所示了456?891011121314151617181920P1.0fT2VCCP1.1)T2EXADOP1.2/RXD1ADIP1.3)TZD1AD2P1.4/INT2AD3P1.5/INT3AD4P1.6/INT4ADSP1.7/INT5AD6R5TAD7P3.0/RZD0EAP3.1/RXD0ALEP3.2/INT0PSENP3.3/INT1A15P2.?)P3.4fT
8、0A14(P2.6)P3.5/T1A13(P2.5)P3.6/WRA12(P2.4)RDA11(P2.3)XTAL2A10(P2.2)XTAL1A9(P2.1)GNDA8(P2.0)AT89C513938373635343332313029282726252423222140圖2-1 AT89S51芯片引腳圖AT89S51共有40個引腳,大致可分為4類:電源引腳、時鐘電路引腳、I/O 引腳、限制線引腳.根據(jù)開發(fā)的需要和單片機的結構,我們就可以實現(xiàn)單片機的 自開工作,即實現(xiàn)自動化! 2. 3.2 DS18B20 傳感器傳感器是一種按一定的精度把被測量轉換為與之有確定關系的、便于應用的 某種物理的
9、測量器件或裝置,用于滿足系統(tǒng)信息傳輸、存儲、顯示、記錄及限制 等要求.在本系統(tǒng)的開發(fā)過程中主要用到了 DS18B20數(shù)字溫度傳感器,這種傳感 器提供9-12位攝氏溫度測量i fub '有一個由髙低電平觸發(fā)的可編程的不因電 源消失fu改變的報警功能.DS18B20通過一個單線接口發(fā)送或接受信息,因此 在中央處理器和DS18B20之間僅需一條連接線加上地線.它的測溫范圍為一 55- + 125 0C,并目'在一 10-+850C 精度為士 5 0C.除此之外,DS18B20 能直接從單線通訊線上汲取能量,除去了對外部電源的需求.每個DS 18B20都 有一個獨特的64位序列號,從f
10、u允許多只DS 18B20同時連在一根單線總線上; 因此,很簡單就可以用一個微限制器去限制很多覆蓋在一大片區(qū)域的DS 18B20. 這一特性在HVAC環(huán)境限制、探測建筑物、儀器或機器的溫度以及過程監(jiān)測和控 制等方面非常有用.在測溫操作方面,DS18B20的核心功能是它的直接讀數(shù)字的溫度傳感器.溫 度傳感器的精度為用戶可編程的9, 10, 11或12位,分別以0. 5 0C , 0 . 2 5 0C , 0. 12 5 0C和0. 06250C增量遞增.在上電狀態(tài)下默認的精度為12位. DS18B20啟動后保持低功耗等待狀態(tài);當需要執(zhí)行溫度測量和AD轉換時,總線控 制器必須發(fā)出44h)命令.在那
11、之后,產(chǎn)生的溫度數(shù)據(jù)以兩個字節(jié)的形式被存 儲到高速暫存器的溫度存放器中,DS18B20繼續(xù)保持等待狀態(tài).當DS18B20由外 部電源供電時,總線限制器在溫度轉換指令之后發(fā)起“讀時序,DS18B20正在 溫度轉換中返回0,轉換結束返回1.如果DS18B20由寄生電源供電,除非在進 入溫度轉換時總線被一個強上拉拉高,否那么將不會由返回值.寄生電源的總線要 求在口 618820供電節(jié)詳細解釋.Vfu圖2-2 DS18B20數(shù)字溫度傳感器內(nèi)部結構2. 3.3 1602LCD液晶顯示屏在單片機系統(tǒng)中應用液晶顯示器作為輸出器件有以下幾個優(yōu)點:一、顯示質 量髙,由于液晶顯示器每一個點在收到信號后就一直保持那
12、種色彩和亮度,恒定 發(fā)光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點.因此,液晶 顯示器畫質高且不會閃爍.二、數(shù)字式接口,液晶顯示器都是數(shù)字式的,和單片 機系統(tǒng)的接口更加簡單可靠,操作更加方便.三、體積小、重量輕,液晶顯示器 通過顯示屏上的電極限制液晶分子狀態(tài)來到達顯示的目的,在重量上比相同顯示 面積的傳統(tǒng)顯示器要輕得多.四、功耗低,相對而言,液晶顯示器的功耗主要消 耗在其內(nèi)部的電極和驅動IC上,因而耗電量比其它顯示器要少得多.本系統(tǒng)選用的字符型LCD是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,目前常用16*1, 16*2, 20*2和40*2行等的模塊.本次設計選用的是長沙
13、 太陽人電子的1602字符型液晶顯示器.一般1602字符型液晶顯示器實 物如圖3-1:圖2-3 1602字符型液晶顯示器實物圖1602LCD主要技術參數(shù):顯示容量:16X2個字符芯片工作電壓:4. 55. 5V工作電流:2. 0mA (5. 0V)模塊最正確工作電壓:5. 0V字符尺寸:2. 95X4. 35(WXH)mm3硬件設計3.1設計方案圖3-1自動加濕器功能原理圖3.2電路圖單片機是整個系統(tǒng)的限制中樞,它指揮外圍器件協(xié)調(diào)工作,從而完成特定的 功能.硬件實現(xiàn)上采用模塊化設計,每一模塊只實現(xiàn)一個特定功能,最后再將各 個模塊搭接在一起.這種設計方法可以降低系統(tǒng)設計的復雜性.系統(tǒng)電路原理圖
14、如圖2所示.本系統(tǒng)主要硬件設計包括電源電路、蜂鳴器電路、晶振電路、復位 電路、LCD顯示電路以及溫度傳感器電路.限制電路的核心器件是由美國Atmel公司生產(chǎn)的AT89S51單片機,屬于 MCS-51系列<> AT89S51是一種低功耗、高性能的CM0S8位微限制器,具有2K在 系統(tǒng)可編程Flash存儲器,采用的工藝是Atmel公司的高密度非易失存儲器技術; 片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器;在單芯片上,擁 有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S51為眾多嵌入式限制應用 系統(tǒng)提供高靈活、超有效的解決方案;價格低廉、性能可靠、抗干擾水平強.
15、因 此廣泛應用于工業(yè)限制和嵌入式系統(tǒng)中.£二£烹命二9e«aMOMJ»TI>PX*<TD) fXFXTAUXT.U2an恥巨匸 刃屛BRJ;ADPOO L<ADI>PDI :;8: gSS、(Ago aw ;x:aj>: (All>p:5 皿g WA ! (A!*;i2 4 嚴浮VCC GM> 1FJOWOL二二圖3-2電路原理圖系統(tǒng)的聲光報器電路警蜂鳴和LED發(fā)光二極管組成、振落電路、復位電 路如圖?、圖?、圖?所示.顯示模塊選用1602字符型液晶模塊,是目前工控 系統(tǒng)中使用最為廣泛的液晶屏之一,電路圖如圖?所
16、示.1602字符型液晶模塊 是點陣型液晶,驅動方便,經(jīng)編碼后顯示內(nèi)容多樣化.由于時間倉促,沒有找到 適宜的水位傳感器,在開發(fā)過程中利用三個按鈕開關代替水位傳感器分別代表 高、中、低水位,而加濕器開關那么由一發(fā)光二級管代替,在方正過程中更容易觀 察系統(tǒng)開發(fā)效果.3.3信號分析本系統(tǒng)分信號的主要有溫度傳感器的輸入信號和單片機輸出的限制信號構 成.首先由單片機向溫度傳感器發(fā)出讀信號,隨后溫度傳感器做出響應,單片機 待DS18B20完成收集到得溫度信息進行AD處理并存儲為數(shù)字信號后,開始讀取 溫度值,并對其信號做位處理使之到達用戶需求的精度以及計算得到相對濕度, 最后通過1602LCD顯示溫濕度值.另
17、外,系統(tǒng)在運行過程中還有專門的限制聲光 報警系統(tǒng)、光電耦合開關的限制信號,這些限制信號比擬簡單,不再一一論述. 3.4功能描述參考舒適性空調(diào)的相對濕度采用40%65%的要求x,在功能設計過程中以 40%為最適相對濕度參考值.單片機一方面通過監(jiān)測加濕器內(nèi)部的水位,到達加 濕器防干燒的功能,即只有在水位在水位下限以上時加濕器才能通電工作.另一 方面通過處理兩個溫度傳感器測得的干濕球溫度得到室內(nèi)相對濕度,并和人體最適相對濕度做比擬.在水位符合要求的前提下,假設室內(nèi)相對濕度髙于人體最適值 那么限制加濕器不動作,反之那么對加濕器通電開始加濕,直到室內(nèi)空氣到達最適濕 度時斷電.另外,單片機通過和聲光報警器
18、以及1602LCD顯示屏相連,還具有了 溫濕度及水位的顯示功能.總之,在現(xiàn)有的加濕器內(nèi)參加此單片機將實現(xiàn)加濕器 的防干燒、聲光報警、智能開啟和關閉以及室內(nèi)溫濕度的顯示功能根本實現(xiàn)加濕 器的智能化.3.5復位電路復位電路的根本功能是:系統(tǒng)上電時提供復位信號,直至系統(tǒng)電源穩(wěn)定后, 撤銷復位信號.為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號,以 防電源開關或電源插頭分-合過程中引起的抖動而影響復位.圖3-3所示的RC 復位電路可以實現(xiàn)上述根本功能,圖3為其輸入-輸出特性.但解決不了電源毛 刺A點和電源緩慢下降電池電壓缺乏等問題而且調(diào)整RC常數(shù)改變延 時會令驅動水平變差.左邊的電路為髙電平復位
19、有效 右邊為低電平Sm為手動 復位開關Ch可防止高頻諧波對電路的干擾.S4VCC10uFRSTR410K圖3-3上電及手動復位電路圖3. 6液位定位及光電開關由于開發(fā)過程時間緊迫,暫時未購置到適宜的液位監(jiān)測傳感器,因此在實際 開發(fā)過程中采用三個開關進行代替,按下按鈕表示水位到達相應的水位.另外為 了直觀的看出限制輸出信號的轉臺,開發(fā)過程中將光電開關改為一發(fā)光二級管并與電阻串聯(lián)接地.見圖3-4.S1P2.3oo52P2.4oo153P2.5ooP2.6DS2R51K圖3-4水位計光電開關替代元件3.7 1602顯示屏利用滑動變阻器調(diào)節(jié)背光燈與顯示字符的比照度,利用三極管的及P2.7控 制背光的的
20、暗與滅.接線原理見圖3-5.3.8 DS18B20溫度傳感器由于此款溫度傳感器輸出串行通信信號,電路圖相對簡單,見圖3-6.P2Ploemoo-sdPl.3vccVCC圖3-6 DS18B20溫度傳感器接線圖4軟件設計4.1整體設計及說明系統(tǒng)單片機代碼采用匯編語言編譯,以偉福仿真器V8/L為開發(fā)環(huán)境.系統(tǒng) 軟件實現(xiàn)的功能:1通過LCD顯示溫濕度值及水位;2比擬監(jiān)測到的水位,發(fā)現(xiàn)低水位時自動掉電并聲光報警;3根據(jù)相對濕度值限制加濕器的開關.根據(jù)監(jiān)控系統(tǒng)功能要求,系統(tǒng)軟件流程圖設計如下圖.聲光報警并 關閉加濕器圖4-1主程序流程圖初始化開始,然后載入程序,根據(jù)顯示數(shù)據(jù)讀出干球溫度T,濕球溫度TS,
21、 根據(jù)干濕球溫度求出相對濕度D,然后讀出顯示的水位H,判斷水位H是否大于 最小水位H.:假設H<=Ho,那么聲光報警并關閉加濕器,然后顯示溫濕度,再讀出一 個干球溫度T,濕球溫度TS,計算出相對濕度D,讀出水位H循環(huán),直至HHo成 立后,判斷相對濕度D與最小濕度Do的大小比擬,假設D<=Do那么開啟加濕器,顯 示溫濕度,循環(huán)直至相對濕度D<=Do,關閉加濕器,然后顯示溫濕度過程循環(huán).4. 2 DS18B20流程設計每個DS18B20溫度傳感器的流程圖設計如下:圖4-2 DS18B20模塊程序流程圖傳感器DS18B20復位,跳過ROM匹配后啟動溫度轉換,DS18B20復位然后跳
22、 過ROM匹配,再讀取溫度后進行溫度處理,保存一位小數(shù).讀取數(shù)據(jù)及傳送的程 序如下:READ_TEMP:;讀1820內(nèi)部溫度子程序.CALL RESETJB 70h,EXT1CALLSKIP_ROMCALLTEMP_CONV ;溫度 AD 變換CALL DELAY_600MSCALL RESETCALLSKIP_ROMCALLTEMP_GET ;發(fā)取溫度的命令CALL READ ;接收EXT1:RETSKIP_ROM:;跳過 ROM 檢測MOV A,#0CCH ;#0CCH 為跳過 rom 命令CALL WRITERETRECALL_EPROM:;重調(diào) EpromMOV A,#0B8HCALL
23、 WRITERETTEMP_CONV:MOV A,#44H ;AD 變換CALL WRITERETTEMP_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 ;如果沒有應答的低電平
24、信號,返回A1重新檢測,超時后下一行,SETB 70h ;DS1820 不存在.JMPA3A2: 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_R3RRCA;把A中的數(shù)送入CMOV P1.2,C;把.送入總線MOV R3,#12;48US(位數(shù)據(jù)的發(fā)送:60us<tx<120us)CALL DELAY_BY
25、_R3SETB P1.2 ;拉高1us結束一位NOPDJNZ R2,B1RETREAD:MOVR1,#4;接收4個字節(jié)數(shù)據(jù)依次是1.低位2.高位.3.高限4低限MOV R0,#28H;低位放 28H;高位放 29h (1.28H,2. 29H 3. 2AH 4. 2BH ) CO: MOV R2,#8;一字節(jié)數(shù)據(jù)8位C1:CLRC;去除 CSETB P1.2NOPNOPCLR P1.2 ;拉低.NOP Jus秒后拉高?SETB P1.2MOV R3,#4 ;16us 后采數(shù)據(jù)CALL DELAY_BY_R3MOV C,P1.2 ;讀出18b20的數(shù)據(jù)RRC A;移入AMOV R3,# 12;4
26、8US 恢復時問CALL DELAY_BY_R3DJNZ R2,C1 ;一個字節(jié)收完MOV R0,A ;移入存儲位INC RO ;下一位;29hDJNZ R1,C0 ;全部取完嗎?沒有重復RET4.3 1602字符型LCD流程設計1602字符型LCD流程設計如下:圖4-3 1602液晶驅動程序流程圖顯示器1602初始化后延時15ms,顯示模式設置,再延時5ms,顯示關閉, 1延時5ms顯示清屏,再延時5ms顯示光標移動設置延時5ms顯示開及光標設置, 然后顯示位置設置,延時,顯示溫度各位數(shù)值.此局部主要程序過長,參見附錄O5系統(tǒng)調(diào)試系統(tǒng)與VW8系列的仿真環(huán)境下開發(fā),編程過程中利用軟件仿真調(diào)試系
27、統(tǒng),當 軟仿通過那么利用該仿真器仿真,并按順序檢查錯誤進行修改,最終將程序的HEX 文件燒錄進入單片機進行實測.6總結通過本次單片機學習課程的畢業(yè)設計,使自己在理解單片機根本電路的根底 上掌握了簡單電路的設計方法,同時對整個課題的編程方法和技巧也有了 一定的 熟悉和理解,并初步具備了獨立編程和系統(tǒng)調(diào)試的水平.在本次課題設計中,自 己遇到了不少問題,通過請斂賀老師和翻閱資料,最終將問題解決.尤其是在調(diào) 試程序時,運用軟件仿真,逐步排查錯誤,最終將程序調(diào)試成功.在此過程中, 自己的編程水平得到了增強,同時也鍛煉了自己的耐性.總之,通過本次設計, 使自己受益匪淺.另外,在智能加濕器的開發(fā)過程中我體會
28、到了自動化得真正含 義,對以后的學習和工作奠定了一定的根底,以后進一步的學習過程中一方面要 拓展智能的加濕器的功能和應用范圍,使之更加完善.另一方面還要探究新的課 題,開發(fā)新的單片機應用系統(tǒng),問何那得清如許,為由源頭活水來!走上單片機 開發(fā)之路,我要將自己的知識轉化為社會可以運用的技術,為社會的進步盡自己 一份力量.致謝作者在畢業(yè)設計期間,始終得到指導老師賀新民老師的悉心指導.整個學 習和設計過程中,我深切的體會到了導師嚴謹?shù)闹螌W精神、淵博的知識、敏銳 的思維、對工作的熱情態(tài)度和樸素高尚的人格修養(yǎng),相信這些將使我終生受益. 在此論文完成之際,謹向我敬愛的導師表示最誠摯的敬意.山衷地感謝王玉芝老
29、師在課題研究期間給予我的許多指導和幫助.也山衷 地感謝各位同學為我的課題提供的無私幫助,而且他們孜孜不倦的學習精神永 遠是我學習的典范.同時,也向所有幫助支持過我的老師、同學和朋友致以衷 心的感謝.I參考文獻:1薛殿華空氣調(diào)節(jié)北京:清華大學出版社,1991.2趙玉剛邱東傳.感器根底.北京:中國林業(yè)岀版社;北京大學出版社,2006. 83張俊謨.單片機中級教程:原理與應用.北京:北京航空航天大學出版社,2006. 104黃曉因.張連根.干濕球法測量相對濕度算法研究及單片機實現(xiàn)J.云南族大學學報:自 然科學版.2003, 1 2 ( 3 ) : 155 -1575胡玉峰.自動與人工觀測數(shù)據(jù)的差異J
30、).應用氣象學報,2004. 15(fi).6孫曉波.DS18B20在多點溫控系統(tǒng)中的應用J.哈爾濱商業(yè)大學學報(自然科學版), 2002, 18(4):年,卷(期).7李廣弟等編著,?單片機根底?,北京航空航天大學岀版社,2001年7月.I附錄一:1602LCD簡介引腳功能說明1602LCD采用標準的14腳無背光或16腳帶背光接口,各引腳接口 說明如表3-1所示:表3-1:引腳接口說明表編號符號引腳說明編號符號引腳說明1VSS電源地9D2數(shù)據(jù)2VDD電源正極1()D3數(shù)據(jù)3VL液晶顯示偏壓11D4數(shù)據(jù)4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù)5R/W讀/寫選擇13D6數(shù)據(jù)6E使能信號14D7數(shù)據(jù)7DO
31、數(shù)據(jù)15BLA背光源正極8DI數(shù)據(jù)16BLK背光源負極第1腳:VSS為地電源.笫2腳:VDD接5V正電源.笫3腳:VL為液晶顯示器比照度調(diào)整端,接正電源時比照度最弱,接地時 比照度最高,比照度過高時會產(chǎn)生“鬼影,使用時可以通過一個10K的電位器 調(diào)整比照度.笫4腳:RS為存放器選擇,高電平時選擇數(shù)據(jù)存放器、低電平時選擇指令 存放器.第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作. 當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W 為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數(shù)據(jù).第6腳:E端為使能端,當E端山高電平跳變成低電平時,
32、液晶模塊執(zhí)行命 令.第714腳:DOD7為8位雙向數(shù)據(jù)線.第15腳:背光源正極.笫16腳:背光源負極.表3-2:限制命令表序號指令RSRAVD7D6D5D4D3D2D1DO1淸顯示00000000012光標返回000000001*3置輸入模式00000001I/DS4顯示開/關限制0000001DCB5光標或字符移位000001S/CR/L*6置功能00001 DL N F *7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標志或地址01BF計數(shù)器地址10寫數(shù)到CGRAM或DDRAM)10要寫的數(shù)拯內(nèi)容11從CGRAM或DDRAM讀數(shù)11讀岀的數(shù)
33、拯內(nèi)容1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現(xiàn)的. 說明:1為高電平、0為低電平指令1:清顯示,指令碼01H,光標復位到地址00H位置.指令2:光標復位,光標返回到地址00H.指令3:光標和顯示模式設置I/D:光標移動方向,高電平右移,低電平左 移S:屏幕上所有文字是否左移或者右移.高電平表示有效,低電平那么無效.指令4:顯示開關限制.D:限制整體顯示的開與關,高電平表示開顯示, 低電平表示關顯示C:限制光標的開與關,高電平表示有光標,低電平表示無光 標B:限制光標是否閃爍,高電平閃爍,低電平不閃爍.指令5:光標或顯示移位S/C:高電平時移動顯示的文字,低電平時移動光
34、 標.指令6:功能設置命令DL:高電平時為4位總線,低電平時為8位總線N: 低電平時為單行顯示,高電平時雙行顯示F:低電平時顯示5x7的點陣字符,高 電平時顯示5x10的點陣字符.指令7:字符發(fā)生器RAM地址設置.指令8: DDRAM地址設置.指令9:讀忙信號和光標地址BF:為忙標志位,高電平表示忙,此時模塊 不能接收命令或者數(shù)據(jù),如果為低電平表示不忙.指令10:寫數(shù)據(jù).指令11:讀數(shù)據(jù).1602LCD的RAM地址映射及標準字庫表液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令前一定要確認模塊的 忙標志為低電平,表示不忙,否那么此指令失效.要顯示字符時要先輸入顯示字符 地址,也就是告訴模塊在哪
35、里顯示字符,圖3-5是1602的內(nèi)部顯示地址.LCD16字乂2行000102030405060708090A0BOC0D0EOF1027404142434445464748494A4B4C4D4E4F5067圖3-5 1602LCD內(nèi)部顯示地址例如第二行第一個字符的地址是40H,那么是否直接寫入40H就可以將光標 定位在第二行第一個字符的位置呢?這樣不行,由于寫入顯示地址時要求最高位 D7恒定為高電平1所以實際寫入的數(shù)據(jù)應該是01000000B (40H)+10000000B (80H) =UOOOOOOB (COH).在對液晶模塊的初始化中要先設巻苴顯示模式,在液晶模塊顯示字符時光標是自動右
36、 移的,無需人工干預.每次輸入指令前都要判斷液晶模塊是否處于忙的狀態(tài).1602液晶模 塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了 160個不同的點陣字符圖形,這些字符有: 阿拉伯數(shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固泄的 代碼,比方大寫的英文字母的代碼是01000001B (41H),顯示時模塊把地址41H中 的點陣字符圖形顯示出來,我們就能看到字母“A:其中字符代碼與字符圖形對應關系如 圖36所示:OOQO00100011010001010110011110J01011110O11011110nnxxxxooooCGRAM09pp«p(1)XX
37、XX0001(2)91AQqn7厶 qXXXX0010(3)2BRbrr川Bexxxxoou<4>uJCScsJ><ooXXXX0100<s>$4DTdtX卜護nXXXX0101%5EUe*uo才B0xxxxono(?>&6FVIV牛力3P£XXXX0111(8>>7Gw8w74CXXXX1000(1>(8HXhX9*IXXXXX1M1(2>)9IYIy巾rJ屁yXXXX1O10VJZiX3UJ千xxxxiMi(4>+cKCk(才tOX萬xxxxnoo(5)7VL¥11te77QAxxxxnoi
38、«)Mm1JXXy+XXXXlllO(D>NB3tA八nxxxxmi(S)/T00e-77V口0 1602LCD的一般初始化(復位)過程延時15mS寫指令38H 不檢測忙信號延時5mS寫指令38H 不檢測忙信號延時5mS寫指令38H 不檢測忙信號以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測忙信號寫指令38H:顯示模式設置寫指令08H:顯示關閉寫指令01H:顯示清屏寫指令06H:顯示光標移動設置寫指令OCH:顯示開及光標設置液晶顯示模塊的設計本設計液晶顯示模塊的設計如下列圖3-7所示,該電路實現(xiàn)的功能是:通過 AT89S51的P00P07八個口輸出限制信號,限制液晶的8位雙向數(shù)據(jù)線,
39、通過 單片機的P24、P25、P26向液晶模塊發(fā)送命令,限制液晶執(zhí)行各種命令,其中 P24限制液晶的使能端,當E端山高電平跳變成低電平時,液晶模塊執(zhí)行命令, P23限制液晶模塊的讀寫,高電平時進行讀操作,低電平時進行寫操作.當P25 和P26共同為低電平時可以寫入指令或者顯示地址,當P26為低電平P25為高電 平時可以讀忙信號,當P26為高電平P25為低電平時可以寫入數(shù)據(jù),P26限制寄 存器的選擇,高電平時選擇數(shù)據(jù)存放器、低電平時選擇指令存放器.液晶局部引腳說明:笫1腳:VSS為地電源第2腳:VDD接5V正電源笫3腳:V0為液晶顯示器比照度調(diào)整端,接正電源時比照度最弱,接地電 源時比照度最高,
40、比照度過高時會產(chǎn)生“鬼影,使用時可以通過一個10K的電 位器調(diào)整比照度第15腳:背光源正極第16腳:背光源負極附錄二LCD限制及顯示子程序DISPLAY: MOVA,R1MOVCA,A+DPTRMOV P0,ACALL WRITE_DATA_TO_LCDINC R1DJNZ RO,DISPLAYRETWRITE_NOT_CHECK_BUSY:SETB ENOPNOPCLR RS ;寫入限制命令的子程序CLR RWCLR ERETENABLE:SETB ENOPNOPCLR RS ;寫入限制命令的子程序CLR RWCLR EACALLTEST_BUSYSETB ERETTEST_BUSY:SET
41、BENOPNOPMOV P0,#0FFH ;判斷液晶顯示器是否忙的子程序CLR RSSETB RWCLR ENOPSETBEJB P07,TEST_BUSY ;如果P0.7為髙電平表示忙就循環(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;嘰據(jù)轉換DATA_CONV:;數(shù)據(jù)轉換MOV A,28H ;低字節(jié)ANLA,#0FH;去除髙位MOV B,#6;乘6得到實際數(shù)值的
42、100倍.MULABMOV B,#10DIV ABMOV 33H,A;小數(shù)位髙MOV 32H,B;小數(shù)位低MOV A,28HMOV C,29H.O ;29h髙位的低4字節(jié)RRCAMOV C,29H.1RRCAMOV C,29H.2RRCAMOV C,29H.3RRCAMOV 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 ABMOV41H,B;十位MOV 42H,A;百位MOV A.2BHM
43、OV B,#10DIV ABMOV 43H,B ;低溫限值位個位MOV B,#10DIV ABMOV 44H,B ;十位MOV 45H,A;百位CLRCMOV A,28H;現(xiàn)溫度值與髙溫限值比擬SUBBA,2AHJC BIG ;如果高那么關機器CLRCMOV A,2BH;現(xiàn)溫度與低溫限值比擬SUBBA,28HJC X_BIG ;低溫限值比現(xiàn)溫髙,那么開機器AJMP CONVERT_ENDBIG:AJMP CONVERT_ENDX_BIG:CONVERT_END:RET*w*www*w 顯 亍、爲 曲 *DISPLAY8B20_TEMP: ;LCD_顯示子程序MOV P0,#10000000B;
44、顯示位甕ACALL ENABLE ;執(zhí)行扌旨令MOV DPTR,#TAB3;顯示W(wǎng)ENDUYMOV R1,#0 ;碼表初值MOV RO,#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_
45、DATAMOV R1,33H ;碼襄初值MOV R0,#1 ;字數(shù)CALL DISPLAY;顯示溫度值小數(shù)低位MOV DPTR,#LED_DATAMOV R1,32H ;碼襄初值MOV R0,#1;字數(shù)CALL DISPLAY;顯示單位度MOV DPTR,#SIGNMOV R1,#0 ;碼表初值MOV RO,#2;字數(shù)CALL DISPLAYRET;顯示限值DISPLAY_18B20_TEMP_XZ:MOV P0,#11000000B;超示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_L ;顯示LTMOV R1,#0 ;碼表初值MOV RO,#2;字數(shù)CALL DISPL
46、AY;顯示溫度限值高位MOV DPTR,#LED_DATAMOV R1,45H ;碼襄初值MOV R0,#1;字數(shù)CALL DISPLAY;顯示溫度限值低位MOV DPTR,#LED_DATAMOV R1,44H ;碼套初值MOV R0,#1;字數(shù)CALL DISPLAYMOV DPTR,#LED_DATAMOV R1,43H ;碼襄初值MOV R0,#1;字數(shù)CALL DISPLAYMOV P0,#11000111B;顯示位置ACALLENABLEMOV DPTR,#TAB_H ;顯示卅MOV R1,#0 ;碼表初值MOV RO,#2;字數(shù)CALL DISPLAY;顯示高溫度限值髙位MOV
47、DPTR,#LED_DATAMOV R1,42H ;碼襄初值MOV R0,#1;字數(shù)CALL DISPLAY;顯示高溫度限值低位MOV DPTR,#LED_DATAMOV R1,41H ;碼襄初值MOV R0,#1;字數(shù)CALL DISPLAYMOV DPTR,#LED_DATAMOV R1,40H ;碼襄初值MOV R0,#1;字數(shù)CALL DISPLAYRET*W*W*W 方二 j五 *DISPLAYS 8B20_HELLO:MOV P0,#10000000B;顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_HELLOMOV R1,#0 ;碼表初值MOV RO,#1
48、6;字數(shù)CALL DISPLAyRET;/*DISPLAY_18B20_TESTING:MOV P1,#10000000B;顯示位置ACALL ENABLE ;執(zhí)行指令MOV DPTR,#TAB_TESTINGMOV R1,#0 ;碼表初值MOV RO,#16;字數(shù)CALL DISPLAyRET;*/DISPLAY_18B20_ERROR:MOV PO,#00000001B ;清屏并光標復位ACALLENABLEMOV DPTR,#TAB1MOV R1,#0 ;碼表初值MOV R0,#16;字數(shù)CALL DISPLAyRETDISPLAY_WATING:MOV P0,#00000001B ;清屏并光標復位ACALL ENABLE;調(diào)用寫入命令子程序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 DISPL
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年貴州貴陽市花溪區(qū)事業(yè)單位引進高層次人才12人高頻重點提升(共500題)附帶答案詳解
- 2025下半年四川內(nèi)江市市本級部分事業(yè)單位招聘工作人員20人高頻重點提升(共500題)附帶答案詳解
- 2025下半年云南紅河蒙自市事業(yè)單位招聘工作人員105人高頻重點提升(共500題)附帶答案詳解
- 2025上海地鐵第二運營限公司退役軍人招聘120人高頻重點提升(共500題)附帶答案詳解
- 2025上半年四川廣元青川縣事業(yè)單位招聘97人歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年臺州市級事業(yè)單位公開招聘工作人員歷年高頻重點提升(共500題)附帶答案詳解
- 紙張消防班組施工合同
- 高鐵建設簡易合同模板簡化版
- 土石方工程招標文
- 設計合同履行與監(jiān)督細節(jié)
- 遼寧2025年高中學業(yè)水平合格性考試物理試卷試題(含答案詳解)
- 2024年人教版三年級上數(shù)學教學計劃和進度安排
- 《電能計量知識介紹》課件
- 2025屆甘肅省武威市重點中學高三六校第一次聯(lián)考英語試卷含解析
- 2023-2024學年山東省濰坊市高新區(qū)六年級(上)期末數(shù)學試卷(含答案)
- 東方明珠課件
- 2024年教師師德師風工作計劃(2篇)
- 物流行業(yè)服務質量保障制度
- 養(yǎng)老院物資采購流程及制度
- 眼鏡店年終總結及計劃
- 公務用車車輛安全培訓課件
評論
0/150
提交評論