基于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);
}
}
}
|