#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
#define led P2 //将P2口定义为led 后面就可以使用led代替P2口
void delay(u16 i)
{
while(i--);
}
void main()
{
u8 i;
while(1)
{
for(i=0;i<4;i++)
{
P2=~(0x08>>i | 0x10<<i); //将1ed向左右移动i位,然后将结果赋值到P2口(左右移动)
delay(50000);
}
for(i=0;i<4;i++)
{
P2=~(0x01<<i | 0x80>>i); //将1ed向左右移动i位,然后将结果赋值到P2口(左右移动)
delay(50000);
}
}
}
1、这段代码实现:51单片机,第四个灯(向左向右循环移动)和第五个灯(向右向左循环移动),第四个灯和第个五灯同步移动的LED流水灯(主要是位运算、或逻辑,从上往下的程序设计思想)。
2、时钟函数是自定的、变量定义的是八位的。