單片機自學(xué)筆記之流水燈
#includereg52.h> //52系列單片機頭文件
#includeintrins.h> //C51庫自帶頭文件
#define uchar unsigned char //宏定義無(wú)符號字符型為uchar
#define uint unsigned int //宏定義無(wú)符號整型為uint
void delay(uint z); //聲明延時(shí)函數
uchar aa; //定義無(wú)符號變量
void main() //主函數
{
aa=0xfe; //給變量賦初值
while(1) //大循環(huán),無(wú)限循環(huán)
{
P1=aa; //給P1口賦值1010 1010
delay(500); //調用延時(shí)子函數延時(shí)500毫秒
aa=_crol_(aa,1);//調用intrins.h中的循環(huán)左移函數
}
}
void delay(uint z) //帶參數延時(shí)子函數,延時(shí)z毫秒
{
uint x,y; //定義局部變量,局部變量只在此子函數范圍內有效,退出子函數時(shí),變量空間自動(dòng)釋放
for(x=z;x>0;x--) //雙重for循環(huán)語(yǔ)句
for(y=110;y>0;y--); //利用循環(huán)語(yǔ)句實(shí)現CPU延時(shí),占用CPU
}
/*
intrins.h頭文件描述:
內部函數 描述
_crol_ 字符循環(huán)左移
_cror_ 字符循環(huán)右移
_irol_ 整數循環(huán)左移
_iror_ 整數循環(huán)右移
_lrol_ 長(cháng)整數循環(huán)左移
_lror_ 長(cháng)整數循環(huán)右移
_nop_ 空操作8051 NOP 指令
_testbit_ 測試并清零位8051 JBC 指令
*/
評論