51单片机,呼吸灯
答案:1 悬赏:10
解决时间 2021-01-24 07:16
- 提问者网友:溺爱和你
- 2021-01-23 20:43
51单片机,呼吸灯
最佳答案
- 二级知识专家网友:長槍戰八方
- 2021-01-23 21:50
#include<reg52.h>
#define N 2 //亮暗的速率
#define T 700 //PWM的周期
sbit led=P1^0;
void pwm(int x)
{
while(x--);
}
void main()
{
int t=0;
char f=0;//亮暗标志,0为亮
while(1)
{
led=0;
pwm(t);//Toff,亮的时间 led=1;
pwm(T-t);//Ton,暗的时间
if(!f) t+=N+1;//亮速率较快,模拟呼吸
else t-=N;//暗速率较慢
if(t>T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗
if(t<0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮
}
}
#define N 2 //亮暗的速率
#define T 700 //PWM的周期
sbit led=P1^0;
void pwm(int x)
{
while(x--);
}
void main()
{
int t=0;
char f=0;//亮暗标志,0为亮
while(1)
{
led=0;
pwm(t);//Toff,亮的时间 led=1;
pwm(T-t);//Ton,暗的时间
if(!f) t+=N+1;//亮速率较快,模拟呼吸
else t-=N;//暗速率较慢
if(t>T) {f=1;t=T;}//超过最大值时,返回最大值,标志为暗
if(t<0) {f=0;t=0;}//超过最小值时,返回最小值,标志为亮
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯