標(biāo)題: 單片機(jī)矩陣按鍵的應(yīng)用,16個(gè)按鍵對(duì)應(yīng)輸出16種狀態(tài) Proteus仿真代碼 [打印本頁]

作者: 超客通訊    時(shí)間: 2021-4-24 10:57
標(biāo)題: 單片機(jī)矩陣按鍵的應(yīng)用,16個(gè)按鍵對(duì)應(yīng)輸出16種狀態(tài) Proteus仿真代碼
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)

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

//版本號(hào):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)有按鍵按下時(shí),判斷是哪一個(gè)按鍵按下,16個(gè)按鍵對(duì)應(yīng)16種輸出

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

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

void jianzhi()

{

  switch(P2)

    {

        //判斷第一行哪一個(gè)按鍵按下,讓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;

        //判斷第二行哪一個(gè)按鍵按下,讓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;

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

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

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

        case 0xbb:P0=0xbb;break;

        case 0xb7:P0=0xb7;break;

        //判斷第四行哪一個(gè)按鍵按下,讓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;                                                  //對(duì)第一行進(jìn)行掃描,判斷是否有按鍵按下

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



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

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



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

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



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

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

}

}



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






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1