單片機——流水燈

基礎知識

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);
         }
	 }
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章