51单片机双向跑马灯的实现
#include <REGX51.H>
void delay(void) //延时函数
{
unsigned char i, j;
for(i=0;i<200;i++)
{
for(j=0;j<200;j++);
}
}
void main(void)
{
while(1)
{
unsigned char i = 0;
unsigned d = 0x80;
for(i = 1; i < 8; i++) //从右跑到左
{
P0=~d;
d = d >> 1;
delay(); //延时
}
//d = 0x01;
for(i = 1; i < 8; i++) // 从左跑到右
{
P0= ~d;
d = d << 1;
delay(); //延时
}
}
}
效果图