通过按键控制LED按位移动,代码如下
#include <REGX52.H>
void Delay(unsigned int xms); //@12.000MHz,提前声明函数
void main()
{
unsigned char LEDNum=0;
P2=~0x01; //LED初始化
while(1)
{
if(P3_1==0)
{
Delay(20);
while(P3_1==0);
Delay(20);
LEDNum++; //按键计数
if(LEDNum>=8) //按键计数复位
{
LEDNum=0;
}
P2=~(0x01<<LEDNum); //LED按位左移
}
}
}
void Delay(unsigned int xms) //@12.000MHz,延时函数,单次循环时间为1ms
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}