|
按下按鍵之后,分別顯示0~9,A~F.
0.png (24.99 KB, 下載次數: 79)
下載附件
2017-3-2 18:56 上傳
- #include<reg51.h>
- #define uchar unsigned char
- #define uint unsigned int
- sbit wela=P3^0;
- uchar code table[]={
- 0xc0,0xf9,0xa4,0xb0,
- 0x99,0x92,0x82,0xf8,
- 0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
- void delayms(uint x)
- {
- uint i,j;
- for(i=x;i>0;i--)
- for(j=110;j>0;j--);
-
- }
- void display(uchar num)
- {
- P1=table[num];
- wela=1;
- delayms(5);
-
- }
- void matrixkeyscan()
- {
- uchar temp,key;
- //掃描第一行
- P2=0xfe;
- temp=P2;
- temp=temp&0xf0;
- while(temp!=0xf0)
- {
- delayms(10);//去抖動
- while(temp!=0xf0)
- {
- temp=P2;
- switch(temp)
- {
- case 0xee:key=0;
- break;
- case 0xde:key=1;
- break;
- case 0xbe:key=2;
- break;
- case 0x7e:key=3;
- break;
-
- }
- while(temp!=0xf0)//松手檢測,即松手才顯示,如果沒有這句,則一按就顯示。
- {
- temp=P2;
- temp=temp&0xf0;
- }
- display(key);
- }
- }
- //第二行
- P2=0xfd;
- temp=P2;
- temp=temp&0xf0;
- while(temp!=0xf0)
- {
- delayms(10);
- while(temp!=0xf0)
- {
- temp=P2;
- switch(temp)
- {
- case 0xed:key=4;
- break;
- case 0xdd:key=5;
- break;
- case 0xbd:key=6;
- break;
- case 0x7d:key=7;
- break;
-
- }
- while(temp!=0xf0)//松手檢測,即松手才顯示,如果沒有這句,則一按就顯示。
- {
- temp=P2;
- temp=temp&0xf0;
- }
- display(key);
- }
- }
- //third
- P2=0xfb;
- temp=P2;
- temp=temp&0xf0;
- while(temp!=0xf0)
- {
- delayms(10);
- while(temp!=0xf0)
- {
- temp=P2;
- switch(temp)
- {
- case 0xeb:key=8;
- break;
- case 0xdb:key=9;
- break;
- case 0xbb:key=10;
- break;
- case 0x7b:key=11;
- break;
-
- }
- while(temp!=0xf0)//松手檢測,即松手才顯示,如果沒有這句,則一按就顯示。
- {
- temp=P2;
- temp=temp&0xf0;
- }
- display(key);
- }
- }
- //forth
- P2=0xf7;
- temp=P2;
- temp=temp&0xf0;
- while(temp!=0xf0)
- {
- delayms(10);
- while(temp!=0xf0)
- {
- temp=P2;
- switch(temp)
- {
- case 0xe7:key=12;
- break;
- case 0xd7:key=13;
- break;
- case 0xb7:key=14;
- break;
- case 0x77:key=15;
- break;
-
- }
- while(temp!=0xf0)//松手檢測,即松手才顯示,如果沒有這句,則一按就顯示。
- {
- temp=P2;
- temp=temp&0xf0;
- }
- display(key);
- }
- }
- }
- void main()
- {
-
- while(1)
- {
- matrixkeyscan();
- }
- }
復制代碼
0.png (59.18 KB, 下載次數: 63)
下載附件
2017-3-2 18:56 上傳
|
-
-
矩陣鍵盤.rar
2017-3-2 18:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
35.23 KB, 下載次數: 16, 下載積分: 黑幣 -5
|