天天看点

51单片机STC89C52控制LED跑马灯左移(使用C51自带库_crol_()实现),详细注释

/*-----------------------包含头文件区域-------------------------*/
#include<reg52.h>  	//单片机头文件 
#include<intrins.h>	//C51自带库头文件
/*-----------------------函数声明区域---------------------------*/ 
void delay(unsigned int xms);//延时函数声明
/*-----------------------主函数区域-----------------------------*/
void main()
{
	unsigned char i;//定义无符号字符型变量i(范围为0~255)
	i=0xFE;//给i赋初始值
	while(1)	//重复执行while循环体的程序
	{
		P2=i;			//将i的值赋给P2端口
		delay(500);		//延时500ms	
		i=_crol_(i,1);	//将i的值左移1位(最高位补到最低位)
	}
} 
/*----------------------------------------------------------------
	函数名称:delay
	函数功能:延时
	函数形参:xms为延时时间
	返 回 值:无
----------------------------------------------------------------*/
void delay(unsigned int xms)
{
	unsigned int i,j;		//定义无符号整形变量i(范围为0~65535)
	for(i=xms;i>0;i--)		//执行xms次即延时x毫秒
		for(j=115;j>0;j--);	//延时1ms(给i赋1ms的延时值,循环体为空时执行i--指令115次为1ms)
}
           

继续阅读