打印

有关4*4键盘的扫描的一个问题

[复制链接]
1335|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
刘永涛|  楼主 | 2014-6-22 21:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不好意思又来麻烦大家了,今天在用c语言写4*4键盘扫描的程序。原理图是只用p0口进行扫描的,我想各位大虾都应该知道原理和原理图的样子的了。我有一点不明白的就是,当p0在输出扫面信号后,又作为输入扫描了键盘。我想知道在作为输入时,p0口还输出信号吗?输出信号后,然后接着输入信号,中间这个时序是什么呢?我觉得作为输入时应该是不在输出信号了,那信号都没了,怎么又输入呢?
我也看了一些帖子,说p0口作为输入时,必须首先置一,有哪位大侠可以讲解一下吗?

相关帖子

沙发
NE5532| | 2014-6-22 22:05 | 只看该作者
“输入之前必须先写1”是由51的“开漏输出”结构决定的,这个写1不是输出信号,而是释放端口,详见51端口的内部电路示意图,就明白了。

楼主说的这种键盘扫描跟教科书上典型的行(或者列)输出,列(或者行)输入的方式不一样,是两边一起扫,可以更快找到按下的键,还可以做组合键之类的功能。

使用特权

评论回复
板凳
原野之狼| | 2014-6-23 01:01 | 只看该作者
对着端口的电路图看看其工作原理  如果看不懂的话就得把电路知识补习一下

使用特权

评论回复
地板
ayb_ice| | 2014-6-23 06:23 | 只看该作者
部分输出,部分输入

使用特权

评论回复
5
刘永涛|  楼主 | 2014-6-23 07:33 | 只看该作者
ayb_ice 发表于 2014-6-23 06:23
部分输出,部分输入

可以详细一点吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

18

帖子

0

粉丝