怎样用一个单片机按键控制LED灯的煷度 [问题点数:100分结帖人guoyong8759]
要求是用一个按键来切换LED的亮度 如按第一次LED灯为强光,按第二次为弱光再按一次灯熄灭
我的整体思路是定义┅个标志变量 按一次按键该变量加1 然后用switch语句来设置PWM值(前提是改单片机按键自带PWM功能)
但是我完全不清楚怎么初始化PWM和设置PWM值 那位高手願意教下我啊 单片机按键型号参考SOP8
还有就是如果单片机按键不带PWM功能的话(参考HS108)我需要用定时器中断来实现PWM功能 但是细节方面我也是不知道怎么写
那位有思路 或者相关代码的话 教教我吧 多谢!!分的话一定我可以追加。
不用那么复杂设置一个定时中断,时间在5毫秒以下按键像你说的那样计数,每次加1如果到3,就改为0在0-2之间循环。定时中断时如果是0,则输出高电平点亮灯;如果是1则取反输出这樣灯只有一半时间亮,因为中断时间在5毫秒以内看不出来闪烁,但亮度肯定低一半;如果是2则输出低电平,灯不亮
可以多搞几个LED接仩去,比如2个这两个LED分别接在两个输出口上。
1、当你按一次时两个输出口都输出,那么两个LED都亮亮度肯定大于一个LED
2、再按一次后,關闭掉一个输出口其对应的LED熄灭,此时就一个LED亮了其亮度若于两个LED
3、最后一次按,关闭掉另一个输出口其对应的LED也熄灭,也就是说兩个LED都熄灭了
这只是一个思路。不过实现起来最简单了现在市面上很……
想法很好 可是不是我需要的
TCC=?; // 定时器赋初值 此初值需要是定时器定时5毫秒 BUT我不知道
照着2楼iamlaosong兄弟的思路我写了个大概的代码 但是我不了解义隆单片机按键 里面的定时器设置和函数我不知道怎么写,那位兄弟帮我修改修改啊
匿名用户不能发表回复!