有谁知道用for语句编写简单单片机的跑马灯程序?

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:40:49

#define uchar unsigned char
#define uint unsigned int

void delaynus(uchar n) 延时函数 延时 n 微秒
{
uchar k;
for(k=0;k<n;k++)
_nop_();
}

void delaynms(uchar n) 延时 n 毫秒
{
uchar k;
for(k=0;k<n;k++)
delaynus(1000);
}
void main(void)
{
unsigned char led=0x45; 初始跑马灯 显示
unsigned char a,b;
char i;
while(1)
{
for(i=0;i<8;i++) //跑马灯 一共 8 个
{
a=led<i; //实现跑马灯左移
b=led>(8-i);
led=a|b;
P1=led;
delay_nms(1000); 延时 1000毫秒
}
}
}