请教玩51的朋友们:C语言如何区分读锁存器和读引脚?

2020-02-01 16:22发布

请教玩51的朋友们:C语言如何区分读锁存器和读引脚?

一直困惑这个问题。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
mcu_lover
2020-02-03 07:27
有些概念要清楚。就是51单片机的端口结构。
51单片机上电复位之后,端口锁存器值为1,这个时候是可以直接读取外部引脚状态的。

如果某个既存在输入又存在输出,即端口复用的情况。如很多人在扫描数码管时候,还用来读取按键值。在这种情况下就有必要分清楚读引脚还是锁存器。
在复用的情况下,如果要知道上次输出的值(即端口锁存器的值),需要用逻辑指令去读取端口状态。如果要知道当前IO口的值,则先将端口锁存器的值保存起来。然后将端口锁存器置1,再读引脚,此时读到的就是外部真实值。

一周热门 更多>