天天看點

51單片機STC89C52控制LED跑馬燈左移(使用C51自帶庫_crol_()實作),詳細注釋

/*-----------------------包含頭檔案區域-------------------------*/
#include<reg52.h>  	//單片機頭檔案 
#include<intrins.h>	//C51自帶庫頭檔案
/*-----------------------函數聲明區域---------------------------*/ 
void delay(unsigned int xms);//延時函數聲明
/*-----------------------主函數區域-----------------------------*/
void main()
{
	unsigned char i;//定義無符号字元型變量i(範圍為0~255)
	i=0xFE;//給i賦初始值
	while(1)	//重複執行while循環體的程式
	{
		P2=i;			//将i的值賦給P2端口
		delay(500);		//延時500ms	
		i=_crol_(i,1);	//将i的值左移1位(最高位補到最低位)
	}
} 
/*----------------------------------------------------------------
	函數名稱:delay
	函數功能:延時
	函數形參:xms為延時時間
	返 回 值:無
----------------------------------------------------------------*/
void delay(unsigned int xms)
{
	unsigned int i,j;		//定義無符号整形變量i(範圍為0~65535)
	for(i=xms;i>0;i--)		//執行xms次即延時x毫秒
		for(j=115;j>0;j--);	//延時1ms(給i賦1ms的延時值,循環體為空時執行i--指令115次為1ms)
}
           

繼續閱讀