代码的外壳整体和上一个一样,只是在while循环里面进行改动。(核心思路是按顺序控制多个LED灯的亮灭,然后用延时函数让人们用肉眼可见。)
while(1)
{
P2=0xFE; //对应二进制 1111 1110,点亮第一个LED灯。
Delay500ms();
P2=0xFD; //延迟500ms,点亮第二个。
Delay500ms();
P2=0xFB;
Delay500ms();
P2=0xF7;
Delay500ms();
P2=0xEF;
Delay500ms();
P2=0xDF;
Delay500ms();
P2=0xBF;
Delay500ms();
P2=0x7F;
Delay500ms();
}
全部代码如下:
#include <REGX52.H>
#include<INTRINS.H>
void Delay500ms() //@12.000MHz
{
unsigned char i, j, k;
_nop_();
i = 4;
j = 205;
k = 187;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void main()
{
while(1)
{
P2=0xFE;
Delay500ms();
P2=0xFD;
Delay500ms();
P2=0xFB;
Delay500ms();
P2=0xF7;
Delay500ms();
P2=0xEF;
Delay500ms();
P2=0xDF;
Delay500ms();
P2=0xBF;
Delay500ms();
P2=0x7F;
Delay500ms();
}
}