#include<reg51.h>#include<stdio.h>#define MDE P0#define LED1 P1void delay(int a){?while(a--);}void main(){?while(1)?{? ?int n,i=0x80,a;?int x,k;?MDE=0x7f;?do?{??a=MDE;//沒有直接用MED,好像會有問題?x=a%0x10;//就是這里來使步驟減少。有問題????switch(x)?{??case 0x07:k=1;break;??case 0x0B:k=2;break;??case 0x0D:k=3;break;??case 0x0E:k=4;break;??default:k=0;?? ?}??i/=0x02;??a+=i;??MDE=a;?}while(a<=0xEF&&k==0);?a-=i;??do??{???n-=1;??if(a<=0xEF)??{???a/=0x10;???LED1=a;???delay(10000);??}???LED1=0xFF;???delay(10000);??}while(n>=0);?}}?//本來用了一些定義函數調用,后來還是寫在了一起逐行掃描??4*4的矩陣鍵盤?想法是按不同的鍵后面四個燈會熄滅不同和次數不同
可是燒入單片機沒有這樣。。。求指導,編這個碼其實也可以看出我是想偷懶,不然就要寫16種結果,。在線等大神。。
直接看代碼吧 關于矩陣按鍵的 逐行掃描
qq_慕虎1308833
2017-01-11 19:42:41