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

<s id="cmphk"><label id="cmphk"></label></s>
    <span id="cmphk"><var id="cmphk"></var></span>
    <dfn id="cmphk"><var id="cmphk"></var></dfn>
    <menu id="cmphk"><thead id="cmphk"></thead></menu>

    <address id="cmphk"></address>

      <dfn id="cmphk"></dfn>
      
      
      <span id="cmphk"></span>

      <object id="cmphk"><tt id="cmphk"></tt></object>
      1. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MSP430單片機(jī)的4X4矩陣鍵盤C語言程序

        MSP430單片機(jī)的4X4矩陣鍵盤C語言程序

        作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏
        #include <msp430x24x.h>

        #define uchar unsigned char
        #define uint unsigned int

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

        uchar table[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

        void delay(unsigned int i) //延時子程序
        {
        while(i--);
        }

        uchar keyvalue()
        {
        uchar key;
        uchar np10,np11,np12,np13;
        P1DIR=0x0f;
        //第一排
        P1OUT=~BIT3;
        delay(10);
        np10=P1IN&BIT4;
        if(np10==0)
        {
        key=0;
        }
        np11=P1IN&BIT5;
        if(np11==0)
        {
        key=1;
        }
        np12=P1IN&BIT6;
        if(np12==0)
        {
        key=2;
        }
        np13=P1IN&BIT7;
        if(np13==0)
        {
        key=3;
        }
        //第二行
        P1OUT=~BIT2;
        delay(10);
        np10=P1IN&BIT4;
        if(np10==0)
        {
        key=4;
        }
        np11=P1IN&BIT5;
        if(np11==0)
        {
        key=5;
        }
        np12=P1IN&BIT6;
        if(np12==0)
        {
        key=6;
        }
        np13=P1IN&BIT7;
        if(np13==0)
        {
        key=7;
        }
        //第三行
        P1OUT=~BIT1;
        delay(10);
        np10=P1IN&BIT4;
        if(np10==0)
        {
        key=8;
        }
        np11=P1IN&BIT5;
        if(np11==0)
        {
        key=9;
        }
        np12=P1IN&BIT6;
        if(np12==0)
        {
        key=10;
        }
        np13=P1IN&BIT7;
        if(np13==0)
        {
        key=11;
        }
        //第四行
        P1OUT=~BIT0;
        delay(10);
        np10=P1IN&BIT4;
        if(np10==0)
        {
        key=12;
        }
        np11=P1IN&BIT5;
        if(np11==0)
        {
        key=13;
        }
        np12=P1IN&BIT6;
        if(np12==0)
        {
        key=14;
        }
        np13=P1IN&BIT7;
        if(np13==0)
        {
        key=15;
        }
        P1OUT=0X00;
        return key;
        while(1)
        {
        if((P1IN&0X0F)==0x0f)
        break;
        }
        }

        void main()
        {
        uchar key_value;
        WDTCTL=WDTPW+WDTHOLD;
        P1DIR=0X0F;
        P2DIR=0XFF;
        P2OUT=0XFF;
        while(1)
        {
        if((P1IN&0XF0)!=0XF0)
        {
        delay(100);
        if((P1IN&0XF0)!=0XF0)
        {
        delay(100);
        if((P1IN&0XF0)!=0XF0)
        {
        key_value=keyvalue();
        }
        }
        }
        P2OUT=~key_value;
        }
        }



        關(guān)鍵詞: MSP430單片機(jī)矩陣鍵

        評論


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

        關(guān)閉