5.LED流水燈

#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);
		 }
	}
}

可以通過移動位數,方向的改變,來實現多種形式的流水燈。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章