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