51流水灯


51单片机引脚的驱动能力 ,sink,source

左移 循环移动

/**********************51单片机学习例程************************
*  平台:Keil U4 + STC89C52
*  名称:P1口控制流水灯闪烁
*  编写:Tony
*  日期:2022-1-23
*   QQ : 674749794
*  晶体:12MHZ
*	 变更记录:无
******************************************************************/
#include 
#include 
/********************************************
主函数
********************************************/
void main(){
    unsigned int i;
	P1=0x01;		   //LED状态初始化
	while(1){
	  P1=_crol_(P1,1); //LED状态切换(循环左移函数)
	  for(i=0;i<40000;i++); //延时
	}


}

左移,需要复位

/**********************51单片机学习例程************************
*  平台:Keil U4 + STC89C52
*  名称:P1口控制流水灯闪烁
*  编写:Tony
*  日期:2022-1-22
*   QQ : 674749794
*  晶体:12MHZ
*	 变更记录:无
******************************************************************/
#include 
unsigned char led_state;
void led_show();
/********************************************
							LED状态切换子函数
********************************************/
void led_show(){
   if(led_state>=7)
      led_state=0;
   else
      led_state++;
   P1=(0x01<