|
數(shù)碼管顯示矩陣鍵盤按鍵的設(shè)計(jì)仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載):
0.png (17.57 KB, 下載次數(shù): 70)
下載附件
2017-6-20 18:24 上傳
0.png (50.85 KB, 下載次數(shù): 111)
下載附件
2017-6-20 18:24 上傳
單片機(jī)源程序如下:
- #include<reg52.h>
- char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0x10};
- idata dis_buff[1];
- bit key_flag;
- sbit cs=P2^0;
- void delay(int k)
- {
- int m,n;
- for(m=0;m<k;m++)
- {
- for(n=0;n<120;n++);
- }
- }
- void display(void)
- {
- cs=0x01;
- P0=tab[dis_buff[0]];
- delay(1);
- }
- char ScanKey()
- {
- char temp,temp1,key;
- temp=P1;
- temp&=0x0f;
- switch(temp)
- {
- case 0x0e:
- {
- P1=0xf0;
- delay(100);
- temp1=P1;
- temp1&=P1;
- switch(temp1)
- {
- case 0xe0:
- key=0;
- break;
- case 0xd0:
- key=1;
- break;
- case 0xb0:
- key=2;
- break;
- case 0x70:
- key=3;
- break;
- default:
- key=0;
- break;
- }
- P1=0x0f;
- break;
- }
- case 0x0d:
- {
- P1=0xf0;
- delay(100);
- temp1=P1;
- temp&=P1;
- switch(temp1)
- {
- case 0xe0:
- key=4;
- break;
- case 0xd0:
- key=5;
- break;
- case 0xb0:
- key=6;
- break;
- case 0x70:
- key=7;
- break;
- default:
- key=0;
- break;
- }
- P1=0x0f;
- break;
- }
- case 0x0b:
- {
- P1=0xf0;
- delay(100);
- temp1=P1;
- temp1&=P1;
- switch(temp1)
- {
- case 0xe0:
- key=8;
- break;
- case 0xd0:
- key=9;
- break;
- case 0xb0:
- key=10;
- break;
- case 0x70:
- key=11;
- break;
- default:
- key=0;
- break;
- }
- P1=0xf0;
- break;
- }
- case 0x07:
- {
- P1=0xf0;
- delay(100);
- temp1=P1;
- temp1&=P1;
- switch(temp1)
- {
- case 0xe0:
- key=12;
- break;
- case 0xd0:
- key=13;
- break;
- case 0xb0:
- key=14;
- break;
- case 0x70:
- key=15;
- break;
- default:
- key=0;
- break;
- }
- P1=0x0f;
- break;
- }
- default:
- key=0;
- break;
- }
- return(key);
- }
- void main(void)
- {
- char temp,keynum;
- cs=0x10;
- P1=0x0f;
- while(1)
- {
- temp=P1;
- temp&=0x0f;
- if(temp==0x0f)
- {
- key_flag=0;
- }
- else
- {
- delay(10);
- temp=P1;
- temp&=0x0f;
- }
- if(temp==0x0f)
- {
- key_flag=0;
- }
- else
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
數(shù)碼管顯示矩陣鍵盤按鍵的設(shè)計(jì).rar
(72.9 KB, 下載次數(shù): 10)
2017-6-20 15:58 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|