一个4*4键盘控制两块单片机的问题!!!!求教高手!!! 20

一块4*4键盘,控制两块单片机,当键盘和其中任一块单片机链接时,键盘控制正常,当键盘一起连两块单片机时,键盘完全乱码了,该怎样解决???... 一块4*4键盘,控制两块单片机,当键盘和其中任一块单片机链接时,键盘控制正常,当键盘一起连两块单片机时,键盘完全乱码了,该怎样解决??? 展开
 我来答
lylxy1965
2011-05-17 · TA获得超过2413个赞
知道小有建树答主
回答量:436
采纳率:100%
帮助的人:216万
展开全部
可以尝试下面的思路(假设4*4矩阵键盘,4根行线接P1.0~P1.3口,4根列线接P2.0~P2.3口键盘扫描机制:列线分别顺序输出0111、 1011、 1101、 1110,分别在相应时刻读入P1口状态)
1、P2口全部输出高电平
2、读入P2口状态,有0则说明另一台单片机在扫描,则退出,等待一段时间再扫描。
3、将0111送出P2口
4、读入P1口状态
5、P2口全部输出高电平
6、读入P2口状态,有0则说明另一台单片机在扫描,刚才的数据丢弃,退出等一段时间再扫描。
7、循环4次
然后处理键值。

这种方法有个前提,应保证两台单片机每次扫描的时间间隔不一样,否则理论上会出现两台同时开始进行扫描,又同时放弃,下次再扫时又碰上对方再扫描,又放弃,....这样就永远无法检测到有效的键值了。而且上面实际扫描的指令应尽量简洁,占用端口线的时间越短越好。

你试试看,我觉得应该没问题
evan_20
2011-05-14 · 超过13用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:33.2万
展开全部
能不能说的具体点?
追问
就是独立作出了一块4*4的键盘,有两块装有单片机的电路板,一块是实现计算器功能的,另一块是实现语音功能的,当键盘单独接在其中某一块电路板时,按键控制计算或者语音功能都正常,但是把它既连在计算模块又连在语音模块工作时就出问题了,比如按1不显示1,也不发出1的读音了。其中键盘都是通过IO口扫描的,每块电路板各有一块单片机~~~~高手,求救啊!!!
追答
你这样就是一个键盘连接两个单片机,这样不好。就像一个领导给两个下属安排同样的任务,但是两个人可能做事的方法会不一样,结果有可能也不一样,单片机也一样。建议你的键盘只连一个主机,然后另一个单片机作为从机连到主机上,两机采用串口通信,或者用并口也可以啊,很简单的,你那个想法太简单了,呵呵。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lzw438386158
2011-05-14
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
这个很正常啊。因为你的扫描没有同步啊,可能读回来的是另一个单片机发出的电平。
追问
怎样同步啊?同步基本是不可能的吧?
追答
解决这个问题不一定要处理这个同步问题,可以换个思路,比如:利用串口通讯把键值发给另一个单片机,让它发出相应的声音。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
578945082
2011-05-14 · 超过17用户采纳过TA的回答
知道答主
回答量:84
采纳率:0%
帮助的人:51.2万
展开全部
单片机与单片机之间通信没用上吧,,,,,矩阵键盘不要接在P3
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ewangboyuan
2011-05-14
知道答主
回答量:16
采纳率:0%
帮助的人:0
展开全部
这个很正常啊。因为你的扫描没有同步啊,可能读回来的是另一个单片机发出的电平。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woxyzzz
2011-05-17 · TA获得超过122个赞
知道答主
回答量:119
采纳率:0%
帮助的人:91.9万
展开全部
不要两个单片机同时接一个矩阵键盘上,两个扫描不同步就会读到错误的电平,你可以只用一个单片机扫描,扫到键值后通过串口发送给另一个单片机就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式