|
本帖最后由 widjrerpfnvd 于 2021-3-27 23:14 编辑
初玩MAX7219驱动8位数码管,遇到了一些问题,反复找资料,却没有说这类问题的。只好自己试。弄了好长时间,最后歪打正着弄好了,这里分享一下,避免新同学走弯路。
第一个问题:驱动没问题,但数码管不显示,乱跳
按照手册的电路接好,
用Arduino 和 51单片机驱动,都不能正常显示,表现为不显示,或者乱跳。
最后,在芯片VCC和GND之间,接了一个104(0.1uF)和一个105(10uF)电容,可以正常显示了。
判断是供电不好,滤波一下就可以了。
第二个问题:数码管显示与共阴管的码表不一致
还是手册,在不使用BCD编译的情况下,试用最常用的共阴码表,结果显示错乱。
第一张图中段码对应数据是错误的,正确的应该是 D7-D0分别对应 DP f a b c d e g
第二张图中注意数码管与寄存器地址对应关系,
0x01对应Digit0即第1个数码管
0x02对应Digit1即第2个数码管
......以此类推
最后,0-9-F 的码表应该是
char code table[]={
0x7e, //0
0x18, //1
0x37, //2
0x3d, //3
0x59, //4
0x6d, //5
0x6f, //6
0x38, //7
0x7f, //8
0x7d, //9
0x7b, //A
0x4F, //b
0x66, //C
0x1F, //d
0x67, //E
0x63 //F
}; //共阴
也许是我没有研究好数据手册,高手请无视此贴,仅供单片机初学者参考
下面是我的数码管与电路
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|