流水广告灯的设计
利用89c51单片机的端口控制8个LED需变换点亮,先是D0-D7依次点亮,接着D7-D0依次点亮,如此重复循环。
proteus连线
代码
#include<reg52.h>
#include <intrins.h>
#define uchar unsigned char//宏定义
#define uint unsigned int //宏定义
void Delay(uint ms)
{
uint i;
while(ms--)
for(i=0;i<120;i++);
}
void main(void)
{ int i=0,p0=0xff;
while(1)
{
p0 = 0xfe;
for(i=0; i<7; i++)
{ P0 = p0;
Delay(50);
p0=_crol_(p0,1);
}
for(i=0; i<7; i++)
{
P0 = p0;
Delay(50);
p0=_cror_(p0,1);
}
}
}
过程中遇到的问题
在for()里边定义uint变量会报错,比如将延时函数变成如下: