基于MCU和74595的LED灰度控制 |
基于MCU和74595的LED灰度控制 |
2008-06-05 00:19:42, Thu
Post
#1
|
|
猫猫猫 Group: Power Cat Posts: 626 Joined: 2006-12-8 Member No.: 2 |
代码 16个灰度,也就是 0--15,用4个BIT来表示, 8-4-2-1
用PWM产生4个联系不同占空比的脉冲 T8 8/16 对应BIT8 T4 4/16 对应BIT4 T2 2/16 对应BIT2 T1 1/16 对应BIT1 8/16表示的是把PWM的周期划分为16份,其中量的周期占8份,其他雷同 当这4个脉冲运行后,由于人的生理特点。也会出现需他的灰度; 同上面的方法比较,它需要4次个周期人眼才能感觉出灰度; 但是对PWM的要求就很低;比如256种灰度,不过送8次,1024也不过要10次 大大减低了对硬件的要求,现在基本都是使用这种方法; 在一个595上+出现不同的灰度,就必须结合上面说的东东; 把一个灰度分解成4帧 例如灰度9: 1001 T8 8/16 对应BIT8 T4 不亮 对应BIT4 T2 不亮 对应BIT2 T1 1/16 对应BIT1 所以我们的各个灰度分解为4帧,送4次都595,就可以了 例如在1个595上出现下面不同灰度的4个点,(就以4个点举例,) 4个点的灰度 3,12,10,7 转化为BIN码 0011 1100 1010 0111 把8-4-2-1码分割出来,得到独立的4帧 BIT8 0 1 1 0 BIT4 0 1 0 1 BIT2 1 0 1 1 BIT1 1 0 0 1 步骤: 1.把BIT8的数据送到595,用PWM控制OE的脉冲为T8 2.把BIT4的数据送到595,用PWM控制OE的脉冲为T4 3.把BIT2的数据送到595,用PWM控制OE的脉冲为T2 4.把BIT1的数据送到595,用PWM控制OE的脉冲为T1 经过4帧的时间叠加后,就得到不同的灰度。 |
|
|
Lo-Fi Version | Time is now: 2024-11-1 21:39 |