在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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首頁 > 嵌入式系統(tǒng) > 設計應用 > 鍵盤子程序(AVR) 

            鍵盤子程序(AVR) 

            作者: 時間:2013-12-09 來源:網(wǎng)絡 收藏

            ) 

            鍵盤掃描有
            #i nclude "jn8515def.h"

            /******以下是鍵盤排列圖******
            | | |
            PC0 ___1|__2|__3|__
            | | |
            PC1 ___4|__5|__6|__
            | | |
            PC2 ___7|__8|__9|__
            | | |
            PC3 ___C|__0|__S|__
            | | |
            | | |
            PC4 PC5 PC6
            *****************************/
            //下沿為有效鍵值 0 1 2 3 4 5 6 7 8 9 s(10) c0 c1 c4 c7 cs c
            flash uchar cKeyTab[]={0x57,0x6e,0x5e,0x3e,0x6d,0x5d,0x3d,0x6b,0x5b,0x3b,0x37,0x47,0x66,0x65,0x63,0x27,0x67};
            flash uchar cKeyOut[]={0xef,0xdf,0xbf}; //其中一列為0
            flash uchar cKeyDir[]={0x10,0x20,0x40};
            uchar cMenu=0;

            uchar cKeyVal()
            { static uchar cLastKv,cSameKvNum=0;
            static bit bKeyPress=0;
            uchar i,j,cKeytmp=0xff;
            for(i=0;i3;i++)
            { DDRC=0x80;
            DDRC|=cKeyDir[i];
            PORTC=cKeyOut[i];
            #asm("nop")
            #asm("nop")
            cKeytmp=PINC0x7f;
            for(j=0;j16;j++)
            { if(cKeyTab[j]==cKeytmp)
            { cWaitTime=10; //延時去抖
            goto Next;
            }
            }
            }
            // do{ //等待按鍵釋放
            // }while(!bKeyPress);
            cSameKvNum=0;
            bKeyPress=0;
            return 0xff;
            Next:
            // delay_ms(2);
            if(bKeyPress) return 0xff;
            if(cKeytmp==cLastKv)
            { if(++cSameKvNum>10)
            { cSameKvNum=0;
            bKeyPress=1;
            return j;
            }
            }
            else
            { cSameKvNum=0;
            cLastKv=cKeytmp;
            }

            return 0xff;//返回空鍵值
            }



            評論


            相關推薦

            技術專區(qū)

            關閉