资源描述:
《新手_矩阵键盘例程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/*两个程序均为有效,第一个程序放开按钮后值归0;第二个程序放开按钮后值仍不变*//*#includevoiddelay(unsignedinti);unsignedcharcodetable[]={0xF9,0xA4,0xB0,0x99};voidmain(void){unsignedchartemp,num=2;P0=0xc0;while(1){P1=0xfe;delay(5);temp=P1;while(temp!=0xfe){delay(5);temp=P1;while(temp!=0xfe){switch(temp)
2、{case0xEE:num=1;P0=table[num-1];break;case0xde:num=2;P0=table[num-1];break;case0xbe:num=3;P0=table[num-1];break;case0x7e:num=4;P0=table[num-1];break;}P1=0xfe;temp=P1;delay(1);P0=0xc0;}}}}voiddelay(unsignedinti){inta,b;for(a=0;a<=i;a++)for(b=0;b<=901;b++);}*/#include
3、voiddelay(unsignedinti);unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};voidmain(void){unsignedchartemp,num=2;while(1){P1=0xfe;delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(2);temp=P1;temp=temp&0xf0;while(te
4、mp!=0xf0){temp=~temp>>4
5、0x00;switch(temp){case0x01:num=1;break;case0x02:num=2;break;case0x04:num=3;break;case0x08:num=4;break;}P0=table[num-1];temp=0xf0;}}P1=0xfd;delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=~temp>>
6、4
7、0x00;switch(temp){case0x01:num=5;break;case0x02:num=6;break;case0x04:num=7;break;case0x08:num=8;break;}P0=table[num-1];temp=0xf0;}}P1=0xfb;delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=~temp>>4
8、0x00;switch(temp){ca
9、se0x01:num=9;break;case0x02:num=10;break;case0x04:num=11;break;case0x08:num=12;break;}P0=table[num-1];temp=0xf0;}}P1=0xf7;delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){delay(2);temp=P1;temp=temp&0xf0;while(temp!=0xf0){temp=~temp>>4
10、0x00;switch(temp){case0x01:num=13;break
11、;case0x02:num=14;break;case0x04:num=15;break;case0x08:num=16;break;}P0=table[num-1];temp=0xf0;}}}}voiddelay(unsignedinti){inta,b;for(a=0;a<=i;a++)for(b=0;b<=901;b++);}