数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3149|回复: 10

[C51] TM1638驱动共阳数码管,太难了

[复制链接]
发表于 2024-4-5 15:04:24 | 显示全部楼层 |阅读模式
本帖最后由 lmn2005 于 2024-4-5 15:06 编辑

四位数码管显示时间玩够了,所以很想做个八位数码管显示模块。
了解TM系列的数码管驱动芯片,觉得TM1638很合适。
因为根据手册说明,它能驱动共阴数码管,又能驱动共阳数码管,驱动时序又与TM1637差不多。
于是确定选择TM1638打板制作八位显示模块。


可是,真正驱动起来,却不是想像的那样简单!这是用1637驱动思路驱动的结果:



还是回归TM1638手册,仔细分析共阳数码管的驱动方式。

觉得很是独特,主要思路就是把段码与位码进行互换!
但是,总是觉得太难了,有时间还是把TM1638模块改为共阴。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

x
发表于 2024-4-5 16:04:19 | 显示全部楼层
按键的时候会影响显示,消隐的字段会微微发亮,对我来说是鸡肋
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-5 21:33:39 | 显示全部楼层
inthsunshine 发表于 2024-4-5 16:04
按键的时候会影响显示,消隐的字段会微微发亮,对我来说是鸡肋

哦,有这种现象。我倒是从来都没有用过这类芯片来作为按键输入的。因为现在的单片机IO口基本都足够用
回复 支持 反对

使用道具 举报

发表于 2024-4-5 21:44:38 | 显示全部楼层
inthsunshine 发表于 2024-4-5 16:04
按键的时候会影响显示,消隐的字段会微微发亮,对我来说是鸡肋

这个问题应该不难解决,SEG脚到KS脚之间串二极管就行了。
回复 支持 反对

使用道具 举报

发表于 2024-4-9 11:56:17 | 显示全部楼层
tm的数码管驱动都是大同小异,没啥难的,写好一款,其他基本都可以移植过去
回复 支持 反对

使用道具 举报

发表于 2024-4-9 17:19:10 | 显示全部楼层
这个用过很多量,显示效果还可以的,共阳显示要把单个字节 表示的 拆成 8个字节的每一位Bit表示确实有点麻烦。
回复 支持 反对

使用道具 举报

发表于 2024-4-9 18:11:40 | 显示全部楼层
14年前即2010年时写过这样的程序驱动DVD显示屏芯片TM1628来驱动共阳LED数码管,记得当时是将8个字节XX行转为8个字节YY列可以实现,应该也有其他更方便的写法吧
回复 支持 反对

使用道具 举报

发表于 2024-4-11 21:55:04 | 显示全部楼层
自己改代码,不难
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-12 10:57:35 | 显示全部楼层
buildhe 发表于 2024-4-9 11:56
tm的数码管驱动都是大同小异,没啥难的,写好一款,其他基本都可以移植过去 ...

大同小异是大同小异,只是1638原来是适用于共阴的,共阳只是兼容而已,代码得修改才行,且修改的思路有点另类。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-4-12 10:58:15 | 显示全部楼层
zhangmc419 发表于 2024-4-11 21:55
自己改代码,不难

我虽然修改好了,但觉得不是很容易。
回复 支持 反对

使用道具 举报

发表于 2024-4-12 12:28:06 | 显示全部楼层
lmn2005 发表于 2024-4-12 10:58
我虽然修改好了,但觉得不是很容易。

不难吧,你定义一个显示缓冲区,然后写一个中间函数,把7个笔画分别写入对应的显示缓冲区,上层只管传递数字进来,有更新的时候把所有缓冲区重新写一遍到tm的芯片
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-20 01:01 , Processed in 0.140400 second(s), 10 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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