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

下載本文檔

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

文檔簡介

1、1 第十章第十章 人機交互接口人機交互接口 本章學(xué)習(xí)目標本章學(xué)習(xí)目標 掌握鍵盤接口技術(shù)掌握鍵盤接口技術(shù) 掌握數(shù)碼、液晶顯示技術(shù)掌握數(shù)碼、液晶顯示技術(shù) 了解數(shù)碼管顯示驅(qū)動和鍵盤掃描控制專用芯片了解數(shù)碼管顯示驅(qū)動和鍵盤掃描控制專用芯片 2 人機交互接口是指人與計算機之間建立聯(lián)系、人機交互接口是指人與計算機之間建立聯(lián)系、 交換信息的輸入交換信息的輸入/輸出設(shè)備的接口,這些設(shè)備輸出設(shè)備的接口,這些設(shè)備 包括鍵盤、顯示器、打印機、鼠標器等。包括鍵盤、顯示器、打印機、鼠標器等。 本章主要介紹鍵盤輸入接口設(shè)計、顯示原理及本章主要介紹鍵盤輸入接口設(shè)計、顯示原理及 接口技術(shù)。接口技術(shù)。 3 非編碼鍵盤和編碼鍵盤

2、非編碼鍵盤和編碼鍵盤 非編碼鍵盤非編碼鍵盤:直接利用口線連接按鍵開關(guān)或開:直接利用口線連接按鍵開關(guān)或開 關(guān)型傳感器來實現(xiàn),通過程序判斷口線的電平關(guān)型傳感器來實現(xiàn),通過程序判斷口線的電平 就能夠確定輸入的鍵值。就能夠確定輸入的鍵值。 優(yōu)缺點優(yōu)缺點:設(shè)計簡單,使用方便,且因為具有共:設(shè)計簡單,使用方便,且因為具有共 用端,容易直接同開關(guān)電路或開關(guān)型傳感器連用端,容易直接同開關(guān)電路或開關(guān)型傳感器連 接。但是這種方式的口線利用率較低,受單片接。但是這種方式的口線利用率較低,受單片 機口線數(shù)量的限制,其鍵盤規(guī)模無法做大。機口線數(shù)量的限制,其鍵盤規(guī)模無法做大。 10.1鍵盤接口技術(shù) 4 編碼鍵盤編碼鍵盤:

3、將口線與按鍵開關(guān)連接成矩陣電路,:將口線與按鍵開關(guān)連接成矩陣電路, 通過軟件掃描、識別通過軟件掃描、識別I/O口上的編碼,按編碼口上的編碼,按編碼 規(guī)則識別輸入鍵值。規(guī)則識別輸入鍵值。 優(yōu)點優(yōu)點:口線利用率高,鍵盤規(guī)模可以做得較大。:口線利用率高,鍵盤規(guī)??梢宰龅幂^大。 具體采用哪一種形式的鍵盤可以根據(jù)控制系統(tǒng)的具體采用哪一種形式的鍵盤可以根據(jù)控制系統(tǒng)的 規(guī)模及用途決定。規(guī)模及用途決定。 5 一、簡易鍵盤接口的實現(xiàn)一、簡易鍵盤接口的實現(xiàn) 簡易鍵盤接口采用非編碼形式,典型應(yīng)用電路簡易鍵盤接口采用非編碼形式,典型應(yīng)用電路 如圖所示。如圖所示。 圖10-1 簡易鍵盤接口電路 6 鍵盤在使用中考慮到人

4、員操作或機械特性在接鍵盤在使用中考慮到人員操作或機械特性在接 觸時產(chǎn)生的觸時產(chǎn)生的抖動問題抖動問題,即按鍵開關(guān)在接通或斷,即按鍵開關(guān)在接通或斷 開瞬間并非完全可靠接觸,而是存在一個抖動開瞬間并非完全可靠接觸,而是存在一個抖動 期,在此期間的電平變化波形如圖所示。期,在此期間的電平變化波形如圖所示。 圖10-2 按鍵閉合時的電平變化波形 7 抖動期一般不超過抖動期一般不超過10 ms。在口線電平抖動期。在口線電平抖動期 間,單片機無法準確檢測出口線電平的正確值,間,單片機無法準確檢測出口線電平的正確值, 必須采取一定的措施進行鑒別。必須采取一定的措施進行鑒別。 常用的方法是常用的方法是延時消抖法

5、延時消抖法,例如遇到由高向低,例如遇到由高向低 的電平轉(zhuǎn)換后先不急于讀取口線鍵值,而是在的電平轉(zhuǎn)換后先不急于讀取口線鍵值,而是在 中斷服務(wù)程序的開始執(zhí)行一段中斷服務(wù)程序的開始執(zhí)行一段1020 ms的延的延 時程序。時程序。若延時程序后再次判斷口線仍為低電若延時程序后再次判斷口線仍為低電 平則進入口線的鍵值讀取程序,否則放棄鍵值平則進入口線的鍵值讀取程序,否則放棄鍵值 讀取操作。讀取操作。 8 示例代碼如下:示例代碼如下: ORG0000H LJMP MAIN ORG0003H LJMPKRD ORG0100H MAIN: MOVSP,#70H ;其他初始化代碼其他初始化代碼 MAINLOOP:

6、;主循環(huán)主循環(huán) LJMP MAINLOOP 9 KRD:LCALLDEL20 ;調(diào)調(diào)20 ms延時子程序延時子程序 MOV A,P2 ;讀讀P2口鍵值口鍵值 JNB ACC.0,KPR0 ;判斷判斷P2.0P2.7是否有鍵按下是否有鍵按下 JNB ACC.1,KPR1 JNB ACC.2,KPR2 JNB ACC.3,KPR3 JNB ACC.4,KPR4 JNB ACC.5,KPR5 JNB ACC.6,KPR6 JNB ACC.7,KPR7 RETI 10 KPR0: ;P2.0口線按鍵處理程序口線按鍵處理程序 MOVA,P2 ;讀讀P2口鍵值口鍵值 JNBACC.0,KPR0 ;判斷判斷

7、P2.0口線電平是否變高口線電平是否變高 KP01:CALL DELAY20 ;調(diào)調(diào)20 ms延時子程序延時子程序 MOVA,P2 ;讀讀P2口鍵值口鍵值 JNBACC.0,KP01 ;證實證實P2.0口線一直保持低電平口線一直保持低電平 ;按鍵處理程序。由低電平變?yōu)楦唠娖秸J為按鍵按下按鍵處理程序。由低電平變?yōu)楦唠娖秸J為按鍵按下 RETI KPR1: ;P2.1口線按鍵處理程序口線按鍵處理程序 RETI KPR7: ;P2.7口線按鍵處理程序口線按鍵處理程序 RETI DEL20: ;20 ms延時子程序延時子程序 RET END 11 二、矩陣鍵盤接口的實現(xiàn)二、矩陣鍵盤接口的實現(xiàn) 簡易鍵盤電

8、路中每一個按鍵占用一根簡易鍵盤電路中每一個按鍵占用一根I/O口線,口線, 口線利用率較低。口線利用率較低。 如果將口線按照行、列排成矩陣形式,則可在如果將口線按照行、列排成矩陣形式,則可在 相同口線數(shù)量的條件下增大鍵盤的規(guī)模。相同口線數(shù)量的條件下增大鍵盤的規(guī)模。 12 例如,可以將例如,可以將P2口的口的8根根I/O線排列成線排列成44矩矩 陣形式,連接陣形式,連接16只按鍵。如圖所示。只按鍵。如圖所示。 圖10-3 44矩陣式鍵盤電路 13 1、電路結(jié)構(gòu)及設(shè)計思路、電路結(jié)構(gòu)及設(shè)計思路 矩陣式鍵盤將矩陣式鍵盤將P2口的口的8根根I/O口線分成行、列線口線分成行、列線 連接,圖中連接,圖中P2.

9、0P2.3為行線,為行線,P2.4P2.7為為 列線。列線。16只按鍵分別跨接在對應(yīng)的行、列線節(jié)只按鍵分別跨接在對應(yīng)的行、列線節(jié) 點上。點上。 如果單片機在行線對應(yīng)的如果單片機在行線對應(yīng)的I/O口線上有數(shù)據(jù)輸口線上有數(shù)據(jù)輸 出,當有鍵按下時,行、列線短路,單片機在出,當有鍵按下時,行、列線短路,單片機在 列線對應(yīng)的列線對應(yīng)的I/O口線上的輸入數(shù)據(jù)將由行線上口線上的輸入數(shù)據(jù)將由行線上 的電平?jīng)Q定。的電平?jīng)Q定。 14 行線特定的行線特定的4位數(shù)據(jù)輸出和列線對應(yīng)的位數(shù)據(jù)輸出和列線對應(yīng)的4位數(shù)據(jù)位數(shù)據(jù) 輸入可以組成一個輸入可以組成一個8位的特征字,該特征字即位的特征字,該特征字即 為鍵值,代表了按下的

10、鍵所在的位置。為鍵值,代表了按下的鍵所在的位置。 15 2、鍵值產(chǎn)生的原理、鍵值產(chǎn)生的原理 1)掃描法產(chǎn)生鍵值)掃描法產(chǎn)生鍵值 以行線作為掃描輸出,以列線作為接收輸入,以行線作為掃描輸出,以列線作為接收輸入, 依次將各個行線置為低電平依次將各個行線置為低電平,并在列線上逐次,并在列線上逐次 接收數(shù)據(jù)。接收數(shù)據(jù)。 掃描完成后,如果發(fā)現(xiàn)接收到的某一列線有低掃描完成后,如果發(fā)現(xiàn)接收到的某一列線有低 電平,則表示該列線與行線連接的按鍵已經(jīng)閉電平,則表示該列線與行線連接的按鍵已經(jīng)閉 合。合。 在接收到低電平的那次掃描中,行線數(shù)據(jù)與列在接收到低電平的那次掃描中,行線數(shù)據(jù)與列 線數(shù)據(jù)的組合便是所期望的鍵值,

11、由該鍵值可線數(shù)據(jù)的組合便是所期望的鍵值,由該鍵值可 確定閉合鍵在矩陣連接中的連接位置。確定閉合鍵在矩陣連接中的連接位置。 16 2)線反轉(zhuǎn)識別法產(chǎn)生鍵值)線反轉(zhuǎn)識別法產(chǎn)生鍵值 先將行線全部置為低電平先將行線全部置為低電平,列線全部置為高電,列線全部置為高電 平,從列線對應(yīng)的平,從列線對應(yīng)的I/O口線接收數(shù)據(jù),如果發(fā)口線接收數(shù)據(jù),如果發(fā) 現(xiàn)有口線變低,則證明該列線與閉合的按鍵連現(xiàn)有口線變低,則證明該列線與閉合的按鍵連 接。接。 將列線全部置為低電平將列線全部置為低電平,行線全部置為高電平,行線全部置為高電平, 從行線對應(yīng)的從行線對應(yīng)的I/O口線接收數(shù)據(jù),如果發(fā)現(xiàn)有口線接收數(shù)據(jù),如果發(fā)現(xiàn)有 口線變

12、低,則證明該行線與閉合的按鍵連接??诰€變低,則證明該行線與閉合的按鍵連接。 對上述兩次操作的結(jié)果所獲得的兩個對上述兩次操作的結(jié)果所獲得的兩個8位數(shù)據(jù)位數(shù)據(jù) 進行綜合分析,便可確定閉合的按鍵所在位置。進行綜合分析,便可確定閉合的按鍵所在位置。 17 3、鍵盤識別原理、鍵盤識別原理 在進行鍵盤掃描產(chǎn)生鍵值之前,為避免無鍵按在進行鍵盤掃描產(chǎn)生鍵值之前,為避免無鍵按 下的空掃描,浪費下的空掃描,浪費CPU執(zhí)行時間,應(yīng)該首先進執(zhí)行時間,應(yīng)該首先進 行一次鍵盤識別,具體方法有兩種。行一次鍵盤識別,具體方法有兩種。 18 1)硬件中斷識別法)硬件中斷識別法 將矩陣式鍵盤電路的所有列線連接至將矩陣式鍵盤電路的

13、所有列線連接至“與與”門門 電路的輸入端,電路的輸入端,“與與”門電路的輸出端與單片門電路的輸出端與單片 機外部中斷連接。機外部中斷連接。 把全部行線置為低電平,全部列線置為高電平,把全部行線置為低電平,全部列線置為高電平, 當有鍵按下時列線上出現(xiàn)低電平,對應(yīng)當有鍵按下時列線上出現(xiàn)低電平,對應(yīng)“與與” 門的輸出電平出現(xiàn)由高向低的跳變,經(jīng)引腳進門的輸出電平出現(xiàn)由高向低的跳變,經(jīng)引腳進 入單片機產(chǎn)生中斷,在中斷服務(wù)程序中開始掃入單片機產(chǎn)生中斷,在中斷服務(wù)程序中開始掃 描鍵盤。描鍵盤。 19 2)軟件查詢識別法)軟件查詢識別法 將全部行線置為低電平,全部列線置為高電平,將全部行線置為低電平,全部列線

14、置為高電平, 定時從列線對應(yīng)的定時從列線對應(yīng)的I/O口線輸入數(shù)據(jù),如果判口線輸入數(shù)據(jù),如果判 定接收的數(shù)據(jù)中有低電平存在,則說明有按鍵定接收的數(shù)據(jù)中有低電平存在,則說明有按鍵 按下,開始執(zhí)行鍵盤掃描程序。這種方法無需按下,開始執(zhí)行鍵盤掃描程序。這種方法無需 在矩陣鍵盤中連接在矩陣鍵盤中連接“與與”門電路,硬件電路簡門電路,硬件電路簡 潔。潔。 上述兩種識別方法中,采用硬件中斷識別方式上述兩種識別方法中,采用硬件中斷識別方式 可以隨時響應(yīng)鍵盤動作,具有較強的實時性,而可以隨時響應(yīng)鍵盤動作,具有較強的實時性,而 采用軟件查詢方式則可以簡化電路。具體實施應(yīng)采用軟件查詢方式則可以簡化電路。具體實施應(yīng)

15、根據(jù)實際要求設(shè)計。根據(jù)實際要求設(shè)計。 20 4、按鍵操作的抖動處理、按鍵操作的抖動處理 與簡易鍵盤電路相同,矩陣鍵盤同樣要考慮按與簡易鍵盤電路相同,矩陣鍵盤同樣要考慮按 鍵觸點閉合或斷開時存在的抖動期,一般在取鍵觸點閉合或斷開時存在的抖動期,一般在取 回鍵值后進行回鍵值后進行510 ms的延時的延時,判斷原鍵值是,判斷原鍵值是 否存在,以決定是否存在按鍵的誤動作。否存在,以決定是否存在按鍵的誤動作。 21 5、矩陣鍵盤處理程序、矩陣鍵盤處理程序 下面設(shè)計可供調(diào)用的鍵盤掃描子程序。程序可下面設(shè)計可供調(diào)用的鍵盤掃描子程序。程序可 以讀入以讀入44鍵盤狀態(tài),然后將鍵值送往內(nèi)部鍵盤狀態(tài),然后將鍵值送往

16、內(nèi)部 數(shù)據(jù)存儲器的數(shù)據(jù)存儲器的RAM 30H33H單元。單元。 具體方法是,利用單片機具體方法是,利用單片機P2口的口的P2.0P2.3口口 線輪流向行掃描線送低電平,將每次掃描中由線輪流向行掃描線送低電平,將每次掃描中由 P2.4P2.7返回的數(shù)據(jù)與當時行掃描送出的數(shù)返回的數(shù)據(jù)與當時行掃描送出的數(shù) 據(jù)組合后作為鍵值送內(nèi)部據(jù)組合后作為鍵值送內(nèi)部RAM的的30H33H單單 元,鍵值內(nèi)容為元,鍵值內(nèi)容為8位,低位,低4位中的位中的“0”對應(yīng)于行對應(yīng)于行 掃描輸出線,高掃描輸出線,高4位中的位中的“0”對應(yīng)于閉合按鍵對應(yīng)于閉合按鍵 連接的列線。連接的列線。 22 鍵盤掃描程序清單如下:鍵盤掃描程序清

17、單如下: KEY-SCAN: MOVR0,#30H;設(shè)置鍵值存儲單元地址指針設(shè)置鍵值存儲單元地址指針 MOV A,#0FEH;設(shè)置行掃描初始狀態(tài);設(shè)置行掃描初始狀態(tài) SCAN: MOV P2,A;輸出至行掃描線;輸出至行掃描線 MOV R1,A;保存行掃描線狀態(tài);保存行掃描線狀態(tài) MOV A,P2;讀回列線數(shù)據(jù);讀回列線數(shù)據(jù) AND A,#0F0H;保留讀回數(shù)據(jù)的高;保留讀回數(shù)據(jù)的高4位位 ORL A,R1;組合鍵值;組合鍵值 MOV R0,A;鍵值送存儲單元;鍵值送存儲單元 RET 23 10.2顯示技術(shù)顯示技術(shù) 一、數(shù)碼一、數(shù)碼LED顯示技術(shù)顯示技術(shù) 1、顯示元件概述、顯示元件概述 主要顯

18、示元件:主要顯示元件:LED(發(fā)光二極管顯示器)或(發(fā)光二極管顯示器)或 LCD(液晶顯示器)。(液晶顯示器)。 顯示形式:筆畫式和點陣式。顯示形式:筆畫式和點陣式。 筆畫式顯示元件大多為筆畫式顯示元件大多為LED數(shù)碼管,用于顯示數(shù)碼管,用于顯示 數(shù)字或簡單字母信息,適合于規(guī)模較小的單片數(shù)字或簡單字母信息,適合于規(guī)模較小的單片 機系統(tǒng)。機系統(tǒng)。 如果考慮到單片機系統(tǒng)功耗因素,也有筆畫式如果考慮到單片機系統(tǒng)功耗因素,也有筆畫式 LCD數(shù)碼管可供選用,但在控制和連接上要稍數(shù)碼管可供選用,但在控制和連接上要稍 微復(fù)雜一些。微復(fù)雜一些。 24 顯示大信息量或圖形時,一般使用點陣式顯示大信息量或圖形時,

19、一般使用點陣式LCD 顯示器。這種顯示器結(jié)構(gòu)比較復(fù)雜,需要考慮顯示器。這種顯示器結(jié)構(gòu)比較復(fù)雜,需要考慮 灰度調(diào)節(jié)、高壓背光的配合,電路連接及程序灰度調(diào)節(jié)、高壓背光的配合,電路連接及程序 操作都比較繁瑣。使用點陣式操作都比較繁瑣。使用點陣式LCD顯示器最好顯示器最好 采用內(nèi)置控制器的模塊形式,在這種情況下,采用內(nèi)置控制器的模塊形式,在這種情況下, 單片機與點陣式單片機與點陣式LCD的接口實際上變成了單片的接口實際上變成了單片 機與單片機之間的數(shù)據(jù)通信。機與單片機之間的數(shù)據(jù)通信。 本節(jié)內(nèi)容主要介紹筆畫式本節(jié)內(nèi)容主要介紹筆畫式LED和點陣式和點陣式LCD 的應(yīng)用。的應(yīng)用。 25 2、七段碼、七段碼L

20、ED顯示器顯示器 LED數(shù)碼管由數(shù)碼管由8只只LED發(fā)光二極管構(gòu)成,發(fā)光二極管構(gòu)成,8只只 LED發(fā)光二極管分別代表組成數(shù)碼的筆畫(稱發(fā)光二極管分別代表組成數(shù)碼的筆畫(稱 為段)和該位數(shù)碼的小數(shù)點。由于顯示的數(shù)字為段)和該位數(shù)碼的小數(shù)點。由于顯示的數(shù)字 由由7個顯示段組合而成,所以也稱為七段碼。個顯示段組合而成,所以也稱為七段碼。 26 LED七段數(shù)碼管顯示器的結(jié)構(gòu)如圖所示。七段數(shù)碼管顯示器的結(jié)構(gòu)如圖所示。 在七段數(shù)碼管顯示器中為簡化電路引出線,通在七段數(shù)碼管顯示器中為簡化電路引出線,通 常將常將8只發(fā)光二極管的陰極或陽極連接在一起只發(fā)光二極管的陰極或陽極連接在一起 作為電路的公共端,由此便出

21、現(xiàn)了共陰極或共作為電路的公共端,由此便出現(xiàn)了共陰極或共 陽極顯示器的名稱,實際使用時采用高電平或陽極顯示器的名稱,實際使用時采用高電平或 低電平驅(qū)動。低電平驅(qū)動。 圖10-4 LED七段數(shù)碼管顯示器的結(jié)構(gòu) 27 注意注意 如圖電路結(jié)構(gòu)所示,對于七段數(shù)碼管的驅(qū)動電如圖電路結(jié)構(gòu)所示,對于七段數(shù)碼管的驅(qū)動電 流應(yīng)加以限制,在保證不超過單片機或其他驅(qū)流應(yīng)加以限制,在保證不超過單片機或其他驅(qū) 動芯片功耗的前提下維持正常的發(fā)光亮度。動芯片功耗的前提下維持正常的發(fā)光亮度。 28 3、七段碼、七段碼LED顯示器的顯示方式及接口顯示器的顯示方式及接口 七段碼七段碼LED顯示器可以采用靜態(tài)顯示和動態(tài)顯顯示器可以采

22、用靜態(tài)顯示和動態(tài)顯 示兩種形式。示兩種形式。 靜態(tài)顯示是指在顯示時段內(nèi)對組成字型的發(fā)光二靜態(tài)顯示是指在顯示時段內(nèi)對組成字型的發(fā)光二 極管保持恒定的導(dǎo)通或截止;極管保持恒定的導(dǎo)通或截止; 動態(tài)顯示是指在顯示時段內(nèi)對組成字形的發(fā)光二動態(tài)顯示是指在顯示時段內(nèi)對組成字形的發(fā)光二 極管實行間斷或輪流(多字符顯示)點亮。極管實行間斷或輪流(多字符顯示)點亮。 其中前一種形式程序操作簡單,其中前一種形式程序操作簡單,CPU送出字形碼送出字形碼 后可以不再管理。而后一種顯示形式則可最大限度后可以不再管理。而后一種顯示形式則可最大限度 地降低顯示功耗,但是占用了地降低顯示功耗,但是占用了CPU的執(zhí)行程序時的執(zhí)行

23、程序時 間。間。 29 1)靜態(tài)顯示接口)靜態(tài)顯示接口 由單片機串行口與移位寄存器芯片由單片機串行口與移位寄存器芯片CD4094組組 成的共陰極七段碼成的共陰極七段碼LED靜態(tài)顯示接口電路如圖靜態(tài)顯示接口電路如圖 所示。所示。 圖10-5 LED靜態(tài)顯示接口電路 30 電路說明電路說明 單片機工作在串口方式單片機工作在串口方式“0”狀態(tài),要顯示的字狀態(tài),要顯示的字 形以七段碼形式由單片機的形以七段碼形式由單片機的RXD輸出至輸出至 CD4094的數(shù)據(jù)輸入端的數(shù)據(jù)輸入端D,每次輸出,每次輸出1個字節(jié),個字節(jié), 對應(yīng)對應(yīng)1位顯示數(shù)字。位顯示數(shù)字。 多位顯示時需要輸出多個字節(jié)的顯示數(shù)據(jù),同多位顯示時

24、需要輸出多個字節(jié)的顯示數(shù)據(jù),同 時也需要多個時也需要多個CD4094級聯(lián),即前級級聯(lián),即前級CD4094的的 數(shù)據(jù)輸出端數(shù)據(jù)輸出端QS與后級與后級CD4094的數(shù)據(jù)輸入端的數(shù)據(jù)輸入端D 連接。連接。 31 單片機的單片機的TXD與每個與每個CD4094的時鐘輸入端的時鐘輸入端CP 連接,在串行數(shù)據(jù)輸出過程中連接,在串行數(shù)據(jù)輸出過程中TXD發(fā)出移位脈發(fā)出移位脈 沖,驅(qū)動數(shù)據(jù)依次逐位在沖,驅(qū)動數(shù)據(jù)依次逐位在CD4094芯片中移動。芯片中移動。 當所有要顯示的數(shù)據(jù)全部送出后,單片機可以當所有要顯示的數(shù)據(jù)全部送出后,單片機可以 將將P1.0控制口線由低置高,通過控制口線由低置高,通過CD4094的的S

25、T 引腳控制,使所有送入引腳控制,使所有送入CD4094的數(shù)據(jù)由串行的數(shù)據(jù)由串行 轉(zhuǎn)為并行輸出,在轉(zhuǎn)為并行輸出,在LED數(shù)碼管上顯示出對應(yīng)位數(shù)碼管上顯示出對應(yīng)位 的數(shù)字內(nèi)容。的數(shù)字內(nèi)容。 32 靜態(tài)顯示的主要特點靜態(tài)顯示的主要特點:是占用:是占用CPU處理時間少,處理時間少, 顯示穩(wěn)定、亮度高,使用口線少。但在使用中顯示穩(wěn)定、亮度高,使用口線少。但在使用中 應(yīng)注意串口數(shù)據(jù)傳送的格式及字符排位順序。應(yīng)注意串口數(shù)據(jù)傳送的格式及字符排位順序。 串行靜態(tài)顯示的位數(shù)主要由串行靜態(tài)顯示的位數(shù)主要由TXD、P1.0口線的口線的 帶負載能力決定。帶負載能力決定。 33 實際使用中也可不用實際使用中也可不用P1

26、.0,將,將CD4094的的ST端端 引腳始終接高電平,進入引腳始終接高電平,進入CD4094的串行數(shù)據(jù)的串行數(shù)據(jù) 會自動轉(zhuǎn)為并行輸出。會自動轉(zhuǎn)為并行輸出。 這樣做的缺點是在單片機送出顯示數(shù)據(jù)的過程這樣做的缺點是在單片機送出顯示數(shù)據(jù)的過程 中中LED數(shù)碼管會顯示亂碼。但是數(shù)據(jù)傳送過程數(shù)碼管會顯示亂碼。但是數(shù)據(jù)傳送過程 很短,在不頻繁更換顯示數(shù)據(jù)的場合還是可以很短,在不頻繁更換顯示數(shù)據(jù)的場合還是可以 接受的。接受的。 34 應(yīng)用實踐證明,應(yīng)用實踐證明,CD4094的輸出與的輸出與LED數(shù)碼管數(shù)碼管 之間可以不加限流電阻。當之間可以不加限流電阻。當CD4094輸出電流輸出電流 過大時會引起輸出電壓

27、下降,從而自動限制了過大時會引起輸出電壓下降,從而自動限制了 流過流過LED的電流。的電流。 另外,如果另外,如果STC5A60S2單片機的串行口單片機的串行口1在系在系 統(tǒng)中另有用途,則可以其串口統(tǒng)中另有用途,則可以其串口2輸出數(shù)據(jù)。輸出數(shù)據(jù)。 35 2)動態(tài)顯示接口)動態(tài)顯示接口 采用多位采用多位LED數(shù)碼管顯示時,可以逐位點亮數(shù)數(shù)碼管顯示時,可以逐位點亮數(shù) 碼管,雖然在顯示過程中有些數(shù)碼管有熄滅時碼管,雖然在顯示過程中有些數(shù)碼管有熄滅時 間,但是利用人眼的視覺暫留效應(yīng)和間,但是利用人眼的視覺暫留效應(yīng)和LED發(fā)光發(fā)光 二極管的余輝,只要點亮與熄滅時間分配適當,二極管的余輝,只要點亮與熄滅時

28、間分配適當, 仍能夠感覺到所有數(shù)碼管始終處于顯示狀態(tài)。仍能夠感覺到所有數(shù)碼管始終處于顯示狀態(tài)。 36 動態(tài)顯示形式時動態(tài)顯示形式時CPU需要經(jīng)常執(zhí)行相關(guān)程序進需要經(jīng)常執(zhí)行相關(guān)程序進 行顯示刷新,這樣可能占用較多的行顯示刷新,這樣可能占用較多的CPU執(zhí)行時執(zhí)行時 間,對需要快速運算或?qū)崟r控制的用途會增加間,對需要快速運算或?qū)崟r控制的用途會增加 編程難度。但是,編程難度。但是,在實際編程中可以融入一些在實際編程中可以融入一些 編程技巧減輕編程技巧減輕CPU刷新顯示的負擔(dān)。刷新顯示的負擔(dān)。 例如,將逐位顯示程序編入經(jīng)常調(diào)用的延時子例如,將逐位顯示程序編入經(jīng)常調(diào)用的延時子 程序中,就可以在執(zhí)行正常程序

29、的過程中滿足程序中,就可以在執(zhí)行正常程序的過程中滿足 動態(tài)顯示的需求。動態(tài)顯示的需求。 37 動態(tài)顯示可以提高單片機顯示口線的利用率,動態(tài)顯示可以提高單片機顯示口線的利用率, 簡化硬件電路的接線。簡化硬件電路的接線。LED動態(tài)顯示接口的具動態(tài)顯示接口的具 體電路如圖所示。體電路如圖所示。 圖10-6 LED動態(tài)顯示接口電路 38 設(shè)需要顯示的設(shè)需要顯示的4位字形七段碼存放在單片機內(nèi)位字形七段碼存放在單片機內(nèi) 部部RAM的的60H開始的開始的4個單元中,動態(tài)掃描顯個單元中,動態(tài)掃描顯 示子程序如下:示子程序如下: 39 SDIS: MOV R0,#60H;設(shè)顯示數(shù)據(jù)存儲區(qū)指針;設(shè)顯示數(shù)據(jù)存儲區(qū)指

30、針 MOV DPTR,# DSEG;設(shè)置七段碼表首地址;設(shè)置七段碼表首地址 MOV R7,#0FEH;設(shè)置顯示位指針,指向最右邊一位;設(shè)置顯示位指針,指向最右邊一位 MOV A,R7;顯示指針內(nèi)容送累加器;顯示指針內(nèi)容送累加器 LD0:MOV P2,A ;選通顯示位;選通顯示位 RLA ;顯示指向下一位;顯示指向下一位 MOV R7,A ;存顯示指針內(nèi)容;存顯示指針內(nèi)容 MOV A, R0 ;取顯示內(nèi)容;取顯示內(nèi)容 MOVC A,A+DPTR ;查顯示內(nèi)容的字形碼;查顯示內(nèi)容的字形碼 MOV P0,A ;送出顯示字形碼;送出顯示字形碼 CALL DEL1 ;調(diào)延時子程序;調(diào)延時子程序 INCR

31、0 ;指向下一顯示存儲單元;指向下一顯示存儲單元 MOV A,R7 ;取顯示指針內(nèi)容;取顯示指針內(nèi)容 JBACC.4,LD0 ;未掃描完;未掃描完4位循環(huán)位循環(huán) RET 40 ;下面是下面是09,AF共陽極字形七段碼共陽極字形七段碼 DSEG:DB C0H,F(xiàn)9H,A4H,B0H,99H,92H, 82H,F(xiàn)8H80H; DSEG2:DB 90H,88H,83H, C6H,A1H,86H,8EH 請讀者自行補充完整其中的延時子程序和對應(yīng)請讀者自行補充完整其中的延時子程序和對應(yīng) 的的C語言程序。語言程序。 41 二、液晶顯示技術(shù)二、液晶顯示技術(shù) 液晶顯示器件(簡稱液晶顯示器件(簡稱LCD顯示器)

32、由于具有顯顯示器)由于具有顯 示信息豐富、功耗低、體積小、無輻射等優(yōu)點,示信息豐富、功耗低、體積小、無輻射等優(yōu)點, 得到了廣泛的應(yīng)用。得到了廣泛的應(yīng)用。 LCD顯示器有筆畫分段、分割顯示、字符點陣顯示器有筆畫分段、分割顯示、字符點陣 顯示和圖形點陣顯示和圖形點陣LCD顯示形式之分,對于比較顯示形式之分,對于比較 豐富的顯示內(nèi)容通常采用圖形點陣顯示形式,豐富的顯示內(nèi)容通常采用圖形點陣顯示形式, 但是這種顯示形式的電路結(jié)構(gòu)及控制方式比較但是這種顯示形式的電路結(jié)構(gòu)及控制方式比較 復(fù)雜。復(fù)雜。 42 為了便于使用,為了便于使用,LCD圖形點陣顯示器通常以圖形點陣顯示器通常以 LCM(液晶顯示模塊)形式

33、出現(xiàn),模塊中封(液晶顯示模塊)形式出現(xiàn),模塊中封 裝了顯示器、驅(qū)動電路、控制電路及背光調(diào)節(jié)裝了顯示器、驅(qū)動電路、控制電路及背光調(diào)節(jié) 電路等。電路等。 本節(jié)以本節(jié)以12864點陣的漢字圖形型液晶顯示模點陣的漢字圖形型液晶顯示模 塊塊OCMJ4X8C為例介紹圖形點陣為例介紹圖形點陣LCD顯示接顯示接 口的應(yīng)用??诘膽?yīng)用。 43 1、OCMJ4X8C液晶顯示模塊概述液晶顯示模塊概述 OCMJ4X8C的液晶顯示屏為的液晶顯示屏為12864點陣,可點陣,可 顯示顯示4行、每行行、每行8個漢字。個漢字。OCMJ4X8C可實現(xiàn)可實現(xiàn) 漢字、漢字、ASCII碼、點陣圖形、自造字體的同屏碼、點陣圖形、自造字體的

34、同屏 顯示。顯示。 該模塊具有該模塊具有2MB的中文字形的中文字形CGROM,其中含有,其中含有 8192個個1616點陣中文字庫;點陣中文字庫; 具有具有16KB的的168點陣的點陣的ASCII字符庫;字符庫; 提供了一個提供了一個64256點陣的點陣的GDRAM繪圖區(qū)域;繪圖區(qū)域; 提供了提供了4組組1616點陣的造字空間。點陣的造字空間。 44 為了便于和多種微處理器、單片機接口,模塊為了便于和多種微處理器、單片機接口,模塊 提供了提供了8位并行、位并行、2線串行、線串行、3線串行三種接口方線串行三種接口方 式。式。 OCMJ4X8C的的2線串行接口方式符合線串行接口方式符合SPI時序標

35、時序標 準,大大簡化了液晶顯示模塊與單片機之間的準,大大簡化了液晶顯示模塊與單片機之間的 接口設(shè)計。接口設(shè)計。 OCMJ4X8C模塊的工作電壓為模塊的工作電壓為4.55.5V,具,具 有睡眠、正常及低功耗工作模式,可滿足系統(tǒng)有睡眠、正常及低功耗工作模式,可滿足系統(tǒng) 各種工作電壓及便攜式儀器低功耗的要求。各種工作電壓及便攜式儀器低功耗的要求。 45 2、模塊引腳、模塊引腳 OCMJ4X8C模塊引腳及對應(yīng)說明如表所示。模塊引腳及對應(yīng)說明如表所示。 引腳引腳名稱名稱方向方向說明說明引腳引腳名稱名稱方向方向說明說明 1VSS-GND(0V)11DB4I/O數(shù)據(jù)數(shù)據(jù)4 2VDD-邏輯電源邏輯電源 (+5

36、v)12DB5I/O數(shù)據(jù)數(shù)據(jù)5 3VO-LCD電源(懸空)電源(懸空)13DB6I/O數(shù)據(jù)數(shù)據(jù)6 4RS(CS)H/LH: 數(shù)據(jù)數(shù)據(jù) L: 指令碼指令碼14DB7I/O數(shù)據(jù)數(shù)據(jù)7 5R/W(STD)H/LH: 讀讀 L: 寫寫 15PSBH/L H: 并行模式并行模式 L: 串行模式串行模式 6E(SCLK)H,H/L使能使能 16NC-空腳空腳 7DB0I/O數(shù)據(jù)數(shù)據(jù)017/RSTH/L復(fù)位(低電平有效)復(fù)位(低電平有效) 8DB1I/O數(shù)據(jù)數(shù)據(jù)118NC-空腳空腳 9DB2I/O數(shù)據(jù)數(shù)據(jù)219LEDA-背光源正極(背光源正極(LED+5V) 10DB3I/O數(shù)據(jù)數(shù)據(jù)320LEDK-背光源負

37、極(背光源負極(LED-OV) 表10-1 OCMJ4X8C模塊的引腳及對應(yīng)的說明 46 3、信息傳輸與接口時序、信息傳輸與接口時序 (1)并行接口方式)并行接口方式 當當PSB腳接高電位時,模塊將進入并行傳輸模腳接高電位時,模塊將進入并行傳輸模 式,單片機與液晶模塊通過式,單片機與液晶模塊通過RS、RW、E、 D7D0完成信息傳輸。完成信息傳輸。 47 并行接口方式時,單片機寫數(shù)據(jù)到模塊的時序并行接口方式時,單片機寫數(shù)據(jù)到模塊的時序 圖如圖所示。圖如圖所示。 (a)單片機寫數(shù)據(jù)到模塊時序圖 48 并行接口方式時,單片機從模塊中讀取數(shù)據(jù)的并行接口方式時,單片機從模塊中讀取數(shù)據(jù)的 時序圖如圖所示

38、。時序圖如圖所示。 (b)單片機從模塊讀取數(shù)據(jù)時序圖 49 (2)串行接口方式)串行接口方式 當當PSB腳接低電位時,模塊將進入串行模式。腳接低電位時,模塊將進入串行模式。 串行傳輸流程串行傳輸流程 首先傳輸起始字節(jié)(五個連續(xù)的首先傳輸起始字節(jié)(五個連續(xù)的“1”),起始字節(jié)也),起始字節(jié)也 稱為同步字符串。稱為同步字符串。 在傳輸起始字節(jié)時,傳輸計數(shù)將被重置并且串行傳輸在傳輸起始字節(jié)時,傳輸計數(shù)將被重置并且串行傳輸 將被同步,再跟隨的兩個位字符串分別指定傳輸方向?qū)⒈煌?,再跟隨的兩個位字符串分別指定傳輸方向 位(位(RW)及寄存器選擇位()及寄存器選擇位(RS),最后第八的位則),最后第八的位

39、則 為為“0”。 在接收到同步位及在接收到同步位及RW和和RS資料的起始字節(jié)后,每一資料的起始字節(jié)后,每一 個個8位的指令將被分為兩個字節(jié)接收到:高位的指令將被分為兩個字節(jié)接收到:高4位位 (D7D4)的指令資料將會被放在第一個字節(jié)的)的指令資料將會被放在第一個字節(jié)的LSB部部 分,而低分,而低4位(位(D3D0)的指令資料則被放在第二個字)的指令資料則被放在第二個字 節(jié)的節(jié)的LSB部分,至于相關(guān)的另四位則都為部分,至于相關(guān)的另四位則都為0。 50 串行接口方式時的時序圖如圖所示。串行接口方式時的時序圖如圖所示。 圖10-8 串行接口方式的時序圖 51 4、編程指令集、編程指令集 (1)清除顯

40、示)清除顯示(指令代碼為指令代碼為01H) 功能:將功能:將DDRAM 填滿填滿“20H”(空格),把(空格),把 DDRAM地址計數(shù)器調(diào)整為地址計數(shù)器調(diào)整為“00H”,重新進入,重新進入 點設(shè)定將點設(shè)定將I/D設(shè)為設(shè)為“1”,光標右移,光標右移AC加加1。 RWRSD7D6D5D4D3D2D1D0 0000000001 52 (2)地址歸位)地址歸位(指令代碼為指令代碼為02H) 功能:把功能:把DDRAM地址計數(shù)器調(diào)整為地址計數(shù)器調(diào)整為“00H”, 光標回原點,該功能不影響顯示光標回原點,該功能不影響顯示DDRAM。 RWRSD7D6D5D4D3D2D1D0 000000001X 53 (

41、3)點設(shè)定)點設(shè)定(指令代碼為指令代碼為07H/04H/05H/06H) 功能:設(shè)定光標移動方向并指定整體顯示是否功能:設(shè)定光標移動方向并指定整體顯示是否 移動。移動。 I/D=1光標右移,光標右移,AC自動加自動加1;I/D=0光標左移,光標左移, AC自動減自動減1。 SH=1且且DDRAM為寫狀態(tài):整體顯示移動,方為寫狀態(tài):整體顯示移動,方 向由向由I/D決定(決定(I/D=1左移,左移,I/D=0右移)。右移)。 SH=0或或DDRAM為讀狀態(tài):整體顯示不移動。為讀狀態(tài):整體顯示不移動。 RWRSD7D6D5D4D3D2D1D0 00000001I/DS 54 ( 4 ) 顯 示 狀

42、態(tài)) 顯 示 狀 態(tài) 開開 / 關(guān)關(guān) ( 指 令 代 碼 為指 令 代 碼 為 08H/0C0H/0E0H/0F0H) 功能:功能: D=1:整體顯示整體顯示ON;D=0:整體顯示整體顯示OFF。 C=1:光標顯示光標顯示ON;C=0:光標顯示光標顯示OFF。 B=1: 光標位置反白且閃爍;光標位置反白且閃爍;B=0:光標位置不反光標位置不反 白閃爍。白閃爍。 RWRSD7D6D5D4D3D2D1D0 0000001DC B 55 ( 5 ) 光 標 或 顯 示 移 位 控 制) 光 標 或 顯 示 移 位 控 制 ( 指 令 代 碼 為指 令 代 碼 為 10H/14H/18H/1CH) 功

43、能:功能: 10H/14H:光標左:光標左/右移動,右移動,AC減減/加加1 18H/1CH:整體顯示左:整體顯示左/右移動,光標跟隨移動,右移動,光標跟隨移動, AC值不變。值不變。 R W R S D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 000001S/ C R/ L X X 56 (6)功能設(shè)定(指令代碼為)功能設(shè)定(指令代碼為36H/30H/34H) 功能:功能: DL=1: 8-BIT控制接口;控制接口; DL=0:4-BIT控制接口??刂平涌?。 RE=1:擴充指令集動作;:擴充指令集動作; RE=0:基本指令集動作。:基本指令集動作。 RWRSD7D6D5D

44、4D3D2D1D0 00001DLXREX X 57 (7)設(shè)定)設(shè)定CGRAM位址位址(指令代碼為指令代碼為40H-7FH) 功能:設(shè)定功能:設(shè)定CGRAM地址到地址計數(shù)器地址到地址計數(shù)器 (AC),需確定擴充指令中),需確定擴充指令中SR=0(卷動地址(卷動地址 或或RAM地址選擇)。地址選擇)。 RWRSD7D6D5D4D3D2D1D0 0001AC5AC4AC3AC2AC1 AC0 58 (8)設(shè)定)設(shè)定DDRAM位址(指令代碼為位址(指令代碼為80H-9FH) 功能:設(shè)定功能:設(shè)定DDRAM地址到地址計數(shù)器(地址到地址計數(shù)器(AC) RWRSD7D6D5D4D3D2D1D0 001A

45、C6AC5AC4AC3AC2AC1 AC0 59 (9)讀取忙碌狀態(tài)()讀取忙碌狀態(tài)(BF)和地址)和地址 功能:讀取忙碌狀態(tài)(功能:讀取忙碌狀態(tài)(BF)可以確認內(nèi)部動)可以確認內(nèi)部動 作是否完成,同時可以讀出地址計數(shù)器(作是否完成,同時可以讀出地址計數(shù)器(AC) 的值。的值。 BF=1時,表示內(nèi)部忙碌中,此時不可寫入指令時,表示內(nèi)部忙碌中,此時不可寫入指令. BF=0 才可寫入新指令。才可寫入新指令。 RWRSD7D6D5D4D3D2D1D0 10BFAC6AC5AC4AC3AC2AC1AC0 60 (10)寫數(shù)據(jù)到)寫數(shù)據(jù)到RAM 功 能 : 寫 入 數(shù) 據(jù) 到 內(nèi) 部 的功 能 : 寫

46、入 數(shù) 據(jù) 到 內(nèi) 部 的 R A M (DDRAM/CGRAM/TRAM/GDRAM),每),每 個個RAM 地址都要連續(xù)寫入兩個字節(jié)的數(shù)據(jù)。地址都要連續(xù)寫入兩個字節(jié)的數(shù)據(jù)。 RWRSD7D6D5D4D3D2D1 D0 01D7D6D5D4D3D2D1 D0 61 (11)讀出)讀出RAM的值的值 功 能 : 從 內(nèi) 部功 能 : 從 內(nèi) 部 R A M 讀 取 數(shù) 據(jù)讀 取 數(shù) 據(jù) (DDRAM/CGRAM/GDRAM),當設(shè)定地址),當設(shè)定地址 指令后,若需讀取數(shù)據(jù)時,需先執(zhí)行一次空的指令后,若需讀取數(shù)據(jù)時,需先執(zhí)行一次空的 讀數(shù)據(jù),才會讀取到正確數(shù)據(jù),第二次讀取時讀數(shù)據(jù),才會讀取到正確

47、數(shù)據(jù),第二次讀取時 則不需要,除非又使用設(shè)定地址指令。則不需要,除非又使用設(shè)定地址指令。 RWRSD7D6D5D4D3D2D1 D0 11D7D6D5D4D3D2D1 D0 62 (12)待機模式)待機模式(指令代碼為指令代碼為01H) 功能:進入待命模式,執(zhí)行其他命令都可終功能:進入待命模式,執(zhí)行其他命令都可終 止待機模式。止待機模式。 RWRSD7D6D5D4D3D2D1D0 0000000001 63 (13)卷動地址或)卷動地址或RAM地址選擇地址選擇(指令代碼為指令代碼為 02H/03H) 功能:功能: SR=1:允許輸入卷動地址;:允許輸入卷動地址; SR=0:允許設(shè)定:允許設(shè)定C

48、GRAM地址(基本指令)。地址(基本指令)。 RWRSD7D6D5D4D3D2D1D0 00000000H SR 64 (14)反白選擇(指令代碼為)反白選擇(指令代碼為04H-07H) 功能:選擇功能:選擇4行中的任一行作反白顯示,并可行中的任一行作反白顯示,并可 決定反白與否。決定反白與否。 RWRSD7D6D5D4D3D2D1D0 00000001R1 R0 65 (15)睡眠模式(指令代碼為)睡眠模式(指令代碼為08H/0CH) 功能:功能: SL=1:脫離睡眠模式;:脫離睡眠模式; SL=0:進入睡眠模式。:進入睡眠模式。 RWRSD7D6D5D4D3D2D1D0 0000001SL

49、X X 66 ( 1 6 ) 擴 充 功 能 設(shè) 定 ( 指 令 代 碼 為) 擴 充 功 能 設(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。 RWRSD7D6D5D4D3D2D1D0 00001DLXREG L 67 (17)設(shè)定卷動地址(指令代碼為)設(shè)定卷動地址(指令代碼為40H7FH) 功能:功

50、能:SR=1:AC5AC0為垂直卷動地址;為垂直卷動地址; SR=0:AC3AC0寫寫ICONRAM地址。地址。 RWRSD7D6D5D4D3D2D1D0 0001AC5AC4AC3AC2AC1 AC0 68 ( 1 8 ) 設(shè) 定 繪 圖) 設(shè) 定 繪 圖 R A M 位 址 ( 指 令 代 碼 為位 址 ( 指 令 代 碼 為 80HFFH) 功能:設(shè)定功能:設(shè)定GDRAM地址到地址計數(shù)器地址到地址計數(shù)器 (AC)。)。 RWRSD7D6D5D4D3D2D1D0 001AC6AC5AC4AC3AC2AC1 AC0 69 5、顯示步驟、顯示步驟 (1)顯示數(shù)據(jù))顯示數(shù)據(jù)RAM(DDRAM)

51、顯示數(shù)據(jù)顯示數(shù)據(jù)RAM提供提供642個字節(jié)的空間,最多個字節(jié)的空間,最多 可以控制可以控制4行行16字(字(64個字)的中文字型顯示。個字)的中文字型顯示。 當寫入顯示數(shù)據(jù)當寫入顯示數(shù)據(jù)RAM時,可以分別顯示時,可以分別顯示 CGROM、HCGROM與與CGRAM的字型。的字型。 70 ST7920A可以顯示三種字型可以顯示三種字型 半寬的半寬的HCGROM字型字型 CGRAM字型字型 中文中文CGROM字型。字型。 三種字型的選擇,由在三種字型的選擇,由在DDRAM中寫入的編碼選擇,中寫入的編碼選擇, 部部 0000H0006H的編碼中將選擇的編碼中將選擇CGRAM的自定字型的自定字型 02

52、H7FH 的編碼中將選擇半寬英文數(shù)字的字型的編碼中將選擇半寬英文數(shù)字的字型 A1H以上的編碼將自動結(jié)合下一個字節(jié),組成兩個字以上的編碼將自動結(jié)合下一個字節(jié),組成兩個字 節(jié)的中文字型編碼:節(jié)的中文字型編碼:BIG5(A140HD75FH)、)、GB (A1A0HF7FFH) 71 1)顯示半寬字型:將)顯示半寬字型:將8位二進制數(shù)據(jù)寫入位二進制數(shù)據(jù)寫入 DDRAM中,范圍為中,范圍為02H7FH的編碼。的編碼。 2)顯示)顯示CGRAM字型:將字型:將16位二進制數(shù)據(jù)寫入位二進制數(shù)據(jù)寫入 DDRAM中,共有中,共有0000H,0002H,0004H, 0006H四種編碼。四種編碼。 3)顯示中文

53、字形:將)顯示中文字形:將16位二進制數(shù)據(jù)寫入位二進制數(shù)據(jù)寫入 DDRAM中,范圍為中,范圍為A140HD75FH的編碼的編碼 (BIG5),),A1A0HF7FFH的編碼(的編碼(GB)。)。 數(shù)據(jù)寫入數(shù)據(jù)寫入DDRAM時,連續(xù)寫入兩個字節(jié),先時,連續(xù)寫入兩個字節(jié),先 寫入高字節(jié)(寫入高字節(jié)(D15D8),再寫入低字節(jié)),再寫入低字節(jié) (D7D0)。)。 72 (2)繪圖)繪圖RAM(GDRAM) 繪圖顯示繪圖顯示RAM提供提供6432位的存儲空間,最位的存儲空間,最 多可以控制多可以控制25664點的二維繪圖緩沖空間點的二維繪圖緩沖空間 在更改繪圖在更改繪圖RAM內(nèi)容時,由擴充指令設(shè)定繪內(nèi)

54、容時,由擴充指令設(shè)定繪 圖圖GDRAM地址,先設(shè)垂直地址,再設(shè)水平地地址,先設(shè)垂直地址,再設(shè)水平地 址(連續(xù)寫入兩個字節(jié)的數(shù)據(jù)到繪圖址(連續(xù)寫入兩個字節(jié)的數(shù)據(jù)到繪圖RAM),), 地址計數(shù)器(地址計數(shù)器(AC)會自動加一。在寫入繪圖)會自動加一。在寫入繪圖 RAM期間,繪圖顯示必須關(guān)閉。期間,繪圖顯示必須關(guān)閉。 73 寫入繪圖寫入繪圖RAM的步驟如下:的步驟如下: 關(guān)閉繪圖顯示功能;關(guān)閉繪圖顯示功能; 先將垂直的坐標(先將垂直的坐標(Y)寫入繪圖)寫入繪圖RAM地址;地址; 再將水平的坐標(再將水平的坐標(X)寫入繪圖)寫入繪圖RAM地址;地址; 將將D15D8寫入到寫入到RAM中(寫入第一個

55、字節(jié));中(寫入第一個字節(jié)); 將將D7D0寫入到寫入到RAM中(寫入第二個字節(jié));中(寫入第二個字節(jié)); 打開繪圖顯示功能。打開繪圖顯示功能。 74 (3)光標)光標/閃爍控制閃爍控制 ST7920A提供硬件光標及閃爍控制電路,由地提供硬件光標及閃爍控制電路,由地 址計數(shù)器(址計數(shù)器(address counter)的值來指定)的值來指定 DDRAM中的光標或閃爍位置。中的光標或閃爍位置。 漢字字符顯示坐標在晶模塊中的地址漢字字符顯示坐標在晶模塊中的地址80H 9FH。 75 字符顯示的字符顯示的RAM地址與地址與32個字符顯示區(qū)域有個字符顯示區(qū)域有 著一一對應(yīng)的關(guān)系,其對應(yīng)關(guān)系如圖所示。著

56、一一對應(yīng)的關(guān)系,其對應(yīng)關(guān)系如圖所示。 X X 坐標坐標 Line1 80H 81H 82H 83H 84H 85H 86H 87H Line1 80H 81H 82H 83H 84H 85H 86H 87H Line2 90H 91H 92H 93H 94H 95H 96H 97H Line2 90H 91H 92H 93H 94H 95H 96H 97H Line3 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH Line3 88H 89H 8AH 8BH 8CH 8DH 8EH 8FH Line4 98H 99H 9AH 9BH 9CH 9DH 9EH 9FHLine4 9

57、8H 99H 9AH 9BH 9CH 9DH 9EH 9FH 圖10-9 字符顯示的RAM地址與32個字符顯示區(qū)域的對應(yīng)關(guān)系 76 使用使用OCMJ4X8C顯示模塊時應(yīng)注意以下幾點:顯示模塊時應(yīng)注意以下幾點: 欲在某一個位置顯示中文字符時,應(yīng)先設(shè)定顯欲在某一個位置顯示中文字符時,應(yīng)先設(shè)定顯 示字符位置,即先設(shè)定顯示地址,再寫入中文示字符位置,即先設(shè)定顯示地址,再寫入中文 字符編碼。字符編碼。 77 顯示顯示ASCII字符過程與顯示中文字符過程相同。字符過程與顯示中文字符過程相同。 不過在顯示連續(xù)字符時,只須設(shè)定一次顯示地不過在顯示連續(xù)字符時,只須設(shè)定一次顯示地 址,由模塊自動對地址加址,由模塊

58、自動對地址加1指向下一個字符位指向下一個字符位 置,否則,顯示的字符中將會有一個空置,否則,顯示的字符中將會有一個空ASCII 字符位置。字符位置。 當字符編碼為當字符編碼為2字節(jié)時,應(yīng)先寫入高位字節(jié),字節(jié)時,應(yīng)先寫入高位字節(jié), 再寫入低位字節(jié)。再寫入低位字節(jié)。 78 模塊在接收指令前,處理器必須先確認模塊內(nèi)模塊在接收指令前,處理器必須先確認模塊內(nèi) 部處于非忙狀態(tài)(部處于非忙狀態(tài)(BF=0),方可接受新的指),方可接受新的指 令。如果在送出指令前不檢查令。如果在送出指令前不檢查BF標志,則在標志,則在 送出本指令之前必須等待前一個指令執(zhí)行完成。送出本指令之前必須等待前一個指令執(zhí)行完成。 指令執(zhí)

59、行時間請參考指令表中的指令執(zhí)行時間指令執(zhí)行時間請參考指令表中的指令執(zhí)行時間 說明。說明。 “RE”為基本指令集與擴充指令集的選擇控制為基本指令集與擴充指令集的選擇控制 位。當改變位。當改變“RE”后,以后的指令集將維持在后,以后的指令集將維持在 最后的狀態(tài),除非再次改變最后的狀態(tài),除非再次改變“RE”位,否則使位,否則使 用相同指令集時,無需每次均重設(shè)用相同指令集時,無需每次均重設(shè)“RE”位。位。 79 【例【例10-1】以】以SPI接口連接為例,說明接口連接為例,說明LCD模塊的使用模塊的使用 方法。方法。 當液晶模塊的當液晶模塊的PSB引腳接低電平時,即進入串行接口引腳接低電平時,即進入串

60、行接口 模式。串行模式使用串行數(shù)據(jù)線模式。串行模式使用串行數(shù)據(jù)線SID和串行時鐘線和串行時鐘線 SCLK來傳送數(shù)據(jù),即構(gòu)成來傳送數(shù)據(jù),即構(gòu)成2線串行模式。線串行模式。 OCMJ4X8C還允許同時接入多個液晶顯示模塊以完還允許同時接入多個液晶顯示模塊以完 成多路信息顯示功能。此時,要利用片選信號成多路信息顯示功能。此時,要利用片選信號CS (與(與RS共用引腳)構(gòu)成共用引腳)構(gòu)成3線串行接口方式。當線串行接口方式。當CS接高接高 電平時,模塊可正常接收并顯示數(shù)據(jù),否則,模塊將電平時,模塊可正常接收并顯示數(shù)據(jù),否則,模塊將 被禁止。當系統(tǒng)僅使用一個液晶顯示模塊時,被禁止。當系統(tǒng)僅使用一個液晶顯示模

溫馨提示

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

評論

0/150

提交評論