程序代碼:
#include <reg51.h> #define ucharunsigned char #define uintunsigned int uchar keyval; sbitP2_0=P2^0; sbitP2_1=P2^1; sbitP2_2=P2^2; sbitP2_3=P2^3; sbitP2_4=P2^4; sbitP2_5=P2^5; sbitP2_6=P2^6; sbitP2_7=P2^7; void delay(uint j) /*延時函數(shù)*/ { uchart; while (j--) { for(t = 0; t < 125; t++); } } void keyscan() { P1=0xff; keyval=P1; if(keyval!=0xff) { delay(10); keyval=P1; if(keyval!=0xff) {keyval=~keyval;while(P1!=0xff);} } } void main( ) { keyval=0; while(1) { keyscan(); switch(keyval) { case 1:P2_0=~P2_0; break; case 2:P2_1=~P2_1; break; case 4:P2_2=~P2_2; break; case 8:P2_3=~P2_3; break; case 16:P2_4=~P2_4; break; case 32:P2_5=~P2_5; break; case 64:P2_6=~P2_6; break; case 128:P2_7=~P2_7;break; } } }
|