标题:
关于单片机按键程序问题
[打印本页]
作者:
摇头玩
时间:
2021-6-5 11:32
标题:
关于单片机按键程序问题
这是四个按键的单片机程序,其他三个按键执行完程序后都保持常亮,为什么第四个按键(k4)的程序执行完后没有保持全亮?
我该怎么改让每个的程序执行完后都保持全亮?
#include <REGX52.H>
sbit k1=P3^0;
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
void y(int t)
{
while(--t);
}
code smg[]={0xe7,0xc3,0x81,0x00,};
code xx[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,//8
0x7e,0xbe,0xde,0xee,0xf6,0xfa,0xfc,//7
0x7c,0xbc,0xdc,0xec,0xf4,0xf8,0x78,0xb8,//8
0xd8,0xe8,0xf0,0x70,0xb0,0xd0,0xe0,0x60,//8
0xa0,0xc0,0x40,0x80,0x00,};//5
void main()
{
char m;
char i;
while(k1==0){P0=0x5b;y(60000);//左移
P2=0xfe;
for(i=0;i<8;i++)
{
y(6000);
P2=P2<<1;
}
}
while(k2==0){P0=0x06;y(60000);//右移
P2=0x7f;
for(i=0;i<8;i++)
{
y(6000);
P2=P2>>1;
}}
//k3=0;
while(k3==0){P0=0x4f;y(60000);
P2=0xff;
for(m=0;m<4;m++)
{
y(6000);
P2=smg[m];
}}
while(k4==0){P0=0x66;y(60000);//叠加
P2=0xff;
for(i=0;i<36;i++)
{
y(6000);
P2=xx[i];
}
}
}
复制代码
作者:
xianfajushi
时间:
2021-6-5 17:17
测试没发现问题
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1