STC51单片机61——呼吸灯
- 软件开发
- 2025-08-21 07:30:02

#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——呼吸灯”