数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 5071|回复: 8

[C51] 说说常见数码管驱动芯片PT6964、TM1627等型号的按键键值那些事

[复制链接]
发表于 2020-4-22 19:40:32 | 显示全部楼层 |阅读模式
本帖最后由 慕名而来 于 2020-4-22 19:51 编辑

最近一直在玩数码管时钟,以前一直弄74LS164、74HC595驱动数码管,看到坛里有用到数码管专用驱动芯片的,春节过后就淘了几片TM1637来玩(注:TM1637的按键是有固定键值的,不在本文讨论的范围内),STC-mcu+TM1637+DS3231+4位1.5寸数码管的时钟程序完成后翻动破烂又找到了一个广电机顶盒的控制面板,是一片PT6964+4位集成数码管+6个按键的板子,这几天开始玩这几个按键发现百度资源极少,总结了一点心得分享给各位,对于用过这类芯片的大神而言都是浅显的东西,没有技术含量的,对于刚刚接触这些芯片的新手而言这类芯片的按键控制不同于TM1650、TM1637这些具有固定键值的芯片,尤其是PT6964仅看E文的数据手册可谓云里雾里(TM1627会好很多),希望此文能够对新手有用。
下图为PT6964关于按键寄存器的描述:

刚刚看到这个图片时,百思不得其解,一些相同的数据如何代表不同的按键呢?弄明白了以后才发现,与真相值隔了一张纸,最终得以破解是因为我重新画了一张图使得按键编码得以一目了然的呈现出来了。
见下图:

以下再简单的解释一下:
键值依按键连接端口不同分成5组,每组皆为4个键值:0x01、0x02、0x08、0x10;每个key[x]对应4个按键。例如:我们读取的数据为key[3]=0x02,那么就可以确认此时K2与KS7端口连接的按键被按下了。
每次发生按键动作并启动读取键值程序后都会读出5个数据并存入key[]数组中,此后可以根据某个key[x]值来判断该按键的接线位置,也可以根据已知接线的按键键值去比对key[x]值来判断该按键是否被按下。
例如:已知“加”按键KY1连接在K1与KS1接口上,“减”按键KY2连接在K2与KS4接口上,根据上述的图表即可知道KY1的值为0x01对应于key[0]、KY2值为0x10对应于key[1],读取键值后只要我们判断数组中的这两个数据与表中数据是否一致即可.
按键程序为:
if(key[0]==0x01)
{
KY1++;
}
或者:
if(key[1]==0x10)
{
KY2--;
}













本帖子中包含更多资源

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

x

打赏

参与人数 1家元 +15 收起 理由
人艰不拆了 + 15

查看全部打赏

 楼主| 发表于 2020-4-22 19:56:57 | 显示全部楼层
本文只是对应单按键操作的解释,对应同时按下两个或多个按键的因为没有用到所以没有琢磨,本文只是新手的一点理解如有谬误也请发现问题的朋友即时指正以免误人子弟,先谢了!
回复 支持 反对

使用道具 举报

发表于 2020-4-22 21:18:47 | 显示全部楼层
慕名而来 发表于 2020-4-22 19:56
本文只是对应单按键操作的解释,对应同时按下两个或多个按键的因为没有用到所以没有琢磨,本文只是新手的一 ...

哈哈,基本没用过按键:titter:

打赏

参与人数 1家元 +10 收起 理由
慕名而来 + 10

查看全部打赏

回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 09:15:16 | 显示全部楼层
人艰不拆了 发表于 2020-4-22 21:18
哈哈,基本没用过按键

做时钟就要用到按键呀,用这种数码管驱动芯片就是为了省事、节省单片机端口,一般最多3个引脚就搞定了显示+按键了,再加上一个时钟模块刚好一片8脚单片机就搞定了。建议抽空玩玩简单的LED数码管时钟或许也挺有乐趣的。
回复 支持 反对

使用道具 举报

发表于 2020-4-23 09:18:06 | 显示全部楼层
慕名而来 发表于 2020-4-23 09:15
做时钟就要用到按键呀,用这种数码管驱动芯片就是为了省事、节省单片机端口,一般最多3个引脚就搞定了显 ...

我最不爱做时钟,哈哈:titter:
回复 支持 反对

使用道具 举报

发表于 2020-4-23 09:20:08 | 显示全部楼层
慕名而来 发表于 2020-4-23 09:15
做时钟就要用到按键呀,用这种数码管驱动芯片就是为了省事、节省单片机端口,一般最多3个引脚就搞定了显 ...

按着按键调时间,日期,成品我都懒得动手:loveliness:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 09:28:14 | 显示全部楼层
人艰不拆了 发表于 2020-4-23 09:18
我最不爱做时钟,哈哈

我倒是无所谓的,虽然这东西在单片机应用里算是地皮级别的技术了,但是,有时手里有了没有点亮的东西就总是有上手的冲动,也无论是数码管或是其他的东西,只要没弄过的就是好玩的东西。
最近之所以一直玩表,只是因为入门单片机时做的几个一直在用着的闹表都是当时东拼西凑的,接下来准备都升级一下,包括时基模块、驱动程序都重新弄一下。
回复 支持 反对

使用道具 举报

发表于 2020-4-23 09:31:04 | 显示全部楼层
慕名而来 发表于 2020-4-23 09:28
我倒是无所谓的,虽然这东西在单片机应用里算是地皮级别的技术了,但是,有时手里有了没有点亮的东西就总 ...

哈哈,反正都是玩:loveliness:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-23 09:36:51 | 显示全部楼层

对呀,手里有东西能焊、有程序弄不通就有的玩,足矣。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-7-16 09:18 , Processed in 0.265201 second(s), 12 queries , Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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