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

下載本文檔

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

文檔簡介

第3章人機交互接口技術 3.1鍵盤接口技術

3.2LED顯示接口技術

3.3LCD的顯示接口技術第3章人機交互接口技術 所謂人機交互接口,是指人與計算機之間建立聯(lián)系、交換信息的輸入/輸出設備的接口。這些輸入/輸出設備主要有鍵盤、顯示和打印機等。它們是計算機應用系統(tǒng)中必不可少的輸入、輸出設備,是控制系統(tǒng)與操作人員之間交互的窗口。一個安全可靠的控制系統(tǒng)必須具有方便的交互功能。操作人員可以通過系統(tǒng)顯示的內容,及時掌握生產(chǎn)情況。并可通過鍵盤輸入數(shù)據(jù),傳遞命令,對計算機應用系統(tǒng)進行人工干預,以使其隨時能按照操作人員的意圖工作。微機控制技術3.1鍵盤接口技術鍵盤是若干按鍵的集合,是向系統(tǒng)提供操作人員干預命令的接口設備。鍵盤分類:★編碼鍵盤,前者能自動識別按下的鍵并產(chǎn)生相應代碼,以并行或串行方式送給CPU。它使用方便,接口簡單,響應速度快,但較貴★非編碼鍵盤兩種類型,通過軟件來確定按鍵并計算鍵值。這種方法雖然沒有編碼鍵盤速度快,但它價格便宜,因此得到了廣泛的應用。3.1.1鍵盤設計需解決的幾個問題微機控制技術3.1.1鍵盤設計需解決的幾個問題1.按鍵的確認鍵盤實際上是一組按鍵開關的集合,其每一個按鍵就是一個開關量輸入裝置。鍵的閉合與否,通過電平狀態(tài)(高或低)的檢測,便可確定相應按鍵是否已被按下。微機控制技術3.1.1鍵盤設計需解決的幾個問題

2.重鍵與連擊的處理實際按鍵操作中,若無意中同時或先后按下兩個以上的鍵,系統(tǒng)確認哪個鍵操作是有效的完全由設計者的意志決定。(1)以按下時間的長短為準(2)以最先按下的鍵為當前按鍵,(3)也可以將最后釋放的鍵看成是輸入鍵。(4)通常總是采用單鍵按下有效,多鍵同時按下無效的原則。(若系統(tǒng)設有復合鍵,當然應該另當別論)。微機控制技術3.1.1鍵盤設計需解決的幾個問題

3.按鍵防抖動技術 多數(shù)鍵盤的按鍵均采用機械彈性開關。一個電信號通過機械觸點的斷開、閉合過程,完成高、低電平的切換。由于機械觸點的彈性作用,一個按鍵開關在閉合及斷開的瞬間必然伴隨有一連串的抖動。其波形如圖3—1所示。抖動過程的長短由按鍵的機械特性決定,一般為10~20ms。微機控制技術3.1.1鍵盤設計需解決的幾個問題圖3—1按鍵抖動信號波形微機控制技術3.1.1鍵盤設計需解決的幾個問題

為了使CPU對一次按鍵動作只確認一次,必須排除抖動的影響??梢詮挠布败浖煞矫嬷纸鉀Q。(1)硬件防抖技術通過硬件電路消除按鍵過程中抖動的影響是一種廣為采用的措施。這種作法工作可靠,且節(jié)省機時。①濾波防抖電路利用RC積分電路對于干擾脈沖的吸收作用,只要選擇好時間常數(shù),就能在按鍵抖動信號通過此濾波電路時,消除抖動的影響。濾波防抖電路圖,如圖3—2所示。微機控制技術3.1.1鍵盤設計需解決的幾個問題圖3—2濾波防抖電路微機控制技術3.1.1鍵盤設計需解決的幾個問題當鍵K未按下時,電容C兩端電壓均為0,非門輸出為1。 當K按下時,由于C兩端電壓不可能產(chǎn)生突變,盡管在觸點接觸過程中可能出現(xiàn)抖動,只要適當選取R1、R2和C值,即可保證電容C兩端的充電電壓波動不超過非門的開啟電壓(TTL為0.8V),非門的輸出將維持高電平。同理,當觸點K斷開時,由于電容C經(jīng)過電阻R2放電,C兩端的放電電壓波動不會超過門的關閉電壓,因此,門的輸出也不會改變。

微機控制技術3.1.1鍵盤設計需解決的幾個問題 總之,只要R1、R2和C的時間常數(shù)選取得當,確保電容C由穩(wěn)態(tài)電壓充電到開啟電壓,或放電到關閉電壓的延遲時間等于或大于10ms,該電路就能消除抖動的影響。微機控制技術3.1.1鍵盤設計需解決的幾個問題②雙穩(wěn)態(tài)防抖電路用兩個與非門構成一個RS觸發(fā)器,即可形成雙穩(wěn)態(tài)防抖電路。其原理電路圖,如圖3—3所示。微機控制技術3.1.1鍵盤設計需解決的幾個問題圖3—3雙穩(wěn)態(tài)防抖電路圖微機控制技術3.1.1鍵盤設計需解決的幾個問題 設未按下時,鍵K與A端(ON)接通。此時,RS觸發(fā)器的Q端為高電平1,致使端為低電平0,此信號引至1#與非門的輸入端,將其鎖住,使其固定輸出1。每當開關K被按動時,由于機械開關具有彈性,在A端將形成一連串的抖動波形。而端在K到達B端之前始終為0。這時,無論A處出現(xiàn)怎樣的電壓(0或1),Q端恒為1。只有當K到達B端,使B端為0,RS觸發(fā)器產(chǎn)生翻轉,變?yōu)楦唠娖?,導致Q降低為0,并鎖住門2,使其輸出恒為1。此時,即使B處出現(xiàn)抖動波形,也不會影響端的輸出,從而保證Q端恒為0。同理,在釋放鍵的過程中,只要一接通A,Q端就升至為1。只要開關K不再與B端接觸,雙穩(wěn)態(tài)電路的輸出將維持不變。微機控制技術3.1.1鍵盤設計需解決的幾個問題

(2)軟件防抖方法

如前所述,若采用硬件防抖電路,則N個鍵就必須配有N個防抖電路。因此,當鍵的個數(shù)比較多時,硬件防抖將無法勝任。在這種情況下,可以采用軟件的方法進行防抖。當?shù)谝淮螜z測到有鍵按下時,先用軟件延時(10ms~20ms),而后再確認該鍵電平是否仍維持閉合狀態(tài)電平。若保持閉合狀態(tài)電平;則確認此鍵確已按下,從而消除了抖動的影響。微機控制技術3.1.2少量功能鍵接口技術 在單片機控制系統(tǒng)中,由于其控制對象比較專一,往往只需要幾個功能鍵,特別是在智能化儀器儀表中更是如此。

對于具有少量功能鍵的系統(tǒng),多采用相互獨立的接口方法,即每個按鍵接一根輸入線,各鍵的工作狀態(tài)互不影響。采用硬件中斷或軟件查詢方法均可實現(xiàn)其鍵盤接口。設某系統(tǒng)需要8個功能鍵,采用中斷方式接口的硬件電路圖,如圖3.4所示。微機控制技術3.1.2少量功能鍵接口技術圖3.4操作功能鍵硬件接線圖微機控制技術3.1.2少量功能鍵接口技術圖3—4中,按鍵SB7~SB0各具一種功能。當其全部打開時,對應的各條列線全部為高電平,使8輸入與非門(74LS30)輸出為低電平,反向后為高電平,不產(chǎn)生中斷。當其中某個鍵被按下時,端變作高電平,向CPU申請中斷。CPU響應后,用查詢的方法找出被按下的功能鍵,再通過軟件查找出功能鍵服務程序的入口地址。由此,可寫出相關的主程序及中斷服務程序。

電路中如果不用中斷申請線,可直接讀入按鍵狀態(tài),然后用查詢方式識別出被按下的按鍵,此時,查詢的過程決定了鍵功能的優(yōu)先權。微機控制技術3.1.3矩陣鍵盤接口技術 矩陣式鍵盤常應用在按鍵數(shù)量比較多的系統(tǒng)之中。這種鍵盤由行線和列線組成,按鍵設置在行、列結構的交叉點上,行列線分別連在按鍵開關的兩端。列線通過上拉電阻接至正電源,以使無鍵按下時列線處于高電平狀態(tài)。 鍵盤矩陣與微型機的連接方法是采用I/0接口芯片,如8155、8255等。有時為簡單起見,也可采用鎖存器,如74LS273、74LS244,74LS373等。

微機控制技術3.1.3矩陣鍵盤接口技術 鍵盤處理程序的關鍵是如何識別鍵碼,微型機對鍵盤控制的辦法是“掃描”。根據(jù)微型機進行掃描的方法又可分作程控掃描法和中斷掃描法兩種。

1.程控掃描法圖3—5所示為4×8矩陣組成的32鍵盤與微型機接口電路。微機控制技術3.1.3矩陣鍵盤接口技術圖3—5用8255A接口的4×8鍵盤矩陣微機控制技術3.1.3矩陣鍵盤接口技術(1)電路分析 ★

8255A端口C為行掃描口,工作于輸出方式,端口A工作于輸入方式,用來讀入列值。 ★圖中I/O口地址必須滿足CS=0,才能選中相應的寄存器。由此可知,8255控制寄存器、端口A、端口B、端口C的地址分別為8300H,8000H,8100H和8200H。 ★在每一個行與列的交叉點均接一個按鍵,故4×8共32個鍵。為了說明各鍵的具體位置,事先按一定順序給每一個鍵編一個號,如圖中0、1、2、3…1E、1F等,稱其為鍵值。所謂鍵譯碼就是找出每個鍵的鍵值,然后根據(jù)鍵值確定其是功能鍵還是數(shù)字鍵,并分別進行處理。微機控制技術3.1.3矩陣鍵盤接口技術(2)程控掃描步驟①

首先判斷是否有鍵按下。通過PC口,使所有的行輸出均為低電平。從端口A讀入列值。如果沒有鍵按下,則讀人值為FFH。如果有鍵按下,則不為FFH。②去除鍵抖動。若有鍵按下,則延時10~20ms,再一次判斷有無鍵按下。如果此時仍有鍵按下,則認為鍵盤上有一個鍵處于穩(wěn)定閉合期。微機控制技術3.1.3矩陣鍵盤接口技術

③若有鍵閉合,則求出閉合鍵的鍵值。

對鍵盤逐行掃描。先使PC0=0,然后讀入列值,若等于FFH,說明該行無鍵按下。再對下一行進行掃描(即令PC1=0)……直到發(fā)現(xiàn)列值不等于FFH,則說明該行有鍵按下。求出其鍵值。求鍵值時,采用行值、列值兩個寄存器。鍵值=8鍵*行值+列值。例如,X2行Y3列鍵被按下,求其鍵值。微機控制技術3.1.3矩陣鍵盤接口技術3.1.3矩陣鍵盤接口技術若想得到十進制鍵值,可在每次相加之后進行DAA修正?!餅楸WC鍵每閉合一次,CPU只作一次處理,程序中需等閉合鍵釋放后才對其進行處理。完成上述任務的程控掃描程序流程圖,如圖3—5所示。微機控制技術3.1.3矩陣鍵盤接口技術

圖3—6程控掃描法程序流程圖微機控制技術3.1.3矩陣鍵盤接口技術2.定時掃描法CPU每隔一定的時間(如10ms)對鍵盤掃描一遍。當發(fā)現(xiàn)有鍵被按下時,便進行讀入鍵盤操作,以求出鍵值,并分別進行處理。定時時間間隔由單片機內部定時/計數(shù)器產(chǎn)生。具體做法是,當定時時間到期時,定時器自動輸出一脈沖信號,使CPU轉去執(zhí)行掃描程序。微機控制技術3.1.3矩陣鍵盤接口技術這種方法掃描和求鍵值,以及區(qū)別功能鍵與數(shù)字鍵的方法與程序掃描法類似。但有一點需指出,即采用定時掃描法時,必須在其初始化程序中,對定時器寫入相應的命令,使之能定時產(chǎn)生中斷,從而定時完成掃描任務。為簡化設計,在比較大的系統(tǒng)中,也可以每隔一定長度的程序設置一次鍵盤查詢程序。微機控制技術3.1.3矩陣鍵盤接口技術3.中斷掃描法(1)在程控掃描法中,無論有沒有鍵入操作,CPU總要在一定的時間進行掃描,占用CPU的大量時間。(2)為更進一步節(jié)省CPU的時間,可采用中斷掃描法:①無鍵按下時,鍵盤與CPU并行工作,以節(jié)省出CPU大量的時間對系統(tǒng)進行監(jiān)控和數(shù)據(jù)處理。②一旦鍵盤按下,則向CPU申請中斷。③CPU響應中斷后,即轉到相應的中斷服務程序:對鍵進行掃描,判別鍵盤上閉合鍵的鍵號。作相應的處理。微機控制技術3.1.3矩陣鍵盤接口技術圖3—7中斷掃描方式原理圖微機控制技術3.1.3矩陣鍵盤接口技術分析:①無鍵按下時,所有列線均為1,經(jīng)8與非門輸出一低電平到中斷申請,此時沒有中斷申請。②一旦某一個鍵按下以后,則高電平經(jīng)過按鍵加到該鍵所在行的二極管正端,使二極管導通,同時,該列線輸出為低電平,使與非門74LS30輸出為高電平,從而使發(fā)生跳變,向CPU申請中斷。③CPU響應后,即轉到中斷掃描程序,查出鍵號,且作相應處理。④與程控法相比:掃描方法相同;不同的只是當有鍵按下時,才進行掃描,提高了計算機的工作效率。微機控制技術3.1.4鍵盤特殊功能處理

1.鍵盤鎖定技術 在微型機控制系統(tǒng)或智能化儀器中,有時為了防止無意按鍵給系統(tǒng)帶來破壞性的影響,常常在鍵盤上加鎖。 鍵盤鎖定的方法有很多種,最常用的有兩種方法。①設置一個標志狀態(tài)位,②將“鎖”加在鍵值鎖存器的控制信號上,通過改變控制信號的狀態(tài),來控制鍵盤的“鎖定”及“打開”。微機控制技術3.1.4鍵盤特殊功能處理(1)狀態(tài)“鎖定”方法在圖3—8中,圖(a)為狀態(tài)“鎖定”方法。①當“鎖”處于水平位置時,8031的P1.0位被置于“0”狀態(tài)。②而當“鎖”為豎直位置時,P1.0位為“1”狀態(tài)。③需要進行鍵譯碼時,首先檢查P1.0位的狀態(tài),若其為“0”,則不進行譯碼。因此,這時雖有按鍵按下,但不起作用。系統(tǒng)調校時,如果需要用鍵盤,首先將“鎖”打開(即放在豎直位置)。用起來非常方便。微機控制技術3.1.4鍵盤特殊功能處理圖3—8鍵盤鎖定技術原理圖A微機控制技術3.1.4鍵盤特殊功能處理(2)控制鍵值輸入法圖3—8(b)只是把緩沖/驅動器741S244原來由P2.7和RD控制的使能信號1改由“鎖”和P2.7及聯(lián)合進行控制。圖中其它部分與圖(a)完全相同。

★當

“鎖”處于鎖定(垂直)位置時,與非門右輸入為l,其輸出端為1,故列值不能讀出,因此鍵盤被鎖定;

★若將“鎖”打開,則與非門輸出0,從而打開74LS244的使能控制端1。CPU可以通過74LS244讀人鍵盤列值,進而對鍵盤的現(xiàn)狀進行分析。微機控制技術3.1.4鍵盤特殊功能處理圖3—8鍵盤鎖定技術原理圖B微機控制技術3.1.4鍵盤特殊功能處理2.雙功能鍵和多功能鍵的設計為了節(jié)省功能鍵的數(shù)量,經(jīng)常采用雙功能鍵或多功能鍵。(1)雙功能鍵用設置上/下檔開關來實現(xiàn)。當開關處于上檔位置時,按鍵為上檔功能;當開關為下檔位置時,按鍵具有下檔功能。圖3—10所示為雙功能鍵設計原理圖。圖中上/下檔判斷信號由8255的PA7位采樣。微機控制技術3.1.4鍵盤特殊功能處理圖3—9雙功能鍵原理圖微機控制技術3.1.4鍵盤特殊功能處理在雙檔鍵程序設計中有兩種處理方法。①一種是根據(jù)上、下檔的位置(PA7的狀態(tài)),賦予同一個鍵兩個不同的鍵值,以便根據(jù)不同的鍵值轉到相應的功能鍵入口子程序。②另一種處理方法是每個功能鍵只賦予一個鍵值,但在轉到功能鍵處理程序之前,需根據(jù)上/下檔鍵標志進行判斷,分別轉到相當?shù)奶幚沓绦?。圖中的發(fā)光二極管作為指示燈,用來區(qū)別當前鍵盤是處于上檔鍵狀態(tài)還是在下檔鍵狀態(tài)。微機控制技術3.1.4鍵盤特殊功能處理(2)多功能鍵選擇一個RAM單元,對某一個鍵按下的次數(shù)進行計數(shù)。同時配合一個啟動鍵,當按下啟動鍵后,當前計數(shù)值有效。

根據(jù)不同的計數(shù)值轉入相應的功能程序。這樣,便使一個鍵具有了多種功能。微機控制技術3.1.4鍵盤特殊功能處理(3)復合鍵①采用復合鍵,使少量鍵具有更多控制功能。即將兩個或兩個以上的鍵聯(lián)合,只有當這些鍵同時按下的時候,才能轉去執(zhí)行相應的功能程序。

②作法:定義一個引導鍵。只有該鍵與其它鍵同時按下時(即按住引導鍵不放),才形成一個復合鍵,執(zhí)行復合鍵相應的功能。(單純地按下引導鍵,只執(zhí)行空操作。)PC機的很多操作功能就是用這種方法實現(xiàn)的。如:shift-#,Ctrl-y.Ctrl-Alt-Del等等都是復合鍵。微機控制技術3.2LED顯示接口技術常用的顯示器件有:

★顯示和記錄儀表顯示記錄儀表能連接進行顯示和記錄,但價錢比較貴,且為模擬顯示,讀數(shù)不方便,有一定的誤差。

★CRT顯示終端CRT終端是目前微型機控制系統(tǒng)中最常用的顯示設備。它直觀、靈活,不但可顯示數(shù)字,而且可以顯示畫面及報表,如生產(chǎn)流程圖、報警畫面、動態(tài)趨勢圖、棒狀圖,以及狀態(tài)和回路查詢畫面等。微機控制技術3.2LED顯示接口技術

LED或LCD顯示LED數(shù)碼管由于結構簡單、體積小、功率低、響應速度快

、易于匹配、壽命長、可靠性高等優(yōu)點,目前已被微機控制系統(tǒng)及智能化儀表廣泛采用。

★大屏幕顯示;大屏幕顯示具有顯示清晰、視覺范圍寬廣等優(yōu)點,主要用于車站、碼頭、體育場館、大型生產(chǎn)裝置的現(xiàn)場顯示在這一節(jié)里,主要介紹LED數(shù)碼管顯示。微機控制技術3.2.1LED數(shù)碼管的結構及顯示原理發(fā)光顯示器是微型機應用系統(tǒng)中的廉價輸出設備,它由若干個發(fā)光二極管組成,能顯示出各種字符、常用的器件有七段及米字型顯示器。

1.LED顯示器的結構及原理LED顯示器是由發(fā)光二極管顯示字段組成的,由于制造材料的不同,可相應發(fā)出紅、黃、蘭、紫等各種單色光。微機控制技術3.2.1LED數(shù)碼管的結構及顯示原理(1)結構發(fā)光二極管可以有多種組成形式,其中七段顯示器應用最多,其次為“米”字形顯示器,如圖3—10所示。(2)接線方法共陰極共陽極(3)特點體積小,功耗低,可靠,壽命長,使用方便。微機控制技術3.2.1LED數(shù)碼管的結構及顯示原理圖3—10LED顯示器件的結構及外型圖微機控制技術3.2.1LED數(shù)碼管的結構及顯示原理2.LED數(shù)碼管的顯示方法

在微型機控制系統(tǒng)中,常用的顯示方法有兩種:動態(tài)顯示靜態(tài)顯示微機控制技術3.2.1LED數(shù)碼管的結構及顯示原理(1)動態(tài)顯示

①作法:微型機定時地對顯示器件掃描,顯示器件分時工作,每次只能有一個器件顯示。②特點:使用硬件少,因而價格低。占用機時長,只要微型機不執(zhí)行顯示程序,就立刻停止顯示。這種顯示將使計算機的開銷太大。③應用:演示在以工業(yè)控制為主的微型機控制系統(tǒng)中應用較少。微機控制技術3.2.1LED數(shù)碼管的結構及顯示原理(2)靜態(tài)顯示①作法:

由微型機一次輸出顯示后,就能保持該顯示結果;直到下次送新的顯示模型為止。②特點:占用機時少,顯示可靠。缺點是使用元件多,且線路比較復雜,成本比較高。③應用:廣泛在工業(yè)過程控制中應用隨著大規(guī)模集成電路的發(fā)展,多種功能的顯示器件問世(例如,鎖存器、譯碼器、驅動器、顯示器四位一體的顯示器件)微機控制技術3.2.2LED動態(tài)顯示接口技術 目前國內生產(chǎn)的許多單片單板機,包括一些開發(fā)系統(tǒng)及仿真器,均采用動態(tài)顯示。這種顯示方法的最大優(yōu)點就是線路簡單,價格便宜,適合于大批量生產(chǎn)。圖3—11所示為單板機或仿真器中常用的一種并行6位動態(tài)顯示電路。微機控制技術3.2.2LED動態(tài)顯示接口技術

圖3—116位動態(tài)顯示電路微機控制技術3.2.2LED動態(tài)顯示接口技術

(1)電路分析①用8255的PA口輸出顯示碼,PB口用來輸出位選碼。②74LS07為6位驅動器,它為LED提供一定的驅動電流,由于一片74LS07只有6個驅動器,故七段數(shù)碼管需要2片進行驅動③8255的PB口經(jīng)75452緩沖器/驅動器反向后,作為位控信號。④75452內部包括兩個緩沖器/驅動器,它們各有兩個輸入端。微機控制技術3.2.2LED動態(tài)顯示接口技術(2)顯示原理設顯示緩沖區(qū)為DISBUF,則完成對8255初始化后取出一位要顯示的數(shù)(十六進制數(shù)),利用軟件譯碼的方法求出待顯示的數(shù)對應的七段顯示碼,然后由PA口輸出,并經(jīng)過74LS07驅動器放大后送到各顯示器的數(shù)據(jù)總線上。到底哪一位數(shù)碼管顯示,主要取決于位選碼。只有位選信號PBi=l(經(jīng)驅動器變作低電平)時,對應位上的選中段才發(fā)光。若將各位從左至右依次進行顯示,每個數(shù)碼管連續(xù)顯示1ms,顯示完最后一位數(shù)后,再重復上述過程,這樣,人們看到的就好象6位數(shù)“同時”顯示一樣。微機控制技術3.2.2LED動態(tài)顯示接口技術(3)顯示程序完成上述顯示任務的顯示子程序流程圖,如圖3—13所示。微機控制技術3.2.2LED動態(tài)顯示接口技術

圖3—13動態(tài)顯示子程序流程圖p69微機控制技術3.2.2LED動態(tài)顯示接口技術根據(jù)圖3.13可寫出動態(tài)顯示子程序,如下所示: ORG 3000HDISPLY: MOV R0,#30H ;顯示緩沖區(qū)首地址送R0 MOV R2,#20H ;位選碼指向最左一位DISPY1: MOV A,@R0 ;取出要顯示的數(shù) MOV DPTR,#SEGTAB;指向換碼表首址

MOVC A,@A+DPTR

;取出顯示碼 MOV DPTR,#0FD01H

;從8155A口輸出顯示碼 MOV @DPTR,A MOV A,R2 ;從8155B口輸出位選碼 INC DPTR MOV @DPTR,A ACALL D1MS ;延時1ms MOV A,R2 JNB ACC.0,DISPY2;6位未顯示完,繼續(xù)顯示 RET3.2.2LED動態(tài)顯示接口技術DISPY2: INC R0 ;求下一位待顯示的數(shù)的存放地址 MOV A,R2 ;求下一個位選碼 RR A MOV R2,A AJMP DISPY1D1MS: MOV R3,#7DH ;延時1msDL1: NOP NOP DJNZ R3,DL1 RET3.2.2LED動態(tài)顯示接口技術SEGTAB: DB 3FH ;對應于字符0 DB 06H ;對應于字符1 DB 5BH ;對應于字符2 DB 4FH ;對應于字符3 DB 66H ;對應于字符4 DB 6DH ;對應于字符5 DB 7DH ;對應于字符6 DB 07H ;對應于字符7 DB 7FH ;對應于字符8 DB 67H ;對應于字符9 DB 77H ;對應于字符A DB 7CH ;對應于字符b DB 39H ;對應于字符c DB 5EH ;對應于字符d DB 79H ;對應于字符E DB71H ;對應于字符F3.2.3LED靜態(tài)顯示接口技術 在智能化儀器及微型機控制系統(tǒng)中,為了使操作者隨時都能監(jiān)視生產(chǎn)過程,而又不占有CPU的很多時間,人們更喜歡采用靜態(tài)顯示電路。它主要是用于BCD碼顯示。圖3—15所示為6位BCD碼靜態(tài)顯示電路原理圖。微機控制技術3.2.3LED靜態(tài)顯示接口技術

圖3—15用鎖存器連接的6位靜態(tài)顯示電路P73微機控制技術3.2.3LED靜態(tài)顯示接口技術1.電路分析(1)在圖3—15中,74LS244為總線驅動器,6位數(shù)字 顯示共用同一組總線。(2)每個LED顯示器均配有一個鎖存器(74LS377),用 來鎖存待顯示的數(shù)據(jù)。當被顯示的數(shù)據(jù)從數(shù)據(jù)總 線經(jīng)74LS244傳送到各鎖存器的輸入端后,到底 哪一個鎖存器選通,取決于地址譯碼器74LS138 各輸出位的狀態(tài)。(3)總線驅動器74LS244由和A9控制,當和 A9同時為低電平時,74LS244打開,將數(shù)據(jù)總線 上的數(shù)據(jù)傳送到各個顯示器的鎖存器74LS377上。

微機控制技術3.2.3LED靜態(tài)顯示接口技術(4)在圖3—15所示的顯示系統(tǒng)中,地址的確定:

從左到右各顯示位的地址依次為:4000H、4100H、4200H、4300H、4400H、4500H。微機控制技術3.2.3LED靜態(tài)顯示接口技術靜態(tài)顯示電路的最大優(yōu)點是只要不送新的數(shù)據(jù),則顯示值不變,且微型機不用象動態(tài)顯示那樣不間斷地掃描,因而節(jié)省了大量機時,適用于工業(yè)過程控制及智能化儀器中。微機控制技術3.2.3LED靜態(tài)顯示接口技術2.程序設計根據(jù)圖3-15可寫出6位靜態(tài)顯示程序,由于接口電路中顯示模型輸出地址和位選信號可一次選中,故只要一次輸出即可顯示一位。微機控制技術3.2.3LED靜態(tài)顯示接口技術 ORG 8000HSIXDPY: MOV R0,#30H;建立顯示緩沖區(qū)地址指針 MOV 33H,#03H ;設置循環(huán)次數(shù) MOV DPTR,#4000H;指向最左邊一位LED,Y0LOOP: MOV A,@R0 ;取BCD碼高4位送去顯示 ANL A,#0F0H RR A RR A RR A RR A;將高4位移至低4位上 ADD A,#0FH MOVCA,@A+PC ;取字型碼

微機控制技術3.2.3LED靜態(tài)顯示接口技術MOVX @DPTR,AMOV A,@R0;取BCD碼低4位送去顯示

ANL A,#0FH INC DPH ;求下一個顯示位地址 ADD A,#08H MOVC A,@A+PC MOVX @DPTR,A ;顯示低4位碼 INC R0;求下一個要顯示的BCD碼存放地址 INCDPH ;求下一個顯示位地址 DJNZ 33H,LOOP;6位顯示模型未送完,繼續(xù) RET微機控制技術

3.2.3LED靜態(tài)顯示接口技術SEGTAB DB 3FH,06H,5BH,4FH ;0,1,2,3 DB 66H,6D,7DH,07H ;4,5,6,7 DB 7FH,6FH,77H,7CH ;8,9,A,b DB 39H,5EH,79H,71H ;c,d,E,F(xiàn) DB 80H,40H,00H,73H ;.,-,空,P微機控制技術3.2.4硬件譯碼顯示電路前邊介紹的兩種顯示電路,無論是動態(tài)顯示電路,還是靜態(tài)顯示電路,其BCD碼(十六進制碼)一七段顯示碼的轉換方法是一樣的,都是利用軟件查表法來實現(xiàn)。這種方法的最大優(yōu)點是電路簡單,但顯示速度有所下降。所謂硬件譯碼顯示電路,就是用硬件譯碼器代替軟件求得顯示代碼的方法,這樣不僅可以節(jié)省微型機的時間,而且程序設計簡單,只要把BCD碼(或十六進制碼)從相應的端口輸出即可。

微機控制技術3.2.4硬件譯碼顯示電路 近年來,廠家已生產(chǎn)出許多專用顯示芯片,例如MOTOROLA公司生產(chǎn)的BCD-7段譯碼的芯片MCl4558,同時具有譯碼及驅動功能的MCl4547和74系列的74LS47,48及49,還有鎖存、譯碼、驅動三位一體的器件MCl4513,MCl4495及MC14499,也有將鎖存器、譯碼器、驅動器和顯示器四者合一組成一個只寫存儲器式顯示模塊。顯示器件不同,其顯示電路的組成也不同,下面介紹幾種常用的硬件譯碼顯示電路。微機控制技術3.2.4硬件譯碼顯示電路圖3.16串行口靜態(tài)顯示電路圖P73微機控制技術3.2.4硬件譯碼顯示電路圖3.17所示的為動態(tài)硬件譯碼顯示電路。分析如下:①用P1口的低4位輸出BCD碼,經(jīng)74LS49(共陰極)轉換成7段顯示碼輸出。②用74LS138譯碼器來輸出位選信號,改變C,B,A的輸入狀態(tài),即可輸出不同的位選信號,使被選中的位顯示。③經(jīng)過一段延時,再重復上述過程,輸出另一位數(shù)據(jù),如此不斷循環(huán),即可顯示8位數(shù)據(jù)。微機控制技術3.2.4硬件譯碼顯示電路圖3—17動態(tài)硬件譯碼顯示電路P74微機控制技術3.2.4硬件譯碼顯示電路可以選用靜態(tài)硬件譯碼電路,其原理電路如圖3.18所示。8255為擴展接口。①利用8255的A口、B口作為輸出口和鎖存器。由于BCD碼為4位二進制數(shù),故每個端口可控制兩位LED顯示器;②每位顯示器與8255口之間接一片74LS47(BCD-7段譯碼轉換電路),用來完成BCD碼-7段顯示碼的轉換。此電路稱做4位LED靜態(tài)硬件譯碼顯示電路。微機控制技術3.2.4硬件譯碼顯示電路

如果需要擴大到更多位,可按上述方法再增加8255接口芯片,其譯碼器、顯示器的連接方法完全與本圖相同。隨著集成電路的發(fā)展,現(xiàn)在已經(jīng)生產(chǎn)出鎖存/譯碼/驅動器合為一體,并能同時供多位LED顯示的芯片。微機控制技術3.2.4硬件譯碼顯示電路圖3.18靜態(tài)硬件譯碼顯示電路P74微機控制技術3.3LCD的顯示接口技術 液晶顯示器LCD(LiquidCrystalDisplay)廣泛應用于微型計算機系統(tǒng)中。與LED相比,它具有功耗低,抗干擾能力強,體積小,廉價等特點,目前已廣泛應用在各種顯示領域。另外,LCD在大小和形狀上更加靈活,接口簡單,不但可以顯示數(shù)字、字符,而且可以顯示漢字和圖形,因此在袖珍儀表、醫(yī)療儀器、分析儀器及低功耗便攜式儀器中,LCD已成為一種占主導地位的顯示器件。微機控制技術3.3LCD的顯示接口技術 近年來,隨著液晶技術的發(fā)展,出現(xiàn)了彩色液晶。彩色液晶顯示器作為當代高新技術的結晶產(chǎn)品,它不但有超薄的顯示屏,色彩逼真,而且還具有體積小,耗電省,壽命長,無射線,抗震,防爆等CRT所無法比擬的優(yōu)點。它是工控儀表、機電設備等行業(yè)更新?lián)Q代的理想顯示器。以彩色液晶為顯示器的筆記本電腦和工業(yè)控制機也將越來越受到人們的青睞。微機控制技術3.3.1LCD的基本結構及工作原理

LCD是一種借助外界光線照射液晶材料而實現(xiàn)顯示的被動顯示器件。圖3.19所示體現(xiàn)出LCD器件的原理結構。微機控制技術3.3.1LCD的基本結構及工作原理圖3.19液晶顯示器基本結構P75微機控制技術3.3.1LCD的基本結構及工作原理 如圖3.19所示,液晶材料被封裝在上、下兩片導電玻璃電極板之間。由于晶體的四壁效應,使其分子彼此正交,并呈水平方向排列于正(上)、背(下)玻璃電極之上,而其內部的液晶分子呈連續(xù)扭轉過渡,從而使光的偏振方向產(chǎn)生90°旋轉。微機控制技術3.3.1LCD的基本結構及工作原理 當線性偏振光透過上偏振片及液晶材料后,便會旋轉90°(呈水平方向),正好與下偏振片的方向取得一致。因此,它能全面穿過下偏振片到達反射板,從而按原路返回,使顯示器件呈透明狀態(tài)。若在其上、下電極上加上一定的電壓,在電場的作用下,將迫使電極部分的液晶的扭曲結構消失,其旋光作用也隨之消失,致使上偏振片接收的偏振光可以直接通過,而被下偏振片吸收(無法到達反射面),呈黑色。當去掉電壓后,液晶分子又恢復其扭轉結構。據(jù)此,可將電極做成各種形狀,用以顯示各種文字、符號和圖形。微機控制技術3.3.2LCD的驅動方式

LCD因其兩極間不允許施加恒定直流電壓,而使其驅動電路變得比較復雜。為了得到LCD亮、熄所需的兩倍幅值及零電壓,常給LCD的背極通以固定的交變電壓,通過控制前極的電壓值的改變實現(xiàn)對LCD顯示的控制。 液晶顯示器的驅動方式一般有兩種,即直接驅動(或稱靜態(tài)驅動)和時分隔(多極)驅動方式。微機控制技術3.3.2LCD的驅動方式1.直接(靜態(tài))驅動方式 采用直接驅動的LCD電路中,顯示器件只有一個背極,但每個字符段都有獨立的引腳,采用異或門進行驅動,通過對異或門輸入端電平的控制,使字符段顯示或消隱。圖3.20所示為一位LCD數(shù)碼顯示電路圖。微機控制技術3.3.2LCD的驅動方式圖3.20一位LCD數(shù)碼顯示電路及a段驅動波形P76微機控制技術3.3.2LCD的驅動方式 由圖3.20(a)可知,當某字段上兩個電極(BP與相應的段電極)的電壓相位相同時,兩極間的相對電壓為0,該字段不顯示。當字段上兩電極的電壓相位相反時,兩電極的相對電壓為兩倍幅值電壓,字段呈黑色顯示。其驅動波形如圖3.20(b)所示。微機控制技術3.3.2LCD的驅動方式 可見,液晶顯示的驅動與發(fā)光二極管的驅動存在著很大的差異。如前所述,只要在LED兩端加上恒定的電壓,便可控制其亮、暗。但LCD必須采用交流驅動方式,以避免液晶材料在直流電壓長時間的作用下產(chǎn)生電解,從而縮短使用壽命。常用的做法是在其公共端(一般為背極)上加上頻率固定的方波信號,通過控制前極的電壓來獲得兩極間所需的亮、滅電壓差。 靜態(tài)驅動電路簡單,且驅動電壓幅值可變動范圍較大,允許的工作溫度范圍較寬,因此,常用于顯示字符不太多的場合。微機控制技術3.3.2LCD的驅動方式 從圖3.20可以明顯地看出,在直接驅動方式下,若LCD有N個字符段,則需N+1條引線,且其驅動電路也要相應地具有N+1條引線??上攵陲@示字符較多時,過多的引腳將限制直接驅動方式的使用范圍。在這種情況下可采用多極驅動的方式。微機控制技術3.3.2LCD的驅動方式2.多極驅動方式

LCD的多極驅動方式是指具有多個背極的驅動方式。LCD的各個字符段按點陣方式排列,一位7段數(shù)碼管LCD在三極驅動方式下各字符段與背極的排列、等效電路圖,如圖3.21所示。微機控制技術3.3.2LCD的驅動方式圖3.21一位LCD數(shù)碼管的三極驅動原理電路圖p77微機控制技術3.3.2LCD的驅動方式 如圖3.21中所示,8根字符段被劃分為3組(由于LCD屬電容性負載,故在圖中以電容表示),每組引出一根電極(BP)以背極為行,段組引極為列,形成矩陣。此時,各段的顯示與否只取決于加在相應段組及背極上的電壓。與直接驅動方式不同的是,多極驅動方式采用電壓平均化法,其占空比有1/2,1/8,1/16,1/32等,偏比為1/2,1/3,1/4,1/5等。微機控制技術3.3.2LCD的驅動方式 驅動電路的設計是實現(xiàn)LCD多極驅動的關鍵。多極驅動時字符段的消隱并不把該段與對應背極間的電壓降為零,只要將電壓的有效值降至LCD的門限電壓之下就能關斷顯示。這就是偏壓的概念。加大選通電壓與非選通電壓之間的差距,可提高顯示的清晰度。通過恰當?shù)脑O計各段組與背極間的驅動電壓波形,即可控制各段的顯示與熄滅,并且保證段與極間以交流電壓進行驅動,以確保LCD的正常顯示。 此外,交流驅動電壓的頻率也應考慮。頻率太低,會造成顯示字符閃爍;如果太高,又引起顯示字符反差不勻,且增大LCD的功耗。微機控制技術3.3.2LCD的驅動方式

如圖3.22所示為7段LCD在三極驅動方式下的工作電壓波形。其中3個背極電壓(BPl,BP2,BP3)是具有固定相位關系的周期性信號。以Y列字符段為例,設加在該組段上的電壓為VY,其電壓峰值為Vp。當驅動電壓如VY(1)曲線所示時,將使a,g段顯示,d段消隱;若VY為VY(2)波形時,a,g,d段全部顯示;而當VY表現(xiàn)為VY(3)形狀時,則會使a,g,d段全部消隱。微機控制技術3.3.2LCD的驅動方式 圖3.22中只畫出了VY(1),VY(2)及VY(3)狀況下a段和d段分別與其背極BPl及BP3間的驅動波形。由計算可知,當加在管段引腳與其背極間的有效電壓值低于(RMS)時,管段消隱;而當其高于Von=Vp=1.92Voff(RMS)時,管段發(fā)光。由圖3.22可明顯看出,各段與其對應背極間的電壓均不含直流部分,從而滿足了LCD顯示電壓的要求。微機控制技術3.3.2LCD的驅動方式圖3.22三極式LCD數(shù)碼管的驅動電路波形p78微機控制技術3.3.2LCD的驅動方式

由上述分析不難推知,通過劃分段組,可使具有M個字符段的LCD的引腳數(shù)減至(N為背極數(shù))。 事實上,液晶顯示器的驅動方式是由電極的引線的選擇方式確定的。因此,一旦選定液晶顯示器后,用戶無法改變驅動方式。微機控制技術3.3.34位LCD靜態(tài)驅動芯片ICM7211

ICM7211系列是INTERSIL公司出品的一種常用的4位LCD鎖存/譯碼/驅動集成電路。該系列有4個型號的芯片,它們是ICM7211,ICM7211A,ICM7211M及ICM7211AM。其中A表示“BCD碼”譯碼,M則表明芯片內含輸入鎖存器,可以與CPU直接連接。ICM7211芯片以雙列直插結構封裝,其引腳圖,如圖3.23所示。兩種譯碼方式見表3.4。微機控制技術3.3.34位LCD靜態(tài)驅動芯片ICM7211圖3.23ICM7211引腳圖P79微機控制技術3.3.34位LCD靜態(tài)驅動芯片ICM7211B3B2B1B0(十進制)

012…9101112131415全十六進制碼

012…9ABCDEFBCD碼譯碼

012…9-

EHLP滅

由于LCD顯示器功耗極低,且抗干擾能力強,所以在低功耗的單片機系統(tǒng)中經(jīng)常采用。 采用兩片ICM7211(A)AM組成的8位顯示電路如圖3.24所示。微機控制技術3.3.34位LCD靜態(tài)驅動芯片ICM7211圖3.24ICM7211(A)M與8031接口線路圖P80微機控制技術3.3.34位LCD靜態(tài)驅動芯片ICM7211如圖3.24中所示,ICM7211(A)MU2控制高4位顯示,ICAl7211(A)MU2控制低4位顯示,同時完成鎖存/譯碼/驅動3種工作,從而實現(xiàn)8位BCD碼顯示。兩片ICAl7211(A)M的背極線BP相連并接至LCD的BP端,以便送出統(tǒng)一波形的背極電壓。ICM7211系列芯片BP的最大允許交變頻率為125Hz,所以U1芯片的OSC端輸入16kHz的晶振信號,U2芯片的OSC端接地。端為片選信號,端為寫允許。各片的輸入數(shù)據(jù)都取自數(shù)據(jù)總線的低4位。單片機輸出一位待顯示的數(shù)時,同時由P2.6(或P2.7)(片選)和P0.5,P0.4(位選)引腳的狀態(tài)聯(lián)合確定實現(xiàn)顯示的位。微機控制技術3.3.34位LCD靜態(tài)驅動芯片ICM7211

ICM7211系列芯片使用很方便。其編程也很簡單,只要向入口地址寫入兩位片選和兩位位選碼及4位BCD碼,即可實現(xiàn)相應的顯示。例如,在U2的第4位顯示出BCD碼9,可用下列程序實現(xiàn):MOVA,#39H ;DS2DSl=11,B3B0=9MOVXDPTR,#4000HOUT@DPTR,A ;待顯示數(shù)送U2,完成顯示微機控制技術3.3.4點陣式LCD的接口技術 字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求;而點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動,動畫功能,分區(qū)開窗口,反轉,閃爍等功能,用途十分廣泛?,F(xiàn)在,隨著液晶技術的突破,液晶顯示器的質量有了很大的提高,品種也在不斷推陳出新,不但有各種規(guī)格的黑白液晶顯示器,而且還有絢麗多彩的彩色液晶顯示器。在點陣式液晶顯示器中,把控制驅動電路與液晶點陣集成在一起,組成一個顯示模塊,可與8位微處理器接口直接連接。微機控制技術3.3.4點陣式LCD的接口技術 為方便用戶,避免重復性勞動,某些公司參照國際市場同類產(chǎn)品的標準,結合國內的實際情況,成功地開發(fā)出彩色液晶智能顯示器,如YD系列,MDLS系列,MGLS系列,CCSTN系列以及DMF系列等。其最大點陣可達320×240。采用這種點陣式液晶顯示器,不但可以顯示數(shù)據(jù)、漢字,而且還可以顯示控制流程圖和控制曲線,因而使智能化儀器和控制系統(tǒng)的視窗功能得到了顯著的提高。點陣式液晶顯示器不但使用方便,而且價格也比較便宜。微機控制技術3.3.4點陣式LCD的接口技術

下面介紹點陣式液晶顯示器MGLS12864與單片機的接口及編程的方法,同時介紹了創(chuàng)建8×16字符和16×16點陣漢字的方法,及常用的字符顯示和漢字顯示程序。 MGLS-12864組成原理框圖,如圖3.25所示。微機控制技術3.3.4點陣式LCD的接口技術圖3.25MGLS-12864組成原理框圖P81微機控制技術3.3.4點陣式LCD的接口技術1.MGLS-12864液晶顯示器的硬件描述 MGLS-12864使用HD61202作為列驅動器,同時使用HD61203作為行驅動器的液晶顯示模塊。LCD顯示中應盡量避免一個字符一半在左半屏顯示,另一半在右半屏顯示的情況。 MGLS-12864液晶顯示器是一種帶有輸出驅動的完整的點陣式液晶顯示器,它可直接與8位微處理器相聯(lián),對液晶屏進行行、列驅動。微機控制技術3.3.4點陣式LCD的接口技術(1)MGLS-12864的特點

★內藏64X64=4096位顯示RAM,RAM中每位數(shù) 據(jù)對應LCD屏上的一個點的亮、暗狀態(tài);★HD61202是列驅動器,具有64路列驅動輸出;

★HD61202讀、寫操作時序與68系列微處理器相符, 因此它可直接與68系列微處理器接口相聯(lián);

★HD61202的占空比為1/32—1/64。微機控制技術3.3.4點陣式LCD的接口技術(2)MGLS-12864的引腳功能 MGLS-12864液晶顯示器有20個管腳。分電源線,數(shù)據(jù)線和控制線。如圖3-25所示.其詳細功能如下: ①電源部分

★VDD—電源正極,通常接+5V。

★VSS—電源負極,接-5V。為了簡化電路,可直接 接地。

★V0—電源控制端,用來調節(jié)顯示屏灰度的,調節(jié)該端的電壓,可改變顯示屏字符、圖形的顏色深淺微機控制技術3.3.4點陣式LCD的接口技術②控制信號★D/I—數(shù)據(jù)、指令選擇信號。D/I=1為數(shù)據(jù)操作,D/I=0 為寫指令或讀狀態(tài)。

★R/W—讀/寫選擇信號。R/W=1為讀選通,R/W=0為寫 選通。★CS1,CS2—芯片片選端。低電平選通CS1=0時,選中左片; CS2=0時,,選中右片★E—讀/寫使能信號。在E下降沿,數(shù)據(jù)被鎖存(寫)入 HD61202;在E高電平期間,數(shù)據(jù)被讀出。

★RST—復位信號,低電平有效。當其有效時,關閉液晶顯示,使顯示起始行為0。RST可與MPU相連,由MPU控制;也可直接接Vcc,使之不起作用。③數(shù)據(jù)線DB0~DB7—數(shù)據(jù)總線,雙向。

微機控制技術3.3.4點陣式LCD的接口技術

2.HD61202控制驅動器的指令系統(tǒng) HD61202的指令系統(tǒng)比較簡單,總共只有七種。從作用上可分為兩類,顯示狀態(tài)設置指令和數(shù)據(jù)讀/寫操作指令。(1)顯示起始行(ROW)設置指令 顯示起始行設置中L5~L0為顯示起始行的地址,取值在0-3FH(1-64行)范圍內。該指令設置了對應液晶屏最上一行的顯示RAM的行號,有規(guī)律的改變顯示起始行,可以使LCD實現(xiàn)顯示滾動屏的效果。微機控制技術3.3.4點陣式LCD的接口技術(2)頁(PAGE)設置指令 頁面地址設置中P2-P0為選擇的頁面地址,取值范圍為00-07H,代表1-8頁,每頁8行。(3)列地址(YAddress)設置指令 列地址設置中C5-C0為Y地址計數(shù)器的內容,取值在0-3FH(1-64行)范圍內。 設置了頁地址和列地址,就唯一確定了顯示RAM中的一個單元,這樣MPU就可以用 讀、寫指令讀出該單元中的內容或該單元寫進一個字節(jié)數(shù)據(jù)。(4)顯示開關指令 顯示開關指令為00111111/0,當DB0=1(3FH)時,LCD顯示RAM中內容;DB0=0(3EH)時,關閉顯示。微機控制技術3.3.4點陣式LCD的接口技術(5)讀狀態(tài)指令 讀狀態(tài)指令各位的意義如下:R/WD/IDB7DB6DB5DB4DB3DB2DB1DB010BUSY0ON/OFFREST0000微機控制技術3.3.4點陣式LCD的接口技術該指令用來查詢HD61202的狀態(tài),各參量含義如下:BUSY:1——內部在工作,0——正常狀態(tài)ON/OFF:1——顯示關閉,0——顯示打開REST:1——復位狀態(tài),0——正常狀態(tài)

★在BUSY和REST狀態(tài)時,除讀狀態(tài)指令外,其它指令均不對HD61202產(chǎn)生作用。

★在對HD61202操作之前要查詢BUSY狀態(tài),以確定是否可以對HD61202進行操作。微機控制技術3.3.4點陣式LCD的接口技術(6)寫數(shù)據(jù)指令 寫數(shù)據(jù)指令就是把要寫的數(shù)據(jù)取出來,寫入HD61202的RAM。注意,此時R/W=0,D/I=1。(7)讀數(shù)據(jù)指令 讀數(shù)據(jù)指令就是把HD61202RAM中的數(shù)據(jù)取出來。注意,此時R/W=1,D/I=1。 讀、寫數(shù)據(jù)指令每執(zhí)行完一次讀、寫操作,列地址就自動加一。必須注意的是進行讀操作之前,必須有一次空讀操作,緊接著再讀才會讀出所要讀的單元數(shù)據(jù)。 HD61202顯示RAM的地址結構如圖3-26所示。微機控制技術3.3.4點陣式LCD的接口技術圖3-26HD61202顯示RAM的地址結構圖P83微機控制技術3.3.4點陣式LCD的接口技術3.顯示驅動子程序的編寫及其應用

MGLS-12864使用HD61202作為行、列驅動器,因此,其顯示程序的設計與具體電路有關。下面舉說明MGLS-12864點陣式LCD顯示程序的設計方法。

(1)電路聯(lián)接 在本設計中的電路聯(lián)接圖如圖3-27所示。微機控制技術3.3.4點陣式LCD的接口技術圖3-27MGLS-12864顯示模塊控制圖

P84

微機控制技術3.3.4點陣式LCD的接口技術 該圖采用直接訪問方式,單片機通過高位地址P2.4控制CS1和CS2,以選通液晶顯示屏上各區(qū)的控制器HD61202;同時MCS-51單片機用P2.3作為R/W信號控制數(shù)據(jù)總線的數(shù)據(jù)流向;用P2.2作為D/I信號控制寄存器的選擇;E信號由單片機的讀信號RD和寫信號WR合成產(chǎn)生;另外單片機的復位引腳經(jīng)反相器后連接到液晶顯示器復位引腳,當單片機上電復位或手動復位時,液晶顯示器同時也復位;從而實現(xiàn)了單片機對內置HD61202圖形液晶顯示器模塊的電路連接。電路中LCD電源控制端VO是用來調節(jié)顯示屏灰度的,調節(jié)該端的電壓,可改變顯示屏字符、圖形的顏色深淺。微機控制技術3.3.4點陣式LCD的接口技術(2)確定控制字如上圖所示,P2口各控制引腳功能如下: P2.7,P2.6,P2.5,P2.1,P2.0——沒用 P2.4——0選通左,1選通右 P2.3——0寫,1讀 P2.2——0指令,1數(shù)據(jù) 故,確定的控制字如下文程序中所示。

(3)子程序編寫及其應用①液晶顯示驅動子程序微機控制技術3.3.4點陣式LCD的接口技術;COM EQU 10H;指令寄存器DAT EQU 11H;數(shù)據(jù)寄存器COLUMNEQU 12H;列地址寄存器,列地址寄存器(0-127)01XXXXXXXPAGEn EQU 13H;頁寄存器,10111XXX(D2D1D0)page.5=0左; =1右;顯示RAM共64行,分8頁,每頁8行CODEn EQU14H;字符代碼寄存器COUNTEQU15H;計數(shù)器微機控制技術3.3.4點陣式LCD的接口技術;p2.4是片選信號,p2.4=0是選通左,p2.4=1是選通右; P2.7P2.0CWADD1EQU0e000H;寫指令代碼地址(左)11100000CRADD1EQU0E800h;讀狀態(tài)字地址(左)11101000DWADD1EQU0e400H ;寫顯示數(shù)據(jù)地址(左)11100100DRADD1EQU0ec00H ;讀顯示數(shù)據(jù)地址(左)11101100CWADD2EQU0f000H ;寫指令代碼地址(右)11110000CRADD2EQU0f800H ;讀狀態(tài)字地址(右)11111000DWADD2EQU0f000H ;寫顯示數(shù)據(jù)地址(右)11110100DRADD2EQU0fc00H ;讀顯示數(shù)據(jù)地址(右)11111100微機控制技術3.3.4點陣式LCD的接口技術;1.左半屏寫指令子程序PRL0:PUSHDPLPUSHDPHMOVDPTR,#CRADD1;狀態(tài)字口地址PRL01:MOVXA,@DPTR;讀狀態(tài)字 JBACC.7,PRL01;判忙標志BF,如BF=1,忙,等待 MOVDPTR,#CWADD1;寫指令字口地址 MOVA,COM;取指令代碼 MOVX@DPTR,A;寫指令代碼 POPDPH POPDPL RET;微機控制技術3.3.4點陣式LCD的接口技術;2.左半屏寫顯示數(shù)據(jù)子程序PRL1:PUSHDPL PUSHDPH MOVDPTR, #CRADD1;讀狀態(tài)字口地址PRL11:MOVXA, @DPTR;讀狀態(tài)字 JB ACC.7, PRL11;判忙標志BF,如BF=1, ;忙,等待 MOV DPTR, #DWADD1;寫數(shù)據(jù)口地址 MOV A,DAT ;取數(shù)據(jù) MOVX @DPTR,A ;寫數(shù)據(jù) POPDPH POPDPL RET;微機控制技術3.3.4點陣式LCD的接口技術;3.左半屏讀顯示數(shù)據(jù)子程序PRL2:PUSH DPL PUSH DPH MOV DPTR, #CRADD1;讀狀態(tài)字口地址PRL21:MOVX A, @DPTR;讀狀態(tài)字 JB ACC.7, PRL21 ;判忙標志BF,如BF=1, ;忙,等待MOV DPTR, #DRADD1;讀顯示數(shù)據(jù)口地址MOVX A, @DPTR;讀數(shù)據(jù)MOV DAT,A ;存數(shù)據(jù)POP DPHPOP DPLRET

微機控制技術3.3.4點陣式LCD的接口技術 右半屏寫指令子程序PRR0、右半屏寫數(shù)據(jù)子程序PRR1和讀顯示數(shù)據(jù)子程序PRR2的編制同左半屏子程序相同,只是對應口地址不同。值得說明的是MGLS12864液晶顯示屏由二片HD61202控制,LCD顯示中應盡量避免一個字符一半在左半屏顯示,另一半在右半屏顯示的情況。微機控制技術3.3.4點陣式LCD的接口技術下面在介紹幾個LCD顯示常用的幾個程序:;4.1初始化程序INIT:MOV COM, #0c0H;11000000B LCALLPRL0 LCALLPRR0 MOVCOM, #3FH LCALLPRL0 LCALLPRR0 RET;微機控制技術3.3.4點陣式LCD的接口技術;4.2關顯示INITN: MOVCOM,#0C0H;11000000B LCALLPRL0 LCALLPRR0 MOVCOM,#3EH LCALLPRL0 LCALLPRR0 RET;微機控制技術3.3.4點陣式LCD的接口技術;5.清顯示RAM區(qū)(清屏)子程序CLEAR:MOV R4, #00HCLEAR1:MOV A, R4 ORL A, #0B8H; 10111000b MOV COM, A LCALL PRL0 LCALL PRR0 MOV COM, #40h LCALL PRL0 LCALL PRR0 MOV R3, #40HCLEAR2:MOVDAT,#00H LCALL PRL1 LCALL PRR1 DJNZ R3, CLEAR2 INCR4 CJNE R4, #08H,CLEAR1 RET;微機控制技術3.3.4點陣式LCD的接口技術;6.西文顯示子程序CW_PR: MOV DPTR, #CTAB; MOV A, CODEn MOV B, #08H MUL AB ADD A, DPL MOV DPL, A MOV A, B ADDC A, DPH MOV DPH, A MOV CODEn,#00H MOV A, PAGEn微機控制技術3.3.4點陣式LCD的接口技術CW_1: MOV count, #08HCW_2: ANL A, #07H;00000111B取頁號D2,D1,D0 ORL A, #0B8H;10111000B將頁號轉為頁地址指令 MOV COM, A LCALL PRL0 LCALL PRR0 MOV A, COLUMN CLR C;使用前清標志位 SUBB A, #40H;列地址-64<0左 JC CW_3 MOV COLUMN, A;將右列地址存入 MOV A, PAGEn SETB ACC.5 MOV PAGEn, A微機控制技術3.3.4點陣式LCD的接口技術CW_3: MOV COM,COLUMN ORL COM,#40H;01000000B MOV A,PAGEn ANLA,#30H JBACC.5,CW_31 LCALL PRL0 LJMP CW_4CW_31: LCALL PRR0微機控制技術3.3.4點陣式LCD的接口技術CW_4:MOVA, CODEn MOVCA, @A+DPTR MOV DAT,A MOV A, PAGEn ANL A, #30H JB ACC.5,CW_42CW_41:LCALLPRL1 ;LCALLPRL2 LJMP CW_5CW_42:LCALL PRR1微機控制技術3.3.4點陣式LCD的接口技術CW_5: INCCODEn INCCOLUMN MOVA,COLUMN CJNEA,#40H,CW_6;判超出頁面嗎?CW_6: JCCW_9 ;不超出 MOVCOLUMN,#00H;超出 MOV A,PAGEn JB ACC.5,CW_9;在右頁,退出 SETB ACC.5;在左頁-〉右頁 CLRACC.4 MOV PAGEn,A MOV COM,#40H;01000000B LCALL PRR0CW_9: DJNZCOUNT,CW_4 RET;微機控制技術3.3.4點陣式LCD的接口技術7.中文顯示子程序

8X16字符顯示子程序:MGLS12864液晶顯示屏由二片HD61202控制,LCD顯示中應盡量避免一個字符一半在左半屏顯示,另一半在右半屏顯示的情況。設列地址寄存器為COLUMN,頁地址寄存器為PAGE,要顯示的字符代碼寄存器為ASCIICODE,W78E58內RAM28H-RAM37H共16個字節(jié)存放8×16的點陣數(shù)據(jù),生成的8×16點陣庫文件存放在單片機W78E58存儲器中的首地址定義為ASCII_DOT816。微機控制技術3.3.4點陣式LCD的接口技術DISP_ASCII816:

MOVDPTR,#ASCII_DOT816;8×16點陣庫首首地址

MOV A,ASCIICODE;顯示字符代碼ASCIICODE

MOVB, #16 ;每個字符點陣占16個字節(jié)地址

MUL AB;計算顯示字符在字庫的ADD A, DPL

MOV DPL, A

MOV A, DPH

ADDCA,B

MOV DPH, A;

MOV R0, #28H;將點陣數(shù)據(jù)放到 ;RAM28H-RAM37H

MOV R2, #00H微機控制技術3.3.4點陣式LCD的接口技術LP_MOVDOT16:

MOV A,R

溫馨提示

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

評論

0/150

提交評論