#define的使用:
#define A P0 例如#define pi 3.14
循环左移和右移函数:
均包含在intrins.h库函数中
即要写出
#include<intrins.h>
_crol_(a,b);//左移
_cror_(a,b);//右移
a是移动的值,b是移动的位数
程序如下:
#include<reg51.h>
#include<intrins.h>
typedef unsigned char u8;
typedef unsigned int u16;
#define led P2
void delay(u16 i)//延时函数
{
while(i--);
}
void main()
{
u8 i=0;//定义i为无符号字符型(由于下面使用的i为0到7定义其为8位即可)
led=0xfe;//给LED一个初始状态,0xfe为十六进制,1111 1110
delay(50000);//延时450ms
while(1)
{
for(i=0;i<7;i++)//左移七次,注意是七次
{
led=_crol_(led,1);//led为移动的值,1是移动位数
delay(50000);//如果不加延时,几乎看不出移动过程
}
for(i=0;i<7;i++)//移动到0111 1111后右移七次
{
led=_cror_(led,1);
delay(50000);
}
}
}
可以通过移动位数,方向的改变,来实现多种形式的流水灯。