51流水灯

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

左移 循环移动

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

}

 void main(){
	 unsigned int i;
	 while(1){
	  led_show();
	  for(i=0;i<30000;i++);
 	 }
 }
posted @ 2022-01-22 23:15  xiaoberber  阅读(57)  评论(0编辑  收藏  举报