主页 > 软件开发  > 

STC51单片机61——呼吸灯

STC51单片机61——呼吸灯

 

 

#include "reg52.h"

sbit LedHuxi1=P1^0;

#define time (65536-1000) // 单次定时1ms unsigned char T_High, T, ti, dir;

void InitTimer0(void) {   TMOD=0x01;     TL0 = time;                     //initial timer1 low byte     TH0 = time >> 8;                //initial timer1 high byte     TR0 = 1;                        //timer1 start running     ET0 = 1;                        //enable timer1 interrupt     EA = 1;                         //open global interrupt switch } void Delay(void) {   unsigned char i,j;     for(i=0;i<20;i++)       for(j=0;j<255;j++)             ; }

void main(void) {   T_High=0; //高电平     T=30;      //周期     ti=0;     dir=0;   InitTimer0();   while(1){       Delay();         if((T_High<T)&&(dir==0))             T_High++;         else if(T_High==T) {           dir=1;           T_High--;         }         else if((T_High>0)&&(dir==1))         T_High--;         else             dir=0;     }

}

/* Timer0 interrupt routine */ void tm0_isr() interrupt 1 {     TL0 = time;                         TH0 = time >> 8;                    if(ti<T_High){           LedHuxi1=1;             ti++;         }else if(ti<T){           LedHuxi1=0;             ti++;         }else{           ti=0;         }      }

标签:

STC51单片机61——呼吸灯由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“STC51单片机61——呼吸灯