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++);
}
}
浙公网安备 33010602011771号