单片机IO口结构及工作原理

合集下载

单片机的io口作为输出的工作原理

单片机的io口作为输出的工作原理

单片机的io口作为输出的工作原理
单片机的IO口作为输出是指单片机通过IO口向外部设备输出信号,控制外部设备的工作状态。

单片机的IO口可以通过编程控制输出高电平或低电平,从而控制外部设备的开关、亮灭等状态。

单片机的IO口通常是由一个普通的数字引脚和一个控制寄存器组成。

控制寄存器用于设置IO口的工作模式和输出状态。

在编程时,需要先设置IO口的工作模式,然后再设置IO口的输出状态。

单片机的IO口可以分为两种类型:数字IO口和模拟IO口。

数字IO口只能输出高电平或低电平,不能输出模拟信号。

模拟IO口可以输出模拟信号,通常用于控制模拟电路。

在使用单片机的IO口作为输出时,需要注意以下几点:
1. IO口的输出电流不能超过其最大输出电流。

如果输出电流过大,会导致IO口损坏。

2. IO口的输出电平需要与外部设备的工作电平匹配。

如果输出电平不匹配,会导致外部设备无法正常工作。

3. IO口的输出状态需要根据实际需求进行设置。

如果设置不当,会导致外部设备无法正常工作或者损坏。

4. 在编程时需要注意IO口的工作模式和输出状态的设置。

如果设置不正确,会导致程序无法正常运行。

单片机的IO口作为输出是单片机控制外部设备的重要手段之一。

在使用时需要注意IO口的输出电流、输出电平、输出状态和编程设置等方面,以确保外部设备能够正常工作。

单片机IO口结构及工作原理

单片机IO口结构及工作原理

单片机IO口结构及工作原理单片机(Microcontroller Unit,MCU)的IO口是指可用来输入输出数据的引脚,在单片机系统中具有重要的作用。

本文将详细介绍单片机IO口的结构和工作原理。

一、单片机IO口的结构单片机的所有IO口都可以看作是一个通用的数字引脚。

常用的单片机IO口主要包括输入端和输出端两个部分。

1.输入端:单片机IO口的输入端包含一个输入缓冲区,用于对输入信号进行缓冲和驱动。

输入缓冲区通常由一个高阻抗的MOSFET器件构成,可以对输入信号进行放大和处理。

输入端能够接收来自外界的高电平和低电平信号,通过输入缓冲区将信号传递给单片机的内部电路。

2.输出端:单片机IO口的输出端是由一个输出缓冲器和驱动电路构成的。

输出缓冲器一般由一个强驱动能力的MOSFET器件构成,可以对输出信号进行放大和驱动。

输出端能够将单片机内部的数据通过输出缓冲器传递给外部电路,形成相应的高电平或低电平电压信号。

3. 接口电路:为了提高单片机IO口的抗干扰能力和适应外部电路的需求,通常在IO口的输入和输出端之间设置了一些接口电路,如上拉电阻(Pull-Up Resistor)和下拉电阻(Pull-Down Resistor)。

上拉电阻和下拉电阻可以对输入或输出信号进行稳定的电平处理和电流限制,使得单片机的IO口在复杂的电路环境中能够正常工作。

二、单片机IO口的工作原理单片机的IO口工作原理主要包括输入和输出两种模式。

1.输入模式:当IO口被设定为输入模式时,输入信号可以通过外部电路或者内部电路输入到IO口,并经过输入缓冲器进行电平放大和处理。

在输入模式下,可以通过软件对IO口进行设置,使其能够读取外部电路的电平状态。

通过输入模式,单片机可以读取外部的开关状态、传感器的输出以及其他的输入信号,实现数据的采集和处理。

2.输出模式:当IO口被设定为输出模式时,单片机可以将内部处理的数据通过输出缓冲器驱动外部电路。

单片机IO端口工作原理(P0端口,漏极开路,推挽,上拉电阻,准双向口)

单片机IO端口工作原理(P0端口,漏极开路,推挽,上拉电阻,准双向口)

单片机IO端口工作原理(P0端口,漏极开路,推挽,上拉电阻,准双向口)一、P0端口的结构及工作原理P0端口8位中的一位结构图见下图:输入缓冲器:在P0口中,有两个三态的缓冲器,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态。

图中有一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。

图中另一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。

D锁存器:一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。

图中的锁存器,D 端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q 非是反向输出端。

对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。

如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。

数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。

如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。

多路开关:在51单片机中,当内部的存储器够用(也就是不需要外扩展存储器时,这里讲的存储器包括数据存储器及程序存储器)时,P0口可以作为通用的输入输出端口(即I/O)使用,对于8031(内部没有ROM)的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0口就作为‘地址/数据’总线使用。

那么这个多路选择开关就是用于选择是做为普通I/O口使用还是作为‘数据/地址’总线使用的选择开关了。

io口的结构

io口的结构

io口的结构
IO口的结构通常包括以下几个部分:
1. 输入缓冲区(Input Buffer):用于存储从外部设备读取的数据。

当外部设备向IO口发送数据时,数据首先被存储在输入缓冲区中,然后由CPU或其他处理器从缓冲区中读取。

2. 输出缓冲区(Output Buffer):用于存储要发送到外部设备的数据。

当CPU或其他处理器向IO口写入数据时,数据首先被存储在输出缓冲区中,然后由IO口将数据发送到外部设备。

3. 数据寄存器(Data Register):用于暂时存储从输入缓冲区读取的数据或将要写入输出缓冲区的数据。

数据寄存器通常位于IO控制器的内部,与CPU 或其他处理器直接通信。

4. 控制寄存器(Control Register):用于存储IO口的配置信息,如输入/输出模式、数据传输速率等。

CPU或其他处理器可以通过修改控制寄存器的值来配置IO口的工作方式。

5. 状态寄存器(Status Register):用于存储IO口的状态信息,如输入缓冲区是否为空、输出缓冲区是否已满等。

CPU或其他处理器可以通过读取状态寄存器的值来了解IO口的当前工作状态。

6. 中断请求线(Interrupt Request Line, IRQ):当IO口完成数据传输或发生错误时,可以通过中断请求线向CPU或其他处理器发出中断信号,以便及时处理相关事件。

51单片机IO引脚IO口工作原理

51单片机IO引脚IO口工作原理

51单片机IO引脚IO口工作原理一、IO引脚的基本特性1.输入与输出:IO引脚可以配置为输入(接收外部信号)或输出(发送信号到外部设备)。

2. 高低电平:IO引脚可以输出高电平(通常为Vcc电压)或低电平(通常为接地GND电压)。

3.上拉与下拉:IO引脚可以通过上拉电阻或下拉电阻实现电平的稳定。

4. 悬空状态:未配置输入的IO引脚可能处于悬空状态(floating),容易受到噪声的干扰。

二、IO口的工作原理1.寄存器配置:通过对相应的寄存器进行配置,可以选择IO引脚的工作模式(输入或输出)、电平(高或低)、上拉或下拉等。

2.IO端口的控制:通过对控制寄存器进行设置,可以使IO引脚产生相应的电平信号,控制外部设备的操作。

3.输入输出驱动能力:IO引脚的输出能力决定了其能够驱动的外部设备的负载能力。

对于较重的负载,需要考虑使用缓冲电路或者外部驱动芯片。

三、IO口的配置与操作1.选择IO引脚功能:通过寄存器配置,将IO引脚配置为输入模式(将输入电平传递给芯片内部)或输出模式(将芯片内部的电平输出到外部设备)。

2.设置电平状态:对于输出模式的引脚,可以通过寄存器来设置输出电平的状态,使其输出高电平或低电平。

3.上拉与下拉电阻:通过配置相关寄存器,可以启用上拉电阻(使引脚在悬空状态时拉高到高电平)或下拉电阻(使引脚在悬空状态时拉低到低电平)。

四、IO端口的应用1.输入:将外部设备的信号输入到IO引脚,通过编程来实现对信号的判断和处理。

例如,读取按键的状态、读取传感器的数据等。

2.输出:将芯片内部产生的信号输出到外部设备,用于控制和驱动外部设备的操作。

例如,控制LED灯的亮灭、控制继电器的开关等。

3.通信:通过IO引脚与其他设备(例如外围设备、传感器、通信模块等)进行通信。

4.扩展IO口:通过外部的IO扩展芯片或者接口芯片,可以扩展更多的IO口。

总结:51单片机的IO口是其与外部设备通信的接口,通过配置相关寄存器来选择引脚的工作模式、电平和电阻状态。

51单片机IO口工作原理

51单片机IO口工作原理

51单片机IO口工作原理一、概述51单片机是一种广泛应用于嵌入式系统的微控制器,其IO口是其最基本和重要的功能之一。

IO口可以用于输入和输出信号,实现与外部设备的数据交互。

本文将详细介绍51单片机IO口的工作原理。

二、IO口的结构51单片机的IO口由多个引脚组成,每一个引脚都有特定的功能和工作模式。

通常,一个IO口引脚可以配置为输入模式或者输出模式,具体的配置由相应的寄存器控制。

三、IO口的输入模式当一个IO口引脚配置为输入模式时,它可以接收外部设备发送的信号。

在输入模式下,引脚的电平可以是高电平(1)或者低电平(0),这取决于外部设备发送的信号。

在51单片机中,可以通过P1口和P3口来配置引脚为输入模式。

当一个引脚配置为输入模式时,相应的寄存器会设置为1,表示该引脚为输入状态。

此时,我们可以通过读取相应的寄存器值来获取引脚的电平状态。

四、IO口的输出模式当一个IO口引脚配置为输出模式时,它可以向外部设备发送信号。

在输出模式下,引脚的电平可以是高电平(1)或者低电平(0),这取决于我们设置的值。

在51单片机中,可以通过P0口、P1口、P2口和P3口来配置引脚为输出模式。

当一个引脚配置为输出模式时,相应的寄存器会设置为0,表示该引脚为输出状态。

此时,我们可以通过写入相应的寄存器值来控制引脚的电平状态。

五、IO口的工作原理在51单片机中,IO口的工作原理是通过寄存器的读写操作来实现的。

通过读取或者写入相应的寄存器值,我们可以配置引脚的工作模式和控制引脚的电平状态。

对于输入模式,我们可以通过读取相应的寄存器值来获取引脚的电平状态。

通过读取P1口和P3口的寄存器值,我们可以判断引脚的电平是高电平还是低电平。

对于输出模式,我们可以通过写入相应的寄存器值来控制引脚的电平状态。

通过写入P0口、P1口、P2口和P3口的寄存器值,我们可以将引脚的电平设置为高电平或者低电平。

六、IO口的应用场景51单片机的IO口广泛应用于各种嵌入式系统中,如电子设备、家用电器、工业控制等。

51单片机IO口工作原理——P2、P3(转载)

51单片机IO口工作原理——P2、P3(转载)

51单⽚机IO⼝⼯作原理——P2、P3(转载)三、P2端⼝的结构及⼯作原理:P2端⼝的⼀位结构见下图:由图可见,P2端⼝在⽚内既有上拉电阻,⼜有切换开关MUX,所以P2端⼝在功能上兼有P0端⼝和P1端⼝的特点。

这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的⼀位数据经反相器和场效应管反相后,输出在端⼝引脚线上;当多路开关向上时,输出的⼀位地址信号也经反相器和场效应管反相后,输出在端⼝引脚线上。

对于8031单⽚机必须外接程序存储器才能构成应⽤电路(或者我们的应⽤电路扩展了外部存储器),⽽P2端⼝就是⽤来周期性地输出从外存中取指令的地址(⾼8位地址),因此,P2端⼝的多路开关总是在进⾏切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。

因此P2端⼝是动态的I/O端⼝。

输出数据虽被锁存,但不是稳定地出现在端⼝线上。

其实,这⾥输出的数据往往也是⼀种地址,只不过是外部RAM的⾼8位地址。

在输⼊功能⽅⾯,P2端⼝与P0和H端⼝相同,有读引脚和读锁存器之分,并且P2端⼝也是准双向⼝。

可见,P2端⼝的主要特点包括:①不能输出静态的数据;②⾃⾝输出外部程序存储器的⾼8位地址;②执⾏MOVX指令时,还输出外部RAM的⾼位地址,故称P2端⼝为动态地址端⼝。

即然P2⼝可以作为I/O⼝使⽤,也可以作为地址总线使⽤,下⾯我们就不分析下它的两种⼯作状态。

1、作为I/O端⼝使⽤时的⼯作过程当没有外部程序存储器或虽然有外部数据存储器,但容易不⼤于256B,即不需要⾼8位地址时(在这种情况下,不能通过数据地址寄存器DPTR读写外部数据存储器),P2⼝可以I/O⼝使⽤。

这时,“控制”信号为“0”,多路开关转向锁存器同相输出端Q,输出信号经内部总线→锁存器同相输出端Q→反相器→V2管栅极→V2管9漏极输出。

由于V2漏极带有上拉电阻,可以提供⼀定的上拉电流,负载能⼒约为8个TTL与⾮门;作为输出⼝前,同样需要向锁存器写⼊“1”,使反相器输出低电平,V2管截⽌,即引脚悬空时为⾼电平,防⽌引脚被钳位在低电平。

MCS-51单片机IO口详解

MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

、Po端口的结构及工作原理Po端口8位中的一位结构图见下图:地址∕ttiκI i O i XWwfr⅛⅛内部总线i⅛引脚PO 口工作康理图由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成下面,先分析组成P0 口的各个部分:先看输入缓冲器:在P0 口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。

D锁存器:在51单片机的32根I/O 口线中都是用一个D触发器来构成锁存器的。

D 端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。

多路开关:在51单片机中,不需要外扩展存储器时,P0 口可以作为通用的输入输出端口(即I/O)使用,对于8031 (内部没有ROM )的单片机或者编写的程序超过了单片机内部的存储器容量,需要外扩存储器时,P0 口就作为,地址/数据? 总线使用。

这个多路选择开关就是用于选择是做为普通I/O 口使用还是作为,数据/地址?总线使用的选择开关了。

当多路开关与下面接通时,P0 口是作为普通的I/O 口使用的,当多路开关是与上面接通时,P0 口是作为,地址/数据?总线使用的。

输出驱动部份:P0 口的输出是由两个MOS管组成的推拉式结构,也就是说,这两个MOS管一次只能导通一个,当V1导通时,V2就截止,当V2导通时,V1截止。

Po 口作为I/O端口使用时,多路开关的控制信号为0 (低电平),V1管截止, 多路开关是与锁存器的Q非端相接的(即P0 口作为I/O 口线使用)。

作为地址/数据线使用时,多路开关的控制信号为1,V1管由地址/数据线决定,多路开关与地址/数据线连接。

输出过程:1、I/O输出工作过程:当写锁存器信号CP有效,数据总线的信号→锁存器的输入端D→锁存器的反向输出Q非端→多路开关→V2管的栅极→V2的漏极到输出端P0.X。

这时多路开关的控制信号为低电平0, V1管是截止的,所以作为输出口时,P0是漏极开路输出,类似于OC门,当驱动上接电流负载时,需要外接上拉电阻。

下图就是由内部数据总线向P0 口输出数据的流程图(红色箭头)。

地址/数抵控制信号(0. 1)PO. XWftKra内部总线ht t p://WWW ZPo口由内部致据忌址向31 Wtt出时的5t⅛≡2、地址输出过程控制信号为1 ,地址信号为“(时,与门输出低电平,V1管截止;反相器输出高电平,V2管导通,输出引脚的地址信号为低电平。

⅛⅛I√M1K+vcc 控JM 侑号(OS I) 1纯址估号为0时的工作at fit SB 反之,控制信号为“T 地址信号为“T 与门”输出为高电平,V1管导通;反相 器输出低电平,V2管截止,输出引脚的地址信号为高电平。

请看下图(兰色字 体为电平):可见,在输出 地址/数据”信息时,VI 、V2管是交替导通的,负载能力很强,可 以直接与外设存储器相连,无须增加总线驱动器。

3、作为数据总线的输出过程 如果该指令是输出数据,如 MoVX @DPTR , A (将累地址Tfr 号为1时的工作滾租¥1导通输出为福电半内部总线 输出为低电半■■ QPoeI 作为地址拔• 控制信号为1.地址/数据Po 口作为Λt 址控制信号为匚I Cofn加器的内容通过Po 口数据总线传送到外部RAM中),则多路开关控制”信号为,1?与门”解锁,与输出地址信号的工作流程类似,数据据由地址/数据”线→反相器→V2场效应管栅极→ V2漏极输出。

输入过程:1、I/O读引脚工作过程:读芯片引脚上的数据时,读引脚缓冲器打开,通过内部数据总线输入,请看下图(红色简头)。

POcIi*31W 时的StfiL 图2、I/O读锁存器工作过程:通过打开读锁存器三态缓冲器读取锁存器输出端Q的状态,请看下图(红色箭头):Po 口诙锁殍器时的⅞Jttt0B3、地址/数据时读指令码和数据过程作为数据总线使用。

在访问外部程序存储器时, Po 口输出低8位地址信息后, 将变为数据总线,以便读指令码(输入)。

在取指令期间, 控制”信号为“Q”V1 管截止,多路开关也跟着转向锁存器反相输出端 Q 非;CPU 自动将OFFH(11111111 ,即向D 锁存器写入一个高电平,1?写入PO 口锁存器,使V2管 截止,在读引脚信号控制下,通过读引脚三态门电路将指令码读到内部总线, 这 个过程和I/O 读引脚过程是一样的。

在输入状态下,从锁存器和从引脚上读来的信号一般是一致的, 但也有例外。

例 如,当从内部总线输出低电平后,锁存器 Q = 0,Q 非=1,场效应管T2开通, 端口线呈低电平状态。

此时无论端口线上外接的信号是低电乎还是高电平, 从引 脚读入单片机的信号都是低电平,因而不能正确地读入端口引脚上的信号。

又如, 当从内部总线输出高电平后,锁存器 Q = 1,Q 非=0 ,场效应管T2截止。

如外 接引脚信号为低电平,从引脚上读入的信号就与从锁存器读入的信号不同。

为此, 8031单片机在对端口 PO 一 P3的输入操作上,有如下约定:为此,8051单片 机在对端口 PO 一 P3的输入操作上,有如下约定:凡属于读-修改-写方式的指 令,从锁存器读入信号,其它指令则从端口引脚线上读入信号。

读 -修改-写指令 的特点是,从端口输入(读)信号,在单片机内加以运算(修改)后,再输出(写)到该 端口上。

这样安排的原因在于读-修改-写指令需要得到端口原输出的状态,修改 后再输出,读锁存器而不是读引脚,可以避免因外部电路的原因而使原端口的状 态被读错。

当PO 作为地址/数据总线使用时,在读指令码或输入数据前, CPU 自动向PO 口锁存器写入OFFH ,破坏了 PO 口原来的状态。

因此,不能再作为 通用的I/O 端口。

在系统设计时务必注意,即程序中不能再含有以 PO 口作为操 作数(包含源操作数和目的操作数)的指令。

、P1端口的结构及工作原理rL i FlHrt l jr :'Vlpo. XW«t#a读引脚COrnWWW 地址/数据http / / WWW . ZSrnCU Pl 口工作原理HB由图可见,P1端口与Po 端口的主要差别在于,P1端口用内部上拉电阻R 代替 T P0端口的场效应管T1 ,并且输出的信息仅来自内部总线。

由内部总线输出 的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以, P1端口是具有输出锁存的静态口。

要正确地从引脚上读入外部信息,必须先使场效应管关断, 以便由外部输入的信息确定引脚的状态。

为此,在作引脚读入前,必须先对该端口写入I 。

具有这种操作特点的输入/输出端口,称为准双向I/O 口。

8051单片机 的P1、P2、P3都是准双向口。

P0端口由于输出有三态功能,输入前,端口线 已处于高阻态,无需先写入I 后再作读操作。

单片机复位后,各个端口已自动地 被写入了 1 ,此时,可直接作输入操作。

如果在应用端口的过程中,已向 P1 一 P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的 信息。

此外,随输入指令的不同,P1端口也有读锁存器与读引脚之分。

、P2端口的结构及工作原理OfFI内部总线 对锁打;B PLx 脚義存器! 地h”数据 +vcc由图可见,P2端口在片内既有上拉电阻,又有切换开关 MUX ,所以P2端口在 功能上兼有Po 端口和P1端口的特点。

这主要表现在输出功能上,当切换开关 向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后, 输出在端 口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反 相后,输出在端口引脚线上。

对于8031单片机必须外接程序存储器才能构成应用电路(或者我们的应用电路 扩展了外部存储器),而P2端口就是用来周期性地输出从外存中取指令的地址 (高8位地址),因此,P2端口的多路开关总是在进行切换,分时地输出从内部 总线来的数据和从地址信号线上来的地址。

因此 P2端口是动态的I/O 端口。

输 出数据虽被锁存,但不是稳定地出现在端口线上。

其实,这里输出的数据往往也 是一种地址,只不过是外部 RAM 的高8位地址。

在输入功能方面,P2端口与P0和H 端口相同,有读引脚和读锁存器之分, 并且P2端口也是准双向口。

可见,P2端口的主要特点包括:① 不能输出静态的数据;② 自身输出外部程序存储器的高 8位地址;②执行MOVX 指令时,还输出外部RAM 的高位地址,故称P2端口为动态地址 端口。

即然P2 口可以作为I/O 口使用,也可以作为地址总线使用,下面我们就分析下 它的两种工作状态。

1、作为I/O 端口使用时的工作过程当没有外部程序存储器或虽然有外部数据存储器,但容易不大于256B ,即不 需要高8位地址时(在这种情况下,不能通过数据地址寄存器 DPTR 读写外部 数据存储器),P2 口可以I/O 口使用。

这时,控制”信号为“0”多路开关转向 锁存器同相输出端Q ,输出信号经内部总线→锁存器同相输出端C →反相器→V2 管栅极→V2管9漏极输出。

由于V2漏极带有上拉电阻,可以提供一定的上拉电流,负载能力约为 8个址引脚a http √/ P2 口工作 ΛU⅛8S匕拉电SIl⅞制信号(0. 1P£ XB⅛3t⅛⅛⅛内部总线 □门 &K⅛⅛ff λTTL 与非门;作为输出口前,同样需要向锁存器写入 “ 1,”使反相器输出低电平, V2管截止,即引脚悬空时为高电平,防止引脚被钳位在低电平。

读引脚有效后, 输入信息经读引脚三态门电路到内部数据总线。

2、作为地址总线使用时的工作过程P2 口作为地址总线时,控制”信号为,1?多路开关车向地址线(即向上接通), 地址信息经反相器→V2管栅极→漏极输出。

由于P2 口输出高8位地址,与Po 口不同,无须分时使用,因此 P2 口上的地址信息(程序存储器上的 A15~A8) 功数据地址寄存器高8位DPH 保存时间长,无须锁存。

四、P3端口的结构及工作原理上图可见,P3端口和P1端口的结构相似,区别仅在于P3端口的各端口线有两 种功能选择。

当处于第一功能时,第二输出功能线为 1,此时,内部总线信号经 锁存器和场效应管输入/输出,其作用与P1端口作用相同,也是静态准双向I/O 端口。

当处于第二功能时,锁存器输出1,通过第二输出功能线输出特定的内含 信号,在输入方面,即可以通过缓冲器读入引脚信号, 还可以通过替代输入功能 读入片内的特定第二功能信号。

由于输出信号锁存并且有双重功能,故 P3端口 为静态双功能端口。

相关文档
最新文档