我想控制按键k1-k7依次亮数码管的a-g灯,我写的程序
#include<reg52.h>
main(void)
{
unsigned char table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf};
while(1)
{
switch (P3)
{
case 0xfe:P1=table[0];break;
case 0xfd:P1=table[1];break;
case 0xfb:P1=table[2];break;
case 0xf7:P1=table[3];break;
case 0xef:P1=table[4];break;
case 0xdf:P1=table[5];break;
case 0xbf:P1=table[6];break;
default:break;
}
}
}
结果变成按键2-8显示我想要的结果了、、、、、
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
main(void)
{
unsigned char table[]={0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf};
while(1)
{
switch (P3) //按键的键码值
{
case 0xfe:P1=table[0];break;
case 0xfd:P1=table[1];break;
case 0xfb:P1=table[2];break;
case 0xf7:P1=table[3];break;
case 0xef:P1=table[4];break;
case 0xdf:P1=table[5];break;
case 0xbf:P1=table[6];break;
default:P1=0xff;break; //把所有的LED灯熄灭
}
}
}
这个 程序没有消抖,在对实时性要求不高的场合可以用
一周热门 更多>