矩阵键盘扫描程序
你要放到“死循环”中不断扫描。
他的原理图一般是这样的以第一个按键为例,当你按下时I/O口读到的数据就不是0x0f了。
好吧你最开始的赋值错了。
你要用0xee,0xde检测的话你应该给0xfe。
每四个按键是一组。
我这有一个我做密码锁的程序你参考一下。
void key()转载反克或者引用本文内容酸请注本明来源于多百科回答{P3=0xfe;分同所力二线管指先金转安名,需委备办省。
if(P3!=0xfe){time(50);if(P3!=0xfe)不以得起政结设及,必增改切广快置始。
{switch(P3){case 0xee:num=1,cs++;break;case 0xde:num=2,cs++;break;case 0xbe:num=3,cs++;break;case 0x7e:num=4,cs++;break;}}while(P3!=0xfe);}P3=0xfd;if(P3!=0xfd){time(50);if(P3!=0xfd){switch(P3){case 0xed:num=5,cs++;break;case 0xdd:num=6,cs++;break;case 0xbd:num=7,cs++;break;case 0x7d:num=8,cs++;break;}}while(P3!=0xfd);}P3=0xfb;if(P3!=0xfb){time(50);if(P3!=0xfb){switch(P3){case 0xeb:num=9,cs++;break;case 0xdb:num=0,cs++;break;case 0xbb:cs++;break;case 0x7b:num=10,cs=0,a=b=c=d=e=f=10,ply=1;break;}}while(P3!=0xfb);}}