人機交互接口課件_第1頁
人機交互接口課件_第2頁
人機交互接口課件_第3頁
人機交互接口課件_第4頁
人機交互接口課件_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、任課教師:劉忠國山東大學(xué)課程中心網(wǎng)站: /G2S/stcmcu.cc宏晶官方網(wǎng)站:STC單片機編譯(匯編)/編程(燒錄)/仿真工具說明書; stc15系列單片機器件手冊等keil vision軟件下載及指導(dǎo)手冊(Helpvision Help) /OCMJ4X8C:C系列中文液晶顯示模塊使用說明書ST7920:中文圖形液晶屏(LCD)的控制器/驅(qū)動器1任課教師:劉忠國1 第十章 人機交互接口本章學(xué)習(xí)目標(biāo)掌握鍵盤接口技術(shù)掌握數(shù)碼、液晶顯示技術(shù)了解數(shù)碼管顯示驅(qū)動和鍵盤掃描控制專用芯片2人機交互接口是指人與計算機之間建立聯(lián)系、交換信息的輸入/輸出設(shè)備的接口,設(shè)備包括鍵盤、顯示器、打印機、鼠標(biāo)器等。主

2、要介紹鍵盤輸入接口設(shè)計、顯示原理及接口技術(shù)。 第十章 人機交互接口本章學(xué)習(xí)目標(biāo)2人機交互接口是指人與 第十章 人機交互接口10.1 鍵盤接口技術(shù)10.1.1 簡易鍵盤接口的實現(xiàn)10.1.2 矩陣鍵盤接口的實現(xiàn)10.2 顯示技術(shù)10.2.1 數(shù)碼LED顯示技術(shù)10.2.2 液晶顯示技術(shù)10.3 數(shù)碼管顯示驅(qū)動和鍵盤掃描控制專用芯片3 第十章 人機交互接口10.1 鍵盤接口技術(shù)310.1 鍵盤接口技術(shù)非編碼鍵盤和編碼鍵盤非編碼鍵盤:直接利用口線連接按鍵開關(guān)或開關(guān)型傳感器來實現(xiàn),通過程序判斷口線的電平就能夠確定輸入的鍵值。優(yōu)缺點:設(shè)計簡單,使用方便,且因為具有共用端,容易直接同開關(guān)電路或開關(guān)型傳感器

3、連接。但是這種方式的口線利用率較低,受單片機口線數(shù)量的限制,其鍵盤規(guī)模無法做大。410.1 鍵盤接口技術(shù)非編碼鍵盤和編碼鍵盤410.1 鍵盤接口技術(shù)編碼鍵盤:將口線與按鍵開關(guān)連接成矩陣電路, 通過軟件掃描, 識別I/O口上的編碼, 按編碼規(guī)則識別輸入鍵值。優(yōu)點:口線利用率高,鍵盤規(guī)??梢宰龅幂^大。具體用哪一種形式鍵盤可根據(jù)控制系統(tǒng)規(guī)模及用途決定。5非編碼鍵盤和編碼鍵盤4輸入與門10.1 鍵盤接口技術(shù)編碼鍵盤:將口線與按鍵開關(guān)連接成矩陣10.1.1 簡易鍵盤接口的實現(xiàn)簡易鍵盤接口采用非編碼形式, 典型電路如圖示。6圖10-1 簡易鍵盤接口電路8 Input NAND/AND GateKABCDE

4、FGHJ1318 輸入與非/與門下降沿觸發(fā)INT0中斷10.1.1 簡易鍵盤接口的實現(xiàn)簡易鍵盤接口采用非編碼形式10.1.1 簡易鍵盤接口的實現(xiàn)鍵盤在使用中考慮到人員操作或機械特性在接觸時產(chǎn)生的抖動問題,即按鍵開關(guān)在接通或斷開瞬間并非完全可靠接觸,而是存在一個抖動期,在此期間的電平變化波形如圖所示。7圖10-2 按鍵閉合時的電平變化波形10.1.1 簡易鍵盤接口的實現(xiàn)鍵盤在使用中考慮到人員操作10.1.1 簡易鍵盤接口的實現(xiàn)抖動期一般不超過10 ms。在口線電平抖動期間,單片機無法準(zhǔn)確檢測出口線電平的正確值,必須采取一定的措施進行鑒別。常用的方法是延時消抖法,例如遇到由高向低的電平轉(zhuǎn)換后先不急

5、于讀取口線鍵值,而是在中斷服務(wù)程序的開始執(zhí)行一段1020 ms的延時程序。若延時程序后再次判斷口線仍為低電平則進入口線的鍵值讀取程序,否則放棄鍵值讀取操作。810.1.1 簡易鍵盤接口的實現(xiàn)抖動期一般不超過10 ms10.1.1 簡易鍵盤接口的實現(xiàn)示例代碼如下: ORG0000H LJMPMAIN ORG0003H ; INT0外部中斷0入口地址 LJMP KRD ORG0100HMAIN: MOV SP, #70H SETB IT0 ; 設(shè)置INT0下降沿觸發(fā) SETB EX0 ; 開放INT0中斷 SETB EA ; 開放總中斷 ;其他初始化代碼MAINLOOP: ;主循環(huán) LJMP MA

6、INLOOP910.1.1 簡易鍵盤接口的實現(xiàn)示例代碼如下:9(1)定時/計數(shù)器T0和T1的控制寄存器TCON 10該寄存器同時鎖存了T0和T1的溢出中斷請求標(biāo)志及外部中斷請求標(biāo)志。TCON(地址88H(可位尋址), 復(fù)位值00H)各位定義:1)IT0: 外部中斷0觸發(fā)方式控制位??捎绍浖?或清“0” 。 0: INT0/P3.2上的上升沿或下降沿均可觸發(fā)外中斷0, 置位IE0。 1: INT0/P3.2為下降沿觸發(fā)外部中斷0, 置位IE0。2) IT1: 外部中斷1觸發(fā)方式控制位,與IT0類似。(1)定時/計數(shù)器T0和T1的控制寄存器TCON 10該寄存6)EXl:外部中斷INT1中斷允許

7、控制位。 1:允許外部中斷1中斷; 0:禁止外部中斷1中斷。7)ET0:定時器0中斷允許控制位。 1:允許定時器0中斷; 0:禁止定時器0中斷。8)EX0:外部中斷INT0中斷允許控制位。 1:允許外部中斷0中斷; 0:禁止外部中斷0中斷。111)中斷允許寄存器IE6)EXl:外部中斷INT1中斷允許控制位。111)中斷允許10.1.1 簡易鍵盤接口的實現(xiàn)12下降沿觸發(fā)INT0中斷 KRD: LCALLDELAY20 ;調(diào)20 ms延時子程序,消除抖動 MOV A,P2 ;讀P2口鍵值 JNB ACC.0, KPR0 ;判斷P2.0P2.7是否有鍵按下 JNB ACC.1, KPR1 JNB

8、ACC.2, KPR2 JNB ACC.3, KPR3 JNB ACC.4, KPR4 JNB ACC.5, KPR5 JNB ACC.6, KPR6 JNB ACC.7, KPR7 RETI(弱上拉I/O口輸入前先將輸出鎖存器置1)這里P2口輸出鎖存器復(fù)位值即為0FFh 10.1.1 簡易鍵盤接口的實現(xiàn)12下降沿觸發(fā)INT0中斷強極弱弱P0P5準(zhǔn)雙向口工作模式的結(jié)構(gòu)當(dāng)從端口引腳上輸入數(shù)據(jù)時,T4應(yīng)一直處于截止?fàn)顟B(tài)。假定在輸入之前曾輸出鎖存過數(shù)據(jù)0,則T4導(dǎo)通,這樣引腳上電位就被箝位在0電平, 使輸入高電平無法讀入。*13因此,作為準(zhǔn)雙向口使用時,輸入數(shù)據(jù)時, 應(yīng)先向口寫1, 使T4截止, 然

9、后方可作高阻抗輸入。這是準(zhǔn)雙向口的主要特點。01通0101外部輸入0截止截止130A20mA200A截止通0強極弱弱P0P5準(zhǔn)雙向口工作模式的結(jié)構(gòu)當(dāng)從端口引腳上輸入數(shù)10.1.1 簡易鍵盤接口的實現(xiàn)KPR0: ;P2.0口線按鍵處理程序 MOV A,P2 ;讀P2口鍵值 JNB ACC.0, KPR0 ;判P2.0口線電平是否變高(即按鍵是否松開)KP01: CALL DELAY20 ;檢測到P2.0變高,調(diào)20 ms延時子程序消抖 MOV A,P2 ;讀P2口鍵值 JNB ACC.0, KP01 ;證實P2.0口線一直保持低電平(確認按鍵是否松開) ;按鍵處理程序。由低電平變?yōu)楦唠娖秸J為按鍵

10、按下松開 RETIKPR1: ;P2.1口線按鍵處理程序 RETIKPR7: ;P2.7口線按鍵處理程序 RETIDELAY20:;20 ms延時子程序 RET END14按鍵沒松開則繼續(xù)等待按鍵沒松開則繼續(xù)等待10.1.1 簡易鍵盤接口的實現(xiàn)KPR0: 10.1.2 矩陣鍵盤接口的實現(xiàn)簡易鍵盤電路每一按鍵用一根I/O口線, 口線利用率低。若將口線按行列排成矩陣形式, 則可在相同口線數(shù)量下增大鍵盤規(guī)模。15可將P2口的8根I/O線排列成44矩陣形式,連接16只按鍵。行線特定的4位數(shù)據(jù)輸出和列線對應(yīng)的4位數(shù)據(jù)輸入可組成一個8位的特征字, 該特征字即為鍵值, 代表了按下的鍵所在的位置。CD4082

11、 雙4輸入端與門10.1.2 矩陣鍵盤接口的實現(xiàn)簡易鍵盤電路每一按鍵用一根10-1-2 矩陣鍵盤接口的實現(xiàn)1、電路結(jié)構(gòu)及設(shè)計思路矩陣式鍵盤將P2口的8根I/O口線分成行、列線連接,圖中P2.0P2.3為行線,P2.4P2.7為列線。16只按鍵分別跨接在對應(yīng)的行、列線節(jié)點上。如果單片機在行線對應(yīng)的I/O口線上有數(shù)據(jù)輸出,當(dāng)有鍵按下時,行、列線短路,單片機在列線對應(yīng)的I/O口線上的輸入數(shù)據(jù)將由行線上的電平?jīng)Q定。16行線特定的4位數(shù)據(jù)輸出和列線對應(yīng)的4位數(shù)據(jù)輸入可組成一個8位的特征字,該特征字即為鍵值,代表了按下的鍵所在的位置。10-1-2 矩陣鍵盤接口的實現(xiàn)1、電路結(jié)構(gòu)及設(shè)計思路162、鍵值產(chǎn)生的

12、原理以行線作為掃描輸出, 以列線作為接收輸入, 依次將各行線置為低電平, 并在列線上逐次接收數(shù)據(jù)。掃描完成后, 如果發(fā)現(xiàn)接收到的某一列線有低電平, 則表示該列線與行線連接的按鍵已經(jīng)閉合。在接收到低電平的那次掃描中, 行線數(shù)據(jù)與列線數(shù)據(jù)的組合便是所期望鍵值, 由該鍵值可確定閉合鍵在矩陣連接中的位置。17 1)掃描法產(chǎn)生鍵值2、鍵值產(chǎn)生的原理以行線作為掃描輸出, 以列線作為接收輸入,2、鍵值產(chǎn)生的原理2)線反轉(zhuǎn)識別法產(chǎn)生鍵值先將行線全部置為低電平,列線全部置為高電平(弱上拉I/O口輸入前先將輸出鎖存器置1), 從列線對應(yīng)的I/O口線接收數(shù)據(jù), 如果發(fā)現(xiàn)有口線變低,則證明該列線與閉合的按鍵連接。將列

13、線全部置為低電平,行線全部置為高電平, 從行線對應(yīng)的I/O口線接收數(shù)據(jù), 如果發(fā)現(xiàn)有口線變低, 則證明該行線與閉合的按鍵連接。對上述兩次操作的結(jié)果所獲得的兩個8位數(shù)據(jù)進行綜合分析,便可確定閉合的按鍵所在位置。182、鍵值產(chǎn)生的原理2)線反轉(zhuǎn)識別法產(chǎn)生鍵值183、鍵盤識別原理在鍵盤掃描產(chǎn)生鍵值前, 為避免無鍵按下的空掃描, 浪費CPU時間, 應(yīng)先進行一次鍵盤識別, 有兩種方法。191)硬件中斷識別法將矩陣式鍵盤電路的所有列線連接至“與”門電路的輸入端, “與”門電路的輸出端與單片機外部中斷連接。把全部行線置為低電平,全部列線置為高電平,當(dāng)有鍵按下時列線上出現(xiàn)低電平,對應(yīng)“與”門的輸出電平出現(xiàn)由高

14、向低的跳變,經(jīng)引腳進入單片機產(chǎn)生中斷,在中斷服務(wù)程序中開始掃描鍵盤。3、鍵盤識別原理在鍵盤掃描產(chǎn)生鍵值前, 為避免無鍵按下的空掃3、鍵盤識別原理2)軟件查詢識別法全部行線置為低電平, 全部列線置為高電平, 定時從列線對應(yīng)的I/O口線讀輸入數(shù)據(jù), 若接收的數(shù)據(jù)中有低電平, 則說明有按鍵按下, 開始執(zhí)行鍵盤掃描程序。此法無需在矩陣鍵盤中連接“與” 門電路, 硬件電路簡潔。 上述兩種識別方法中, 用硬件中斷識別法可隨時響應(yīng)鍵盤動作, 具有較強實時性, 而采用軟件查詢法則可簡化電路。203、鍵盤識別原理2)軟件查詢識別法204、按鍵操作的抖動處理與簡易鍵盤電路相同,矩陣鍵盤同樣要考慮按鍵觸點閉合或斷開

15、時存在的抖動期,一般在取回鍵值后進行510 ms的延時,判斷原鍵值是否存在,以決定是否存在按鍵的誤動作。214、按鍵操作的抖動處理與簡易鍵盤電路相同,矩陣鍵盤同樣要考慮5、矩陣鍵盤處理程序下面是可供調(diào)用的鍵盤掃描子程序: 可讀入44鍵盤狀態(tài), 然后將鍵值送往內(nèi)部RAM的 30H33H單元。具體方法: 利用單片機P2口的P2.0P2.3口線輪流向行掃描線送低電平, 將每次掃描中由P2.4P2.7返回的數(shù)據(jù)與當(dāng)時行掃描送出的數(shù)據(jù)組合后作為鍵值送內(nèi)部RAM的30H33H單元。 鍵值內(nèi)容為8位, 低4位中的 “0”對應(yīng)于行掃描輸出線, 高4位中的“0”對應(yīng)于閉合按鍵連接的列線。225、矩陣鍵盤處理程序

16、下面是可供調(diào)用的鍵盤掃描子程序: 可讀入5、矩陣鍵盤處理程序KEY-SCAN:MOV R0, #30H ;設(shè)置鍵值存儲單元地址指針MOV A, #0FEH ;設(shè)置行掃描初始狀態(tài) (加) SETB C ;下面用RLC使掃描指向下行SCAN: MOV P2, A ;輸出至行掃描線, P2 . 0低電平 (加)AND A, #0FH ;只保留行掃描線(P2.0P2.3)狀態(tài) MOV R1, A ;保存行掃描線狀態(tài)(R1低4位), R1高4位為0MOV A, P2 ;讀回列線數(shù)據(jù)(P2.4P2.7)AND A, #0F0H ;保留讀回數(shù)據(jù)的高4位ORL A, R1 ;組合鍵值, R1低4位掃描線狀態(tài),

17、高4位為0MOV R0, A ;鍵值送存儲單元RET23, 列線輸出高電平內(nèi)部RAM的 30H33H單元MOV R3, #0FEHINC R0; 指向下行鍵值單元MOV A, R3;準(zhǔn)備掃描下行RLC A; 掃描指向下行MOV R3, A;保存掃描行JB ACC.4, SCAN;判斷是否已經(jīng)完成掃描4行鍵盤掃描程序清單如下:5、矩陣鍵盤處理程序KEY-SCAN:23, 列線輸出高電5、矩陣鍵盤處理程序鍵盤掃描程序清單如下:KEY-SCAN:MOV R0, #30H ;設(shè)置鍵值存儲單元地址指針MOV A, #0FEH ;設(shè)置行掃描初始狀態(tài)SCAN: MOV P2, A ;輸出至行掃描線, P2

18、. 0低電平 (加)AND A, #0FH ;只保留行掃描線(P2.0P2.3)狀態(tài) MOV R1, A ;保存行掃描線狀態(tài)(R1低4位), R1高4位為0MOV A, P2 ;讀回列線數(shù)據(jù)(P2.4P2.7)AND A, #0F0H ;保留讀回數(shù)據(jù)的高4位ORL A, R1 ;組合鍵值, R1低4位掃描線狀態(tài),高4位為0MOV R0, A ;鍵值送存儲單元RET24, 列線輸出高電平內(nèi)部RAM的 30H33H單元MOV R3, #01INC R0; 指向下行鍵值單元MOV A, R3;準(zhǔn)備掃描下行RL A; 準(zhǔn)備掃描下行MOV R3, A;保存移位值CPL A; 指向掃描下行JB ACC.4

19、, SCAN; 判斷是否已經(jīng)掃描4行或者修改程序5、矩陣鍵盤處理程序鍵盤掃描程序清單如下:24, 列線輸出10.2 顯示技術(shù)10.2.1 數(shù)碼LED顯示技術(shù)1、顯示元件概述主要顯示元件:LED(發(fā)光二極管顯示器數(shù)碼管) 或LCD(液晶顯示器)。顯示形式:筆畫式和點陣式。筆畫式顯示元件大多為LED數(shù)碼管, 用于顯示數(shù)字或簡單字母信息, 適合于規(guī)模較小的單片機系統(tǒng)。若考慮到單片機系統(tǒng)功耗因素, 也有筆畫式LCD數(shù)碼管可供選用,但在控制和連接上要稍微復(fù)雜一些。2510.2 顯示技術(shù)10.2.1 數(shù)碼LED顯示技術(shù)251、顯示元件概述顯示大信息量或圖形時,一般使用點陣式LCD顯示器。這種顯示器結(jié)構(gòu)比較

20、復(fù)雜,需要考慮灰度調(diào)節(jié)、高壓背光的配合,電路連接及程序操作都比較繁瑣。用點陣式LCD顯示器最好采用內(nèi)置控制器模塊形式 (LCD Module, 或LCM), 這種情況下, 單片機與點陣式LCD的接口實際上變成了單片機與單片機之間的數(shù)據(jù)通信。本節(jié)主要介紹筆畫式LED和點陣式LCD的應(yīng)用。261、顯示元件概述顯示大信息量或圖形時,一般使用點陣式LCD顯10.2.1 數(shù)碼LED顯示技術(shù)2、七段碼LED顯示器LED數(shù)碼管由8只LED發(fā)光二極管構(gòu)成, 8只LED發(fā)光二極管分別代表組成數(shù)碼的筆畫(稱為段)和該位數(shù)碼的小數(shù)點。由于顯示的數(shù)字由7個顯示段組合而成,所以也稱為七段碼。2710.2.1 數(shù)碼LED

21、顯示技術(shù)2、七段碼LED顯示器272、七段碼LED顯示器七段數(shù)碼管顯示器中為簡化電路引出線,通常將8只發(fā)光二極管的陰極或陽極連接在一起作為電路公共端,由此分成了共陰極或共陽極顯示器,采用高電平或低電平驅(qū)動。28圖10-4 LED七段數(shù)碼管顯示器結(jié)構(gòu) 注意: 七段數(shù)碼管的驅(qū)動電流應(yīng)限制,在保證不超過單片機或其他驅(qū)動芯片功耗前提下維持正常發(fā)光亮度。共陰極共陽極高電平驅(qū)動低電平驅(qū)動2、七段碼LED顯示器七段數(shù)碼管顯示器中為簡化電路引出線,通3、七段碼LED顯示器的顯示方式及接口七段碼LED顯示器可采用靜態(tài)顯示和動態(tài)顯示兩種形式。靜態(tài)顯示是指在顯示時段內(nèi)對組成字型的發(fā)光二極管保持恒定的導(dǎo)通或截止;動態(tài)

22、顯示是指在顯示時段內(nèi)對組成字形的發(fā)光二極管實行間斷或輪流(多字符顯示)點亮。其中前一種形式程序操作簡單,CPU送出字形碼后可以不再管理。而后一種顯示形式則可最大限度地降低顯示功耗,但是占用了CPU的執(zhí)行程序時間。293、七段碼LED顯示器的顯示方式及接口七段碼LED顯示器可采1)靜態(tài)顯示接口由單片機串行口與移位寄存器芯片CD4094組成的共陰極七段碼LED靜態(tài)顯示接口電路如圖所示。30圖10-5 LED靜態(tài)顯示接口電路 CD4094是8位移位寄存器 / 三態(tài)并行鎖存器輸出, QS移位輸出可級聯(lián); EN=0鎖存器輸出高阻, EN=1鎖存器并行輸出; ST=0鎖存器不隨移位寄存器變化, ST=1鎖

23、存器隨移位寄存器變化而變化;串口用方式 08 位同步移位寄存器輸出方式1)靜態(tài)顯示接口由單片機串行口與移位寄存器芯片CD4094組1)靜態(tài)顯示接口電路說明單片機工作在串口方式 “0”狀態(tài),要顯示的字形以七段碼形式由單片機的RXD輸出至CD4094的數(shù)據(jù)輸入端D,每次輸出1個字節(jié),對應(yīng)1位顯示數(shù)字。多位顯示時需要輸出多個字節(jié)的顯示數(shù)據(jù),同時也需要多個CD4094級聯(lián),即前級CD4094的數(shù)據(jù)輸出端QS與后級CD4094的數(shù)據(jù)輸入端D連接。31單片機的TXD與每個CD4094的時鐘輸入端CP連接,在串行數(shù)據(jù)輸出過程中TXD發(fā)出移位脈沖,驅(qū)動數(shù)據(jù)依次逐位在CD4094芯片中移動。CD4094是8位移

24、位寄存器 / 三態(tài)并行鎖存器輸出EN=1鎖存器并行輸出ST=0鎖存器不隨移位寄存器變化, ST=1鎖存器隨移位寄存器變化而變化EN=0鎖存器輸出高阻1)靜態(tài)顯示接口電路說明單片機工作在串口方式 “0”狀態(tài)1)靜態(tài)顯示接口電路說明單片機工作在串口方式 “0”狀態(tài),要顯示的字形以七段碼形式由單片機的RXD輸出至CD4094的數(shù)據(jù)輸入端D,每次輸出1個字節(jié),對應(yīng)1位顯示數(shù)字。多位顯示時需要輸出多個字節(jié)的顯示數(shù)據(jù),同時也需要多個CD4094級聯(lián),即前級CD4094的數(shù)據(jù)輸出端QS與后級CD4094的數(shù)據(jù)輸入端D連接。32單片機的TXD與每個CD4094的時鐘輸入端CP連接,在串行數(shù)據(jù)輸出過程中TXD發(fā)

25、出移位脈沖,驅(qū)動數(shù)據(jù)依次逐位在CD4094芯片中移動。1)靜態(tài)顯示接口電路說明單片機工作在串口方式 “0”狀態(tài)1)靜態(tài)顯示接口電路說明當(dāng)所有要顯示數(shù)據(jù)全部送出后, 單片機可以將P1.0控制口線由低置高,通過CD4094的ST引腳控制, 使所有送入CD4094的數(shù)據(jù)由串行(移位寄存器)轉(zhuǎn)為并行(鎖存器)輸出, 在LED數(shù)碼管上顯示出對應(yīng)位的數(shù)字內(nèi)容。33靜態(tài)顯示的主要特點:是占用CPU處理時間少,顯示穩(wěn)定、亮度高,使用口線少。但在使用中應(yīng)注意串口數(shù)據(jù)傳送的格式及字符排位順序。串行靜態(tài)顯示的位數(shù)主要由TXD、P1.0口線的帶負載能力決定。也可將CD4094的ST腳始終接高電平, 缺點是在單片機送出

26、顯示數(shù)據(jù)過程中LED數(shù)碼管會顯示亂碼。1)靜態(tài)顯示接口電路說明當(dāng)所有要顯示數(shù)據(jù)全部送出后, 1)靜態(tài)顯示接口電路說明實際中也可不用P1.0, 將CD4094的ST腳始終接高電平, 進入CD4094的串行數(shù)據(jù)會自動轉(zhuǎn)為并行輸出。其缺點是在單片機送出顯示數(shù)據(jù)過程中LED數(shù)碼管會顯示亂碼。但數(shù)據(jù)傳送過程很短,在不頻繁更換顯示數(shù)據(jù)的場合還可接受。34實踐證明, CD4094輸出與LED數(shù)碼管間可不加限流電阻。當(dāng)CD4094輸出電流過大時會引起輸出電壓下降,從而自動限制了流過LED的電流。另外,如果STC15F2K60S2單片機的串行口1在系統(tǒng)中另有用途,則可用串口2輸出數(shù)據(jù)。1)靜態(tài)顯示接口電路說明實

27、際中也可不用P1.0, 將C2)動態(tài)顯示接口采用多位LED數(shù)碼管顯示時,可逐位點亮數(shù)碼管,雖然在顯示過程中有些數(shù)碼管有熄滅時間,但是利用人眼的視覺暫留效應(yīng)和LED發(fā)光二極管的余輝,只要點亮與熄滅時間分配適當(dāng),仍能夠感覺到所有數(shù)碼管始終處于顯示狀態(tài)。35動態(tài)顯示時CPU需要經(jīng)常執(zhí)行相關(guān)程序進行顯示刷新,這可能占用較多的CPU執(zhí)行時間,對需要快速運算或?qū)崟r控制的用途會增加編程難度。2)動態(tài)顯示接口采用多位LED數(shù)碼管顯示時,可逐位點亮數(shù)碼管2)動態(tài)顯示接口但是,在實際編程中可以融入一些編程技巧減輕CPU刷新顯示的負擔(dān)。例如,將逐位顯示程序編入經(jīng)常調(diào)用的延時子程序中,就可以在執(zhí)行正常程序的過程中滿足

28、動態(tài)顯示的需求。36動態(tài)顯示可以提高單片機顯示口線的利用率,簡化硬件電路的接線。LED動態(tài)顯示接口的具體電路見下面圖所示。2)動態(tài)顯示接口但是,在實際編程中可以融入一些編程技巧減輕C2)動態(tài)顯示接口LED動態(tài)顯示接口的具體電路如圖所示。37圖10-6 LED動態(tài)顯示接口電路 共陽極端輸出低電平,數(shù)碼管顯示三態(tài)八緩沖器/線驅(qū)動器2)動態(tài)顯示接口LED動態(tài)顯示接口的具體電路如圖所示。37圖動態(tài)掃描顯示子程序如下:設(shè)需顯示4位字形七段碼16進制數(shù)的數(shù)字放在60H開始的4單元中:38SDIS: MOV R0, #60H ;使指針R0指向顯示數(shù)據(jù)存儲區(qū)首址 MOV DPTR, # DSEG;設(shè)置七段碼字

29、模表首地址 MOV R7, #0FEH ;設(shè)置數(shù)碼管顯示位指針,指向最右左邊一位P2.0 MOV A, R7 ;顯示位指針內(nèi)容送累加器 (加) SETB C ;下面用RLC使掃描指向下行LD0: MOV P2, A ;選通顯示位P2.0 RLC A ;顯示位指向下一位 MOV R7, A ;保存下一顯示位指針內(nèi)容 MOV A, R0 ;取顯示數(shù)據(jù)(每個存儲單元值0F)內(nèi)容 MOVC A, A+DPTR ;查顯示內(nèi)容(0F)字形碼(字模) MOV P0, A ;送出顯示字形碼(0F) (字模) CALL DEL1 ;調(diào)延時子程序使數(shù)碼管顯示一定時間 INC R0 ;指向下一個顯示的存儲單元 MO

30、V A,R7 ;取下一顯示位指針內(nèi)容 JB ACC.4, LD0 ;未掃描完4位 (P2.4還沒顯示), 繼續(xù)循環(huán) RET例題: 要求顯示4位16進制的數(shù)動態(tài)掃描顯示子程序如下:設(shè)需顯示4位字形七段碼16進制數(shù)的數(shù)2)動態(tài)顯示接口 ;下面是09, AF共陽極字形七段碼DSEG: DB C0H, F9H, A4H, B0H, 99H, 92H, 82H, F8H, 80H;DSEG2: DB 90H, 88H, 83H, C6H, A1H, 86H, 8EH39 請自行補充完整其中的延時子程序和對應(yīng)的C語言程序。(A)= 0, 1, 2, 3, 4, 5, 6, 7, 8(A)= 9, A, B

31、, C, D, E, F09C0H90H字模值2)動態(tài)顯示接口 ;下面是09, AF共陽極字10.2.2 液晶顯示技術(shù)液晶顯示器件(LCD顯示器)因有顯示信息豐富、功耗低、體積小、無輻射等優(yōu)點,得到了廣泛應(yīng)用。LCD顯示器有筆畫分段、分割顯示、字符點陣顯示和圖形點陣LCD顯示形式之分,對于比較豐富的顯示內(nèi)容通常采用圖形點陣顯示形式,但是這種顯示形式的電路結(jié)構(gòu)及控制方式比較復(fù)雜。40為便于使用, LCD圖形點陣顯示器常以LCM (LCD Module)形式出現(xiàn), 模塊中封裝了顯示器、驅(qū)動電路、控制電路及背光調(diào)節(jié)電路等。(如12864, 1602液晶屏)以O(shè)CMJ4X8C為例介紹圖形點陣LCD顯示

32、接口應(yīng)用。LCD1602字符型液晶屏, 能夠同時顯示16x02即32個字符(非中文)10.2.2 液晶顯示技術(shù)液晶顯示器件(LCD顯示器)因有1、OCMJ4X8C液晶顯示模塊概述OCMJ4X8C液晶顯示屏(統(tǒng)稱12864液晶屏)為12864點陣, 可顯示4行 每行8個漢字。OCMJ4X8C可實現(xiàn)漢字 ASCII碼點陣圖形自造字體的同屏顯示。該模塊具有2MB的中文字形CGROM(Custom Glyph RAM), 其中含有8192個1616點陣中文字庫;16K-位(128168 點陣)半寬字型ROM (HCGROM) 總共提供128 個符號字型(16x8 點陣) ASCII字符庫;6416-位

33、的字型產(chǎn)生RAM (CGRAM)提供了4組1616點陣的圖象定義(造字功能)空間 。41(字形) (國標(biāo)碼GB2312的漢字機內(nèi)碼)1、OCMJ4X8C液晶顯示模塊概述OCMJ4X8C液晶顯示1、OCMJ4X8C液晶顯示模塊概述12864液晶屏為12864點陣, 可顯示4行 每行8個漢字。可實現(xiàn)漢字CGROMASCII碼 (HCGROM)點陣圖形自造字體(CGRAM)的同屏顯示。421、OCMJ4X8C液晶顯示模塊概述12864液晶屏為1281OCMJ4X8C液晶顯示模塊概述12864液晶屏為12864點陣, 可顯示4行 每行8個漢字??蓪崿F(xiàn)漢字CGROMASCII碼 (HCGROM)點陣圖形

34、自造字體(CGRAM)的同屏顯示。43128168半寬字型符號表1OCMJ4X8C液晶顯示模塊概述12864液晶屏為1281、OCMJ4X8C液晶顯示模塊概述顯示數(shù)據(jù)RAM(DDRAM, displaydata RAM): 模塊內(nèi)部顯示數(shù)據(jù)RAM提供642個字節(jié)的空間, 最多可控制4行16字(64個字)的中文字型顯示 (漢字國標(biāo)碼2個字節(jié)) ; 當(dāng)寫入DDRAM時, 可顯示三種字型:半角英文數(shù)字型(16*8) HCGROM型CGROM中文字型與CGRAM自定義字型; 三種字型的選擇, 由在DDRAM中寫入的編碼選擇, 在0000H0006H的編碼中(其代碼分別是0000000200040006

35、共4個)將選擇CGRAM的自定義字型; 02H7FH的編碼將選擇半角英文數(shù)字的字型;至于A1以上的編碼將自動結(jié)合下一個字節(jié), 組成兩個字節(jié)的編碼形成中文字型的編碼BIG5(A140D75F), GB(A1A0-F7FFH)。44(BIG5(A140繁體規(guī)范,GB是簡體規(guī)范) 1、OCMJ4X8C液晶顯示模塊概述顯示數(shù)據(jù)RAM(DDRA1、OCMJ4X8C液晶顯示模塊概述可顯示4行 每行8個漢字。實現(xiàn)漢字CGROMASCII碼 (HCGROM)自造字體(CGRAM)點陣圖形的同屏顯示。45地址計數(shù)器(AC, address counter) :地址計數(shù)器是用來貯存DDRAM/CGRAM之一的地址

36、,它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時,地址計數(shù)器的值就會自動加一,當(dāng)RS為“0”時而R/W為“1”時,地址計數(shù)器的值會被讀取到DB6DB0 (字節(jié)的低7位)中。提供64256點陣GDRAM(Graphic DisplayRam)繪圖區(qū)域。IRAM(ICON RAM):1516 位點陣總共 240 點的圖標(biāo)RAM, 存儲將被顯示的圖標(biāo)數(shù)據(jù)(應(yīng)用中少見)。GDRAM1、OCMJ4X8C液晶顯示模塊概述可顯示4行 每行8個漢1、OCMJ4X8C液晶顯示模塊概述為了便于和多種微處理器、單片機接口,模塊提供了8位并行、2線串行、3線串行三種接口方式。OCMJ4X

37、8C的2線串行接口方式符合SPI時序標(biāo)準(zhǔn), 大大簡化了液晶顯示模塊與單片機之間的接口設(shè)計。OCMJ4X8C模塊的工作電壓為4.55.5V, 具有睡眠、正常及低功耗工作模式, 可滿足系統(tǒng)各種工作電壓及便攜式儀器低功耗的要求。ST7920: 液晶屏的控制器/驅(qū)動器46資料:FYD12864液晶中文顯示模塊(74頁).docOCMJ4X8C: C系列中文液晶顯示模塊使用說明書(金鵬電子) 中文字庫型液晶顯示模塊使用說明書 (北京博研佳信電子科技發(fā)展有限公司)亞斌ST7920系列中文圖形液晶模塊使用說明書(35頁).pdf ST7920:中文圖形液晶屏(LCD)的控制器/驅(qū)動器說明書1、OCMJ4X8

38、C液晶顯示模塊概述為了便于和多種微處理器、2、OCMJ4X8C模塊引腳表10-1 OCMJ4X8C模塊引腳及對應(yīng)說明47引腳名稱方向說明1VSS-GND(0V)2VDD-邏輯電源(+5v)3VO-LCD電源(懸空)4RS(CS)H/L I并行:選擇寄存器, H:(讀/寫)數(shù)據(jù), L:(寫)指令碼,或讀忙標(biāo)志,地址計數(shù)器;串行:片選,高電平有效5R/W(STD)H/L I并行: H(高電平):讀, L:寫;串行:串行輸入數(shù)據(jù)6 E(SCLK)H/L I并行:使能; 串行:時鐘7DB0I/O數(shù)據(jù)08DB1I/O數(shù)據(jù)19DB2I/O數(shù)據(jù)210DB3I/O數(shù)據(jù)3SID引腳名稱方向說明11DB4I/O數(shù)

39、據(jù)412DB5I/O數(shù)據(jù)513DB6I/O數(shù)據(jù)614DB7I/O數(shù)據(jù)715PSBH/L IH: 并行模式L: 串行模式16NC-空腳17/RSTH/L I復(fù)位(低電平有效)18NC-空腳19LEDA-背光源正極(LED+5V)20LEDK-背光源負極(LED-OV)對比度(亮度)調(diào)整2、OCMJ4X8C模塊引腳表10-1 OCMJ4X8C模塊3、信息傳輸與接口時序(1)并行接口方式 當(dāng)PSB腳接高電位時, 模塊進入并行傳輸模式, 單片機與液晶模塊通過RS, RW, E, D7D0完成信息傳輸。48并行接口方式時, 單片機寫數(shù)據(jù)到模塊時序圖如圖示。(a)單片機寫數(shù)據(jù)到模塊時序圖 寫3、信息傳輸與

40、接口時序(1)并行接口方式 48并行接口方式時(1)并行接口方式 并行接口方式時, 單片機從模塊中讀取數(shù)據(jù)時序圖。49(b)單片機從模塊讀取數(shù)據(jù)時序圖讀(1)并行接口方式 并行接口方式時, 單片機從模塊中讀取數(shù)據(jù)(2)串行接口方式當(dāng)PSB腳接低電位時,模塊將進入串行模式。串行傳輸流程:首先傳輸起始字節(jié)(含五個連續(xù)“1”, 即同步字符串)。傳輸起始字節(jié)時, 傳輸計數(shù)被重置且串行傳輸將被同步, 再跟隨的兩個位分別指定傳輸方向位(RW)及寄存器選擇位(RS), 最后第八位為 “0”。在接收到同步位及RW和RS的起始字節(jié)后, 每一個8位指令將被分為兩個字節(jié)接收到: 高4位(D7D4)的指令被放在第一個

41、字節(jié)的LMSB高四位部分, 而低4位(D3D0)的指令資料則被放在第二個字節(jié)的LMSB高四位部分,至于相關(guān)的另四位則都為0。50(2)串行接口方式當(dāng)PSB腳接低電位時,模塊將進入串行模式。(2)串行接口方式串行接口方式時的時序圖如圖所示。51圖10-8 串行接口方式的時序圖 SID書STD(2)串行接口方式串行接口方式時的時序圖如圖所示。51圖104、編程指令集52表10-2 OCMJ4X8C模塊的基本編程指令集:11條指令具體指令介紹見后。并行時是引腳串行是數(shù)據(jù)位4、編程指令集52表10-2 OCMJ4X8C模塊的基本編4、編程指令集53表10-3 OCMJ4X8C模塊的擴展編程指令集:7條

42、指令具體指令介紹見后。4、編程指令集53表10-3 OCMJ4X8C模塊的擴展編程4、編程指令集(1)清除顯示(指令代碼為01H)54(2) 地址歸位(指令代碼為02H)功能:將DDRAM 填滿 “20H” (ASCII碼表的空格), 把DDRAM地址計數(shù)器 (AC)調(diào)整為 “00”, 重新進入點設(shè)定將I/D設(shè)為 “1”: (光標(biāo)右移, AC加1)。功能:把DDRAM地址計數(shù)器調(diào)整為“00”, 光標(biāo)回原點, 該功能不影響顯示DDRAM。SID4、編程指令集(1)清除顯示(指令代碼為01H)54(2) (3)點設(shè)定(指令代碼為07H/04H/05H/06H)功能:設(shè)定光標(biāo)移動方向并指定整體顯示是

43、否移動。I/D=1光標(biāo)右移,AC自動加1; I/D=0光標(biāo)左移,AC自動減1。SH=1且DDRAM為寫狀態(tài): 整體顯示移動,方向由I/D決定 (I/D=1整體顯示左移, I/D=0整體顯示右移)。 SH=0或DDRAM為讀狀態(tài):整體顯示不移動。55Haddress counter Increase / Decrease也稱Entry Mode Set, 當(dāng)設(shè)定了點設(shè)定的內(nèi)容時,寫入的每一個內(nèi)容都會按照這個設(shè)定方式移動。而“ (5)光標(biāo)或顯示移位控制” 只在寫入一條命令時移動一次。(3)點設(shè)定(指令代碼為07H/04H/05H/06H)功能功能:D=1:整體顯示ON;D=0:整體顯示OFF。C=

44、1:光標(biāo)顯示ON;C=0:光標(biāo)顯示OFF。B=1: 光標(biāo)位置反白且閃爍; B=0: 光標(biāo)位置不反白閃爍。56(4) 顯示狀態(tài)開/關(guān)(指令代碼為08H/0C0H/0E0H/0F0H)4、編程指令集功能:56(4) 顯示狀態(tài)開/關(guān)(指令代碼為08H/0C0H(5)光標(biāo)或顯示移位控制(指令代碼為10H/14H/18H/1CH)功能:10H/14H:光標(biāo)左/右移動,AC減/加118H/1CH: 整體顯示左/右移動,光標(biāo)跟隨移動,AC值不變。57與“ (3)點設(shè)定”區(qū)別: 當(dāng)設(shè)定了點設(shè)定的內(nèi)容時,寫入的每一個內(nèi)容都會按照這個設(shè)定方式移動。而“ (5)光標(biāo)或顯示移位控制” 只在寫入一條命令時移動一次。(5

45、)光標(biāo)或顯示移位控制(指令代碼為10H/14H/18H/(6) 功能設(shè)定(指令代碼為36H/30H/34H)功能:DL=1: 8-BIT控制接口;DL=0:4-BIT控制接口。RE=1:擴充指令集動作;RE=0:基本指令集動作。584、編程指令集DL和RE不能在一條指令中同時改變,先變DL,再變RE(6) 功能設(shè)定(指令代碼為36H/30H/34H)功能:5(7)設(shè)定CGRAM地址(指令代碼為40H-7FH)功能: 設(shè)定CGRAM地址到地址計數(shù)器(AC), 需確定擴充指令中SR=0 (選擇CGRAM地址) (或 SR=1:卷動地址)。594、編程指令集6416位的字型產(chǎn)生RAM (CGRAM)

46、 4組1616點陣的圖象定義(造字功能)空間 。(7)設(shè)定CGRAM地址(指令代碼為40H-7FH)功能: (8)設(shè)定DDRAM地址(指令代碼為80H-9FH)604、編程指令集功能:設(shè)定DDRAM地址到地址計數(shù)器(AC)First line AC range is: 80H , . , 8FHSecond line AC range is: 90H , . , 9FHThird line AC range is: A0H , . , AFHFourth line AC range is: B0H , . , BFHPlease note that only 2 lines can be di

47、splay at a time.模塊內(nèi)部顯示數(shù)據(jù)RAM(DDRAM)提供642個字節(jié)的空間, 最多可控制4行16字(64個字)的中文字型顯示 。 0(8)設(shè)定DDRAM地址(指令代碼為80H-9FH)604、(9)讀取忙碌狀態(tài)(BF)和地址功能:讀取忙碌狀態(tài)(BF)可確認內(nèi)部動作是否完成,同時可讀出地址計數(shù)器(AC)的值。BF=1時,表示內(nèi)部忙碌中,此時不可寫入指令.BF=0 才可寫入新指令。614、編程指令集SID(9)讀取忙碌狀態(tài)(BF)和地址功能:讀取忙碌狀態(tài)(BF)可(10)寫數(shù)據(jù)到RAM功能:寫入數(shù)據(jù)到內(nèi)部的RAM(DDRAM/ CGRAM /IRAM /GDRAM),每個RAM 地

48、址都要連續(xù)寫入兩個字節(jié)的數(shù)據(jù)。624、編程指令集SID(10)寫數(shù)據(jù)到RAM功能:寫入數(shù)據(jù)到內(nèi)部的RAM(DDRA(11)讀出RAM的值功能:從內(nèi)部RAM讀取數(shù)據(jù)(DDRAM /CGRAM /GDRAM),當(dāng)設(shè)定地址指令后,若需讀取數(shù)據(jù)時,需先執(zhí)行一次空的讀數(shù)據(jù),才會讀取到正確數(shù)據(jù),第二次讀取時則不需要,除非又使用設(shè)定地址指令。634、編程指令集以上指令集(含本頁)是基本指令集, 必須功能設(shè)定指令中的RE=0(11)讀出RAM的值功能:從內(nèi)部RAM讀取數(shù)據(jù)(DDRAM(12)待機模式(指令代碼為01H)功能:進入待命模式,執(zhí)行其他命令都可終止待機模式。644、編程指令集(13)垂直卷動地址或R

49、AM地址選擇(指令代碼為02H/03H)功能: SR=1: 允許輸入垂直卷動地址; SR=0: 允許設(shè)定IRAM 地址(擴充指令集) 或CGRAM地址(基本指令集)。 以下指令集(含本頁)是擴充指令集, 必須功能設(shè)定指令中的RE=1(12)待機模式(指令代碼為01H)功能:進入待命模式,執(zhí)行(14)反白選擇(指令代碼為04H-07H)功能: 選4行中任一行(R1和R0的組合決定)作反白顯示, 并可決定反白與否。R1,R0初始化值為0,0;第一次設(shè)定為反白顯示,再次設(shè)定變回正常。4行中只能顯示2行。654、編程指令集(15)睡眠模式(指令代碼為08H/0CH)功能:SL=1:脫離睡眠模式; SL

50、=0:進入睡眠模式。 (14)反白選擇(指令代碼為04H-07H)功能: 選4行中(16) 擴充功能設(shè)定(指令: 20H/24H/26H/30H/34H/36H)功能:DL=1: 8-BIT控制接口; DL=0: 4-BIT控制接口。RE=1: 擴充指令集動作; RE=0: 基本指令集動作。G=1: 繪圖顯示ON; G=0: 繪圖顯示OFF。664、編程指令集在一條指令中不能同時改變DL、G和RE,先變DL或G,再變RE(16) 擴充功能設(shè)定(指令: 20H/24H/26H/30(17)設(shè)定卷動地址(指令代碼為40H7FH)功能:SR=1:AC5AC0為垂直卷動地址; SR=0:AC3AC0寫

51、ICON RAM地址。674、編程指令集(18)設(shè)定繪圖RAM地址(指令代碼為80HFFH)功能:設(shè)定GDRAM地址到地址計數(shù)器(AC)。 (17)設(shè)定卷動地址(指令代碼為40H7FH)功能:SR=5、顯示步驟(1)顯示數(shù)據(jù)RAM(DDRAM)顯示數(shù)據(jù)RAM提供642字節(jié)的空間, 最多可控制4行16字(64個字)中文字型顯示。當(dāng)寫入顯示數(shù)據(jù)RAM時, 可分別顯示CGROM、HCGROM與CGRAM字型。68ST7920A(中文圖形液晶顯示器控制/驅(qū)動器)可以顯示三種字型:半寬的HCGROM字型CGRAM字型中文CGROM字型。5、顯示步驟(1)顯示數(shù)據(jù)RAM(DDRAM)68ST792(1)顯

52、示數(shù)據(jù)RAM(DDRAM)三種字型的選擇, 由在DDRAM中寫入的編碼選擇,1) 0000H0006H的編碼中將選擇CGRAM的自定字型;2) 02H7FH 的編碼中將選擇半寬英文數(shù)字的字型;3) A1H以上的編碼將自動結(jié)合下一個字節(jié), 組成兩個字節(jié)的中文字型編碼: BIG5(A140HD75FH) (大五碼, 通行于臺灣、香港地區(qū)的繁體字編碼方案) 、GB ( A1A0HF7FFH) (國標(biāo)碼GB2312的漢字機內(nèi)碼)。 69(1)顯示數(shù)據(jù)RAM(DDRAM)三種字型的選擇, 由在DD(1)顯示數(shù)據(jù)RAM(DDRAM)1)顯示半寬字型:將8位二進制數(shù)據(jù)寫入DDRAM中,范圍為02H7FH的編

53、碼。2)顯示CGRAM字型: 將16位二進制數(shù)寫入DDRAM中, 共有0000H, 0002H, 0004H, 0006H四種編碼。3)顯示中文字形:將16位二進制數(shù)寫入DDRAM中, 范圍為A140HD75FH的編碼(BIG5), A1A0HF7FFH的編碼(GB)。 數(shù)據(jù)寫入DDRAM時, 連續(xù)寫入兩個字節(jié), 先寫入高字節(jié)(D15D8), 再寫入低字節(jié)(D7D0)。70(1)顯示數(shù)據(jù)RAM(DDRAM)1)顯示半寬字型:將8位二5、顯示步驟(2)繪圖RAM(GDRAM)繪圖顯示RAM提供6432位的存儲空間,最多可以控制64256點的二維繪圖緩沖空間。在更改繪圖RAM內(nèi)容時,由擴充指令設(shè)定

54、繪圖GDRAM地址,先設(shè)垂直地址,再設(shè)水平地址(連續(xù)寫入兩個字節(jié)的數(shù)據(jù)到繪圖RAM),地址計數(shù)器(AC)會自動加一。在寫入繪圖RAM期間,繪圖顯示必須關(guān)閉。715、顯示步驟(2)繪圖RAM(GDRAM)715、顯示步驟(2)繪圖RAM(GDRAM)繪圖顯示RAM提供6432位的存儲空間,最多可以控制25664點的二維繪圖緩沖空間。在更改繪圖RAM內(nèi)容時,由擴充指令設(shè)定繪圖GDRAM地址,先設(shè)垂直地址,再設(shè)水平地址(連續(xù)寫入兩個字節(jié)的數(shù)據(jù)到繪圖RAM),地址計數(shù)器(AC)會自動加一。在寫入繪圖RAM期間,繪圖顯示必須關(guān)閉。7264256點的二維繪圖GDRAM空間示意圖5、顯示步驟(2)繪圖RAM

55、(GDRAM)7264256點(2)繪圖RAM(GDRAM)寫入繪圖RAM的步驟如下:關(guān)閉繪圖顯示功能;先將垂直的坐標(biāo)(Y)寫入繪圖RAM地址;再將水平的坐標(biāo)(X)寫入繪圖RAM地址;將D15D8寫入到RAM中(寫入第一個字節(jié));將D7D0寫入到RAM中(寫入第二個字節(jié));打開繪圖顯示功能。73(2)繪圖RAM(GDRAM)寫入繪圖RAM的步驟如下:73X 坐標(biāo)Line1 80H 81H 82H 83H 84H 85H 86H 87H Line2 90H 91H 92H 93H 94H 95H 96H 97H Line3 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH Line

56、4 98H 99H 9AH 9BH 9CH 9DH 9EH 9FH5、顯示步驟 (3)光標(biāo)/閃爍控制ST7920A提供硬件光標(biāo)及閃爍控制電路, 由地址計數(shù)器(address counter)的值來指定DDRAM中的光標(biāo)或閃爍位置。漢字字符顯示坐標(biāo)在液晶模塊中的地址: 80H9FH。74字符顯示的RAM地址與32個字符顯示區(qū)域有著一一對應(yīng)關(guān)系,如下:圖10-9 字符顯示的RAM地址與32個字符顯示區(qū)域的對應(yīng)關(guān)系X 坐標(biāo)5、顯示步驟 (3)光標(biāo)/閃爍控制ST7920A使用OCMJ4X8C顯示模塊時應(yīng)注意以下幾點: 欲在某一位置顯示中文字符時, 應(yīng)先設(shè)定顯示字符位置, 即先設(shè)定顯示地址, 再寫入中文

57、字符編碼。75顯示ASCII字符過程與顯示中文字符過程相同。不過在顯示連續(xù)字符時,只須設(shè)定一次顯示地址,由模塊自動對地址加1指向下一個字符位置,否則,顯示的字符中將會有一個空ASCII字符位置。當(dāng)字符編碼為2字節(jié)時,應(yīng)先寫入高位字節(jié),再寫入低位字節(jié)。使用OCMJ4X8C顯示模塊時應(yīng)注意以下幾點: 欲在某一使用OCMJ4X8C顯示模塊時應(yīng)注意以下幾點:模塊在接收指令前,處理器必須先確認模塊內(nèi)部處于非忙狀態(tài)(BF=0),方可接受新的指令。若在送出指令前不檢查BF標(biāo)志,則在送出本指令之前必須等待前一個指令執(zhí)行完成。指令執(zhí)行時間請參考指令表中的指令執(zhí)行時間說明?!癛E”為基本指令集與擴充指令集的選擇控

58、制位。當(dāng)改變“RE”后,以后的指令集將維持在最后的狀態(tài),除非再次改變“RE”位,否則使用相同指令集時,無需每次均重設(shè)“RE”位。76使用OCMJ4X8C顯示模塊時應(yīng)注意以下幾點:模塊在接收指例10-1以SPI接口連接為例, 說明LCD模塊使用方法。當(dāng)液晶模塊的PSB引腳接低電平時,即進入串行接口模式。串行模式使用串行數(shù)據(jù)線SID和串行時鐘線SCLK來傳送數(shù)據(jù),即構(gòu)成2線串行模式。OCMJ4X8C還允許同時接入多個液晶顯示模塊以完成多路信息顯示功能。此時,要利用片選信號CS (與RS共用引腳)構(gòu)成3線串行接口方式。當(dāng)CS接高電平時,模塊可正常接收并顯示數(shù)據(jù),否則,模塊將被禁止。當(dāng)系統(tǒng)僅使用一個液

59、晶顯示模塊時,CS引腳可以接固定的高電平。77例10-1以SPI接口連接為例, 說明LCD模塊使用方法讀寫信號RW及數(shù)據(jù)(命令)寄存器的選擇信號RS以數(shù)據(jù)位的形式通過串行方式傳輸?shù)揭壕K進行相應(yīng)控制。例10-1以SPI接口連接為例, 說明LCD模塊使用方法電路連接如圖所示。78圖10-10 OCMJ4X8C液晶模塊與單片機的連接電路圖PSB腳接低電平,串行方式引腳R/W背光負電源P2.2高電平T1導(dǎo)通, 背光電源接通LED顯示出來串行時用作片選讀寫信號RW及數(shù)據(jù)(命令)寄存器的選擇信號RS以數(shù)據(jù)位的形式例10-1 LCD模塊使用方法: 示例程序如下:#includestc15.htypede

60、f unsigned char BYTE;/用BYTE 代替unsigned charsbit BLED=P22; /背光控制void spi_init(void); /SPI初始化子程序void delay(unsigned int us10); /延時子程序void sendspi(BYTE spidata, BYTE read, BYTE dat); /顯示數(shù)據(jù)發(fā)送子程序void lcd_init_usual(void); /液晶初始化子程序void set_position(BYTE position); /確定光標(biāo)位置子程序void data_write(BYTE data1); /

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論