今天我们来使用51单片机控制LED灯亮灭
#include <REGX52.H>
void Delay1ms(unsigned int xms) //@11.0592MHz
{
unsigned char i, j;
while(xms){
i = 2;
j = 199;
do
{
while (--j);
}while (--i);
xms=xms-1;
}
}
void main()
{
while(1){
P2=0xFE; //1111 1110
Delay1ms(50);
P2=0xFD;//1111 1101
Delay1ms(50);
P2=0xFB;// 1111 1011
Delay1ms(50);
P2=0xF7;// 1111 0111
Delay1ms(50);
P2=0xEF; //1110 1111
Delay1ms(50);
P2=0xDF;// 1101 1111
Delay1ms(50);
P2=0xBF;
Delay1ms(50);
P2=0x7F;
Delay1ms(50);
}
}
每亮一个灯,就休眠一段时间,然后重置灯的状态,即可完成流水灯,这些部分需要放在while循环重复执行