第十章接口PPT課件_第1頁
第十章接口PPT課件_第2頁
第十章接口PPT課件_第3頁
第十章接口PPT課件_第4頁
第十章接口PPT課件_第5頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理及單片機(jī)接口技術(shù)微機(jī)原理及單片機(jī)接口技術(shù)第十章第十章 人機(jī)交互人機(jī)交互接口接口任課教師: http:/ stc15系列單片機(jī)器件手冊(cè)等keil vision軟件下載及指導(dǎo)手冊(cè)(Helpvision Help) http:/ 第十章第十章 人機(jī)交互接口人機(jī)交互接口本章學(xué)習(xí)目標(biāo)本章學(xué)習(xí)目標(biāo)掌握鍵盤接口技術(shù)掌握鍵盤接口技術(shù)掌握數(shù)碼、液晶顯示技術(shù)掌握數(shù)碼、液晶顯示技術(shù)了解數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制專用芯片了解數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制專用芯片3人機(jī)交互接口是指人與計(jì)算機(jī)之間建立聯(lián)系、交換人機(jī)交互接口是指人與計(jì)算機(jī)之間建立聯(lián)系、交換信息的輸入信息的輸入/輸出設(shè)備的接口,設(shè)備包括鍵盤、顯示輸出

2、設(shè)備的接口,設(shè)備包括鍵盤、顯示器、打印機(jī)、鼠標(biāo)器等。器、打印機(jī)、鼠標(biāo)器等。主要介紹鍵盤輸入接口設(shè)計(jì)、顯示原理及接口技術(shù)。主要介紹鍵盤輸入接口設(shè)計(jì)、顯示原理及接口技術(shù)。 第十章第十章 人機(jī)交互接口人機(jī)交互接口10.1 鍵盤接口技術(shù)鍵盤接口技術(shù)10.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)10.1.2 矩陣鍵盤接口的實(shí)現(xiàn)矩陣鍵盤接口的實(shí)現(xiàn)10.2 顯示技術(shù)顯示技術(shù)10.2.1 數(shù)碼數(shù)碼LED顯示技術(shù)顯示技術(shù)10.2.2 液晶顯示技術(shù)液晶顯示技術(shù)10.3 數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制專用芯片數(shù)碼管顯示驅(qū)動(dòng)和鍵盤掃描控制專用芯片410.1 鍵盤接口技術(shù)非編碼鍵盤和編碼鍵盤非編碼鍵盤和編碼鍵盤非編碼

3、鍵盤非編碼鍵盤:直接利用口線連接按鍵開關(guān)或開關(guān)型:直接利用口線連接按鍵開關(guān)或開關(guān)型傳感器來實(shí)現(xiàn),通過程序判斷口線的電平就能夠確傳感器來實(shí)現(xiàn),通過程序判斷口線的電平就能夠確定輸入的鍵值。定輸入的鍵值。優(yōu)缺點(diǎn)優(yōu)缺點(diǎn):設(shè)計(jì)簡(jiǎn)單,使用方便,且因?yàn)榫哂泄灿枚耍涸O(shè)計(jì)簡(jiǎn)單,使用方便,且因?yàn)榫哂泄灿枚?,容易直接同開關(guān)電路或開關(guān)型傳感器連接。但是這容易直接同開關(guān)電路或開關(guān)型傳感器連接。但是這種方式的口線利用率較低,受單片機(jī)口線數(shù)量的限種方式的口線利用率較低,受單片機(jī)口線數(shù)量的限制,其鍵盤規(guī)模無法做大。制,其鍵盤規(guī)模無法做大。510.1 10.1 鍵盤接口技術(shù)鍵盤接口技術(shù)編碼鍵盤編碼鍵盤:將口線與按鍵開關(guān)連接成

4、矩陣電路:將口線與按鍵開關(guān)連接成矩陣電路, 通過軟通過軟件掃描件掃描, 識(shí)別識(shí)別I/O口上的編碼口上的編碼, 按編碼規(guī)則識(shí)別輸入鍵值。按編碼規(guī)則識(shí)別輸入鍵值。優(yōu)點(diǎn)優(yōu)點(diǎn):口線利用率高,鍵盤規(guī)??梢宰龅幂^大。:口線利用率高,鍵盤規(guī)??梢宰龅幂^大。具體用哪一種形式鍵盤可根據(jù)控制系統(tǒng)規(guī)模及用途決定。具體用哪一種形式鍵盤可根據(jù)控制系統(tǒng)規(guī)模及用途決定。6非編碼鍵盤和編碼鍵盤非編碼鍵盤和編碼鍵盤4 4輸入輸入與門與門10.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口采用非編碼形式簡(jiǎn)易鍵盤接口采用非編碼形式, 典型電路如圖示。典型電路如圖示。7圖圖10-1 簡(jiǎn)易鍵盤接口電路簡(jiǎn)易鍵盤接口電路8 In

5、put NAND/AND GateKABCDEFGHJ1318 輸入與非輸入與非/與門與門下下降沿觸降沿觸發(fā)發(fā)INT0中斷中斷10.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)鍵盤在使用中考慮到人員操作或機(jī)械特性在接觸時(shí)鍵盤在使用中考慮到人員操作或機(jī)械特性在接觸時(shí)產(chǎn)生的產(chǎn)生的抖動(dòng)問題抖動(dòng)問題,即按鍵開關(guān)在接通或斷開瞬間并,即按鍵開關(guān)在接通或斷開瞬間并非完全可靠接觸,而是存在一個(gè)抖動(dòng)期,在此期間非完全可靠接觸,而是存在一個(gè)抖動(dòng)期,在此期間的電平變化波形如圖所示。的電平變化波形如圖所示。8圖圖10-2 按鍵閉合時(shí)的電平變化波形按鍵閉合時(shí)的電平變化波形10.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)

6、現(xiàn)抖動(dòng)期一般不超過抖動(dòng)期一般不超過10 ms。在口線電平抖動(dòng)期間,。在口線電平抖動(dòng)期間,單片機(jī)無法準(zhǔn)確檢測(cè)出口線電平的正確值,必須單片機(jī)無法準(zhǔn)確檢測(cè)出口線電平的正確值,必須采取一定的措施進(jìn)行鑒別。采取一定的措施進(jìn)行鑒別。常用的方法是常用的方法是延時(shí)消抖法延時(shí)消抖法,例如遇到由高向低的,例如遇到由高向低的電平轉(zhuǎn)換后先不急于讀取口線鍵值,而是在電平轉(zhuǎn)換后先不急于讀取口線鍵值,而是在中斷中斷服務(wù)程序的開始執(zhí)行一段服務(wù)程序的開始執(zhí)行一段1020 ms的延時(shí)程序。的延時(shí)程序。若延時(shí)程序后再次判斷口線仍為低電平則進(jìn)入口若延時(shí)程序后再次判斷口線仍為低電平則進(jìn)入口線的鍵值讀取程序,否則放棄鍵值讀取操作。線的鍵

7、值讀取程序,否則放棄鍵值讀取操作。910.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)示例代碼如下:示例代碼如下: ORG0000H LJMPMAIN ORG0003H ; INT0外部中斷外部中斷0入口地址入口地址 LJMP KRD ORG0100HMAIN: MOV SP, #70H SETB IT0 ; 設(shè)置設(shè)置INT0下降沿觸發(fā)下降沿觸發(fā) SETB EX0 ; 開放開放INT0中斷中斷 SETB EA ; 開放總中斷開放總中斷 ;其他初始化代碼其他初始化代碼MAINLOOP: ;主循環(huán)主循環(huán) LJMP MAINLOOP10(1)定時(shí))定時(shí)/計(jì)數(shù)器計(jì)數(shù)器T0和和T1的控制寄存器的控制寄存

8、器TCON 位號(hào)位號(hào)D7D6D5D4D3D2D1D0位名稱位名稱TF1TR1TR1TF0TR0TR0IE1IT1IE0IT011該該寄存器同時(shí)鎖存了寄存器同時(shí)鎖存了T0和和T1的溢出中斷請(qǐng)求標(biāo)志及的溢出中斷請(qǐng)求標(biāo)志及外部中斷請(qǐng)求標(biāo)志。外部中斷請(qǐng)求標(biāo)志。TCON(地址地址88H(可位尋址可位尋址), 復(fù)位值復(fù)位值00H)各位定義:各位定義:1)IT0: 外部中斷外部中斷0觸發(fā)觸發(fā)方式控制位??捎绍浖梅绞娇刂莆???捎绍浖?或或清清“0” 。 0: INT0/P3.2上上的的上升沿或下降沿上升沿或下降沿均可觸發(fā)外中斷均可觸發(fā)外中斷0, 置置位位IE0。 1: INT0/P3.2為為下降下降沿沿觸

9、發(fā)外部中斷觸發(fā)外部中斷0, 置位置位IE0。2) IT1: 外部中斷外部中斷1觸發(fā)觸發(fā)方式控制位,與方式控制位,與IT0類似。類似。6)EXl:外部外部中斷中斷INT1中斷允許控制位。中斷允許控制位。 1:允許外部中斷:允許外部中斷1中斷;中斷; 0:禁止外部中斷:禁止外部中斷1中斷。中斷。7)ET0:定時(shí)器定時(shí)器0中斷中斷允許控制位。允許控制位。 1:允許定時(shí)器:允許定時(shí)器0中斷;中斷; 0:禁止定時(shí)器:禁止定時(shí)器0中斷。中斷。8)EX0:外部外部中斷中斷INT0中斷允許控制位。中斷允許控制位。 1:允許外部中斷:允許外部中斷0中斷;中斷; 0:禁止外部中斷:禁止外部中斷0中斷。中斷。121

10、)中斷允許寄存器)中斷允許寄存器IE位號(hào)位號(hào)D7D6D5D4D3D2D1D0位名稱位名稱 EAELVDELVDEADCEADCESET1EX1 ET0 EX010.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)13下下降沿觸降沿觸發(fā)發(fā)INT0中斷中斷 KRD: LCALLDELAY20 ;調(diào)調(diào)20 ms延時(shí)子程序延時(shí)子程序,消除抖動(dòng)消除抖動(dòng) 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 JN

11、B ACC.5, KPR5 JNB ACC.6, KPR6 JNB ACC.7, KPR7 RETI(弱上拉弱上拉I/O口輸入前先將輸口輸入前先將輸出鎖存器出鎖存器置置1)這里這里P2口口輸出鎖存器輸出鎖存器復(fù)位值即為復(fù)位值即為0FFh 強(qiáng)極弱弱P0P5準(zhǔn)雙向口工作模式的結(jié)構(gòu)準(zhǔn)雙向口工作模式的結(jié)構(gòu)當(dāng)從端口引腳上當(dāng)從端口引腳上輸入數(shù)據(jù)時(shí)輸入數(shù)據(jù)時(shí),T4應(yīng)一直處于截止?fàn)顟B(tài)應(yīng)一直處于截止?fàn)顟B(tài)。假定在輸入之前曾輸出假定在輸入之前曾輸出鎖存過數(shù)據(jù)鎖存過數(shù)據(jù)0,則則T4導(dǎo)通導(dǎo)通,這樣引這樣引腳上電位就腳上電位就被箝位在被箝位在0電平電平, 使輸入高電平無法讀入。使輸入高電平無法讀入。12:1914因此因此

12、, ,作為準(zhǔn)雙向口使用時(shí)作為準(zhǔn)雙向口使用時(shí), ,輸入數(shù)據(jù)時(shí)輸入數(shù)據(jù)時(shí), , 應(yīng)先向口寫應(yīng)先向口寫1, 1, 使使T4T4截止截止, , 然后方可作高阻抗輸入然后方可作高阻抗輸入。這是準(zhǔn)雙向口的主。這是準(zhǔn)雙向口的主要特點(diǎn)。要特點(diǎn)。01通通0101外部外部輸入輸入0截止截止截止截止130A20mA200A截止截止通通010.1.1 簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤接口的實(shí)現(xiàn)KPR0: ;P2.0口線按鍵口線按鍵處理程序處理程序 MOV A,P2 ;讀讀P2口鍵值口鍵值 JNB ACC.0, KPR0 ;判判P2.0口線電平是否變口線電平是否變高高(即即按鍵是否松開按鍵是否松開)KP01: CALL DE

13、LAY20 ;檢測(cè)到檢測(cè)到P2.0變變高高,調(diào)調(diào)20 ms延時(shí)子程延時(shí)子程序序消抖消抖 MOV A,P2 ;讀讀P2口鍵值口鍵值 JNB ACC.0, KP01 ;證實(shí)證實(shí)P2.0口線一直保持低電口線一直保持低電平平(確認(rèn)確認(rèn)按按鍵是否松開鍵是否松開) ;按鍵處理程序。按鍵處理程序。由低由低電平電平變變?yōu)楦唠姙楦唠娖狡秸J(rèn)為按鍵認(rèn)為按鍵按按下下松開松開 RETIKPR1: ;P2.1口線按鍵處理程序口線按鍵處理程序 RETIKPR7: ;P2.7口線按鍵處理程序口線按鍵處理程序 RETIDELAY20:;20 ms延時(shí)子程序延時(shí)子程序 RET END15按按鍵沒松開則繼續(xù)等待鍵沒松開則繼續(xù)等待按

14、按鍵沒松開則繼續(xù)等待鍵沒松開則繼續(xù)等待10.1.2 矩陣鍵盤接口的實(shí)現(xiàn)矩陣鍵盤接口的實(shí)現(xiàn)簡(jiǎn)易鍵盤電路每一按鍵用一根簡(jiǎn)易鍵盤電路每一按鍵用一根I/O口線口線, 口線利用率低。口線利用率低。若將口線按行列排成若將口線按行列排成矩陣形式矩陣形式, 則可在相同口線數(shù)量下則可在相同口線數(shù)量下增大鍵盤規(guī)模。增大鍵盤規(guī)模。16可將可將P2口的口的8根根I/O線線排列成排列成44矩陣矩陣形式形式,連接連接16只按鍵只按鍵。行線特定的行線特定的4位數(shù)據(jù)輸位數(shù)據(jù)輸出出和和列線對(duì)應(yīng)的列線對(duì)應(yīng)的4位數(shù)位數(shù)據(jù)輸入據(jù)輸入可組成一個(gè)可組成一個(gè)8位位的特征字的特征字, 該特征字即該特征字即為為鍵值鍵值, 代表了按下的代表了按

15、下的鍵所在的位置。鍵所在的位置。CD4082 雙雙4輸入端與門輸入端與門10-1-2 矩陣鍵盤接口的實(shí)現(xiàn)矩陣鍵盤接口的實(shí)現(xiàn)1、電路結(jié)構(gòu)及設(shè)計(jì)思路、電路結(jié)構(gòu)及設(shè)計(jì)思路矩陣式鍵盤將矩陣式鍵盤將P2口的口的8根根I/O口線分成行、列線連接,口線分成行、列線連接,圖中圖中P2.0P2.3為行線,為行線,P2.4P2.7為列線。為列線。16只按只按鍵分別跨接在對(duì)應(yīng)的行、列線節(jié)點(diǎn)上。鍵分別跨接在對(duì)應(yīng)的行、列線節(jié)點(diǎn)上。如果單片機(jī)在行線對(duì)應(yīng)的如果單片機(jī)在行線對(duì)應(yīng)的I/O口線上有數(shù)據(jù)輸出,當(dāng)口線上有數(shù)據(jù)輸出,當(dāng)有鍵按下時(shí),行、列線短路,單片機(jī)在列線對(duì)應(yīng)的有鍵按下時(shí),行、列線短路,單片機(jī)在列線對(duì)應(yīng)的I/O口線上的

16、輸入數(shù)據(jù)將由行線上的電平?jīng)Q定??诰€上的輸入數(shù)據(jù)將由行線上的電平?jīng)Q定。17行線特定的行線特定的4位數(shù)據(jù)輸出和列線對(duì)應(yīng)的位數(shù)據(jù)輸出和列線對(duì)應(yīng)的4位數(shù)據(jù)輸入位數(shù)據(jù)輸入可組成一個(gè)可組成一個(gè)8位的特征字,該特征字即為鍵值,代表位的特征字,該特征字即為鍵值,代表了按下的鍵所在的位置。了按下的鍵所在的位置。2、鍵值產(chǎn)生的原理、鍵值產(chǎn)生的原理以以行線作為掃描行線作為掃描輸出輸出, 以以列線作為接收列線作為接收輸入輸入, 依次將各依次將各行線置為低電平行線置為低電平, 并在列線上逐次接收數(shù)據(jù)。并在列線上逐次接收數(shù)據(jù)。掃描完成后掃描完成后, 如果發(fā)現(xiàn)接收到的某一如果發(fā)現(xiàn)接收到的某一列線有低電平列線有低電平, 則則

17、表示該表示該列線與行線連接的按鍵已經(jīng)閉合列線與行線連接的按鍵已經(jīng)閉合。在接收到低電平的那次掃描中在接收到低電平的那次掃描中, 行線數(shù)據(jù)與列線數(shù)據(jù)的行線數(shù)據(jù)與列線數(shù)據(jù)的組合便是所期望組合便是所期望鍵值鍵值, 由該鍵值可確定閉合鍵在矩陣連由該鍵值可確定閉合鍵在矩陣連接中的位置。接中的位置。18 1)掃描法產(chǎn)生鍵值)掃描法產(chǎn)生鍵值2、鍵值產(chǎn)生的原理、鍵值產(chǎn)生的原理2)線反轉(zhuǎn)識(shí)別法產(chǎn)生鍵值)線反轉(zhuǎn)識(shí)別法產(chǎn)生鍵值先將行線全部置為低電先將行線全部置為低電平平,列線全部置為高電平列線全部置為高電平(弱上拉弱上拉I/O口輸入前先將輸出鎖存器置口輸入前先將輸出鎖存器置1), 從從列線列線對(duì)應(yīng)的對(duì)應(yīng)的I/O口線接

18、收數(shù)據(jù)口線接收數(shù)據(jù), 如果發(fā)現(xiàn)有口線變低,如果發(fā)現(xiàn)有口線變低,則證明該列線與閉合的按鍵連接。則證明該列線與閉合的按鍵連接。將列線全部置為低電平將列線全部置為低電平,行線全部置為高電平行線全部置為高電平, 從從行線對(duì)應(yīng)的行線對(duì)應(yīng)的I/O口線接收數(shù)據(jù)口線接收數(shù)據(jù), 如果發(fā)現(xiàn)有口線變?nèi)绻l(fā)現(xiàn)有口線變低低, 則證明該行線與閉合的按鍵連接。則證明該行線與閉合的按鍵連接。對(duì)上述兩次操作的結(jié)果所獲得的兩個(gè)對(duì)上述兩次操作的結(jié)果所獲得的兩個(gè)8位數(shù)據(jù)進(jìn)位數(shù)據(jù)進(jìn)行綜合分析,便可確定閉合的按鍵所在位置。行綜合分析,便可確定閉合的按鍵所在位置。193、鍵盤識(shí)別原理、鍵盤識(shí)別原理在鍵盤掃描產(chǎn)生鍵值前在鍵盤掃描產(chǎn)生鍵值前,

19、 為避免無鍵按下的空掃描為避免無鍵按下的空掃描, 浪費(fèi)浪費(fèi)CPU時(shí)間時(shí)間, 應(yīng)先進(jìn)行一次應(yīng)先進(jìn)行一次鍵盤識(shí)別鍵盤識(shí)別, 有兩種方法有兩種方法。201)硬件中斷識(shí)別法)硬件中斷識(shí)別法將矩陣式鍵盤電路的將矩陣式鍵盤電路的所有列線連接至所有列線連接至“與與”門電路門電路的輸入端的輸入端, “與與”門電路的輸出端與單片機(jī)外部中門電路的輸出端與單片機(jī)外部中斷連接。斷連接。把把全部行線置為低電平全部行線置為低電平,全部列線置為高電平全部列線置為高電平,當(dāng),當(dāng)有鍵按下時(shí)有鍵按下時(shí)列線上出現(xiàn)低電平列線上出現(xiàn)低電平,對(duì)應(yīng),對(duì)應(yīng)“與與”門的輸門的輸出電平出現(xiàn)由高向低的跳變,經(jīng)引腳進(jìn)入單片機(jī)產(chǎn)出電平出現(xiàn)由高向低的跳

20、變,經(jīng)引腳進(jìn)入單片機(jī)產(chǎn)生中斷,在生中斷,在中斷服務(wù)程序中開始掃描鍵盤中斷服務(wù)程序中開始掃描鍵盤。3、鍵盤識(shí)別原理、鍵盤識(shí)別原理2)軟件查詢識(shí)別法)軟件查詢識(shí)別法全部行線置為低電平全部行線置為低電平, 全部列線置為高電平全部列線置為高電平, 定時(shí)從列定時(shí)從列線對(duì)應(yīng)的線對(duì)應(yīng)的I/O口線讀輸入數(shù)據(jù)口線讀輸入數(shù)據(jù), 若接收的數(shù)據(jù)中若接收的數(shù)據(jù)中有低電有低電平平, 則說明有按鍵按下則說明有按鍵按下, 開始開始執(zhí)行鍵盤掃描程序執(zhí)行鍵盤掃描程序。此法。此法無需在矩陣鍵盤中連接無需在矩陣鍵盤中連接“與與” 門電路門電路, 硬件電路簡(jiǎn)潔。硬件電路簡(jiǎn)潔。 上述兩種識(shí)別方法中上述兩種識(shí)別方法中, 用硬件中斷識(shí)別法可

21、隨時(shí)響應(yīng)用硬件中斷識(shí)別法可隨時(shí)響應(yīng)鍵盤動(dòng)作鍵盤動(dòng)作, 具有較強(qiáng)實(shí)時(shí)性具有較強(qiáng)實(shí)時(shí)性, 而采用軟件查詢法則可簡(jiǎn)而采用軟件查詢法則可簡(jiǎn)化電路?;娐?。214、按鍵操作的抖動(dòng)處理、按鍵操作的抖動(dòng)處理與簡(jiǎn)易鍵盤電路相同,矩陣鍵盤同樣要考慮按鍵與簡(jiǎn)易鍵盤電路相同,矩陣鍵盤同樣要考慮按鍵觸點(diǎn)閉合或斷開時(shí)存在的抖動(dòng)期,一般在取回鍵觸點(diǎn)閉合或斷開時(shí)存在的抖動(dòng)期,一般在取回鍵值后進(jìn)行值后進(jìn)行510 ms的延時(shí)的延時(shí),判斷原鍵值是否存在,判斷原鍵值是否存在,以決定是否存在按鍵的誤動(dòng)作。以決定是否存在按鍵的誤動(dòng)作。225、矩陣鍵盤處理程序、矩陣鍵盤處理程序下面是可供調(diào)用的鍵盤掃描子程序下面是可供調(diào)用的鍵盤掃描子程序

22、: 可讀入可讀入44鍵盤鍵盤狀狀態(tài)態(tài), 然后將鍵值送往內(nèi)部然后將鍵值送往內(nèi)部RAM的的 30H33H單元。單元。具體方法具體方法: 利用單片機(jī)利用單片機(jī)P2口的口的P2.0P2.3口線口線輪流輪流向行向行掃描線掃描線送低電平送低電平, 將每次掃描中由將每次掃描中由P2.4P2.7返回的數(shù)返回的數(shù)據(jù)據(jù)與當(dāng)時(shí)行掃描送出的數(shù)據(jù)組合后作為鍵值與當(dāng)時(shí)行掃描送出的數(shù)據(jù)組合后作為鍵值送內(nèi)部送內(nèi)部RAM的的30H33H單元。單元。 鍵值內(nèi)容為鍵值內(nèi)容為8位位, 低低4位中的位中的 “0”對(duì)應(yīng)于行掃描輸出線對(duì)應(yīng)于行掃描輸出線, 高高4位中的位中的“0”對(duì)應(yīng)于閉合按鍵對(duì)應(yīng)于閉合按鍵連接的列線。連接的列線。235、

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

24、4P2.7)AND A, #0F0H ;保留讀回?cái)?shù)據(jù)的高保留讀回?cái)?shù)據(jù)的高4位位ORL A, R1 ;組合組合鍵值鍵值, R1低低4位掃位掃描線狀態(tài)描線狀態(tài),高高4位為位為0MOV R0, A ;鍵鍵值送存儲(chǔ)單元值送存儲(chǔ)單元RET24, 列線輸出高列線輸出高電平電平內(nèi)部?jī)?nèi)部RAM的的 30H33H單元單元MOV R3, #0FEHINC R0; 指向下行鍵值單元指向下行鍵值單元MOV A, R3;準(zhǔn)備掃描下行準(zhǔn)備掃描下行RLC A; 掃描指向下行掃描指向下行MOV R3, A;保存掃描行保存掃描行JB ACC.4, SCAN;判斷是否已經(jīng)完成掃描判斷是否已經(jīng)完成掃描4行行鍵盤掃描程序清單如下:鍵

25、盤掃描程序清單如下:5、矩陣鍵盤處理程序、矩陣鍵盤處理程序鍵盤掃描程序清單如下鍵盤掃描程序清單如下:KEY-SCAN:MOV R0, #30H ;設(shè)置鍵值存儲(chǔ)單元地址指針設(shè)置鍵值存儲(chǔ)單元地址指針MOV A, #0FEH ;設(shè)置設(shè)置行掃描初始狀態(tài)行掃描初始狀態(tài)SCAN: MOV P2, A ;輸出輸出至行掃至行掃描描線線, P2 . 0低電平低電平 (加加)AND A, #0FH ;只保留只保留行掃描行掃描線線(P2.0P2.3)狀狀態(tài)態(tài) MOV R1, A ;保存保存行掃描線行掃描線狀狀態(tài)態(tài)(R1低低4位位), R1高高4位為位為0MOV A, P2 ;讀回列線讀回列線數(shù)數(shù)據(jù)據(jù)(P2.4P2.

26、7)AND A, #0F0H ;保留讀回?cái)?shù)據(jù)的高保留讀回?cái)?shù)據(jù)的高4位位ORL A, R1 ;組合組合鍵值鍵值, R1低低4位掃位掃描線狀態(tài)描線狀態(tài),高高4位為位為0MOV R0, A ;鍵鍵值送存儲(chǔ)單元值送存儲(chǔ)單元RET25, 列線輸出高列線輸出高電平電平內(nèi)部?jī)?nèi)部RAM的的 30H33H單元單元MOV R3, #01INC R0; 指向下行鍵值單元指向下行鍵值單元MOV A, R3;準(zhǔn)備掃描下行準(zhǔn)備掃描下行RL A; 準(zhǔn)備掃描下行準(zhǔn)備掃描下行MOV R3, A;保存移位值保存移位值CPL A; 指向掃描下行指向掃描下行JB ACC.4, SCAN; 判斷是否已經(jīng)掃描判斷是否已經(jīng)掃描4行行或者修

27、改程序或者修改程序10.2 顯示技術(shù)顯示技術(shù)10.2.1 數(shù)碼數(shù)碼LED顯示技術(shù)顯示技術(shù)1、顯示元件概述、顯示元件概述主要顯示元件:主要顯示元件:LED(發(fā)光二極管顯示器發(fā)光二極管顯示器 數(shù)碼管數(shù)碼管) 或或LCD(液晶顯示器液晶顯示器)。顯示形式:筆畫式和點(diǎn)陣式。顯示形式:筆畫式和點(diǎn)陣式。筆畫式顯示元件大多為筆畫式顯示元件大多為L(zhǎng)ED數(shù)碼管數(shù)碼管, 用于顯示數(shù)字用于顯示數(shù)字或簡(jiǎn)單字母信息或簡(jiǎn)單字母信息, 適合于規(guī)模較小的單片機(jī)系統(tǒng)。適合于規(guī)模較小的單片機(jī)系統(tǒng)。若考慮到單片機(jī)系統(tǒng)功耗因素若考慮到單片機(jī)系統(tǒng)功耗因素, 也有筆畫式也有筆畫式LCD數(shù)數(shù)碼管可供選用碼管可供選用,但在控制和連接上要稍微

28、復(fù)雜一些。,但在控制和連接上要稍微復(fù)雜一些。261、顯示元件概述、顯示元件概述顯示顯示大信息量或圖形大信息量或圖形時(shí),一般使用時(shí),一般使用點(diǎn)陣式點(diǎn)陣式LCD顯顯示器。這種顯示器結(jié)構(gòu)比較復(fù)雜,需要考慮灰度調(diào)示器。這種顯示器結(jié)構(gòu)比較復(fù)雜,需要考慮灰度調(diào)節(jié)、高壓背光的配合,電路連接及程序操作都比較節(jié)、高壓背光的配合,電路連接及程序操作都比較繁瑣。繁瑣。用用點(diǎn)陣式點(diǎn)陣式LCD顯示器顯示器最好采用最好采用內(nèi)置控制器模塊形內(nèi)置控制器模塊形式式 (LCD Module, 或或LCM), 這種情況下這種情況下, 單片機(jī)與單片機(jī)與點(diǎn)陣式點(diǎn)陣式LCD的接口實(shí)際上變成了單片機(jī)與單片機(jī)的接口實(shí)際上變成了單片機(jī)與單片機(jī)

29、之間的數(shù)據(jù)通信。之間的數(shù)據(jù)通信。本節(jié)主要介紹筆畫式本節(jié)主要介紹筆畫式LED和點(diǎn)陣式和點(diǎn)陣式LCD的應(yīng)用。的應(yīng)用。2710.2.1 數(shù)碼數(shù)碼LED顯示技術(shù)顯示技術(shù)2、七段碼、七段碼LED顯示器顯示器LED數(shù)碼管由數(shù)碼管由8只只LED發(fā)光二極管構(gòu)成發(fā)光二極管構(gòu)成, 8只只LED發(fā)光發(fā)光二極管分別代表組成數(shù)碼的筆畫二極管分別代表組成數(shù)碼的筆畫(稱為段稱為段)和該位數(shù)碼和該位數(shù)碼的小數(shù)點(diǎn)。由于顯示的數(shù)字由的小數(shù)點(diǎn)。由于顯示的數(shù)字由7個(gè)顯示段組合而成,個(gè)顯示段組合而成,所以也稱為七段碼。所以也稱為七段碼。28D7 D6 D5 D4 D3 D2 D1 D0h g f e d c b ah gfed cb

30、a2、七段碼、七段碼LED顯示器顯示器七段數(shù)碼管顯示器中為簡(jiǎn)化電路引出線,通常將七段數(shù)碼管顯示器中為簡(jiǎn)化電路引出線,通常將8只只發(fā)光二極管的陰極或陽極連接在一起作為電路公共端,發(fā)光二極管的陰極或陽極連接在一起作為電路公共端,由此分成了由此分成了共陰極或共陽極顯示器共陰極或共陽極顯示器,采用,采用高電平或低高電平或低電平驅(qū)動(dòng)電平驅(qū)動(dòng)。29圖圖10-4 LED七段數(shù)碼管顯示器結(jié)構(gòu)七段數(shù)碼管顯示器結(jié)構(gòu) 注意注意: 七段數(shù)碼管的驅(qū)動(dòng)電流應(yīng)限制,在保證不超過七段數(shù)碼管的驅(qū)動(dòng)電流應(yīng)限制,在保證不超過單片機(jī)或其他驅(qū)動(dòng)芯片功耗前提下維持正常發(fā)光亮度。單片機(jī)或其他驅(qū)動(dòng)芯片功耗前提下維持正常發(fā)光亮度。共陰極共陰極

31、共陽極共陽極高電平驅(qū)動(dòng)高電平驅(qū)動(dòng)低電平驅(qū)動(dòng)低電平驅(qū)動(dòng)3、七段碼、七段碼LED顯示器的顯示方式及接口顯示器的顯示方式及接口七段碼七段碼LED顯示器可采用顯示器可采用靜態(tài)顯示靜態(tài)顯示和和動(dòng)態(tài)顯示動(dòng)態(tài)顯示兩種兩種形式。形式。靜態(tài)顯示靜態(tài)顯示是指在顯示時(shí)段內(nèi)對(duì)組成字型的發(fā)光二是指在顯示時(shí)段內(nèi)對(duì)組成字型的發(fā)光二極管保持極管保持恒定的導(dǎo)通或截止恒定的導(dǎo)通或截止;動(dòng)態(tài)顯示動(dòng)態(tài)顯示是指在顯示時(shí)段內(nèi)對(duì)組成字形的發(fā)光二是指在顯示時(shí)段內(nèi)對(duì)組成字形的發(fā)光二極管實(shí)行極管實(shí)行間斷或輪流間斷或輪流(多字符顯示多字符顯示)點(diǎn)亮點(diǎn)亮。其中前一種形式程序操作簡(jiǎn)單,其中前一種形式程序操作簡(jiǎn)單,CPU送出字形碼后送出字形碼后可以不再

32、管理。而后一種顯示形式則可最大限度地可以不再管理。而后一種顯示形式則可最大限度地降低顯示功耗,但是占用了降低顯示功耗,但是占用了CPU的執(zhí)行程序時(shí)間。的執(zhí)行程序時(shí)間。301)靜態(tài)顯示接口)靜態(tài)顯示接口由單片機(jī)由單片機(jī)串行口串行口與與移位寄存器芯片移位寄存器芯片CD4094組成的共陰組成的共陰極七段碼極七段碼LED靜態(tài)顯示接口電路如圖所示。靜態(tài)顯示接口電路如圖所示。31圖圖10-5 LED靜態(tài)顯示接口電路靜態(tài)顯示接口電路 CD4094是是8位位移位寄存器移位寄存器 / 三態(tài)三態(tài)并行并行鎖存器鎖存器輸出輸出, QS移位輸出可移位輸出可級(jí)聯(lián)級(jí)聯(lián); EN=0鎖存器鎖存器輸出高阻輸出高阻, EN=1鎖存

33、器鎖存器并行輸出并行輸出; ST=0鎖存器鎖存器不隨不隨移位寄存器移位寄存器變化變化, ST=1鎖存器鎖存器隨隨移位寄存器移位寄存器變化而變化變化而變化;串串口用方口用方式式 08 位位同步同步移位移位寄存寄存器輸器輸出方出方式式D7D6D5D4D3D2D1D01)靜態(tài)顯示接口)靜態(tài)顯示接口電路說明電路說明單片機(jī)工作在單片機(jī)工作在串口方式串口方式 “0”狀態(tài)狀態(tài),要顯示的字形以,要顯示的字形以七段碼形式由單片機(jī)的七段碼形式由單片機(jī)的RXD輸出至輸出至CD4094的數(shù)據(jù)的數(shù)據(jù)輸入端輸入端D,每次輸出,每次輸出1個(gè)字節(jié),對(duì)應(yīng)個(gè)字節(jié),對(duì)應(yīng)1位顯示數(shù)字。位顯示數(shù)字。多位顯示時(shí)需要輸出多個(gè)字節(jié)的顯示數(shù)據(jù)

34、,同時(shí)也多位顯示時(shí)需要輸出多個(gè)字節(jié)的顯示數(shù)據(jù),同時(shí)也需要多個(gè)需要多個(gè)CD4094級(jí)聯(lián),即前級(jí)級(jí)聯(lián),即前級(jí)CD4094的數(shù)據(jù)輸出的數(shù)據(jù)輸出端端QS與后級(jí)與后級(jí)CD4094的數(shù)據(jù)輸入端的數(shù)據(jù)輸入端D連接。連接。32單片機(jī)的單片機(jī)的TXD與每個(gè)與每個(gè)CD4094的時(shí)鐘輸入端的時(shí)鐘輸入端CP連連接,在串行數(shù)據(jù)輸出過程中接,在串行數(shù)據(jù)輸出過程中TXD發(fā)出移位脈沖,發(fā)出移位脈沖,驅(qū)動(dòng)數(shù)據(jù)依次逐位在驅(qū)動(dòng)數(shù)據(jù)依次逐位在CD4094芯片中移動(dòng)。芯片中移動(dòng)。CD4094是是8位位移位寄存器移位寄存器 / 三態(tài)并行三態(tài)并行鎖存器鎖存器輸出輸出EN=1鎖存器鎖存器并行輸出并行輸出ST=0鎖存鎖存器器不隨不隨移位寄存器

35、移位寄存器變化變化, ST=1鎖存鎖存器器隨隨移位寄存器移位寄存器變變化而變化化而變化EN=0鎖存器鎖存器輸出高輸出高阻阻1)靜態(tài)顯示接口)靜態(tài)顯示接口電路說明電路說明單片機(jī)工作在單片機(jī)工作在串口方式串口方式 “0”狀態(tài)狀態(tài),要顯示的字形以,要顯示的字形以七段碼形式由單片機(jī)的七段碼形式由單片機(jī)的RXD輸出至輸出至CD4094的數(shù)據(jù)的數(shù)據(jù)輸入端輸入端D,每次輸出,每次輸出1個(gè)字節(jié),對(duì)應(yīng)個(gè)字節(jié),對(duì)應(yīng)1位顯示數(shù)字。位顯示數(shù)字。多位顯示時(shí)需要輸出多個(gè)字節(jié)的顯示數(shù)據(jù),同時(shí)也多位顯示時(shí)需要輸出多個(gè)字節(jié)的顯示數(shù)據(jù),同時(shí)也需要多個(gè)需要多個(gè)CD4094級(jí)聯(lián),即前級(jí)級(jí)聯(lián),即前級(jí)CD4094的數(shù)據(jù)輸出的數(shù)據(jù)輸出端端

36、QS與后級(jí)與后級(jí)CD4094的數(shù)據(jù)輸入端的數(shù)據(jù)輸入端D連接。連接。33單片機(jī)的單片機(jī)的TXD與每個(gè)與每個(gè)CD4094的時(shí)鐘輸入端的時(shí)鐘輸入端CP連連接,在串行數(shù)據(jù)輸出過程中接,在串行數(shù)據(jù)輸出過程中TXD發(fā)出移位脈沖,發(fā)出移位脈沖,驅(qū)動(dòng)數(shù)據(jù)依次逐位在驅(qū)動(dòng)數(shù)據(jù)依次逐位在CD4094芯片中移動(dòng)。芯片中移動(dòng)。1)靜態(tài)顯示接口)靜態(tài)顯示接口電路說明電路說明當(dāng)所有要顯示數(shù)據(jù)全部送出后當(dāng)所有要顯示數(shù)據(jù)全部送出后, 單片機(jī)可以將單片機(jī)可以將P1.0控制口線由低置高控制口線由低置高,通過,通過CD4094的的ST引腳控制引腳控制, 使使所有送入所有送入CD4094的數(shù)據(jù)的數(shù)據(jù)由串行由串行(移位寄存器移位寄存器)

37、轉(zhuǎn)為并轉(zhuǎn)為并行行(鎖存器鎖存器)輸出輸出, 在在LED數(shù)碼管上顯示出對(duì)應(yīng)位的數(shù)數(shù)碼管上顯示出對(duì)應(yīng)位的數(shù)字內(nèi)容。字內(nèi)容。34靜態(tài)顯示的主要特點(diǎn)靜態(tài)顯示的主要特點(diǎn):是占用:是占用CPU處理時(shí)間少,顯處理時(shí)間少,顯示穩(wěn)定、亮度高,使用口線少。但在使用中應(yīng)注意示穩(wěn)定、亮度高,使用口線少。但在使用中應(yīng)注意串口數(shù)據(jù)傳送的格式及字符排位順序。串口數(shù)據(jù)傳送的格式及字符排位順序。串行靜態(tài)顯示的串行靜態(tài)顯示的位數(shù)主要由位數(shù)主要由TXD、P1.0口線口線的帶負(fù)的帶負(fù)載能力決定載能力決定。也可將也可將CD4094的的ST腳始終接高電平腳始終接高電平, 缺點(diǎn)是在單片缺點(diǎn)是在單片機(jī)送出顯示數(shù)據(jù)過程中機(jī)送出顯示數(shù)據(jù)過程中L

38、ED數(shù)碼管會(huì)顯示亂碼。數(shù)碼管會(huì)顯示亂碼。1)靜態(tài)顯示接口)靜態(tài)顯示接口電路說明電路說明實(shí)際中也可不用實(shí)際中也可不用P1.0, 將將CD4094的的ST腳始終接高電腳始終接高電平平, 進(jìn)入進(jìn)入CD4094的串行數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)為并行輸出。的串行數(shù)據(jù)會(huì)自動(dòng)轉(zhuǎn)為并行輸出。其缺點(diǎn)是在單片機(jī)送出顯示數(shù)據(jù)過程中其缺點(diǎn)是在單片機(jī)送出顯示數(shù)據(jù)過程中LED數(shù)碼管數(shù)碼管會(huì)顯示亂碼。但數(shù)據(jù)傳送過程很短,在不頻繁更換會(huì)顯示亂碼。但數(shù)據(jù)傳送過程很短,在不頻繁更換顯示數(shù)據(jù)的場(chǎng)合還可接受。顯示數(shù)據(jù)的場(chǎng)合還可接受。35實(shí)踐證明實(shí)踐證明, CD4094輸出與輸出與LED數(shù)碼管間可不加限流數(shù)碼管間可不加限流電阻。當(dāng)電阻。當(dāng)CD409

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

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

41、在執(zhí)行正常程序的過程中滿足動(dòng)態(tài)顯示,就可以在執(zhí)行正常程序的過程中滿足動(dòng)態(tài)顯示的需求。的需求。37動(dòng)態(tài)顯示可以動(dòng)態(tài)顯示可以提高單片機(jī)顯示口線的利用率提高單片機(jī)顯示口線的利用率,簡(jiǎn),簡(jiǎn)化硬件電路的接線?;布娐返慕泳€。LED動(dòng)態(tài)顯示接口的具體電動(dòng)態(tài)顯示接口的具體電路見下面圖所示。路見下面圖所示。2)動(dòng)態(tài)顯示接口)動(dòng)態(tài)顯示接口LED動(dòng)態(tài)顯示接口的具體電路如圖所示。動(dòng)態(tài)顯示接口的具體電路如圖所示。38圖圖10-6 LED動(dòng)態(tài)顯示接口電路動(dòng)態(tài)顯示接口電路 共陽極端共陽極端輸出低電平輸出低電平,數(shù)碼管顯示數(shù)碼管顯示三態(tài)八緩沖器三態(tài)八緩沖器/線驅(qū)動(dòng)器線驅(qū)動(dòng)器動(dòng)態(tài)掃描顯示子程序如下:動(dòng)態(tài)掃描顯示子程序如下:

42、設(shè)設(shè)需顯示需顯示4位位字形七段碼字形七段碼16進(jìn)制數(shù)的數(shù)字進(jìn)制數(shù)的數(shù)字放在放在60H開始的開始的4單單元元中中:39SDIS: MOV R0, #60H ;使指使指針針R0指向顯示數(shù)據(jù)存儲(chǔ)區(qū)首址指向顯示數(shù)據(jù)存儲(chǔ)區(qū)首址 MOV DPTR, # DSEG ;設(shè)置設(shè)置七段碼字模表首地址七段碼字模表首地址 MOV R7, #0FEH ;設(shè)置數(shù)碼管顯示位指針設(shè)置數(shù)碼管顯示位指針,指向最指向最右右左左邊一位邊一位P2.0 MOV A, R7 ;顯示顯示位位指針內(nèi)容送累加器指針內(nèi)容送累加器 (加加) SETB C ;下面用下面用RLC使掃描指向下行使掃描指向下行LD0: MOV P2, A ;選通顯示位選通

43、顯示位P2.0 RLC A ;顯示顯示位位指向下一位指向下一位 MOV R7, A ;保存保存下一下一顯示顯示位位指針內(nèi)容指針內(nèi)容 MOV A, R0 ;取顯示取顯示數(shù)數(shù)據(jù)據(jù)(每個(gè)存儲(chǔ)單元值每個(gè)存儲(chǔ)單元值0F)內(nèi)容內(nèi)容 MOVC A, A+DPTR ;查查顯示內(nèi)容顯示內(nèi)容(0F)字形碼字形碼(字模字模) MOV P0, A ;送出顯示字形碼送出顯示字形碼(0F) (字模字模) CALL DEL1 ;調(diào)延時(shí)子程序使數(shù)碼管顯示一定時(shí)間調(diào)延時(shí)子程序使數(shù)碼管顯示一定時(shí)間 INC R0 ;指向下一個(gè)顯示的存儲(chǔ)單元指向下一個(gè)顯示的存儲(chǔ)單元 MOV A,R7 ;取取下一顯示位下一顯示位指指針內(nèi)容針內(nèi)容 JB

44、 ACC.4, LD0 ;未掃描完未掃描完4位位 (P2.4還沒顯示還沒顯示), 繼續(xù)循繼續(xù)循環(huán)環(huán) RET例例題題: 要求顯示要求顯示4位位16進(jìn)制的數(shù)進(jìn)制的數(shù)2)動(dòng)態(tài)顯示接口)動(dòng)態(tài)顯示接口 ;下面是下面是09, AF共陽極字形七段碼共陽極字形七段碼DSEG: DB C0H, F9H, A4H, B0H, 99H, 92H, 82H, F8H, 80H;DSEG2: DB 90H, 88H, 83H, C6H, A1H, 86H, 8EH40 請(qǐng)自行補(bǔ)充完請(qǐng)自行補(bǔ)充完整其中的延時(shí)整其中的延時(shí)子程序和對(duì)應(yīng)子程序和對(duì)應(yīng)的的C語言程序。語言程序。(A)= 0, 1, 2, 3, 4, 5, 6, 7

45、, 8(A)= 9, A, B, C, D, E, Fh g f e d c b a1 1 0 0 0 0 0 01 0 0 1 0 0 0 009C0H90H字模值字模值10.2.2 液晶顯示技術(shù)液晶顯示技術(shù)液晶顯示器件液晶顯示器件(LCD顯示器顯示器)因有顯示信息豐富、功耗因有顯示信息豐富、功耗低、體積小、無輻射等優(yōu)點(diǎn),得到了廣泛應(yīng)用。低、體積小、無輻射等優(yōu)點(diǎn),得到了廣泛應(yīng)用。LCD顯示器有顯示器有筆畫分段筆畫分段、分割顯示分割顯示、字符點(diǎn)陣顯示字符點(diǎn)陣顯示和和圖形點(diǎn)陣圖形點(diǎn)陣LCD顯示顯示形式之分,對(duì)于比較豐富的顯示內(nèi)形式之分,對(duì)于比較豐富的顯示內(nèi)容通常采用圖形點(diǎn)陣顯示形式,但是這種顯示

46、形式的容通常采用圖形點(diǎn)陣顯示形式,但是這種顯示形式的電路結(jié)構(gòu)及控制方式比較復(fù)雜。電路結(jié)構(gòu)及控制方式比較復(fù)雜。41為便于使用為便于使用, LCD圖形點(diǎn)陣顯示器圖形點(diǎn)陣顯示器常以常以LCM (LCD Module)形式形式出現(xiàn)出現(xiàn), 模塊中封裝了顯示器、驅(qū)動(dòng)電路、模塊中封裝了顯示器、驅(qū)動(dòng)電路、控制電路及背光調(diào)節(jié)電路等。控制電路及背光調(diào)節(jié)電路等。(如如12864, 1602液液晶屏晶屏)以以O(shè)CMJ4X8C為例介紹圖形點(diǎn)陣為例介紹圖形點(diǎn)陣LCD顯示接口應(yīng)用。顯示接口應(yīng)用。LCD1602字符型液晶屏字符型液晶屏, 能夠同時(shí)顯示能夠同時(shí)顯示16x02即即32個(gè)字符個(gè)字符(非中文非中文)1、OCMJ4X8

47、C液晶顯示模塊概述液晶顯示模塊概述OCMJ4X8C液晶顯示屏液晶顯示屏(統(tǒng)稱統(tǒng)稱12864液晶屏液晶屏)為為12864點(diǎn)點(diǎn)陣陣, 可顯示可顯示4行行 每行每行8個(gè)漢字。個(gè)漢字。OCMJ4X8C可實(shí)現(xiàn)漢字可實(shí)現(xiàn)漢字 ASCII碼碼 點(diǎn)陣圖形點(diǎn)陣圖形 自造字體的同屏顯示。自造字體的同屏顯示。該模塊具有該模塊具有2MB的的中文字形中文字形CGROM(Custom Glyph RAM), 其中含有其中含有8192個(gè)個(gè)1616點(diǎn)陣中文字庫;點(diǎn)陣中文字庫;16K-位位(128168 點(diǎn)陣點(diǎn)陣)半寬字半寬字型型ROM (HCGROM) 總總共提供共提供128 個(gè)符號(hào)字型個(gè)符號(hào)字型(16x8 點(diǎn)陣點(diǎn)陣) AS

48、CII字符庫;字符庫;6416-位的字位的字型產(chǎn)生型產(chǎn)生RAM (CGRAM)提供了提供了4組組1616點(diǎn)陣的點(diǎn)陣的圖象定義圖象定義(造字功能造字功能)空間空間 。42(字形字形) (國(guó)標(biāo)碼國(guó)標(biāo)碼GB2312的的漢字機(jī)內(nèi)碼漢字機(jī)內(nèi)碼)1、OCMJ4X8C液晶顯示模塊概述液晶顯示模塊概述12864液晶屏液晶屏為為12864點(diǎn)陣點(diǎn)陣, 可顯示可顯示4行行 每行每行8個(gè)漢字。個(gè)漢字??蓪?shí)現(xiàn)漢字可實(shí)現(xiàn)漢字CGROM ASCII碼碼 (HCGROM) 點(diǎn)陣圖形點(diǎn)陣圖形 自造字體自造字體(CGRAM)的同屏顯示。的同屏顯示。431 OCMJ4X8C液晶顯示模塊概液晶顯示模塊概述述12864液晶屏液晶屏為為

49、12864點(diǎn)陣點(diǎn)陣, 可顯示可顯示4行行 每行每行8個(gè)漢字。個(gè)漢字??蓪?shí)現(xiàn)漢字可實(shí)現(xiàn)漢字CGROM ASCII碼碼 (HCGROM) 點(diǎn)陣圖形點(diǎn)陣圖形 自造字體自造字體(CGRAM)的同屏顯示。的同屏顯示。44128168半寬字型符號(hào)表半寬字型符號(hào)表1、OCMJ4X8C液晶顯示模塊概述液晶顯示模塊概述顯示數(shù)據(jù)顯示數(shù)據(jù)RAM(DDRAM, display data RAM): 模塊內(nèi)部模塊內(nèi)部顯示數(shù)據(jù)顯示數(shù)據(jù)RAM提供提供642個(gè)個(gè)字節(jié)字節(jié)的空間的空間, 最多可控制最多可控制4行行16字字(64個(gè)字個(gè)字)的中文字型顯示的中文字型顯示 (漢字國(guó)標(biāo)碼漢字國(guó)標(biāo)碼2個(gè)字節(jié)個(gè)字節(jié)) ; 當(dāng)寫入當(dāng)寫入DDR

50、AM時(shí)時(shí), 可顯示三種字型可顯示三種字型:半角英半角英文文數(shù)字型數(shù)字型(16*8) HCGROM型型 CGROM中文字型與中文字型與CGRAM自定義字型自定義字型; 三種三種字型的選擇字型的選擇, 由在由在DDRAM中寫入的編碼選擇中寫入的編碼選擇, 在在0000H0006H的編碼中的編碼中(其代碼分別是其代碼分別是0000 0002 0004 0006共共4個(gè)個(gè))將選擇將選擇CGRAM的自定義字型的自定義字型; 02H7FH的編碼將選擇半角英的編碼將選擇半角英文文數(shù)字的字型數(shù)字的字型;至于至于A1以上的編碼以上的編碼將將自動(dòng)結(jié)合下一個(gè)自動(dòng)結(jié)合下一個(gè)字節(jié)字節(jié), 組成兩個(gè)組成兩個(gè)字字節(jié)節(jié)的編碼形

51、成的編碼形成中文字型的編碼中文字型的編碼BIG5(A140D75F), GB(A1A0-F7FFH)。45(BIG5(A140繁體規(guī)范繁體規(guī)范, ,GBGB是簡(jiǎn)體規(guī)范是簡(jiǎn)體規(guī)范) ) 1、OCMJ4X8C液晶顯示模塊概述液晶顯示模塊概述可顯示可顯示4行行 每行每行8個(gè)漢字。實(shí)現(xiàn)漢字個(gè)漢字。實(shí)現(xiàn)漢字CGROM ASCII碼碼 (HCGROM) 自造字體自造字體(CGRAM) 點(diǎn)陣圖形點(diǎn)陣圖形的同屏的同屏顯示。顯示。46地址計(jì)數(shù)器地址計(jì)數(shù)器(AC, address counter) :地址計(jì)數(shù)器是用來貯存地址計(jì)數(shù)器是用來貯存DDRAM/CGRAM之一的地址之一的地址,它可由設(shè)定指令暫存器來改變,之

52、后只要讀取或是寫它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入入DDRAM/CGRAM的值時(shí),地址計(jì)數(shù)器的值就會(huì)自的值時(shí),地址計(jì)數(shù)器的值就會(huì)自動(dòng)加一,當(dāng)動(dòng)加一,當(dāng)RS為為“0”時(shí)而時(shí)而R/W為為“1”時(shí),地址計(jì)數(shù)時(shí),地址計(jì)數(shù)器的值會(huì)被讀取到器的值會(huì)被讀取到DB6DB0 (字節(jié)的低字節(jié)的低7位位)中。中。提供提供64256點(diǎn)陣點(diǎn)陣GDRAM(Graphic Display Ram)繪圖區(qū)域繪圖區(qū)域。IRAM(ICON RAM):1516 位位點(diǎn)陣點(diǎn)陣總共總共 240 點(diǎn)點(diǎn)的的圖標(biāo)圖標(biāo)RAM, 存存儲(chǔ)將被顯示的圖標(biāo)數(shù)據(jù)儲(chǔ)將被顯示的圖標(biāo)數(shù)據(jù)(應(yīng)用中少見)。(應(yīng)用中少見)。GDRAM1、OCMJ4X

53、8C液晶顯示模塊概述液晶顯示模塊概述為了便于和多種微處理器、單片機(jī)接口,模塊提供了為了便于和多種微處理器、單片機(jī)接口,模塊提供了8位并行位并行、2線串行線串行、3線串行三種接口方式線串行三種接口方式。OCMJ4X8C的的2線串行接口方式符合線串行接口方式符合SPI時(shí)序標(biāo)準(zhǔn)時(shí)序標(biāo)準(zhǔn), 大大大簡(jiǎn)化了液晶顯示模塊與單片機(jī)之間的接口設(shè)計(jì)。大簡(jiǎn)化了液晶顯示模塊與單片機(jī)之間的接口設(shè)計(jì)。OCMJ4X8C模塊的工作電壓為模塊的工作電壓為4.55.5V, 具有睡眠、具有睡眠、正常及低功耗工作模式正常及低功耗工作模式, 可滿足系統(tǒng)各種工作電壓及可滿足系統(tǒng)各種工作電壓及便攜式儀器低功耗的要求。便攜式儀器低功耗的要求

54、。ST7920: 液晶屏的控制器液晶屏的控制器/驅(qū)動(dòng)器驅(qū)動(dòng)器47資料資料:FYD12864液晶中文顯示模塊液晶中文顯示模塊(74頁頁).docOCMJ4X8C: C系列中文液晶顯示模塊使用說明系列中文液晶顯示模塊使用說明書書(金金鵬電鵬電子子) 中中文字庫型液晶顯示模塊使用說明書文字庫型液晶顯示模塊使用說明書 (北北京博研佳信電子科技發(fā)展有限公京博研佳信電子科技發(fā)展有限公司司)亞斌亞斌ST7920系列中文圖形液晶模塊使用說明書系列中文圖形液晶模塊使用說明書(35頁頁).pdf ST7920:中文圖形液晶屏中文圖形液晶屏(LCD)的控制器的控制器/驅(qū)動(dòng)驅(qū)動(dòng)器說明書器說明書2、OCMJ4X8C模塊

55、引腳模塊引腳表表10-1 OCMJ4X8C模塊引腳及對(duì)應(yīng)說明模塊引腳及對(duì)應(yīng)說明48引腳引腳名稱名稱方向方向說明說明1VSS-GND(0V)2VDD-邏輯電源邏輯電源(+5v)3VO-LCD電源電源(懸空懸空)4RS(CS)H/L I并行并行:選擇寄存器選擇寄存器, H:(讀讀/寫寫)數(shù)據(jù)數(shù)據(jù), L:(寫寫)指令碼指令碼,或讀忙標(biāo)志或讀忙標(biāo)志,地址計(jì)數(shù)器地址計(jì)數(shù)器;串行串行:片選片選,高電平有效高電平有效5R/W(STD) H/L I并行并行: H(高電平高電平):讀讀, L:寫寫;串行串行:串行輸入數(shù)據(jù)串行輸入數(shù)據(jù)6 E(SCLK) H/L I并行并行:使能使能; 串行串行:時(shí)鐘時(shí)鐘7DB0I

56、/O數(shù)據(jù)數(shù)據(jù)08DB1I/O數(shù)據(jù)數(shù)據(jù)19DB2I/O數(shù)據(jù)數(shù)據(jù)210DB3I/O數(shù)據(jù)數(shù)據(jù)3SID引腳引腳 名稱名稱 方向方向說明說明11 DB4 I/O數(shù)據(jù)數(shù)據(jù)412 DB5 I/O數(shù)據(jù)數(shù)據(jù)513 DB6 I/O數(shù)據(jù)數(shù)據(jù)614 DB7 I/O數(shù)據(jù)數(shù)據(jù)715 PSBH/L IH: 并行模式并行模式L: 串行模式串行模式16NC-空腳空腳17 /RSTH/L I 復(fù)位復(fù)位(低電平有效低電平有效)18NC-空腳空腳19LEDA-背光源正極背光源正極(LED+5V)20LEDK-背光源負(fù)極背光源負(fù)極(LED-OV)對(duì)比對(duì)比度度(亮度亮度)調(diào)調(diào)整整3、信息傳輸與接口時(shí)序、信息傳輸與接口時(shí)序(1)并行接口方

57、式)并行接口方式 當(dāng)當(dāng)PSB腳腳接高電位時(shí)接高電位時(shí), 模塊進(jìn)入模塊進(jìn)入并行傳輸模式并行傳輸模式, 單片機(jī)單片機(jī)與液晶模塊通過與液晶模塊通過RS, RW, E, D7D0完成信息傳輸。完成信息傳輸。49并行接口方式時(shí)并行接口方式時(shí), 單片機(jī)單片機(jī)寫數(shù)據(jù)到模塊時(shí)序?qū)憯?shù)據(jù)到模塊時(shí)序圖如圖示。圖如圖示。(a)單片機(jī)寫數(shù)據(jù)到模塊時(shí)序圖)單片機(jī)寫數(shù)據(jù)到模塊時(shí)序圖 寫寫(1)并行接口方式)并行接口方式 并行接口方式時(shí)并行接口方式時(shí), 單片機(jī)單片機(jī)從模塊中讀取數(shù)據(jù)從模塊中讀取數(shù)據(jù)時(shí)序圖。時(shí)序圖。50(b)單片機(jī)從模塊讀取數(shù)據(jù)時(shí)序圖)單片機(jī)從模塊讀取數(shù)據(jù)時(shí)序圖讀讀(2)串行接口方式)串行接口方式當(dāng)當(dāng)PSB腳腳

58、接低電位時(shí),模塊將進(jìn)入串行模式接低電位時(shí),模塊將進(jìn)入串行模式。串行傳輸串行傳輸流程流程:首先傳輸起始首先傳輸起始字節(jié)字節(jié)(含含五五個(gè)個(gè)連續(xù)連續(xù)“1”, 即同步字符串即同步字符串)。傳輸傳輸起始字節(jié)起始字節(jié)時(shí)時(shí), 傳輸計(jì)數(shù)被重置且傳輸計(jì)數(shù)被重置且串行傳輸將被串行傳輸將被同同步步, 再再跟隨的兩個(gè)跟隨的兩個(gè)位位分分別指定傳輸方向別指定傳輸方向位位(RW)及及寄存寄存器選擇器選擇位位(RS), 最后最后第八位為第八位為 “0”。在接收到同步位及在接收到同步位及RW和和RS的的起始字節(jié)起始字節(jié)后后, 每每一個(gè)一個(gè)8位位指令指令將被分為兩個(gè)字節(jié)接收將被分為兩個(gè)字節(jié)接收到到: 高高4位位(D7D4)的指令

59、被的指令被放在第一個(gè)字節(jié)的放在第一個(gè)字節(jié)的LMSB高四高四位位部部分分, 而而低低4位位(D3D0)的的指令資料則被放在第二個(gè)指令資料則被放在第二個(gè)字節(jié)字節(jié)的的LMSB高四位高四位部分部分,至于至于相關(guān)的另四位則都為相關(guān)的另四位則都為0。51(2)串行接口方式)串行接口方式串行接口方式時(shí)的時(shí)序圖如圖所示。串行接口方式時(shí)的時(shí)序圖如圖所示。52圖圖10-8 串行接口方式的時(shí)序圖串行接口方式的時(shí)序圖 SID書書STD4、編程指令集、編程指令集53表表10-2 OCMJ4X8C模塊的模塊的基本基本編程指令集編程指令集:指令控制信號(hào)指令碼執(zhí)行時(shí)間RS R/W D7 D6 D5 D4 D3 D2 D1 D

60、0清除顯示0000000001 1.6 ms地址歸位000000001 72us進(jìn)入點(diǎn)設(shè)定00000001 I/DS72us顯示狀態(tài)開/關(guān)0000001DCB72us游標(biāo)或顯示移位控制000001 S/C R/L 72us功能設(shè)定00001DL 0/RE 72us設(shè)定CGRAM地址0001 A5 A4 A3 A2 A1 A0 72us設(shè)定DDRAM地址001 A6 A5 A4 A3 A2 A1 A0 72us讀取忙碌標(biāo)志BF和地址01BF A6 A5 A4 A3 A2 A1 A0 72us寫資料到RAM10D7 D6 D5 D4 D3 D2 D1 D0 72us讀出RAM的值11D7 D6 D

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論