×
单片机 > 单片机程序设计 > 详情

单片机呼吸灯代码

发布时间:2020-05-26 发布时间:
|

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

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

 3 //     2012.9.23

 4 //      

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

 6 //******************************

 7 

 8 

 9 #include

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

11 #define T 800 //PWM的周期

12 

13 

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 

40 void main()

41 {

42  

43  while(1)

44  {

45     flash1();

46 

47  } 

48 }


关键字:单片机  呼吸灯 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向