全部資料51hei下載地址:
復(fù)制代碼
- void LedScan() //六位數(shù)碼管動態(tài)掃描
- {
- static unsigned char i=0;
- P0 = 0xFF; //顯示消隱
- switch(i) //每過1ms從低到高位刷新一個數(shù)碼管
- {
- case 0:P2=0x01;i++; P0= LedBuff[0]; break;
- case 1:P2=0x02;i++; P0= LedBuff[1]; break;
- case 2:P2=0x04;i++; P0= LedBuff[2]; break;
- case 3:P2=0x08;i++; P0= LedBuff[3]; break;
- case 4:P2=0x10;i++; P0= LedBuff[4]; break;
- case 5:P2=0x20;i=0; P0= LedBuff[5]; break;
- default :break;
- }
- }
- void KeyScan() //矩陣按鍵動態(tài)掃描
- {
- unsigned char i;
- static unsigned char keyout = 0;
- static unsigned char keybuf[4][4] = {
- {0xff,0xff,0xff,0xff},
- {0xff,0xff,0xff,0xff},
- {0xff,0xff,0xff,0xff},
- {0xff,0xff,0xff,0xff},
- };
- /******按鍵消抖***************/
- keybuf[keyout][0] = (keybuf[keyout][0] <<1)|KEY_INT_1;
- keybuf[keyout][1] = (keybuf[keyout][1] <<1)|KEY_INT_2;
- keybuf[keyout][2] = (keybuf[keyout][2] <<1)|KEY_INT_3;
- keybuf[keyout][3] = (keybuf[keyout][3] <<1)|KEY_INT_4;
- for(i=0;i<4;i++)
- {
- if((keybuf[keyout][i] & 0x0F) == 0x00)
- {
- KeySta[keyout][i] = 0;
- }
- else if ((keybuf[keyout][i] & 0x0F) == 0x0f)
- {
- KeySta[keyout][i] = 1;
- }
- }
- keyout++;
- keyout=keyout & 0x03;
- switch(keyout) //掃描矩陣鍵盤
- {
- case 0: KEY_OUT_4 = 1;KEY_OUT_1 = 0;break;
- case 1: KEY_OUT_1 = 1;KEY_OUT_2 = 0;break;
- case 2: KEY_OUT_2 = 1;KEY_OUT_3 = 0;break;
- case 3: KEY_OUT_3 = 1;KEY_OUT_4 = 0;break;
- default:break;
- }
善良的大學生 發(fā)表于 2020-5-18 15:56
不帶仿真圖嗎?
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |