P0端口由闩锁,输入缓冲区,开关,一个NAND门,AN和GATE以及场效应晶体管驱动电路组成。看看图的右侧,标记为p0.x引脚的图标,即p0.x引脚可以从p0.0到p0.7,也就是说,P0端口中有8个电路与上图中的图形相同。
接下来,让我们向您介绍构成P0端口的每个单元:
让我们首先看一下输入缓冲区:在P0端口中,有两个三态缓冲区。在学习数字电路时,我们已经知道三州门具有三个状态,也就是说,输出端可能是高和低的,并且也存在高阻抗状态(或禁止的状态)。看看上图。以上是读取闩锁的缓冲区,也就是说,要读取d锁存的输出端Q的数据,即读取闩锁的缓冲区的三态控制端(上图中标记为“读取闩锁”的末端)必须有效。以下是读引脚的缓冲区。要读取P0.X PIN上的数据,标有“读引脚”的三态缓冲区的控制端必须有效,以便PIN上的数据将传输到我们微控制器的内部数据总线。
D闩锁:要形成闩锁,通常使用正时电路。在学习正时单元电路的数字电路时,我们已经知道触发器可以节省二进制数的位(也就是说,它具有保持函数)。 AD触发器用于在51微控制器的32 I/O端口线中形成闩锁。查看上图中的D闩锁。 d端是数据输入,CP是控制端(即定时控制信号输入),Q是输出端,而Q不是反向输出端。
For the D flip-flop, when there is an input signal at the input terminal D, if there is no signal at this time the control terminal CP (that is, the timing pulse has not arrived), the data at the input terminal D cannot be transmitted to the output terminal Q and the reverse output terminal Q. If the timing pulse of the timing control terminal CP reaches, the data input from the D end will be transmitted to the Q and Q非末端。传输数据后,当CP时正时控制端的时序信号消失时,输出端仍将从最后一个输入终端D维护数据(即,最后一个数据被锁定)。如果下一个定时控制脉冲信号出现,则d端子D的数据再次传输到端子Q,从而更改端子Q的状态。
多通道开关:在51个微控制器中,当内部内存足够时(即,当不需要外部扩展内存时,此处提到的内存包括数据存储器和程序内存),可以将P0端口用作常规输入和输出端口(即IE I/O)。对于具有8031(内部无ROM)的微控制器或书面程序超过微控制器的内存容量,并且需要是外部扩展内存,则P0端口用作“地址/数据”总线。然后,该多路复用开关用于选择是否用作普通I/O端口还是作为“数据/地址”总线。如上图所示,当多路复用开关连接到下部时,P0端口被用作普通I/O端口。当多路复用开关连接到上部时,P0端口被用作“地址/数据”总线。
输出驱动器部件:从上图,我们已经看到端口P0的输出是由两个MOS管组成的推扣结构。也就是说,这两个MOS管一次只能一次打开。当V1打开时,V2关闭,当V2打开时,V1被关闭。
和门和NAND GATE:我们在数字和常用逻辑电路的第四堂课中介绍了这两个单元电路的逻辑原理。不了解的学生,请回到第4节看一下。
我们已经详细介绍了P0端口的各个单元。让我们研究P0端口的特定工作过程作为I/O端口和地址/数据总线。
1。用作I/O端口时的工作原理
当使用P0端口作为I/O端口时,多路复用开关的控制信号为0(低级别)。查看上图中的线部分,多路复用开关的控制信号同时连接到和门的输入端子之一。我们知道,门的逻辑特征是“ 1中的所有1个,并且有0中的0”。如果控制信号为0,则和门输出也为0(低级别)。当对let的输出的输出为0时,将关闭V1管。当多路复用控制开关的控制信号为0(低级别)时,多路复用开关将连接到闩锁的Q非端(即,P0端口用作I/O端口线)。
P0端口用作I/O端口线,该端口线从数据总线到引脚输出(即输出状态输出)操作过程:当写入闩锁信号CP有效时,数据总线的信号→闩锁d→闩锁的输入端子D→反向输出Q非终端的latch的反向输出Q非终端latch→V2管的门→V2管的闸门→V2 Full→Fulf of V2 term quff term d offers v2端口P0 to to t tos端端p0。我们之前已经提到过,当多路复用开关的控制信号为低级别0时,和栅极输出为低级别,并且V1管关闭,因此当用作输出端口时,P0是开放式输出输出,类似于OC门。当驾驶员连接到当前负载时,需要外部上拉电阻。