修改点亮led的代码
实现led灯的闪烁

实现led灯的闪烁

首先,要实现闪烁,就需要设计一个延时函数。

可以用循环来实现

首先定义数据类型

typedef unsigned int u16;

简单延时函数

void delay(u16 i){
while(i--);
}

led闪烁代码

#include "reg52.h"

sbit led1=P3^4;

typedef unsigned int u16;

void delay(u16 i){
while(i--);
}
void main(){
while(1){
led1=0;
delay(10000);
led1=1;
delay(10000);
}
}

通过点亮led-延时-关闭led-延时这一流程实现了led的闪烁。

改进优化

事实上,这一过程还可以优化,在主循环中给led1赋值为1或0可以通过一句按位取反来实现。

while(1){
led1=~led1;
delay(10000);
}