给你在关键的地方注释了
- #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); //延时
- }
- //主循环中添加其他需要一直工作的程序
- }
- }
复制代码 |