當前位置:編程學習大全網 - 網站源碼 - 求基於8051單片機用C語言編寫的雙矩陣鍵盤掃描程序(5個IO口控制25個按鍵)

求基於8051單片機用C語言編寫的雙矩陣鍵盤掃描程序(5個IO口控制25個按鍵)

我這裏有壹個程序,

#include<reg51.h>

#define?rowkey()?(~P2)&0x0f//鍵盤輸入端

#define?OUT?P0?//數碼管顯示輸出端

unsigned?char?code?TAB[]=

{?0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,

0x88,0x83,0xC6,0xA1,0x86,0x8E,0x89,0xC7,0xC8,0xC1,

0x8C,0xA3,0xBF,0xFF,0xFF?

};

void?debouncer()

{?int?i;

for(i=0;i<2400;i++);

}

void?scanner()//鍵盤掃描程序

{?unsigned?char?data?row,col;

unsigned?char?data?scan;

unsigned?char?data?keyin;

scan=0xef;

for(row=0;row<4;row++)

{?P2=scan;

keyin=rowkey();

debouncer();

if(keyin!=0)

{?for(col=0;col<4;col++)

{?keyin>>=1;

if(CY)

{?OUT=TAB[col*4+row];//數碼管顯示

break;?

}

}

}

scan=(scan<<1)|0x01;

}

}

void?main()

{?while(1)

{?scanner();

}?

}

  • 上一篇:qualcommqca9377802.11ac出現感嘆號
  • 下一篇:漳州哪裏可以打麻將?
  • copyright 2024編程學習大全網