LED流水灯
- C语言常用预处理命令 宏定义#define使用:#define 新名称 原内容(不加分号)//对同一个内容,宏定义只能定义一次
循环左移和右移函数,包含在instrins.h库函数里边:
crol(a, b); 循环左移函数,a是要左移的值,b是左移的位数
cror(a, b); 循环右移函数,a是要右移的值,b是右移的位数
实现代码
#include<reg52.h>
#define uint unsigned int
#define A P0
void delay(uint i){
while(i--);
}
void main(){
uint i;
A=0x01;
delay(50000);
while(1){
for(i=0;i<8;i++){
A=(0x01<<i);
delay(50000);
}
}
}
#include<reg52.h>
#define uint unsigned int
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
void delayms(uint);
void main()
{
while(1)
{
led1=1;
delayms(500);
led1=0;
led2=1;
delayms(500);
led2=0;
led3=1;
delayms(500);
led3=0;
led4=1;
delayms(500);
led4=0;
led5=1;
delayms(500);
led5=0;
led6=1;
delayms(500);
led6=0;
led7=1;
delayms(500);
led7=0;
led8=1;
delayms(500);
led8=0;
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}