基于51單片機的一個簡易程序
中間用到了一個簡單的左移右移函數_cror_和_croi_
使用這個函數需要定義頭文件<intrins.h>
單片機源程序如下:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar a,b,c,d,f,g,h;
void delay(uint nms)
{
uint t;
while(nms--)
{
for(t=0;t<120;t++)
{
;
}
}
}
void main()
{
a=0x55;//設置初始亮燈
d=0xff;
f=0xfe; //最左邊燈亮
g=0x7f; //最右邊燈亮
while(1)
{
for(b=0;b<5;b++) //進行五次跑馬燈循環
{
a=_crol_(a,1);
delay(250);
P0=a;
}
P0=d; //將led燈全滅
delay(250);
for(c=0;c<8;c++) //從左到右依次亮滅
{
P0=f;
f=_crol_(f,1);
delay(250);
}
P0=g;
delay(250);
for(h=0;h<8;h++) //從右到左依次亮滅
{
P0=g;
g=_cror_(g,1);
delay(250);
}
}
}
|