单片机如何控制一个LED灯闪烁频率不断加快??

求方法!!!PS:led闪时候数码管也在亮,所以应该要用定时器吧。。具体怎么办啊... 求方法!!!PS:led闪时候数码管也在亮,所以应该要用定时器吧。。具体怎么办啊 展开
 我来答
pctops
推荐于2017-11-24 · TA获得超过935个赞
知道小有建树答主
回答量:1154
采纳率:50%
帮助的人:430万
展开全部
首先定时器中断时间比如5ms,用来定时刷新数码管,他就不闪了。
其次,你另外申明一个全局变量,flash_count,每次定时中断,就是每次5ms,flash_count++,
同时你每次中断再判断flash_count==xxx时,你的led取反,同时设flash_count=0
你可以控制xxx,从1-255 改变,就可以控制闪烁的频率不断变化。

手工打的哦。采纳我吧。
奥蕾达
2024-11-14 广告
如果说原理的话,液晶是起到一个开关的作用。好比水龙头控制水量,液晶控制着光的通过量。 1 A:透明的不是液晶,而是整个显示系统。液晶显示器中的液晶显示系统在未浮花第拘郢饺电邪钉矛通电时是透明的(而且是Normaly White模式的)。 2... 点击进入详情页
本回答由奥蕾达提供
百度网友812a5d0
2018-04-17 · TA获得超过1.3万个赞
知道小有建树答主
回答量:59
采纳率:93%
帮助的人:8064
展开全部

首先定时器中断时间比如5ms,用来定时刷新数码管,他就不闪了。


其次,你另外申明一个全局变量,flash_count,每次定时中断,就是每次5ms,flash_count++,


同时你每次中断再判断flash_count==xxx时,你的led取反,同时设flash_count=0


你可以控制xxx,从1-255 改变,就可以控制闪烁的频率不断变化。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kobe778800
2011-11-08 · 超过20用户采纳过TA的回答
知道答主
回答量:117
采纳率:0%
帮助的人:48.3万
展开全部
PWM控制LED的渐亮渐灭

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar count;
uchar pwm=0; //LED亮的占空比
bit light_direction=1; //亮的方向:渐亮或渐灭
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=115;y>0;y--);
}
void init_timer()
{
EA=1;
TMOD=0x02; //方式2
TH0=0x9c; //100微秒中断一次
TL0=0x9c;
ET0=1;
TR0=1;
}
void main()
{
init_timer();
while(1)
{
delay(100); //中断1000次
if(light_direction) //全部渐亮然后渐灭
pwm++;
else
pwm--;
if(pwm>=8)
light_direction=0;
if(pwm==0)
light_direction=1;

}
}
void timer() interrupt 1
{
count++;
if(count==8) //分8次达到最亮,每次亮1/8(且持续100ms),脉冲周期为800us,分为8份
{
count=0;
if(pwm!=0)
P1=0;
}
if(count==pwm)
P1=0xff;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xxoolltt
2011-11-08
知道答主
回答量:31
采纳率:0%
帮助的人:16.7万
展开全部
LED灯闪烁的频率加快,你就把控制LED灯开与关的时间量逐渐缩短呗!t--; 是个不错的办法!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
daxiongshigou
2011-11-14
知道答主
回答量:35
采纳率:0%
帮助的人:15.9万
展开全部
调位计是最好用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式