访问电脑版页面

导航:老古开发网手机版51单片机51单片机与LED

51单片机通过程序控制心形led灯闪烁的设计

导读:
关键字:
51单片机,led灯,

所谓的“呼吸灯”,就是通过程序控制led灯的闪烁过程,像呼吸一样有节奏。有亮度渐变的过程。

先来张效果图:

这是未加修饰的样子,不过进行了简单的装饰后,就变身超级有爱的东西了

制作过程:

1 //******************************

2 // 51单片机模拟呼吸灯

4 // menglei

5 // p0.0接一个LED灯,状态0为亮

7

8

9 #include

10 #define N 2 //亮暗的速率

11 #define T 800 //PWM的周期

12 #define T1 1400

13 #define T2 900

14 //sbit led0=P0^0;

15 //======================

16 void pwm(int x)

17 {

18 while(x--);

19 }

20 //======================

21

22 void flash1(void){

23 int t = 0;

24 char f = 0;

25 int count = 5;//5次,每个函数执行的次数

26 while(1){

27 P0 = 0x00;

28 pwm(t); //Toff,亮的时间

29 //led0=1;

30 P0 = 0xff;

31 pwm(T-t+100);//Ton,暗的时间

32 if(!f) t+=N+1;//亮速率较快,模拟呼吸

33 else t-=N;//暗速率较慢

34 if(t》T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗

35 if(t《0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮

36 // count--;

37 }

38 }

39 void main()

40 {

41

42 while(1)

43 {

44 flash1();

45 }

46 }

来源:工程师周亮   作者:lhl545545  2019/7/10 15:32:00
栏目: [ 51单片机与LED]

相关阅读

51单片机通过程序控制心形led灯闪烁的设计

AT89S51单片机控制八个发光二极管左移右移重复循环发光的设计

AT89S51单片机多路开关控制发光二极管显示的设计

AT89S51单片机对6位LED数码管实现显示时计方式的设计

51单片机实现LED点阵屏动态扫描显示的设计

AT89C51单片机的流水灯控制设计

LED流星雨灯的制作(51单片机程序代码)

51单片机上实现的交通灯程序

AT89S51单片机发光二极管多功能闪烁的设计

AT89S51单片机广告灯电路的设计

51单片机通过I/O口对LED进行控制的设计

51单片机对闪烁灯的控制设计

51单片机对八路发光二极管广告灯的设计

以51单片机为核心的LED彩灯控制器设计

AT89S51单片机对8X8点阵LED的控制设计

74LS164在2051单片机LED显示电路中的应用

51单片机流水灯电路图大全(六款单片机流水灯电路图介绍)

8051单片机进行8路LED模拟分支控制

基于C51单片机开发的彩灯霓虹灯控制电路

51单片机对LED点阵屏的设计