Hi, Robots(三):The RTCLP——基于软件PWM
The RTCLP——The Randomly Three Color LED Project,今天终于完成了(其实也就从昨天开始搞……)。顾名思义,由RGB三色LED灯合成颜色,组成一盏变化的“灯”,灯的颜色是随机变化的,并且带渐变。实际上The RTCLP是上次讲的基于软件的PWM的应用,因为确确实实里面用到了上次的PWM.c。
说下思路吧,三路PWM控制RGB三种颜色,为了增强亮度,就将每一路又复制两份(PORTC->PORTA、PORTB)。开始时准备打一个颜色表,然后定时切换,后来发现效果不理想。想想,既然这次用了16.9344MHz的晶振,那干脆引用
挺郁闷的是,要过年了没有提前买元件,所以LED灯都凑不齐……╮(╯▽╰)╭要三个高亮散光的LED,结果只有一个高亮散光的R、一个普通亮度的G、一个高亮聚光的B……过几天再弄弄吧……
代码如下: main.c:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
|
PWM.c:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
|
header.h:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|