51单片机并行GPIO,按其特性分为
单一的准双向口
多功能复用准双向口
地址总线输出准双向口
地址/数据总线口的三态双向
P0 ~ P3口都有各自的用法:
【回到目录】3. P2

3.1 构成
1个输出锁存器、1个转换开关MUX、2个三态输入缓冲器、输出驱动电路、1个反相器。
3.2 做输入端口
此时同样需要先通过内部总线向锁存器写1,让Q=1,场效应管截止,P2口输入的1才能送到三态门的输入端。此时,再给读引脚送一个读控制信号,1就可以通过三态门送到内部总线。
3.3 做输出端口
此时给锁存器的CP端送写脉冲信号,内部总线上的数据就被锁存进锁存器并从Q端输出,再通过电子开关、非门和场效应管从P2口输出。
4. P3

4.1 构成
1个输出锁存器、3个输入缓冲器、输出驱动电路。
输出驱动电路包括1个与非门、1个场效应管T、上拉电阻R。
4.2 做输入输出端口
与P1、P2作用类似。
5. 总结
P0口地址为80H,可进行位操作。
P0驱动NMOS输入时需外接上拉电阻。
P0可作通用I/O口,作低8位地址/数据总线时,无需外接上拉电阻。
P0可做为高阻态输入端使用。
P0 ~ P3做输入时,端口必须先置1,使内部场效应管截止,从而不影响输入电平。
关键字:单片机 GPIO
引用地址:
8051单片机的GPIO
推荐阅读最新更新时间:2026-03-22 17:55
Silicon C8051F340之GPIO口配置与使用
一、背景: 很久前用过C8051,现在有相关需求需要重新使用C8051,然后发现一年前开发的相关经验都忘得 基本上差不多了。连最基本的GPIO口配置还得重新来看手册,所以有此文,做个记录,以备下次快速 开发。 二、正文: 首先是GPIO口的配置步骤: 1. 用端口输入方式寄存器(PnMDIN)选择所有端口引脚的输入方式(模拟或数字)。 2. 用端口输出方式寄存器(PnMDOUT)选择所有端口引脚的输出方式(漏极开路或推挽)。 3. 用端口跳过寄存器(PnSKIP)选择应被交叉开关跳过的那些引脚。 4. 将引脚分配给要使用的外设(XBR0、XBR1、XBR2)。 5. 使能交叉开
[单片机]
【STM32单片机学习】第8章 GPIO—LED点灯
本章实验的目的是通过LED点灯,让读者熟悉STM32F103最基本的外设GPIO。首先介绍了GPIO的一些基本概念和知识,然后介绍开发板LED灯部分硬件设计,再结合硬件进行软件设计,最后展示实验效果。本章阅读提示:8.1 关于GPIO(介绍GPIO的一些知识,刚开始概念有些多,读者慢慢理解)8.2 硬件设计(分析LED灯部分的硬件设计和RGB灯,需要理解)8.3 软件设计(讲解如何编写LED程序,需要重点理解)8.4 实验效果(展示实验效果,操作即可) 8.1 关于GPIO GPIO(General-Purpose IO ports,通用输入/输出接口),用于感知外界信号(输入模式)和控制外部设备(输出模式),如图 6.1
[单片机]
STM32单片机GPIO寄存器的功能解析
1、GPIO的寄存器按照功能可以分为以下几类: A、配置寄存器 B、数据寄存器 C、位寄存器 D、锁定寄存器 2、对于GPIO端口,每个端口有16个引脚,每个引脚的模式由寄存器的四个位控制,每四位又分为两位控制引脚配置(CNFy[1:0]),两位控制引脚的模式及最高速度(MODEy[1:0]),其中y表示第y个引脚。配置GPIO引脚模式的一共有两个寄存器,CRH是高寄存器,用来配置高8位引脚,还有CRL配置低八位引脚。 3、端口位设置清除寄存器(GPIOx_BSRR) 一个引脚y的输出数据由GPIOx_BSRR寄存器位的2个位来控制分别为BRy (Bit Reset y)和BSy (Bit Set y),BRy位用于写1清零,
[单片机]
STM32单片机GPIO口的八种工作模式介绍
STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和输出寄存器GPIOx_IDR和GPIOx_ODR,1个32位置位复位寄存器GPIOx_BSRR,1个32位锁定寄存器GPIOx_LCKR和2个32位复用功能选择寄存器GPIOx_AFRH和GPIOx_AFRL。 GPIO的输出状态可以配置为推挽或开漏加上上拉或下拉。输出数据既可以来自输出数据寄存器,也可以由其他外围寄存器发出。每组IO口的速度都是可以配置的,可以配置为25MHz,50MHz或是100Mhz。数据输入同样也有几种模式
[单片机]
STM32单片机GPIO的配置模式
1. 操作GPIO的意义 我们在学习单片机的时候,一般都是从操作GPIO开始的,很多单片机学习的教程第一课就是点亮发光二极管或者是流水灯。所以对于初学者而言,及时掌握单片机的GPIO口是一件具有里程碑意义的事情。今天以STM32单片机为例,简单看一下GPIO口。 2. STM32单片机GPIO的配置模式 STM32单片机的GPIO最有8组,分别为A,B,C,D,E,每组有0-15共16个。可以配置为8中模式: 3. 相关寄存器 配置GPIO相关的寄存器有如下几个: 1.端口配置低寄存器:(GPIOx_CRL) (x=A..E) 2.端口配置高寄存器:(GPIOx_CRH) (x=A..E) 3.端口输入数据寄存器:(GPI
[单片机]
stm32单片机中使用GPIO口模拟PWM输出解析
STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M3内核(ST‘s product portfolio contains a comprehensive range of microcontrollers, from robust, low-cost 8-bit MCUs up to 32-bit ARM-based Cortex®-M0 and M0+, Cortex®-M3, Cortex®-M4 Flash microcontrollers with a great choice of peripherals. ST has also extended this range t
[单片机]
STM32单片机的GPIO模式解析
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度 二、开漏输出:输出端相当于三极管的集电极,要得到高电平状态需要上拉电阻才行。适合于做电流型的驱动,其吸收电流的能力相对强(一般20mA以内)。开漏形式的电路有以下几个特点: 1、利用外部电路的驱
[单片机]
STM32单片机GPIO口的工作模式解析
STM32单片机的每组IO口都有4个32位配置寄存器用于配置GPIOx_MODER, GPIOx_OTYPER, GPIOx_OSPEEDR和GPIOx_PUPDR,2个32位数据寄存器用于配置输入和输出寄存器GPIOx_IDR和GPIOx_ODR,1个32位置位复位寄存器GPIOx_BSRR,1个32位锁定寄存器GPIOx_LCKR和2个32位复用功能选择寄存器GPIOx_AFRH和GPIOx_AFRL。 GPIO的输出状态可以配置为推挽或开漏加上上拉或下拉。输出数据既可以来自输出数据寄存器,也可以由其他外围寄存器发出。每组IO口的速度都是可以配置的,可以配置为25MHz,50MHz或是100Mhz。数据输入同样也有几种模式
[单片机]