新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機鍵盤程序(4×4矩陣式)

        單片機鍵盤程序(4×4矩陣式)

        作者: 時間:2012-08-24 來源:網絡 收藏

        7. C語言源

        #include AT89X51.H>

        unsigned char code table[]={0x3f,0x06,0x5b,0x4f,

        0x66,0x6d,0x7d,0x07,

        0x7f,0x6f,0x77,0x7c,

        0x39,0x5e,0x79,0x71};

        unsigned char temp;

        unsigned char key;

        unsigned char i,j;

        void main(void)

        {

        while(1)

        {

        P3=0xff;

        P3_4=0;

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        for(i=50;i>0;i--)

        for(j=200;j>0;j--);

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        switch(temp)

        {

        case 0x0e:

        key=7;

        break;

        case 0x0d:

        key=8;

        break;

        case 0x0b:

        key=9;

        break;

        case 0x07:

        key=10;

        break;

        }

        temp=P3;

        P1_0=~P1_0;

        P0=table[key];

        temp=temp 0x0f;

        while(temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        }

        }

        }

        P3=0xff;

        P3_5=0;

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        for(i=50;i>0;i--)

        for(j=200;j>0;j--);

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        switch(temp)

        {

        case 0x0e:

        key=4;

        break;

        case 0x0d:

        key=5;

        break;

        case 0x0b:

        key=6;

        break;

        case 0x07:

        key=11;

        break;

        }

        temp=P3;

        P1_0=~P1_0;

        P0=table[key];

        temp=temp 0x0f;

        while(temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        }

        }

        }

        P3=0xff;

        P3_6=0;

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        for(i=50;i>0;i--)

        for(j=200;j>0;j--);

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        switch(temp)

        {

        case 0x0e:

        key=1;

        break;

        case 0x0d:

        key=2;

        break;

        case 0x0b:

        key=3;

        break;

        case 0x07:

        key=12;

        break;

        }

        temp=P3;

        P1_0=~P1_0;

        P0=table[key];

        temp=temp 0x0f;

        while(temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        }

        }

        }

        P3=0xff;

        P3_7=0;

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        for(i=50;i>0;i--)

        for(j=200;j>0;j--);

        temp=P3;

        temp=temp 0x0f;

        if (temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        switch(temp)

        {

        case 0x0e:

        key=0;

        break;

        case 0x0d:

        key=13;

        break;

        case 0x0b:

        key=14;

        break;

        case 0x07:

        key=15;

        break;

        }

        temp=P3;

        P1_0=~P1_0;

        P0=table[key];

        temp=temp 0x0f;

        while(temp!=0x0f)

        {

        temp=P3;

        temp=temp 0x0f;

        }

        }

        }

        }

        }

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 根河市| 富裕县| 新蔡县| 定结县| 土默特左旗| 习水县| 子长县| 阳东县| 新巴尔虎右旗| 吉木乃县| 东至县| 吉安县| 平泉县| 同江市| 屯昌县| 渝中区| 汉沽区| 翁牛特旗| 阳高县| 明星| 宽城| 青龙| 织金县| 平昌县| 株洲县| 东兴市| 阜南县| 汾西县| 错那县| 鄱阳县| 吉隆县| 清水河县| 河东区| 炉霍县| 杭锦旗| 无为县| 红河县| 松桃| 景东| 磐石市| 黎平县|