51单片机100例实例之03例
//项目名称:左右来回的流水灯
//项目再创作者:科技小宅神

#include <reg52.h>
#include <intrins.h>//C51内部移位函数
#define uchar unsigned char
#define uint unsigned int
//1毫秒延时子程序
void DelayMS(uint x)
{
uchar t;//定义一个局部变量
while(x--)
{
for(t=120;t>0;t--);//空语句,延时作用
}
}
//主程序
void main()
{
uchar i;//定义一个局部变量
P2=0x01;//初始值(P2初始化)
while(1)
{
for(i=7;i>0;i--)//也可以写成for(i=0;i>7;i++),两种方法都可以实现效果就OK了
{
P2=_crol_(P2,1);//逐次向左点亮
DelayMS(150);
}
for(i=7;i>0;i--)
{
P2=_cror_(P2,2);//逐次向右点亮
DelayMS(150);
}
}
}