在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 4×4矩陣鍵盤(pán)的工作原理與編程

            4×4矩陣鍵盤(pán)的工作原理與編程

            作者: 時(shí)間:2016-11-26 來(lái)源:網(wǎng)絡(luò) 收藏

            本文引用地址:http://www.biyoush.com/article/201611/321762.htm

            =====================================================

            矩陣鍵盤(pán)鍵值查找程序

            鍵值存入30H單元

            =====================================================

            KEY_SCAN:;識(shí)別鍵盤(pán)有無(wú)鍵按下子程序

            MOVP1,# 0F0H;置列線為0,行線為1

            MOVA,P1;讀P1口

            ANLA,#0F0H;取出高四位

            MOVB,A;暫存到B

            MOVP1,#0FH;置列線為1,行線為0

            MOVA,P1;讀P1口

            ANLA,#0FH;取出低四位

            ORLA,B;高四位與低四位邏輯或運(yùn)算重新組合

            CJNEA,#0FFH,KEY_IN1;0FFH為無(wú)按鍵按下

            RET

            KEY_IN1:;識(shí)別具體按鍵值子程序

            MOVB,A;將按鍵的特征編碼暫存于B

            MOVDPTR,#KEYTABLE

            MOVR3,#0FFH

            KEY_IN2:

            INCR3;順序碼加1

            MOVA,R3

            MOVCA,@A+DPTR;查表

            CJNEA,B,KEY_IN3;比較,若相同則找到按鍵的特征編碼。

            MOVA,R3;找到特征編碼后,取順序碼

            MOV30H,A;存入30H單元

            RET

            KEY_IN3:

            CJNEA,#00H,KEY_IN2;末完,繼續(xù)查

            RET;00H為結(jié)束碼

            ;特征編碼與順序編碼的對(duì)應(yīng)關(guān)系表

            KEY_TABLE:

            DB0EEH,0EDH,0EBH,0E7H,0DEH;0,1,2,3,4,順序碼

            DB0DDH,0DBH,0D7H,0BEH,0BDH;5,6,7,8,9,順序碼

            DB0BBH,0B7H,07EH,07DH,07BH, 077H;A,B,C,D,E,F順序碼

            DB00H;結(jié)束碼

            2、8位數(shù)碼管顯示程序的編程方法

            根據(jù)要使用的數(shù)碼管的具體位置來(lái)確定掃描初值和掃描方向。

            根據(jù)使用數(shù)碼管的個(gè)數(shù)來(lái)確定掃描的位數(shù)。

            準(zhǔn)備好要顯示的數(shù)據(jù),放入相應(yīng)的顯示單元中。

            ===========================================================

            8位數(shù)碼管顯示子程序

            ;從右至左依次點(diǎn)亮8個(gè)數(shù)碼管

            ===========================================================

            DISPLAY:

            MOV R1,#07FH;掃描初值送入R1

            MOV R2,#08H;掃描位數(shù)送入R2

            MOV R0,#30H;開(kāi)始填充顯示單元

            DISP1:MOV A,@R0;顯示內(nèi)容送入A

            MOV DPTR,#TABLE;獲得表頭

            MOVC A,@A+DPTR;查表獲得顯示數(shù)據(jù)

            MOV P0,A;顯示單元數(shù)據(jù)

            MOV P2,R1;開(kāi)始顯示當(dāng)前位

            MOV A,R1;準(zhǔn)備顯示下一位

            RR A

            MOV R1,A

            INC R0;取下一個(gè)單元地址

            LCALL DELAY2MS;延時(shí)2 MS

            DJNZ R2,DISP1;重復(fù)顯示下一個(gè)

            RET;顯示完成,返回

            因鍵值顯示只需用一位數(shù)碼管,可將上面的顯示程序進(jìn)行優(yōu)化,得到下面的顯示程序。

            ====================================================

            鍵值顯示子程序

            ====================================================

            KEY_PLAER:

            MOVA,30H;鍵值數(shù)據(jù)送入A

            MOVDPTR,#TABLE;取段碼表地址

            MOVCA,@A+DPTR;查顯示數(shù)據(jù)對(duì)應(yīng)段碼

            MOVP0,A;段碼送入P0口

            CLRP2.7;第一個(gè)數(shù)碼管顯示

            CALLDELAY2MS

            SETBP2.7

            RET

            TABLE:

            DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H

            DB80H,90H,88H,83H,0C6H,0A1H,86H,8EH;0-F

            三、演示程序的功能

            當(dāng)你按下矩陣鍵盤(pán)中的任何一個(gè)鍵,蜂鳴器響一聲,并在數(shù)碼管上顯示相應(yīng)的鍵值。圖4為ME300B開(kāi)發(fā)系統(tǒng)的實(shí)際演示圖片。

            圖4ME300B開(kāi)發(fā)系統(tǒng)顯示鍵值“E”


            上一頁(yè) 1 2 下一頁(yè)

            關(guān)鍵詞: 4×4矩陣鍵盤(pán)單片

            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉