給你在關鍵的地方注釋了
- #include <reg52.h> //此文件中定義了單片機的一些特殊功能寄存器
- #include <intrins.h> //循環移位函數頭文件
- typedef unsigned int u16; //對數據類型進行聲明定義
- typedef unsigned char u8; // 宏定義
- #define led P2 // 宏定義
- /*------------------------------------------------
- 延時函數,含有輸入參數 unsigned int t,無返回值
- unsigned int 是定義無符號整形變量,其值的范圍是
- 0~65535
- ------------------------------------------------*/
- void delay(u16 i) //延時子函數
- {
- while(i--);
- }
- void main() //主函數
- {
- u8 i=0; //定義一個無符號字符型局部變量 i 取值范圍 0~255
- led=0xfe; //賦初始值
- delay(10000); //延時
- while(1) //主循環
- {
- for(i=0;i<8;i++) //加入 for循環,表明for循環大括號中的程序循環執行8次
- {
- led=_crol_(led,1); //左移
- delay(5000); //延時
- }
- for(i=8;i>0;i--) //加入 for循環,表明for循環大括號中的程序循環執行8次
- {
- led=_cror_(led,1); //右移
- delay(5000); //延時
- }
- //主循環中添加其他需要一直工作的程序
- }
- }
復制代碼 |