|
鍵盤行列掃描所按按鍵,顯示到顯示屏上,循環(huán)左移位
UG3SJXD5J$NR]M8`QV6PPLP.png (245.73 KB, 下載次數(shù): 38)
下載附件
2018-6-19 17:08 上傳
}PL[OKF(E}T7T7I$(MO$$`P.png (252.65 KB, 下載次數(shù): 57)
下載附件
2018-6-19 17:07 上傳
單片機(jī)源程序如下:
- #include<reg51.h>
- #include<intrins.h>
- #define keyport P2
- unsigned char code ledmap[] = { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- unsigned char led[] = {0,0,0,0,0,0};
- unsigned char select = 0xfe;
- unsigned char index = 0;
- unsigned char keyvalue = 0;
- bit flag = 0;
- void delay1ms(unsigned char c)
- {
- unsigned char a,b;
- for(c;c>0;c--)
- for(b=142;b>0;b--)
- for(a=2;a>0;a--);
- }
- void keyscan(){
- keyport = 0xf0;
- if(keyport != 0xf0){
- // delay1ms(10);
- if(keyport != 0xf0){
- switch(keyport){//掃描列判斷列
- case(0xe0):keyvalue = 0;break;//1110 0000
- case(0xd0):keyvalue = 1;break;//1101 0000
- case(0xb0):keyvalue = 2;break;//1011 0000
- case(0x70):keyvalue = 3;break;//0111 0000
- }
- keyport = 0x0f;
- switch(keyport){//掃描行判斷行
- case(0x0e):keyvalue = keyvalue + 0 ; flag = 1 ; break;//0000 1110
- case(0x0d):keyvalue = keyvalue + 4 ; flag = 1 ; break;//0000 1101
- case(0x0b):keyvalue = keyvalue + 8 ; flag = 1 ; break;//0000 1011
- case(0x07):keyvalue = keyvalue + 12; flag = 1 ; break;//0000 0111
- }
- while((keyport&0x0f) != 0x0f){
-
- }
- }
- }
- }
- void ledbuffer(){// 循環(huán)左移
- if(flag){
- unsigned char i = 0;
- unsigned char index;
- for(index = 5 ; index > 0 ; index--){
- led[index] = led[index-1];
- }
- led[index] = keyvalue;
- flag = 0;
- }
- }
- void ledfresh()interrupt 1{// 刷新動態(tài)數(shù)碼管
- P0 = 0xff;//初始為0
- P1 = ledmap[led[index]];
- P0 = select;
- select = _crol_(select,1);//左移
- index++;
- if(index == 6){
- index = 0;
- select = 0xfe;
- }
- TH0 = (65536-4000)>>8;
- TL0 = (65536-4000)&0xff;
- }
- void main(){
- SP = 0x50;
- TMOD = 0x21;//定時器1,方式0,定時器2,方式1
- TH0 = (65536-4000)>>8;//延時4ms
- TL0 = (65536-4000)&0xff;
- ET0 = 1;
- TR0 = 1;
- EA = 1;
- SCON = 0x40;
- TH1 = 0xfd;
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
矩陣鍵盤.zip
(139.92 KB, 下載次數(shù): 45)
2018-6-19 17:06 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|