顯示器與鍵盤接口技術(shù).ppt_第1頁
顯示器與鍵盤接口技術(shù).ppt_第2頁
顯示器與鍵盤接口技術(shù).ppt_第3頁
顯示器與鍵盤接口技術(shù).ppt_第4頁
顯示器與鍵盤接口技術(shù).ppt_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、,非編碼鍵盤接口,鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),第一節(jié) LED數(shù)碼管顯示接口,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-2 數(shù)碼管靜態(tài)顯示實例,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-3 數(shù)碼管靜態(tài)顯示程序流程圖,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),解:相應(yīng)程序如下:,CN

2、T_H EQU 61H ;計數(shù)待顯示十位數(shù)據(jù) CNT_L EQU 60H ;計數(shù)待顯示個位數(shù)據(jù) ORG 0000H LJMP MAIN ORG 0066H MAIN: MOV SP, #70H MOV CNT_H, #00H ;清除RAM 61H、60H單元內(nèi)容 MOV CNT_L, #00H LCALL DISPLAY ;調(diào)用顯示子程序,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),LOOP:LCALLDELAY1S INCCNT_L MOVA, CNT_L XRLA, #10 JNZDSP MOVCNT_L, #00H INCCNT_H MOVA, CNT_H XRLA, #

3、10 JNZDSP MOVCNT_H, #00H,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),DSP:LCALLDISPLAY ;調(diào)用顯示子程序 LJMPLOOP ;* DISPLAY:MOVDPTR, #TABLE ;顯示子程序 MOVA, CNT_H MOVCA, A+DPTR MOVP3, A MOVDPTR, #TABLE MOVA, CNT_L MOVCA, A+DPTR MOVP1, A RET,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),;* DELAY1S: MOVR3, #04H;延時1秒子程序 LOOP3: MOVR2, #0FAH LOOP

4、2: MOVR1, #0F9H NOP LOOP1: NOP NOP DJNZR1, LOOP1 DJNZR2, LOOP2 DJNZR3, LOOP3 RET TABLE: DB C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-4 數(shù)碼管動態(tài)顯示實例,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-5 數(shù)碼管動態(tài)顯示程序流程圖,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),解:相應(yīng)程序如下:,H_C EQU P1.0 ;P1.0控制十位數(shù)碼管陽

5、極 L_C EQU P1.1 ;P1.1控制個位數(shù)碼管陽極 PORT_G EQU P3 ;數(shù)碼管數(shù)據(jù)端 DSP_C EQU 20H.0 ;顯示控制位:1-顯示個位,0-顯示十位 CNT_H EQU 61H ;計數(shù)待顯示十位數(shù)據(jù) CNT_L EQU 60H ;計數(shù)待顯示個位數(shù)據(jù) ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),ORG0066H MAIN:MOVSP, #70H MOVCNT_H, #00H;清除RAM 61H、60H單元內(nèi)容 MOVCNT_L, #00H MOVTMOD, #01H M

6、OVTH0, #0F0H;T0裝初值,延時4ms MOVTL0, #5FH SETBET0 SETBEA SETBTR0,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),LOOP:LCALLDELAY1S;調(diào)用延時1秒子程序 INCCNT_L MOVA, CNT_L XRLA,#10 JNZLOOP MOVCNT_L,#00H INCCNT_H MOVA, CNT_H XRLA,#10 JNZLOOP MOVCNT_H,#00H LJMPLOOP,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),;* INT_T0:PUSHACC;T0中斷,實現(xiàn)動態(tài)顯示 PUSHPSW

7、CPLDSP_C;顯示子程序 JBDSP_C, DSPL CLRL_C SETBH_C MOVDPTR, #TABLE MOVA, CNT_H MOVCA, A+DPTR LJMPDPS_END,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),DSPL: CLRH_C SETBL_C MOVDPTR, #TABLE MOVA, CNT_L MOVCA, A+DPTR DPS_END: MOVPORT_G, A MOVTH0, #0F0H;T0重裝初值 MOVTL0, #5FH POPPSW POPACC RET,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),;* DE

8、LAY1S:MOVR3, #04H;延時1秒子程序 LOOP3:MOVR2, #0FAH LOOP2:MOVR1, #0F9H NOP LOOP1:NOP NOP DJNZR1, LOOP1 DJNZR2, LOOP2 DJNZR3, LOOP3 RET TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H END,第七章 顯示器與鍵盤接口技術(shù),第二節(jié) 非編碼鍵盤接口,圖 7-6 按鍵觸點的機械抖動,觸點去抖動:分軟件去抖動(軟件延時10ms) 和硬件去抖動; 鍵盤可以分為獨立連接式和行列(矩陣)式 兩類,每一類又可根據(jù)對鍵盤的譯碼

9、方法分為 編碼鍵盤和非編碼鍵盤兩種類型。,第七章 顯示器與鍵盤接口技術(shù),第二節(jié) 非編碼鍵盤接口,編碼鍵盤是通過一個編碼電路來識別閉合鍵的鍵碼, 具有去抖動功能,但硬件較復雜,PC機所用的標準鍵盤 就屬于這種; 非編碼鍵盤是通過軟件來識別鍵碼,需占用CPU一定 的時間,但硬件簡單,可以方便地增減鍵的數(shù)量,單片 機應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用; 本節(jié)僅介紹非編碼鍵盤的原理和接口電路。,第七章 顯示器與鍵盤接口技術(shù),第二節(jié) 非編碼鍵盤接口,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-7 AT89C51對獨立式鍵盤的接口,實例7-3:根據(jù)如圖7-7所示的AT89C51單片機與獨立式鍵盤的

10、接口 電路,請用查詢的方式寫出其鍵盤掃描程序。,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),解:相應(yīng)程序如下:,ORG 0100H KEYSCAN: MOV P1, #0FFH ;置P1口為輸入態(tài) MOV A, P1 ;讀入鍵值 LCALL DELAY10ms ;延時10ms,去抖動 MOV B, P1 ;再讀鍵值 CJNE A, B, GORET ;兩次鍵值不一致,直接返回 JNB ACC.0, KEY0 ;0號鍵按下,轉(zhuǎn)0號鍵功能程序 JNB ACC.1, KEY1 ;1號鍵按下,轉(zhuǎn)1號鍵功能程序 JNB ACC.2, KEY2 ;2號鍵按下,轉(zhuǎn)2號鍵功能程序 JNB ACC.3

11、, KEY3 ;3號鍵按下,轉(zhuǎn)3號鍵功能程序 JNB ACC.4, KEY4 ;4號鍵按下,轉(zhuǎn)4號鍵功能程序 JNB ACC.5, KEY5 ;5號鍵按下,轉(zhuǎn)5號鍵功能程序 JNB ACC.6, KEY6 ;6號鍵按下,轉(zhuǎn)6號鍵功能程序 JNB ACC.7, KEY7 ;7號鍵按下,轉(zhuǎn)7號鍵功能程序 GORET: RET ;從鍵盤服務(wù)子程序返回,第一節(jié) LED數(shù)碼管顯示接口,第七章 顯示器與鍵盤接口技術(shù),KEY0:LCALLFUNC0;執(zhí)行0號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY1:LCALLFUNC1;執(zhí)行1號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY2:LCALL

12、FUNC2;執(zhí)行2號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY3:LCALLFUNC3;執(zhí)行3號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY4:LCALLFUNC4;執(zhí)行4號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY5:LCALLFUNC5;執(zhí)行5號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY6:LCALLFUNC6;執(zhí)行6號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回 KEY7:LCALLFUNC7;執(zhí)行7號鍵功能服務(wù)程序 RET;從鍵盤服務(wù)子程序返回,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-8 44矩陣鍵盤電路圖,第二節(jié) 非編碼鍵盤

13、接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-8 44矩陣鍵盤電路圖,1).判別是否有鍵按下,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),圖 7-9 鍵盤掃描子程序流程圖,實例7-4:根據(jù)圖7-8所示的44矩陣鍵盤電路圖 (程序流程圖如圖7-9所示),請寫出其鍵盤掃描程序。,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),解:相應(yīng)程序如下:,KEYSCAN:ACALL KSCAN ;查有沒有鍵按下 JZ GORET ;A

14、=0表示沒有鍵按下,返回 LCALL DELAY10ms ;有鍵按下,延時10ms,防抖動。 ;(延時10ms的子程序DELAY10ms略) ACALL KSCAN ;再查有沒有鍵按下 JZ GORET ;A=0表示沒有鍵按下,返回 ACALL KEYSUM ;有鍵按下,掃描確定鍵值 RL A RL A ;鍵值4 ; 主要考慮FTAB 以下指令LCALL(3字節(jié))和RET(1字節(jié))的總 ;字節(jié)數(shù)為4 MOV DPTR, #FTAB JMP A+DPTR ;散轉(zhuǎn),執(zhí)行所按鍵相應(yīng)功能子程序GORET: RET,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),FTAB:LCALLFUNC0;調(diào)

15、用0號鍵功能子程序 RET LCALLFUNC1;調(diào)用1鍵功能子程序 RET . . . LCALLFUNC15;調(diào)用15鍵功能子程序 RET LCALLERRSUB;鍵值為16,異常處理 RET,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),; KSCAN為判斷有無鍵按下子程序,表示有鍵按下 KSCAN: MOVP1, #0F0H ;行線置低電平,列線置輸入態(tài) MOVA, P1 ;讀列線數(shù)據(jù) CPLA ;A取反 ANLA, #0F0H ;屏蔽行線 RET ;返回,表示有鍵按下 ; KEYSUM為求鍵值子程序,鍵值在A中 KEYSUM:MOVR6, #00H ;R6存放每行最左鍵的鍵值

16、,初始清零 MOVR7, #0FEH ;準備掃描第0行,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),LOOP:MOVP1, R7;逐行輸出0掃描 MOVA, P1;讀列線數(shù)據(jù) SWAPA;A的高低半字節(jié)交換 JBACC.0, L1;第0列無鍵按下,轉(zhuǎn)查第1列 MOVA, #0;第0列有鍵按下, SJMPKSOLVE;轉(zhuǎn)求鍵值 L1:JBACC.1, L2;第1列無鍵按下,轉(zhuǎn)查第2列 MOVA, #1;第1列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值 L2:JBACC.2, L3;第2列無鍵按下,轉(zhuǎn)查第3列 MOVA, #2;第2列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值 L3:JBAC

17、C.3, NEXT;4列均無鍵按下,本行掃描結(jié)束 MOVA, #3;第3列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值,第二節(jié) 非編碼鍵盤接口,第七章 顯示器與鍵盤接口技術(shù),NEXT: MOV A, R7;準備掃描下一行 JNB ACC.3,ERR;掃描完未讀到鍵值,異常處理 RL A;R7循環(huán)左移一位 MOV R7, A;得到下一行行掃描字 ADD R6, #4;得到下一行首鍵鍵值 SJMP LOOP;轉(zhuǎn)LOOP,掃描下一行 ERR: MOV A, #16;鍵值賦16,表示出錯! RET KSOLVE:ADD A,R6;得鍵值 PUSH ACC;鍵值進棧暫存 WAIT: ACALL KSCAN;

18、查按鍵釋放否?防止重復執(zhí)行鍵功能 JNZ WAIT;沒有釋放,等待 POP ACC;鍵值出棧 RET,在單片機應(yīng)用系統(tǒng)中,為節(jié)省I/O口線,可將 顯示電路和鍵盤做在一起,構(gòu)成實用的鍵盤、 顯示器電路。 圖7-10 所示為實用的鍵盤/顯示器接口電路。,第七章 顯示器與鍵盤接口技術(shù),第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),第三節(jié) 鍵盤與顯示系統(tǒng),圖 7-10 AT89C51對鍵盤/LED的接口,圖7-10所示的44矩陣鍵盤電路已在第二節(jié)中 介紹過,鍵盤掃描程序與實例7-4介紹的KEYSCAN 子程序相同; 圖7-10所示的4位LED動態(tài)顯示電路與圖7-4 介紹的電路相同,只是LED的

19、位數(shù)變成4位 。其 動態(tài)顯示子程序如下:,第七章 顯示器與鍵盤接口技術(shù),第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),第三節(jié) 鍵盤與顯示系統(tǒng),DPLAY: MOV R0,#30H ;R0指針指向顯示緩沖區(qū)首址 MOV DPTR,#SEGTAB MOV R2,#01H ;置位選碼初值 MOV A,R2 DISP: MOV P1,A ;輸出位選碼 MOV A,R0 ;取出要顯示的數(shù),準備查段選碼 MOVC A,A+DPTR ;查字型碼 MOV P3,A ;段選碼送P3口 ACALL DELAY1ms ;延時1ms。延時子程序DELAY1ms略 INC R0 ;修改顯示緩沖區(qū)單元地址 MOV

20、 A,R2 JB ACC.3,GORET;4位顯示完否? RL A ;未顯示完,位選碼左移1位 MOV R2,A AJMP DISP GORET: RET SEGTAB:DB C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H DB 88H,83H,C6H,A1H,86H,8EH ;段選碼表“0,1,2,,D,E,F”,第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),圖 7-11 鍵盤、顯示程序流程圖,實例7-5:請寫出圖7-11所示的鍵盤、顯示程序流程圖對應(yīng)的程序 。,第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),解:相應(yīng)程序如下:,ORG0000H

21、 LJMPMAIN ORG0100H MAIN: . ;初始化部分 . . KEYSCAN:LCALLKSCAN ;查有沒有鍵按下 JZ KS1 ;A=0表示沒有鍵按下,轉(zhuǎn)KS1 AJMPKS2 KS1: LCALLDPLAY ;調(diào)用動態(tài)顯示子程序,顯示一遍 AJMPKEYSCAN,第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),;以下循環(huán)次數(shù)L的選取要使顯示子程序運行總時間約為10ms,作為防 ;抖動延時。 KS2:MOVR3, #L;防抖動延時10ms DELY:LCALLDPLAY;調(diào)用動態(tài)顯示子程序,顯示一遍 DJNZR3, DELY;延時結(jié)束 LCALLKSCAN;查有沒有鍵按

22、下 JZKS1;A=0表示沒有鍵按下,轉(zhuǎn)KS1 LCALLKEYSUM;有鍵按下,行掃描法確定鍵值 ;以下條指令完成鍵值中的內(nèi)容乘以倍 MOVR2, A RL A ADDA,R2 RL A;鍵值6,第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),; 主要考慮FTAB 以下指令LCALL(3字節(jié))和LJMP(3字節(jié))的總 ;字節(jié)數(shù)為6 MOVDPTR, #FTAB JMPA+DPTR;散轉(zhuǎn),執(zhí)行所按鍵相應(yīng)功能子程序 FTAB:LCALLFUNC0;調(diào)用0號鍵功能子程序 LJMPKS1;程序進入循環(huán) LCALLFUNC1;調(diào)用1鍵功能子程序 LJMPKS1;程序進入循環(huán) . . . LCALLFUNC15;調(diào)用15鍵功能子程序 LJMPKS1;程序進入循環(huán) LCALLERRSUB;鍵值為16,異常處理 LJMPKS1;程序進入循環(huán),第三節(jié) 鍵盤與顯示系統(tǒng),第七章 顯示器與鍵盤接口技術(shù),; KSCAN為判有無鍵按下子程序,表示有鍵按下 KSCAN:MOV P1, #0F0H;行線置低電平,列線置輸入態(tài) MOV A, P1;讀列線數(shù)據(jù) CPL A;A取反 ANL A, #0F0H;屏蔽

溫馨提示

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

最新文檔

評論

0/150

提交評論