基礎知識
1.C語言預處理命令
#define A P0(注意後邊不用加分號)
在代碼中使用P0口時,可以直接用A代替,防止修改端口時大面積修改代碼。
2.循環左移和右移函數
_ crol _(a,b);循環左移函數,a是左移的值,b是左移的位數。包含在instrins.h庫函數裏面。
_ cror _(a,b);循環右移函數,原理同上。
代碼
#include"reg52.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;//函數中使用的變量不要忘記定義
led = 0xfe;//點亮第一個led燈; 1111 1110
delay(50000);
while(1)
{
for(i=0;i<7;i++)
{
led =_crol_(led,1);//led燈向左依次點亮
delay(50000);
}
for(i=0;i<7;i++)
{
led =_cror_(led,1);//led燈向右依次點亮
delay(50000);
}
}
}