51微控制器STC89C52控制LED跑馬燈左移(使用C51自帶庫_crol_()實現),詳細註釋
阿新 • • 發佈:2021-02-06
/*-----------------------包含標頭檔案區域-------------------------*/
#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)
}