新聞中心

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

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

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

        7. C語(yǔ)言源

        #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機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY



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

        關(guān)鍵詞: 矩陣式 程序 鍵盤 單片機(jī)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 金川县| 瑞金市| 科技| 怀来县| 仙桃市| 城口县| 北辰区| 东源县| 德州市| 株洲县| 建瓯市| 孙吴县| 山阳县| 赤壁市| 阿拉善右旗| 靖边县| 萍乡市| 民乐县| 镶黄旗| 多伦县| 资源县| 太湖县| 宝兴县| 永靖县| 溧水县| 嘉禾县| 横山县| 陇南市| 肇州县| 胶南市| 郸城县| 诏安县| 日照市| 天台县| 文成县| 孟村| 玉溪市| 福鼎市| 双城市| 北宁市| 台东县|