找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3432|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)矩陣按鍵的應(yīng)用,16個按鍵對應(yīng)輸出16種狀態(tài) Proteus仿真代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

單片機(jī)源程序如下:
//功能:晶振11.0592M,矩陣按鍵應(yīng)用,16種按鍵對用16種輸出//作者: 康曉龍

//版本號:1.0

#include<reg51.h>

unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,

                              0x99,0x92,0x82,0xf8,0x80,0x90};//0~9的數(shù)碼

void delay(unsigned int i)

{while(i--);}



/**************************************

函數(shù)名:jianzhi()

函數(shù)功能:當(dāng)有按鍵按下時,判斷是哪一個按鍵按下,16個按鍵對應(yīng)16種輸出

返回值:  result. result=0 忙,result=1 不忙。

***************************************/

void jianzhi()

{

  switch(P2)

    {

        //判斷第一行哪一個按鍵按下,讓P0口輸出

        case 0xee:P0=duan[0];break;

        case 0xed:P0=duan[1];break;

        case 0xeb:P0=duan[2];break;

        case 0xe7:P0=duan[3];break;

        //判斷第二行哪一個按鍵按下,讓P0口輸出

        case 0xde:P0=duan[4];break;

        case 0xdd:P0=duan[5];break;

        case 0xdb:P0=duan[6];break;

        case 0xd7:P0=duan[7];break;

        //判斷第三行哪一個按鍵按下,讓P0口輸出

        case 0xbe:P0=duan[8];break;

        case 0xbd:P0=duan[9];break;

        case 0xbb:P0=0xbb;break;

        case 0xb7:P0=0xb7;break;

        //判斷第四行哪一個按鍵按下,讓P0口輸出

        case 0x7e:P0=0x7e;break;

        case 0x7d:P0=0x7d;break;

        case 0x7b:P0=0x7b;break;

        case 0x77:P0=0x77;break;

        }

}

void main()

{

while(1)

  {

   P2=0xef;                                                  //對第一行進(jìn)行掃描,判斷是否有按鍵按下

   if(P2!=0xef){jianzhi();}



   P2=0xdf;                                                  //對第二行進(jìn)行掃描,判斷是否有按鍵按下

   if(P2!=0xdf){jianzhi();}



   P2=0xbf;                                                  //對第三行進(jìn)行掃描,判斷是否有按鍵按下

   if(P2!=0xbf){jianzhi();}



   P2=0x7f;                                                 //對第四行進(jìn)行掃描,判斷是否有按鍵按下

   if(P2!=0x7f){jianzhi();}

}

}



全部資料51hei下載地址:
矩陣鍵盤電路的控制與應(yīng)用.zip (196.07 KB, 下載次數(shù): 37)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表