数码之家

 找回密码
 立即注册
搜索
查看: 5644|回复: 10

[C51] MAX7219驱动数码管显示(码表)

[复制链接]
发表于 2021-3-27 23:10:14 | 显示全部楼层 |阅读模式
本帖最后由 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

打赏

参与人数 1家元 +60 收起 理由
家睦 + 60

查看全部打赏

 楼主| 发表于 2021-3-28 09:37:55 | 显示全部楼层
经检查,第二个问题是我自己数码管脚位画错了,手册脚位没问题,特此澄清

经检查,第二个问题是我自己数码管脚位画错了,手册脚位没问题,特此澄清

经检查,第二个问题是我自己数码管脚位画错了,手册脚位没问题,特此澄清
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-28 12:31:46 | 显示全部楼层
elecfunwb 发表于 2021-3-28 11:45
第一个问题也是你息的Layout的问题,电源和地线走这么细,GND覆铜根本没有起作用 ...

这个测试板子的图,后来又做了一板,线路没有问题
后来在两个板子上焊接上电容,就都好了

所以,最好再7219电源入口加滤波电容
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-3-28 22:18:20 | 显示全部楼层
lyy-cy 发表于 2021-3-28 16:48
这个坑我已经踩过了。

看那4个黄色的补焊的电容。

只是在网上找不到说这个问题的,都不提。。。

ESP8266+RX8025时钟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-5-28 21:16 , Processed in 0.312001 second(s), 13 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

快速回复 返回顶部 返回列表