第7章顯示器與鍵盤接口技術(shù)ppt課件_第1頁
第7章顯示器與鍵盤接口技術(shù)ppt課件_第2頁
第7章顯示器與鍵盤接口技術(shù)ppt課件_第3頁
第7章顯示器與鍵盤接口技術(shù)ppt課件_第4頁
第7章顯示器與鍵盤接口技術(shù)ppt課件_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、非編碼鍵盤接口 鍵盤與顯示系統(tǒng) 第七章 顯示器與鍵盤接口技術(shù) LED數(shù)碼管顯示接口 .LED發(fā)光二極管是單片機(jī)系統(tǒng)的重要外設(shè),用于顯示控制過程和運(yùn)算結(jié)果。 第七章 顯示器與鍵盤接口技術(shù)第一節(jié) LED數(shù)碼管顯示接口.1. LED數(shù)碼管顯示原理 LED顯示器是單片機(jī)運(yùn)用系統(tǒng)常用的輸出器件。由假設(shè)干發(fā)光二極管組成。 控制不同組合的發(fā)光二極管導(dǎo)通,就能顯示出各種不同的字形。這種顯示器可分為共陰極和共陽極兩種,它們的構(gòu)造分別如右圖。 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)(a) 外型 (b) 共陰極 (c) 共陽極 圖 7-1 LED顯示器構(gòu)造圖 .表7-1 八段LED段碼表第一節(jié) L

2、ED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)顯示字符共陰極接法八段狀態(tài) s 共陰極接法段碼(十六進(jìn)制)共陽極接法段碼(十六進(jìn)制)0001111113FHC0H10000011006HF9H2010110115BHA4H3010011114FHB0H40110011066H99H5011011016DH92H6011111017DH82H70000011107HF8H8011111117FH80H9011011116FH90HA0111011177H88Hb011111007CH83Hc0011100139HC6Hd010111105EHA1HE0111100179H86HF011100017

3、1H8EH滅(空格)0000000000HFFHP0111001173H8CHH0111011076H89H1000000080H7FH0100000040HBFH.2.數(shù)碼管顯示器的顯示方式 單片機(jī)運(yùn)用系統(tǒng) ,通常由多塊LED顯示器構(gòu)成一個(gè)N位的LED顯示器; N位LED顯示器有N根位選線和8N根段選線; 位選線用于選中一個(gè)LED顯示器,段選線控制顯示的字形。 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)顯示方式分類靜態(tài)顯示 動(dòng)態(tài)顯示 .1.數(shù)碼管顯示器的靜態(tài)顯示方式 靜態(tài)顯示是指LED顯示器顯示某一字符時(shí),相應(yīng)的發(fā)光二極管恒定導(dǎo)通或恒定截止。 圖7-2所示為單片機(jī)AT89C51

4、控制的2位靜態(tài)LED顯示器接口電路,圖中顯示器為共陽極顯示器。 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)圖 7-2 數(shù)碼管靜態(tài)顯示實(shí)例 . 圖7-3所示流程圖:完成099的計(jì)數(shù)功能。其中LED2顯示十位計(jì)數(shù)值,LED1顯示個(gè)位計(jì)數(shù)值。 靜態(tài)顯示唯有當(dāng)計(jì)數(shù)值發(fā)生改動(dòng)時(shí),才進(jìn)展數(shù)據(jù)的顯示更新! 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)圖 7-3 數(shù)碼管靜態(tài)顯示程序流程圖 .實(shí)例7-1:根據(jù)如圖7-2所示的數(shù)碼管靜態(tài)顯示實(shí)例和圖7-3所示的流程圖,請(qǐng)列寫出實(shí)現(xiàn)099循環(huán)計(jì)數(shù)靜態(tài)顯示的程序( )。 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)解:相應(yīng)程序如下

5、: CNT_H EQU 61H ;計(jì)數(shù)待顯示十位數(shù)據(jù)CNT_L EQU 60H ;計(jì)數(shù)待顯示個(gè)位數(shù)據(jù) ORG 0000HLJMP MAINORG 0066HMAIN: MOV SP, #70HMOV CNT_H, #00H ;去除RAM 61H、60H單元內(nèi)容MOV CNT_L, #00HLCALL DISPLAY ;調(diào)用顯示子程序.第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)LOOP:LCALLDELAY1SINCCNT_LMOVA, CNT_LXRLA, #10JNZDSPMOVCNT_L, #00HINCCNT_HMOVA, CNT_HXRLA, #10JNZDSPMOVCN

6、T_H, #00H.第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)DSP:LCALLDISPLAY ;調(diào)用顯示子程序LJMPLOOP;*DISPLAY:MOVDPTR, #TABLE ;顯示子程序MOVA, CNT_HMOVCA, A+DPTRMOVP3, AMOVDPTR, #TABLEMOVA, CNT_LMOVCA, A+DPTRMOVP1, ARET.第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù);*DELAY1S: MOVR3, #04H;延時(shí)1秒子程序LOOP3: MOVR2, #0FAHLOOP2: MOVR1, #0F9H NOPLOOP1: NOP NOP

7、 DJNZR1, LOOP1 DJNZR2, LOOP2 DJNZR3, LOOP3 RETTABLE: DB C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END .2.數(shù)碼管顯示器的動(dòng)態(tài)顯示方式 動(dòng)態(tài)顯示是一位一位地輪番循環(huán)點(diǎn)亮各位顯示器 。 每位延時(shí)點(diǎn)亮的時(shí)間為15ms 。 利用人眼的視覺暫留效應(yīng),就可以給人同時(shí)顯示的覺得。圖7-4所示為單片機(jī)AT89C51控制的2位動(dòng)態(tài)LED顯示器接口電路 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)圖 7-4 數(shù)碼管動(dòng)態(tài)顯示實(shí)例 .圖7-5所示流程圖:完成0099的計(jì)數(shù)功能。 共陽極顯示器 ! 為

8、了實(shí)現(xiàn)電路的動(dòng)態(tài)掃描,程序采用T0溢出中斷方式,實(shí)現(xiàn)4ms的動(dòng)態(tài)掃描。 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)圖 7-5 數(shù)碼管動(dòng)態(tài)顯示程序流程圖 開 始初始化系統(tǒng)T0定時(shí)器初始化、T0開中斷延時(shí)1S個(gè)位計(jì)數(shù)值加1個(gè)位計(jì)數(shù)值=10?個(gè)位計(jì)數(shù)值清0,且十位計(jì)數(shù)值加1十位計(jì)數(shù)值=10?十位計(jì)數(shù)值清0結(jié) 束YNYN動(dòng)態(tài)顯示T0中斷效力子程序顯示控制位取反顯示控制位=1?個(gè)位數(shù)碼管陽極置高電平十位數(shù)碼管陽極置低電平查找個(gè)位數(shù)據(jù)編碼個(gè)位數(shù)碼管陽極置低電平十位數(shù)碼管陽極置高電平查找十位數(shù)據(jù)編碼數(shù)據(jù)端口=數(shù)據(jù)編碼恢復(fù)現(xiàn)場(chǎng)維護(hù)現(xiàn)場(chǎng) 中斷前往YNT0重裝初值.實(shí)例7-2:根據(jù)如圖7-4所示的數(shù)

9、碼管動(dòng)態(tài)顯示實(shí)例和圖7-5所示的流程圖,請(qǐng)編寫實(shí)現(xiàn)099循環(huán)計(jì)數(shù)動(dòng)態(tài)顯示程序 ( )。 第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)解:相應(yīng)程序如下: H_C EQU P1.0 ;P1.0控制十位數(shù)碼管陽極L_C EQU P1.1 ;P1.1控制個(gè)位數(shù)碼管陽極PORT_G EQU P3 ;數(shù)碼管數(shù)據(jù)端DSP_C EQU 20H.0 ;顯示控制位:1-顯示個(gè)位,0-顯示十位CNT_H EQU 61H ;計(jì)數(shù)待顯示十位數(shù)據(jù)CNT_L EQU 60H ;計(jì)數(shù)待顯示個(gè)位數(shù)據(jù) ORG 0000H LJMP MAIN ORG 000BH LJMP INT_T0.第一節(jié) LED數(shù)碼管顯示接口第七

10、章 顯示器與鍵盤接口技術(shù)ORG0066HMAIN:MOVSP, #70HMOVCNT_H, #00H;去除RAM 61H、60H單元內(nèi)容MOVCNT_L, #00HMOVTMOD, #01HMOVTH0, #0F0H;T0裝初值,延時(shí)4msMOVTL0, #5FHSETBET0SETBEASETBTR0 .第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)LOOP:LCALLDELAY1S;調(diào)用延時(shí)1秒子程序INCCNT_LMOVA, CNT_LXRLA,#10JNZLOOPMOVCNT_L,#00HINCCNT_HMOVA, CNT_HXRLA,#10JNZLOOPMOVCNT_H,#

11、00HLJMPLOOP.第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù);*INT_T0:PUSHACC;T0中斷,實(shí)現(xiàn)動(dòng)態(tài)顯示PUSHPSWCPLDSP_C;顯示子程序JBDSP_C, DSPLCLRL_CSETBH_CMOVDPTR, #TABLE MOVA, CNT_HMOVCA, A+DPTRLJMPDPS_END .第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)DSPL: CLRH_C SETBL_C MOVDPTR, #TABLE MOVA, CNT_L MOVCA, A+DPTRDPS_END: MOVPORT_G, A MOVTH0, #0F0H;T0重裝初值

12、 MOVTL0, #5FH POPPSW POPACC RETI.第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù);*DELAY1S:MOVR3, #04H;延時(shí)1秒子程序LOOP3:MOVR2, #0FAHLOOP2:MOVR1, #0F9HNOPLOOP1:NOPNOPDJNZR1, LOOP1DJNZR2, LOOP2DJNZR3, LOOP3RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H END .鍵盤是假設(shè)干按鍵的集合,是單片機(jī)的常用輸入設(shè)備,操作人員可以經(jīng)過鍵盤輸入數(shù)據(jù)或命令,實(shí)現(xiàn)人機(jī)通訊;單片機(jī)的鍵

13、盤通常運(yùn)用機(jī)械觸點(diǎn)式按鍵開關(guān); 圖 7-6 反映了按鍵觸點(diǎn)的機(jī)械抖動(dòng)情況。第七章 顯示器與鍵盤接口技術(shù)第二節(jié) 非編碼鍵盤接口 圖 7-6 按鍵觸點(diǎn)的機(jī)械抖動(dòng) .觸點(diǎn)去抖動(dòng):分軟件去抖動(dòng)軟件延時(shí)10ms和硬件去抖動(dòng);鍵盤可以分為獨(dú)立銜接式和行列矩陣式兩類,每一類又可根據(jù)對(duì)鍵盤的譯碼方法分為編碼鍵盤和非編碼鍵盤兩種類型。 第七章 顯示器與鍵盤接口技術(shù)第二節(jié) 非編碼鍵盤接口 .編碼鍵盤是經(jīng)過一個(gè)編碼電路來識(shí)別閉合鍵的鍵碼,具有去抖動(dòng)功能,但硬件較復(fù)雜,PC機(jī)所用的規(guī)范鍵盤就屬于這種; 非編碼鍵盤是經(jīng)過軟件來識(shí)別鍵碼,需占用CPU一定的時(shí)間,但硬件簡(jiǎn)單,可以方便地增減鍵的數(shù)量,單片機(jī)運(yùn)用系統(tǒng)中得到廣泛

14、的運(yùn)用; 本節(jié)僅引見非編碼鍵盤的原理和接口電路。 第七章 顯示器與鍵盤接口技術(shù)第二節(jié) 非編碼鍵盤接口 .1.獨(dú)立式按鍵接口 獨(dú)立式鍵盤是每個(gè)按鍵獨(dú)立地占用一根數(shù)據(jù)輸入線,圖7-7所示。 通常運(yùn)用于按鍵數(shù)量較少的場(chǎng)所。 第二節(jié) 非編碼鍵盤接口 第七章 顯示器與鍵盤接口技術(shù)圖 7-7 AT89C51對(duì)獨(dú)立式鍵盤的接口 .實(shí)例7-3:根據(jù)如圖7-7所示的AT89C51單片機(jī)與獨(dú)立式鍵盤的接口電路,請(qǐng)用查詢的方式寫出其鍵盤掃描程序。 第二節(jié) 非編碼鍵盤接口第七章 顯示器與鍵盤接口技術(shù)解:相應(yīng)程序如下: ORG 0100HKEYSCAN: MOV P1, #0FFH ;置P1口為輸入態(tài) MOV A, P

15、1 ;讀入鍵值 LCALL DELAY10ms ;延時(shí)10ms,去抖動(dòng) MOV B, P1 ;再讀鍵值 CJNE A, B, GORET ;兩次鍵值不一致,直接前往 JNB ACC.0, KEY0 ;0號(hào)鍵按下,轉(zhuǎn)0號(hào)鍵功能程序 JNB ACC.1, KEY1 ;1號(hào)鍵按下,轉(zhuǎn)1號(hào)鍵功能程序 JNB ACC.2, KEY2 ;2號(hào)鍵按下,轉(zhuǎn)2號(hào)鍵功能程序 JNB ACC.3, KEY3 ;3號(hào)鍵按下,轉(zhuǎn)3號(hào)鍵功能程序 JNB ACC.4, KEY4 ;4號(hào)鍵按下,轉(zhuǎn)4號(hào)鍵功能程序 JNB ACC.5, KEY5 ;5號(hào)鍵按下,轉(zhuǎn)5號(hào)鍵功能程序 JNB ACC.6, KEY6 ;6號(hào)鍵按下,轉(zhuǎn)6

16、號(hào)鍵功能程序 JNB ACC.7, KEY7 ;7號(hào)鍵按下,轉(zhuǎn)7號(hào)鍵功能程序GORET: RET ;從鍵盤效力子程序前往.第一節(jié) LED數(shù)碼管顯示接口第七章 顯示器與鍵盤接口技術(shù)KEY0:LCALLFUNC0;執(zhí)行0號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY1:LCALLFUNC1;執(zhí)行1號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY2:LCALLFUNC2;執(zhí)行2號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY3:LCALLFUNC3;執(zhí)行3號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY4:LCALLFUNC4;執(zhí)行4號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY5:L

17、CALLFUNC5;執(zhí)行5號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY6:LCALLFUNC6;執(zhí)行6號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往KEY7:LCALLFUNC7;執(zhí)行7號(hào)鍵功能效力程序RET;從鍵盤效力子程序前往 .2.行列式非編碼鍵盤接口 行列式鍵盤又稱矩陣式鍵盤。 它是將I/O線的一部分作為行線,另一部分作為列線,按鍵設(shè)置在行線和列線的交叉處。 第二節(jié) 非編碼鍵盤接口 第七章 顯示器與鍵盤接口技術(shù)圖 7-8 44矩陣鍵盤電路圖 .第二節(jié) 非編碼鍵盤接口 第七章 顯示器與鍵盤接口技術(shù)判別能否有鍵按下 識(shí)別按鍵位置行掃描法 鍵值的計(jì)算 圖 7-8 44矩陣鍵盤電路圖 .1

18、.判別能否有鍵按下 首先把I/O口P1.0P1.3 設(shè)置成輸出口,把P1.4P1.7設(shè)置成輸入口,接著把全“0送到P1.0 P1.3,這樣就可以在一切行線x0 x3上得到低電平,然后讀取y0y3上的列值就可以判別能否有鍵按下。 假設(shè)無鍵按下,那么所讀列值必全為“1;假設(shè)有鍵按下,那么所讀列值必因被按按鍵的行、列線接通而不全為“1。 第二節(jié) 非編碼鍵盤接口第七章 顯示器與鍵盤接口技術(shù).2.識(shí)別按鍵位置行掃描法 當(dāng)鍵盤上某一個(gè)按鍵閉合時(shí),那么該按鍵所對(duì)應(yīng)的列線與行線短接。 運(yùn)用“行掃描法來識(shí)別按鍵的位置。第二節(jié) 非編碼鍵盤接口第七章 顯示器與鍵盤接口技術(shù).3.鍵值的計(jì)算 第二節(jié) 非編碼鍵盤接口第七

19、章 顯示器與鍵盤接口技術(shù)設(shè)鍵盤為 矩陣鍵盤,其中, 為行數(shù), 為列數(shù)。假設(shè)由掃描法得按下按鍵的行號(hào)和列號(hào)分別為m和n,那么所按下按鍵的鍵值為: 。. 圖7-9為鍵盤掃描子程序的程序流程圖第二節(jié) 非編碼鍵盤接口第七章 顯示器與鍵盤接口技術(shù)圖 7-9 鍵盤掃描子程序流程圖 .實(shí)例7-4:根據(jù)圖7-8所示的44矩陣鍵盤電路圖程序流程圖如圖7-9所示,請(qǐng)寫出其鍵盤掃描程序。 第二節(jié) 非編碼鍵盤接口第七章 顯示器與鍵盤接口技術(shù)解:相應(yīng)程序如下: KEYSCAN:ACALL KSCAN ;查有沒有鍵按下 JZ GORET ;A=0表示沒有鍵按下,前往 LCALL DELAY10ms ;有鍵按下,延時(shí)10m

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

21、15;調(diào)用15鍵功能子程序RETLCALLERRSUB;鍵值為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存放每行最左鍵的鍵值,初始清零 MOVR7, #0FEH ;預(yù)備掃描第0行 .第二節(jié) 非編碼鍵盤接口第七章 顯示器與鍵盤接口技術(shù)LOOP:MOV

22、P1, 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:JBACC.3, NEXT;4列均無鍵按下,本行掃描終了MOVA, #3;第3列有鍵按下,SJMPKSOLVE;轉(zhuǎn)求鍵值 .第二節(jié) 非編碼鍵盤接口第七章

23、顯示器與鍵盤接口技術(shù)NEXT: MOV A, R7;預(yù)備掃描下一行 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,表示出錯(cuò)! RETKSOLVE:ADD A,R6;得鍵值 PUSH ACC;鍵值進(jìn)棧暫存WAIT: ACALL KSCAN;查按鍵釋放否?防止反復(fù)執(zhí)行鍵功能 JNZ WAIT;沒有釋放,等待 POP ACC;鍵值出棧 RET .在單片機(jī)運(yùn)用系統(tǒng)中,為節(jié)省I/O口線,可將顯示電路和

24、鍵盤做在一同,構(gòu)成適用的鍵盤、顯示器電路。 圖7-10 所示為適用的鍵盤/顯示器接口電路。第七章 顯示器與鍵盤接口技術(shù)第三節(jié) 鍵盤與顯示系統(tǒng) .第七章 顯示器與鍵盤接口技術(shù)第三節(jié) 鍵盤與顯示系統(tǒng) 圖 7-10 AT89C51對(duì)鍵盤/LED的接口 .圖7-10所示的44矩陣鍵盤電路已在第二節(jié)中引見過,鍵盤掃描程序與實(shí)例7-4引見的KEYSCAN子程序一樣; 圖7-10所示的4位LED動(dòng)態(tài)顯示電路與圖7-4 引見的電路一樣,只是LED的位數(shù)變成4位 。其動(dòng)態(tài)顯示子程序如下: 第七章 顯示器與鍵盤接口技術(shù)第三節(jié) 鍵盤與顯示系統(tǒng) .第七章 顯示器與鍵盤接口技術(shù)第三節(jié) 鍵盤與顯示系統(tǒng) DPLAY: MO

25、V R0,#30H ;R0指針指向顯示緩沖區(qū)首址 MOV DPTR,#SEGTAB MOV R2,#01H ;置位選碼初值 MOV A,R2DISP: MOV P1,A ;輸出位選碼 MOV A,R0 ;取出要顯示的數(shù),預(yù)備查段選碼 MOVC A,A+DPTR ;查字型碼 MOV P3,A ;段選碼送P3口 ACALL DELAY1ms ;延時(shí)1ms。延時(shí)子程序DELAY1ms略 INC R0 ;修正顯示緩沖區(qū)單元地址 MOV A,R2 JB ACC.3,GORET;4位顯示完否? RL A ;未顯示完,位選碼左移1位 MOV R2,A AJMP DISPGORET: RETSEGTAB:DB

26、 C0H,F9H,A4H,B0H,99H,92H,82H,F8H,80H,90H DB 88H,83H,C6H,A1H,86H,8EH ;段選碼表“0,1,2,,D,E,F .由于鍵盤和顯示器共用一個(gè)接口電路,所以鍵盤和顯示器的控制要統(tǒng)籌思索,程序中既要完成鍵盤的掃描,又要完成LED顯示器的動(dòng)態(tài)顯示。程序的框圖如圖7-11所示。 第三節(jié) 鍵盤與顯示系統(tǒng) 第七章 顯示器與鍵盤接口技術(shù)圖 7-11 鍵盤、顯示程序流程圖 .實(shí)例7-5:請(qǐng)寫出圖7-11所示的鍵盤、顯示程序流程圖對(duì)應(yīng)的程序 。 第三節(jié) 鍵盤與顯示系統(tǒng) 第七章 顯示器與鍵盤接口技術(shù)解:相應(yīng)程序如下: ORG0000H LJMPMAIN

27、ORG0100HMAIN: . ;初始化部分 . .KEYSCAN:LCALLKSCAN ;查有沒有鍵按下 JZ KS1 ;A=0表示沒有鍵按下,轉(zhuǎn)KS1 AJMPKS2KS1: LCALLDPLAY ;調(diào)用動(dòng)態(tài)顯示子程序,顯示一遍 AJMPKEYSCAN.第三節(jié) 鍵盤與顯示系統(tǒng) 第七章 顯示器與鍵盤接口技術(shù);以下循環(huán)次數(shù)L的選取要使顯示子程序運(yùn)轉(zhuǎn)總時(shí)間約為10ms,作為防;抖動(dòng)延時(shí)。KS2:MOVR3, #L;防抖動(dòng)延時(shí)10msDELY:LCALLDPLAY;調(diào)用動(dòng)態(tài)顯示子程序,顯示一遍DJNZR3, DELY;延時(shí)終了LCALLKSCAN;查有沒有鍵按下JZKS1;A=0表示沒有鍵按下,轉(zhuǎn)KS1LCALLKEYSUM;有鍵按下,行掃描法確定鍵值;以下條指令完成鍵值中的內(nèi)容乘以倍 MOVR2, A RL AADDA,R2RL A;鍵值6 .第三節(jié) 鍵盤與顯示系統(tǒng) 第七章 顯示器與鍵盤接口技術(shù); 主要思索FTAB 以下指令LCALL3字節(jié)和LJMP3字節(jié)的總;字節(jié)數(shù)為6MOVDPTR, #FTABJMPA+DPTR;散轉(zhuǎn),執(zhí)行所按鍵相應(yīng)功能子程序FTAB:LCALLFUNC0;調(diào)用0號(hào)鍵功能子程序LJMPKS1;程序進(jìn)入循環(huán)LCALLFUNC1;調(diào)用1鍵功能子程序LJMPKS1;程序進(jìn)入循環(huán) . . .LCALLFUNC15;調(diào)用15鍵

溫馨提示

  • 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)論