单片机IO口内部结构分析
3.1MCS-51单片机的并行IO口
![3.1MCS-51单片机的并行IO口](https://img.taocdn.com/s3/m/0de8c819964bcf84b9d57ba3.png)
一、并行I/O口的功能结构
2、接口功能 (2)通用I/O接口
(四)P0口
此时“控制”信号为“0”,多路开关 MUX向下,输出驱动器处于开漏状态,故需 外接上拉电阻,这种情况下,电路结构与P1 相同,所以也是一个准双向口,当要作为输 入时,必须先向口锁存器写“1”。
一、并行I/O口的功能结构
(四)P0口
这是由接口的特殊结构所决定的。每一个 口都包含一个锁存器,一个输出驱动器和两 个(P3口为3个)输入缓冲器。各口的结构也 P 3 有些差异,下面分别介绍。
一、并行I/O口的功能结构
1、接口结构
(一)P1口
P1口一位的结构如下图所示:
图2.15
一、并行I/O口的功能结构
1、接口结构
(一)P1口
接口结构中锁存器起输出锁存作用, 8位锁存器组成特殊功能寄存器P1,场 效应管和上拉电阻组成输出驱动器,以 增大负载能力,三态门1和三态门2分别 用于控制输入引脚和锁存器的状态。
作为I/O口应用的一个实例,下面介绍 8031单片机的最小应用系统如下图所示
二、产生接口控制信号的指令
(四)P0口
8051指令系统中能与接口打交道的指令 大体可分两类 1.一般的输入/输出指令 2.“读-修改-写”指 令
二、产生接口控制信号的指令
1.一般的输入输出指令
(四)P0口
输入指令执行时,内部产生“读引脚”信号, 直接从口线读入,亦称“读引脚”指令。 下面是属于这种指令的各种实例:
二、产生接口控制信号的指令
(四)P0口 2.“读-修改-写”指令 INC P2 接口锁存器加1 DEC P1 接口锁存器内容减1 DJNZ P3,LOOP 减1后不为零则跳转 还有三条虽不明显,但也属此列: MOV P1.1,C CLR P1.1 SETB P1.1 将进位位送接口的某位 清接口的某一位 接口的某一位置位
单片机IO口结构及工作原理
![单片机IO口结构及工作原理](https://img.taocdn.com/s3/m/cda1569332d4b14e852458fb770bf78a65293a3b.png)
单片机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端口,漏极开路,推挽,上拉电阻,准双向口)](https://img.taocdn.com/s3/m/814cb3bcfd0a79563c1e7293.png)
单片机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引脚结构](https://img.taocdn.com/s3/m/f5462a8259f5f61fb7360b4c2e3f5727a5e924a3.png)
单片机的IO引脚结构单片机(MCU)的IO引脚结构是指单片机芯片上的输入输出引脚的组织结构和功能。
单片机的引脚结构通常由内部逻辑电路和外部物理引脚组成,它们通过输入输出方式与外部电路或器件进行信息交互。
下面将对单片机的IO引脚结构进行详细描述。
一、输入输出引脚组织结构单片机的输入输出引脚通常由三个主要组成部分构成:引脚功能区、输入输出缓冲区和引脚控制寄存器。
1.引脚功能区:是指单片机芯片上与外部引脚相连接的内部逻辑电路部分。
该电路决定了引脚的功能,包括输入、输出、模拟输入、模拟输出、复用功能等。
2.输入输出缓冲区:是单片机芯片内部的电路,用于将引脚与CPU内部总线之间的电平信号进行相互转换。
输入缓冲器用于输入引脚,将外部电平信号转换为内部电平信号;输出缓冲器用于输出引脚,将内部电平信号转换为外部电平信号。
3.引脚控制寄存器:是用于配置和控制引脚的寄存器。
它可以设置引脚的输入/输出模式、上拉/下拉电阻、中断使能等功能。
通过对引脚控制寄存器的设置,可以实现对引脚功能和特性的灵活配置。
二、引脚的功能和特性1.输入功能:可以将外部电平信号输入到单片机内部。
输入引脚通常具有输入缓冲器,用于接收外部电平信号。
可以通过设置引脚控制寄存器来配置输入功能的参数,如输入模式、上拉/下拉电阻、中断使能等。
2.输出功能:可以将单片机内部的电平信号输出到外部。
输出引脚通常具有输出缓冲器,用于将内部电平信号转换为外部电平信号。
可以通过设置引脚控制寄存器来配置输出功能的参数,如输出模式、上拉/下拉电阻等。
3.模拟输入功能:部分单片机的引脚具有模拟输入功能,可以接收模拟电压信号并转换为数字信号输入到单片机内部。
此类引脚通常具有模拟输入通道和采样电路,可以支持模拟信号的采样和转换。
4.模拟输出功能:部分单片机的引脚具有模拟输出功能,可以将单片机内部的数字信号转换为模拟电压信号输出到外部。
此类引脚通常具有数字模拟转换器(DAC)和输出缓冲器,可以实现数字信号到模拟信号的转换。
单片机IO口结构及工作原理
![单片机IO口结构及工作原理](https://img.taocdn.com/s3/m/483a71c6f242336c1eb95ec2.png)
、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。
51单片机IO口工作原理
![51单片机IO口工作原理](https://img.taocdn.com/s3/m/68a72c75b80d6c85ec3a87c24028915f804d84aa.png)
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口广泛应用于各种嵌入式系统中,如电子设备、家用电器、工业控制等。
io口推挽输出的内部结构
![io口推挽输出的内部结构](https://img.taocdn.com/s3/m/b3c64ccfed3a87c24028915f804d2b160a4e8644.png)
io口推挽输出的内部结构引言:io口推挽输出是一种常见的电路结构,用于控制外部设备的工作。
本文将以人类的视角,通过描述其内部结构和工作原理,使读者更好地理解和体会io口推挽输出的功能和应用。
1. 什么是io口推挽输出io口推挽输出是一种数字电路结构,用于控制外部设备的工作状态。
它可以将高电平和低电平的信号通过io口输出,从而控制外部设备的开关状态。
2. 内部结构io口推挽输出的内部结构主要由三个部分组成:输入/输出端口、推挽输出电路和控制电路。
2.1 输入/输出端口输入/输出端口是io口推挽输出与外部设备进行通信的接口。
它可以接收来自外部设备的信号,并将输出信号传递给外部设备。
2.2 推挽输出电路推挽输出电路是io口推挽输出的核心部分,它负责将输入信号转换为输出信号。
推挽输出电路由一对互补的三极管组成,可以实现高电平和低电平的输出。
2.3 控制电路控制电路是io口推挽输出的控制中心,它接收来自微处理器或控制器的指令,并根据指令控制推挽输出电路的工作状态。
控制电路可以实现单向或双向控制,以满足不同应用场景的需求。
3. 工作原理io口推挽输出的工作原理是通过控制推挽输出电路的开关状态,将输入信号转换为输出信号。
当控制电路接收到指令时,它会根据指令的要求,控制推挽输出电路的开关状态。
当推挽输出电路处于导通状态时,输出信号为高电平;当推挽输出电路处于截止状态时,输出信号为低电平。
4. 应用场景io口推挽输出广泛应用于各种电子设备中。
例如,它可以用于控制LED灯的亮灭,控制电机的正反转,以及控制继电器的开关等。
在工业自动化领域,io口推挽输出也被广泛应用于控制系统中,实现对各种设备和工艺的精确控制。
总结:io口推挽输出是一种常见且重要的电路结构,用于控制外部设备的工作状态。
本文通过描述其内部结构和工作原理,使读者对io口推挽输出有了更深入的了解。
它的应用场景广泛,对于各种电子设备和工业自动化系统的控制具有重要意义。
单片机IO口内部结构
![单片机IO口内部结构](https://img.taocdn.com/s3/m/44c3461afc4ffe473368abab.png)
一、P0端口的结构和工作原理
结构图如下:
1、图解:
(1)输入缓冲器:在P0端口中有两个三态缓冲器,上图中的上面一个是读锁
存器的缓冲器,也就是说,要读取D 锁存器输出端Q 的数据,那就得使读锁存器的这个缓冲器的三态控制端(图中的“读锁存器”端)有效。
下面的是读引脚的缓冲器,要读取P0.x 引脚上的数据,也要使标号为“读引脚”的这个三态缓冲器的控制端有效,引脚上的数据才会传输到单片机的内部数据总线上。
(2)D 锁存器:
结构如图:
它有两个输入端,数据输入端D 和使能输入端CP 。
当CP=0时,G3、G4输出均为0,使G1、G2构成的基本SR 锁存器处于保持状态,无论D 信号怎么变化,输出Q 和Q 非均保持不变。
当需要更新状态时,可将门控信号CP 置1,此时,根据送到D 端新的二值信息将锁存器置为新的状态。
2、当控制信号为低电平“0”,P0口作为通用IO 接口使用时,控制信号为0,转换开关把输出级与锁存器__
Q 端接通,在CPU 向端口输出数据时,因与门输出为0,是
V1
24G
截止,此时,输出级是漏极开路电路,类似于OD门,当驱动上接电流负载时,需要外接上拉电阻,否则输出电平就没有高低之分了。
下图为内部数据总线向P0口输出数据的流程图:
二、P1、P2、P3口作IO口使用时原理与P0口类似,他们的内部结构分别为:。
MCS-51单片机IO口详解
![MCS-51单片机IO口详解](https://img.taocdn.com/s3/m/5b105b7b31b765ce05081406.png)
单片机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。
单片机IO口另外三种状态
![单片机IO口另外三种状态](https://img.taocdn.com/s3/m/f61e5a5c783e0912a2162a75.png)
单片机IO口另外三种状态
单片机IO 口的其中一种“准双向IO”的内部结构,实际上我们的单片机IO 口还有另外三种状态,分别是开漏、推挽、高阻态,我们通过图9-1 来分析下另外这三种状态。
前边我们简单介绍“准双向IO”的时候,我们是用三极管来说明的,出于严谨的态度,我们这里按照实际情况用MOS 管画图示意。
实际上三极管是靠电流导通的,而MOS 管是靠电压导通的,具体缘由和它们的内部构造有关系,在这里我们暂且不必关心,如果今后有必要了解可以直接查找模拟电子书或者百度相关资料进行细致学习。
在单片机IO 口状态这一块内容上,我们可以把MOS 管当三极管来理解。
在图9-1 中,T1 相当于一个PNP 三极管,T2 相当于一个NPN 三极管。
其中准双向IO 口原理已经讲过了,开漏输出和准双向IO 的唯一区别,就是开漏输出把内部的上拉电阻去掉了。
开漏输出如果要输出高电平时,T2 关断,IO 电平要靠外部的上拉电阻才能拉成高电平,如果没有外部上拉电阻IO 电平就是一个不确定态。
IO口结构详解
![IO口结构详解](https://img.taocdn.com/s3/m/20bd4b761711cc7931b716bf.png)
1.什么是源型、漏型?什么是上拉电阻?下拉电阻?什么是线驱动输出、集电极开路输出、推挽式输出?我们先来说说集电极开路输出的结构。
集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。
对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极c跟发射极e之间相当于断开),所以5v电源通过1k电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。
图2中的开关受软件控制,“1”时断开,“0”时闭合。
很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。
而当开关断开时,则输出端悬空了,即高阻态。
这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。
再看图三。
图三中那个1k的电阻即是上拉电阻。
如果开关闭合,则有电流从1k电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压降),所以在开关上的电压为0,即输出电平为0。
如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1k电阻上的压降也为0,所以输出端的电压就是5v了,这样就能输出高电平了。
但是这个输出的内阻是比较大的(即1kω),如果接一个电阻为r的负载,通过分压计算,就可以算得最后的输出电压为5*r/(r+1000)伏,即5/(1+1000/r)伏。
所以,如果要达到一定的电压的话,r就不能太小。
如果r真的太小,而导致输出电压不够的话,那我们只有通过减小那个1k的上拉电阻来增加驱动能力。
但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合这些电流考虑来选择合适的上拉电阻。
单片机IO口介绍
![单片机IO口介绍](https://img.taocdn.com/s3/m/ae5da049fe4733687e21aa4d.png)
P0口和P2的结构 口和P2 4.1.1 P0口和P2的结构
一、P0口的结构
下图为P0口的某位P0.n(n=0~7)结构图,它由一个 输出锁存器、两个三态输入缓冲器和输出驱动电路 及控制电路组成。从图中可以看出,P0口既可以作 为I/O用,也可以作为地址/数据线用。
地址/数据 地址/ 控制 读锁存器
地址/数据 地址/ 控制 读锁存器
T1 P0.n D Q MUX
VCC
内部总线 写锁存器
T2:如果此时该端口的负载恰是一个晶体管基极,且原端 口输出值为1,那么导通了的PN结会把端口引脚高电平拉低;若 此时直接读端口引脚信号,将会把原输出的“1”电平误读为“0” 电平。现采用读输出锁存器代替读引脚,图中,上面的三态缓 冲器就为读锁存器Q端信号而设,读输出锁存器可避免上述可能 发生的错误。** 地址/数据 地址/ 控制 读锁存器
二、P3 P3第二功能(Q=1) P3 此时引脚部分输入(Q=1、W=1) ,部分输出(Q=1、W输出)
第二输出功能 第二输出功能 读锁存器 VCC
。
W
R P3.n P3口
D Q
内部总线 写锁存器
T
CLK Q
引脚
读引脚 第二输入功能 第二输入功能
P3第二功能各引脚功能定义: P3
P3.0:RXD串行口输入 P3.1:TXD串行口输出 P3.2:INT0外部中断0输入 P3.3:INT1外部中断1输入 P3.4:T0定时器0外部输入 P3.5:T1定时器1外部输入 P3.6:WR外部写控制 P3.7:RD外部读控制
地址/数据 地址/ 控制 读锁存器
T1 P0.n D Q MUX
VCC
内部总线 写锁存器
T2
P0口 P0口 引脚
51单片机IO端口(P1P2P3端口,漏极开路,推挽,上拉电阻,准双向口)
![51单片机IO端口(P1P2P3端口,漏极开路,推挽,上拉电阻,准双向口)](https://img.taocdn.com/s3/m/e1ffa4373968011ca30091d1.png)
单片机IO端口工作原理(P1P2P3端口,漏极开路,推挽,上拉电阻,准双向口)2009-09-17 12:58二、P1端口的结构及工作原理P1口的结构最简单,用途也单一,仅作为数据输入/输出端口使用。
输出的信息有锁存,输入有读引脚和读锁存器之分。
P1端口的一位结构见下图:P1端口与P0端口的主要差别在于,P1端口用内部上拉电阻R代替了P0端口的场效应管V1,并且输出的信息仅来自内部总线。
由内部总线输出的数据经锁存器反相和场效应管反相后,锁存在端口线上,所以,P1端口是具有输出锁存的静态口。
要正确地从引脚上读入外部信息,必须先使场效应管关断,以便由外部输入的信息确定引脚的状态。
为此,在作引脚读入前,必须先对该端口写入l。
具有这种操作特点的输入/输出端口,称为准双向I/O口。
8051单片机的P1、P2、P3都是准双向口。
P0端口由于输出有三态功能,输入前,端口线已处于高阻态,无需先写入l后再作读操作。
单片机复位后,各个端口已自动地被写入了1,此时,可直接作输入操作。
如果在应用端口的过程中,已向P1一P3端口线输出过0,则再要输入时,必须先写1后再读引脚,才能得到正确的信息。
此外,随输入指令的不同,H端口也有读锁存器与读引脚之分。
三、P2端口的结构及工作原理:P2端口的一位结构见下图:P2端口在片内既有上拉电阻,又有切换开关MUX,所以P2端口在功能上兼有P0端口和P1端口的特点。
这主要表现在输出功能上,当切换开关向下接通时,从内部总线输出的一位数据经反相器和场效应管反相后,输出在端口引脚线上;当多路开关向上时,输出的一位地址信号也经反相器和场效应管反相后,输出在端口引脚线上。
对于8031单片机必须外接程序存储器才能构成应用电路(或者我们的应用电路扩展了外部存储器),而P2端口就是用来周期性地输出从外存中取指令的地址(高8位地址),因此,P2端口的多路开关总是在进行切换,分时地输出从内部总线来的数据和从地址信号线上来的地址。
3项目一任务1AT89C51IO内部结构
![3项目一任务1AT89C51IO内部结构](https://img.taocdn.com/s3/m/b2160ad5763231126fdb11b0.png)
2021/4/6
3
2021/4/6
4
2021/4/6
5
2021/4/6
6
2021/4/6
7
2021/4/6
8
2、P1、P2和P3口 P1、P2 和P3 口为准双向口, 均可作为基本的I/O口使用。
P1口是用户专用 8 位
准双向I/O口, 具有通用输
6 AT89C51单片机I/O内部结构
2021/4/6
1
1、P0口
2021/4/6
图 1.11 P0 口位结构图
2
P0口有八条口线P0.0~P0.7,是一个三态双向I/O口。
(1)P0 口可以作为普通的I/O口使用。 由于是开漏极, 必须外接上拉电阻。当读外部输入数据时,必须先向P0口写 入“1”, 然后再读。
特殊功能寄 存器
初始状态
TH1
00H
P0~P3 IP IE
FFH ××00 0000B 0××0 0000B
TMOD
00H
SCON SBUF PCON
00H 不定 0××× 0000B
15
感谢您的阅读收藏,谢谢!
2021/4/6
16
EA(31):输入,0有效,前4k选择外部程序存储器的控制信号。 如何选择前4k的内部/外部程序存储器?
PSEN(29):输出,0有效,访问外部程序存储器的选通信号。 WR(16):外部数据存储器写控制信号 RD(17):外部数据存储器读控制信号 如何区别对外部数据存储器与外部程序存储器的访问?
RST(9):输入,高电平持续24个时钟周期有效,产生复位操作。
入/输出功能, 每一位都能
单片机IO口工作原理及结构框图
![单片机IO口工作原理及结构框图](https://img.taocdn.com/s3/m/b766d5a2f705cc1754270911.png)
单片机IO口工作原理及结构框图8051单片机I/O引脚工作原理一、P0端口的结构及工作原理P0端口8位中的一位结构图见下图:由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。
再看图的右边,标号为P0.X引脚的图标,也就是说P0.X引脚可以是P0.0到P0.7的任何一位,即在P0口有8个与上图相同的电路组成。
下面,我们先就组成P0口的每个单元部份跟大家介绍一下:先看输入缓冲器:在P0口中,有两个三态的缓冲器,在学数字电路时,我们已知道,三态门有三个状态,即在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),大家看上图,上面一个是读锁存器的缓冲器,也就是说,要读取D锁存器输出端Q的数据,那就得使读锁存器的这个缓冲器的三态控制端(上图中标号为‘读锁存器’端)有效。
下面一个是读引脚的缓冲器,要读取P0.X引脚上的数据,也要使标号为‘读引脚’的这个三态缓冲器的控制端有效,引脚上的数据才会传输到我们单片机的内部数据总线上。
D锁存器:构成一个锁存器,通常要用一个时序电路,时序的单元电路在学数字电路时我们已知道,一个触发器可以保存一位的二进制数(即具有保持功能),在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。
大家看上图中的D锁存器,D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是反向输出端。
对于D触发器来讲,当D输入端有一个输入信号,如果这时控制端CP 没有信号(也就是时序脉冲没有到来),这时输入端D的数据是无法传输到输出端Q及反向输出端Q非的。
如果时序控制端CP的时序脉冲一旦到了,这时D端输入的数据就会传输到Q及Q非端。
数据传送过来后,当CP时序控制端的时序信号消失了,这时,输出端还会保持着上次输入端D的数据(即把上次的数据锁存起来了)。
如果下一个时序控制脉冲信号来了,这时D端的数据才再次传送到Q端,从而改变Q端的状态。
单片机IO口实验
![单片机IO口实验](https://img.taocdn.com/s3/m/030578729b6648d7c1c746ee.png)
微机原理实验报告实验名称:单片机IO口控制实验姓名:学号:座位号:指导教师:实验原理:MCS-51单片机的内部结构:Mcs-51单片机的内部结构图如上所示,而且IO口作为单片机的重要组成部分,是连接单片机与外部设备的桥梁。
单片机IO口双列直插封装的管脚图:并行IO接口及其应用:MCS-5系列单片机内部有4个8位的并行I/O接口i,分别命名为P0,P1,P2和P3。
每个并行I/O接口的各位均可作为输入或者输出。
由于他们都属于地址号可被8整除的特殊功能寄存器,故可以通过位寻址或者直接寻址方式对其进行按位或字节型的I/O操作。
印象位地址或字节地址表:PO口的结构及其功能:(1)1个输出锁存器,用于进行输出数据的锁存;(2)2个三态输入缓冲器,分别用于锁存器和引脚数据的输入缓冲;(3)1个多路开关MUX,它的一个输入来自锁存器,另一个输入是地址/数据信号的反相输出。
在控制信号的的控制下能实现对锁存器输出端和地址/数据线之间的切换;(4)由两只场效应管组成的输出驱动电路。
(5)除具有与P1口相同的功能外,在系统扩展时作为低8位地址与数据分时复用总线,既此时P0为地址/数据分时复用端口。
低8位由ALE信号的下跳沿锁存到外部地址锁存器中,而高8位地址由P2口输出。
P0口的特点:(1)P0口是一个双功能的端口:地址/数据分时复用口和通用I/O口;(2)具有高电平、低电平和高阻抗3种状态的I/O端口称为双向I/O端口。
P0口作地址/数据总线复用口时,相当于一个真正的双向I/O口。
而用作通用I/O口时,由于引脚上需要外接上拉电阻,端口不存在高阻(悬空)状态,此时P0口只是一个准双向口;(3)为保证引脚上的信号能正确读入,在读入操作前应首先向锁存器写1;(4)单片机复位后,锁存器自动被置1;(5)一般情况下,如果P0口已作为地址/数据复用口时,就不能再用作通用I/O口使用;(5)P0口能驱动8个TTL负载。
P1口的结构及其功能:(1)一个数据输出锁存器,用于输出数据的锁存;(2)两个三态输入缓冲器,BUF1用于读锁存器,BUF2用于读引脚;(3)数据输出驱动电路,由场效应管VT和片内上拉电阻R组成P1口的特点:(1)P1口由于有内部上拉电阻,没有高阻抗输入状态,所以称为准双向口。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、P1I/O输入时,口锁存器必须置“1”,使T 截止,输入信号通过“读引脚”三态缓冲器进入内部总线。 (2)内部有上拉电阻(20KΩ~40KΩ); (3)CPU读P1口的二种情况: ①读P1口的锁存器状态值:“读─改─写”指令。 例ANL P1,#0FH; ②读P1口的引脚(外部输入)。例MOV A,P1;
P2口结构 4、P0口(80H) 、 口 ) 特点: (1)控制端高电平时,作为低8位地址和8位数据分时使用 口,供扩展时使用。 (2 )控 制 端低 电平 时 , T1 截 止 , 使T2 漏极 开 路, 输 出 “1”时须外接上拉电阻,最小系统(8051、8751)作准双向 。
P0口结构 注意: P0口作地址/数据总线输出时,通过反相器、与门工作。 P0口作外部数据输入时,CPU使T1、T2均截止,引脚浮空, 第三态,数据经“读引脚”输入缓冲器进 入内部总 线----是真正的双向口。
端口小结: 端口小结:
(1)系统总线: 地址总线(16位):P0(地址低8位)、P2口(地址高8 位) 数据总线(8位):P0口(地址/数据分时使用); 控制总线(6根):P3口的第二功能、和9、29、30、31脚; (2)供用户使用的端口:P1口、部分未作第二功能的P3口; (3)P0口作地址/数据时,是真正的双向口,三态,负载能 力 为8个LSTTL电路;P1~P3是准双向口,负 载能力 为4个LSTTL电路。 (4)P0~P3在用作输入之前必须先写“1”,即: (P0)=FFH ~(P3)=FFH 。
2、P3口(B0H) 、 口 )
特点: (1)准双向口:条件为第二功能输出端常“1”,与门开锁; (2)第二功能口:作为第二功能口使用时,(P3)=FFH; 某 位作为第二功能输入时,第二功能输出也必须置“1”。
第二功能输出: P3.0—TXD,串行输出口; P3.6— WR,外部数据存储器写选通信号 P3.7— RD,外部数据存储器读选通信号 第二功能输入: P3.1—RXD,串行输入口; P3.2— INT 0 ,外部中断输入0 ; P3.3— INT 1 ,外部中断输入1; P3.4—T0,外部计数输入0 P3.5—T1,外部计数输入1; 3、P2口(A0H) 、 口 ) 特点: (1)控制端高电平时,作为高8位地址输出口。 (2)控制端低电平时,最小系统(8051、8751)作准双向口。