#include "reg52.h"
#include <stdio.h>
// 準備工作:P0的8個引腳和8個LED引腳用排線相連
#define LED P0
// 延時多少毫秒,這裏是基於晶振12Mhz的51單片機
void Delay1ms(unsigned short time)
{
unsigned short j = 0;
for (j = 0; j < time; ++j)
{
unsigned char i = 0;
for (i = 0; i < 100; ++i);
}
}
int main()
{
while (1)
{
int i = 0;
for (i = 0; i < 8; ++i)
{
// 單片機LED是低電平點亮,所以取反
// 0x01取反得 1111 1110(二進制),第一個燈點亮,其它燈是滅的
// 左移一位後取反得 1111 1101(二進制),第二個燈點亮,其它燈熄滅;餘此類推
LED = ~(0x01 << i);
Delay1ms(1000);
}
}
return 0;
}