书上说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命令不是读引脚了吗?
p1口电路逻辑图:http://xd.sdibt.edu.cn/mcu/pic/dianzijiaoan3-4.htm
感觉1L的说得有道理啊,书是我们学校自己出的。 怎么没人回答了呢?
关于单片机P1口读所存器与读引脚!
楼主没有弄清楚,标准51单片机IO脚采用准双向口,引脚输入是没有锁存的,只有输出是带锁存器,在设置P1口为高电平时,P1实际上既可以作为高电平输出,也可以作为输入(这要求外部源有足够的驱动能力,至少能够吸收1mA电流),所以MOV A,P1就是一次读8个引脚, maxiurui说的逻辑指令可以一次读一个引脚...
51单片机读引脚与读锁存器的问题
51单片机的P1读的是引脚上的电平 即使你把io口置位 也可能被外部电路拉低 所以有没有外设读到的电平可能会不一样 因为51单片机io口没有三态 所以读io口时要先将io口置位
有关单片机读端口、读引脚的问题
80C51单片机有P0-P3四个P口,以P0为例说明:要搞清这个问题,就要明白p0口的内部结构。P0口是由锁存器经两个驱动场效应管和外部引脚相连的。读引脚的意思就是直接读P0外部引脚的电位,而读端口(锁存器)读的是内部与数据总线链接的锁存器的电位。两者不同。一般来说,读取P0的数据,都是读引脚,目的是获取与P0相连...
51单片机C语言里有读引脚和读锁存器之分吗?这个P1 = P1 || 5; 请问...
1.读引脚是通过读锁存器的值来读取的 2.这不是读语句,是改变P1口的状态(P1=1),使P1.0输出高电平。3.需要写1的,C编程不会自动写1是复位后,I\/O自动被置位高电平。4.分辨一个端口是输入或者输出,是根据读这个端口(作为输入),或这写这个端口(输出口)来区分的。如P1=0x08;P1做...
51单片机 读引脚与读锁存器的问题
P1口有上拉,读的时候就会直接读到上拉的点,接了外设,由于外设的原因造成端口被拉低,读取的时候就会读到低电平。如果外设的接口也是高电平,那就是高电平。
在单片机中,当P0口作为输入口使用时,为什么要区分" 读引脚" 和"读...
不光是P0口,标准51单片机的所有IO口都有“读引脚”和“读锁存器”的问题。其实这类问题也很好解释,自己去看看51单片机的IO脚框图就豁然开朗了。读引脚的意思就是直接读P0外部引脚的电位,而读端口(锁存器)读的是内部与数据总线链接的锁存器的电位。一般来说,读取P0的数据,都是读引脚,目的是...
单片机问题,锁存器与引脚的使用冲突.
这个问有点问题,P1是8位的寄存器(不叫锁存器,锁存器一般是在外部的),是不能存入16数的,只能存8位,即是0xFE。有一个问题你没有搞清楚,所以,才这么问,其实问题很简单,就是向P1口写数据,即是存入数据是写到寄存器P1中,至于是不是像个内存单元都不重要。而读P1口是读引脚,并不是...
89C51单片机中度端口锁存器和“读引脚”有何不同?各使用那种指令?_百度...
单片机的引脚,输出了数据后,其电压,受到外接电路的影响,会发生改变。读引脚,和读锁存器,数值,就不一定相同。读引脚:MOV A, P1 读锁存:ORL P1, #0FH. 这是"读改写"指令。
在单片机中,什么叫读引脚,什么叫读端口,它们有什么区别?
读引脚:将引脚作为输入,从真正的外部引脚读进输入的值 读端口:这是引脚作为输出端使用时采用的工作方式,单片机的一些指令,如取反指令,这一类指令的最终结果虽然是把并行口作为输出来使用 但在执行它的过程中却要先“读”,这里的引号指读的是锁存器,而不是真正的引脚值。为什么要读锁存器而不...
单片机中的“读-修改-写”和“读引脚”有何不同
在pic单片机中“读-修改-写”是单片机内部自己执行的,它发生在写IO口的时候,当写IO口的时候它先把IO的当前状态读回来,根据要写的数据修改读回来的数据,再写到IO口;读引脚是直接读引脚的当前状态,当前引脚是高电平,读回来的就是高电平,低电平时读回来的就是低电平 ...