本帖最后由 chen3220 于 2019-4-18 16:51 編輯
4*4矩陣按鍵數碼管顯示0-F字碼
內容包含:keil+protues
適合剛接觸單片機的同學;
有什么單片機的問題大家也可以留言評論!
4_4矩陣按鍵.rar
(199.88 KB, 下載次數: 63)
2019-4-7 11:39 上傳
點擊文件名下載附件
后期補充:4*4KEYPAD行掃描程序
- /**********************************************************
- 程序功能:4*4矩陣鍵盤按照行掃描的方式進行按鍵的確定
- 本程序適應上次正反轉電平的方式進行確定按鍵的Protues仿真圖
- ***********************************************************/
- #include<reg52.h> //頭文件
- #define uchar unsigned char //宏定義
- #define uint unsigned int
- //0-F字碼
- uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
- void delay(uint z)
- {
- uint x,y;
- for(x=0;x<z;x++)
- for(y=0;y<123;y++);
- }
- void main(void)
- {
- while(1)
- {
- P1 = 0XF0;
- if(P1 != 0XF0)
- {
- delay(5);
- if(P1 != 0XF0)
- {
- P1 = 0xEF;
- if(P1 != 0xEF)
- {
- switch(P1)
- {
- case 0xEE:P2 = 0;P0 = table[0];while(P1 == 0XEE);break;
- case 0xED:P2 = 0;P0 = table[4];while(P1 == 0XED);break;
- case 0xEB:P2 = 0;P0 = table[8];while(P1 == 0XEB);break;
- case 0xE7:P2 = 0;P0 = table[12];while(P1 == 0XE7);break;
- }
- }
- P1 = 0xDF;
- if(P1 != 0xDF)
- {
- switch(P1)
- {
- case 0xDE:P2 = 0;P0 = table[1];while(P1 == 0xDE);break;
- case 0xDD:P2 = 0;P0 = table[5];while(P1 == 0xDD);break;
- case 0xDB:P2 = 0;P0 = table[9];while(P1 == 0xDB);break;
- case 0xD7:P2 = 0;P0 = table[13];while(P1 == 0xD7);break;
- }
- }
- P1 = 0xBF;
- if(P1 != 0xBF)
- {
- switch(P1)
- {
- case 0xBE:P2 = 0;P0 = table[2];while(P1 == 0xBE);break;
- case 0xBD:P2 = 0;P0 = table[6];while(P1 == 0xBD);break;
- case 0xBB:P2 = 0;P0 = table[10];while(P1 == 0xBB);break;
- case 0xB7:P2 = 0;P0 = table[14];while(P1 == 0xB7);break;
- }
- }
- P1 = 0x7F;
- if(P1 != 0x7F)
- {
- switch(P1)
- {
- case 0x7E:P2 = 0;P0 = table[3];while(P1 == 0x7E);break;
- case 0x7D:P2 = 0;P0 = table[7];while(P1 == 0x7D);break;
- case 0x7B:P2 = 0;P0 = table[11];while(P1 == 0x7B);break;
- case 0x77:P2 = 0;P0 = table[15];while(P1 == 0x77);break;
- }
- }
- }
- }
- }
- }
復制代碼這里不添加程序包了,這里我直接把程序貼出來,有想學習的同學可以直接復制下來貼到你自己建立的工程中,
這里的行掃描程序和上述程序包中的Protues是匹配的,可以直接替換新的HEX文件進行實驗!
|