独立按键控制LED移位
我用的是普中的板子,它的LED模块是从左到右的排序,跟我们一个字节8个比特位二进制01排序正好相反,而独立按键里的第一位是P3_1,第二位才是P3_0,所以我们做LED移位的时候就要注意按键左右的问题
以下是在K5代码实现:
#include <REGX52.H>
char LEDNumber;
void Delay(unsigned int xms)
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 199;
do
{
while (--j);
} while (--i);
}
}
void main()
{
P2_0=0;
while(1)
{
if(P3_1==0)
{
Delay(20);
while(P3_1==0);
Delay(20);
LEDNumber--;
if(LEDNumber<0)
LEDNumber=7;
P2=~(0x01<<LEDNumber);
}
if(P3_0==0)
{
Delay(20);
while(P3_0==0);
Delay(20);
LEDNumber++;
if(LEDNumber>7)
LEDNumber=0;
P2=~(0x01<<LEDNumber);
}
}
}