矩阵led显示,采用三级扫描,可以实现多级调亮度,动态扫描所有led灯亮度同一,不会出现一组led灯点亮的个数不同导致亮度不同,8*8矩阵的单个led灯闪烁(牺牲了亮度,整体亮度会下降一个级别,但是如果io口的驱动能力比较好的的话是不影响的)
三级扫描思路:
第一级扫描位扫描:一段数码管或者一行led 每个灯都执行相同的时间
第二级扫描段扫描:当扫描完一段之后,将段号或者行号加一,扫描下一段
第三级亮度扫描:当扫描完所有段之后亮度cnt加一,从新开始位扫描
/* LED分布
1
2 3
4
5 6
7
*/
//阳极 码 阴极取反
// 0~f 数码管 ,不带点
const u8 table1[]={
0x77,0x24,0x5d,0x6d,
0x2e,0x6b,0x7b,0x25,
0x7f,0x2f,0x3f,0x7a,
0x53,0x7c,