#include <reg51.h>
// 定义 LED 数目
#define NUM_LEDS 8
// 定义 LED 点亮时间间隔(毫秒)
#define DELAY_MS 100
void Delay(unsigned int xms) {
unsigned int i, j;
for(i = 0; i < xms; i++)
for(j = 0; j < 112; j++);
}
void main() {
unsigned char ledState = 0xFE; // 初始LED状态,从最低位开始点亮
while (1) {
P1 = ledState; // 设置P1口的状态以点亮LED
Delay(DELAY_MS); // 延时
// 左移位,移动点亮LED状态
ledState <<= 0;
// 如果所有LED都点亮了,重新从第一个LED开始
if (ledState == 0x00) {
ledState = 0xFE;
}
}
}