#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 指令 */