对io口读引脚的锁存器和引脚操作有什么区别

书上说MCS-51的4个I/O端口共有三种操作方式:输出数据方式、读端口数据方式和读端口引脚方式读端口数据方式是一种仅对端口锁存器中数据进行读入的操作方式。CPU读入的这个數据并非端... 书上说MCS-51的4个I/O端口共有三种操作方式:输出数据方式、读端口数据方式和读端口引脚方式
读端口数据方式是一种仅对端口锁存器中数据进行读入的操作方式。CPU读入的这个数据并非端口引脚的数据例如:MOV A,P1(P1锁存器中数据送A)
读引脚方式可从端口引脚上读入信息。先将对应锁存器置1然后读入引脚数据。例如:MOV P1,#0FH(使P1口低4位锁存器置1)MOV A,P1(读P1口低四位引脚信号)

问题:读端口数据方式(读锁存器)是MOV A,P1;讀引脚也有MOV A,P1那么系统是如何判断是读锁存器还是读引脚呢?


假如读锁存器之前锁存器中有几位已经置1了,那执行MOV A,P1命令不是读引脚了吗
感觉1L的说得有道理啊,书是我们学校自己出的 怎么没人回答了呢?

51单片机IO脚采用准双向

电平时P1实际上既可以作为高电平输出,也可鉯作为输入(这要求外部源有足够的驱动能力至少能够吸收1mA电流),所以MOV A,P1就是一次读8个引脚 maxiurui说的逻辑指令可以一次读一个引脚。若设置设置P1口为低电平时MOV A,P1读锁存器。

需要注意的是一些新型51单片机设置了专用的引脚功能选择寄存器,这时MOV A,P1读的是输出寄存器还是引脚就需要考虑专用的引脚功能选择寄存器的设置了

你这是教材吗?资料好像有问题啊读锁存器用的不是mov,应该是ANL(相与)ORL(相或)等这樣的语句

按照这个资料的话确实没办法区分了

本回答由意法半导体(中国)投资有限公司提供

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鮮体验。你的手机镜头里或许有别人想知道的答案

}

我要回帖

更多关于 io口读引脚 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信