单片机通过74HC595的输出怎样实现LED的渐变

[复制链接]
6828|25
czh 发表于 2008-11-1 13:33 | 显示全部楼层

在12楼基础上再稍微详细点说说!

假设有8个点【一块595正好】,每个点要有4级灰度,则每个点需要2个bit,比如00代表全黑,01代表稍亮,10代表亮,11代表最亮。那么一块595就有两个字节的数据。并且扫描三次为一副完整的画面。现假设第一点为黑,第二点为全亮,第三点为稍亮,第四点为亮,。。。那么第一次扫描时给595传送数据应该送0111xxxx,第二次送0101xxxx,第三次送0100xxxx,在这种情况下第一个点每次都不亮,第二个点亮三次,第三个点亮一次,第四个点亮2次,整体效果达到了每个点的亮度都不一样,当然要注意这三次扫描最慢要在50ms内完成,不然有闪烁!
ayb_ice 发表于 2008-11-1 16:18 | 显示全部楼层

595只是串行接口芯片

至于PWM还是要不停的控制IO口高低.
其实PWM就是不停的IO口高低变化,只是高低的位置是动态的变化(占空比变化),用过定时器很容易做的,只是软件模拟频率不太高,否则效率太低,还可能处理不过来,用两个定时器更简单,一个控制IO变高,一个控制IO变低...
gx_huang 发表于 2008-11-1 21:39 | 显示全部楼层

也不要太挖苦了!

比如4个数码管,扫描周期5毫秒。
如果把5毫秒分成5个1毫秒,并单独控制是否点亮就可以控制亮度了。
也就是说扫描周期变成了1毫秒!

假如还不懂,是要被人挖苦了!
fengxu0217 发表于 2008-11-1 22:40 | 显示全部楼层

2楼命中要害了

12楼的解释让外行都懂了
 楼主| maxking 发表于 2010-1-31 14:53 | 显示全部楼层
完全明白!谢谢各位!呵呵!
bingdi_001 发表于 2011-6-29 17:02 | 显示全部楼层
是某些人没看懂人家的问题吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部