键盘扫描求助

[复制链接]
1421|9
 楼主| 醉心369 发表于 2015-12-21 09:54 | 显示全部楼层 |阅读模式
看到书中写到:      但这样改动后即便没有按键Pm.x也能读到1,……

怎么会读到1呢,应该是0吧。大侠们帮忙分析分析

本帖子中包含更多资源

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

×
dsaasdj 发表于 2015-12-24 17:24 | 显示全部楼层
我猜这款单片机的IO设置为输入时,可能存在可设置的内部上拉。
 楼主| 醉心369 发表于 2015-12-24 18:09 | 显示全部楼层
dsaasdj 发表于 2015-12-24 17:24
我猜这款单片机的IO设置为输入时,可能存在可设置的内部上拉。

即使内部有上拉,但是有接地电阻啊,按照书中说法,如果没有外部影响,应该是低电平。
dsaasdj 发表于 2015-12-24 19:05 | 显示全部楼层
醉心369 发表于 2015-12-24 18:09
即使内部有上拉,但是有接地电阻啊,按照书中说法,如果没有外部影响,应该是低电平。 ...

一个input口,比如说Pw.0吧,(先不考虑Pn.x)按键1按下之后,它既连接了上拉电阻到电源又连接了下拉电阻到地,它是1还是0呢?

这取决于上拉电阻和下拉电阻的值,分压之后是处于高电平就1低电平就0。
我猜是上拉优先于下拉。因为Pw.x平时处于低电平,要是按键按下时还是低电平那就无法实现按键检测的功能了。
 楼主| 醉心369 发表于 2015-12-25 10:32 | 显示全部楼层
dsaasdj 发表于 2015-12-24 19:05
一个input口,比如说Pw.0吧,(先不考虑Pn.x)按键1按下之后,它既连接了上拉电阻到电源又连接了下拉电阻 ...

你说的是没错,但是你没有回答我要问的问题啊。
Pm.x为输入口,没有按键时处于低电平,这句话说明了什么?我的理解是即使又上拉,该处的电平也是嗲啊,正如你说的电阻分压;
当有按键按下时,是由于Pn口输出高电平导致的Pm口处的电平为高。

我想问的是:
看到书中写到:      但这样改动后即便没有按键Pm.x也能读到1,……

怎么会读到1呢?
dsaasdj 发表于 2015-12-25 13:37 | 显示全部楼层
是哪款MCU,我想看它的datasheet。
lrhsx33 发表于 2015-12-25 13:54 | 显示全部楼层
有些MCU读,可以选择是读外面IO状态,还是说寄存器的。
如果你选择是寄存器,读的数据就是你给寄存器的值而不是IO状态。
 楼主| 醉心369 发表于 2015-12-26 14:55 | 显示全部楼层
dsaasdj 发表于 2015-12-25 13:37
是哪款MCU,我想看它的datasheet。

我也不知道哪款单片机,是从书上看到的。
《删繁就简:单片机从入门到精通》这本书写的
 楼主| 醉心369 发表于 2015-12-26 14:56 | 显示全部楼层
lrhsx33 发表于 2015-12-25 13:54
有些MCU读,可以选择是读外面IO状态,还是说寄存器的。
如果你选择是寄存器,读的数据就是你给寄存器的值而 ...

从书中可以看到,不会是读寄存器,没意义。
gaoxueyan 发表于 2015-12-28 11:56 | 显示全部楼层
从书中看到,你怎么验证别人说的是否正确,都是在猜测可能性,最后没结果
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

283

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部