#include "reg52.h"
#include "intrins.h"
typedef unsigned char u8;
typedef unsigned int u16;
#define led P0 //修改P0,P1,P2,P3即可修改利用的io口
void delay(u16 i)//延时函数,非精确函数
{
while(i--);
}
void main(){
u8 i;
led=0x01; //初始化,第一颗led点亮
delay(50000);//延时约为450ms
while(1){
for(i=0;i<7;i++)//第一颗led是亮的,因此只需移动7次
{
led=_crol_(led,1);//左移函数,在头文件“intrins.h”内
delay(50000);
}
for(i=0;i<7;i++)
{
led=_cror_(led,1);//右移函数,在头文件“intrins.h”内
delay(50000);
}
}
}
上面代码的左移函数,右移函数可用下面代码代替
for(i=0;i<8;i++)
{
led=(0x01<<i);/*第一次循环,亮点右移0个;第二次循环,亮点右移1个*/
delay(50000);
}