找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 762|回复: 2
打印 上一主题 下一主题
收起左侧

关于51单片机矩阵键盘+红外发送的数据处理程序思路

[复制链接]
跳转到指定楼层
楼主
ID:580818 发表于 2022-3-2 15:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
矩阵键盘三行五列 现在共15个按键  因为有防误触得保护所以,我需要知道按了几个键 按了哪几个键  。
我的想法是把矩阵按健一个个得给独立化出来 用一个16位得数据来代表15个按键状态。
现在主要问题在红外发送这块,发送数据位要求16位 但是红外协议数据位一共8位 现在我需要怎么处理,自己写一个通讯协议吗还是应该怎么样做?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:8222 发表于 2022-3-3 09:47 | 只看该作者
先取出高8位和低8位,分两次发送,每次8位。
回复

使用道具 举报

板凳
ID:123289 发表于 2022-3-4 15:53 | 只看该作者
1、先要确定好对按键需要做哪些识别?短按、长按、复合按、正在按、已按……
2、给每一种按法设立一个标记:0/1=未发生/发生了。用到一个,就做一个!15个键,如果每个键都要【短按、长按、复合按、正在按、已按】,就设立15*5=75个标记。
3、扫键程序中,对每个键状态进行识别、修改,结果用标记体现。
以上键就处理完成了。
下面是红外发送部分:
1、弄清楚红外向外发送要表达什么意思?
2、有多少种意思需要表达?
3、给每个意思进行编码(256种以下,单字节即可,再多可以采用更多的字节来表达,还可以分组、分类……,组、类各用一个字节区分。),方式由你任意决定,只要你将方式告知到接收方就可以了(接收方收到数字后按告知的意思,进行解码处理)。
4、余下的事情,就与串口发送一样了。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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