产品概述

单片机端口配置. 新塘N76E003封装为TSSOP20单片机IO口,四种工作模式的配置方法

小编 2025-07-11 产品概述 23 0

新塘N76E003封装为TSSOP20单片机IO口,四种工作模式的配置方法

单片机的四种工作模块有:

1,标准双向模式;2,推挽输出模式;3,输入(高阻)模式;4,开漏模式; 这四种。

1,准双向模式

弱上拉,强下拉。

准双向模块结构图

2,推挽输出模式

推挽输出模式与准双向输出模式有相同的下拉结构,当端口锁定为1时,提供持续的强上拉。

推挽模式结构图

3,输入高阻模式

输入模式提供真实的高阻输入路径,输入模式应该由外部设备或电阻提供一个确定的电平。

悬空引脚掉电状态下会引起漏电

输入高阻模式结构图

4,开漏模式

关闭所有内部上拉,当端口锁定为逻辑0时,仅打开下拉MOS,当端口锁定为逻辑1时,他和输入模式一样,通常用于I2C的SDA线上,外部需要加一个上拉电阻;开漏模式输出逻辑1时,应在外部提供一个确定的电平,悬空引脚掉电状态下会引起漏电

开漏模式结构图

每一个I/O端口引脚的工作模式,是通过两个特殊功能寄存器PxM1PxM2 来配置的。

上电默认为高阻输入模式!

配置不同的I/O模式

端口0模式配置的两个寄存器

举个例子:如果要配置P1.3端口引脚为推挽输出模式,配置P0.1-P0.3端口引脚为推挽输出模式,看上图对应配置出,下图端口想要的工作模式:

I/O端口工作模式配置例子

如何配置GPIO端口和引脚?

配置GPIO引脚为输入模式通常涉及以下几个步骤:

选择GPIO端口和引脚:

确定你想要配置的GPIO端口和引脚。不同的微控制器可能有不同的GPIO端口和引脚编号。

初始化GPIO:

在配置引脚之前,你可能需要初始化GPIO模块。这通常涉及调用一个初始化函数,例如GPIO_Init(),该函数会设置GPIO模块的基本参数,如时钟、工作模式等。

设置引脚模式:

使用GPIO的配置函数来设置引脚的模式为输入。这通常是通过填充一个GPIO配置结构体(如GPIO_InitTypeDef)来实现的,其中包含引脚模式、输出类型、上拉/下拉等配置信息。

对于输入模式,你需要指定引脚是模拟输入、上拉输入、下拉输入还是浮空输入。对于STM32等微控制器,可以使用如GPIO_Mode_IPU(上拉输入)、GPIO_Mode_IPD(下拉输入)、GPIO_Mode_IN_FLOATING(浮空输入)等预定义常量来设置。

配置引脚参数:

在设置引脚模式之后,你可能还需要配置其他参数,如中断使能、上拉/下拉电阻的使用等。这些配置也通常在GPIO配置结构体中进行。

调用配置函数:

最后,调用GPIO的配置函数来应用你所做的设置。例如,对于STM32,你可能会调用GPIO_Init()函数,并将填充好的GPIO配置结构体作为参数传递。

下面是一个简化的示例代码,展示了如何配置STM32微控制器上的GPIO引脚为输入模式(假设使用HAL库):

c

复制

GPIO_InitTypeDef GPIO_InitStruct = {0};

// 假设我们要配置PA0引脚为浮空输入

__HAL_RCC_GPIOA_CLK_ENABLE(); // 使能GPIOA时钟

// 配置GPIOA0引脚为浮空输入

GPIO_InitStruct.Pin = GPIO_PIN_0;

GPIO_InitStruct.Mode = GPIO_MODE_INPUT;

GPIO_InitStruct.Pull = GPIO_NOPULL; // 不使用上拉/下拉

GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // 低速

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA0

请注意,上面的代码是一个示例,并且可能需要根据你使用的微控制器和库进行调整。务必参考你所使用的硬件平台和库的文档,以获取准确的配置方法和函数。#如何学习单片机# #二级子程序# #什么叫单片机# #电脑读写# #plc.# #内核稳不稳# #定制化电子开发# #系统启动键汇总# #分享编程心得#

相关问答

单片机 4 端口 分别是哪四个?

以8051单片机为例:8051单片机的4个I/O口在结构上是基本相同的,但又各具特点。这四个端口都是8位双向口,每个端口都包括一个锁存器、一个输出驱动器...以8051...

52 单片机端口 介绍?

各个端口介绍:P0口:双向8位三态I/O口P1口:准双向8位I/O口P2口:准双向8位I/O口P3口:准双向8位I/O口这里特别要主要准双向与双向三态I/O的区别:P1口,P2口,P...

单片机 端口 用bit定义吗?

是的,单机片的端口可以用位(bit)来定义。在单机片上,每个端口都是由多个位(bit)组成的,每个位代表一个输入或输出的信号。通过设置或清除每个位,可以控制每个...

电脑连接 单片机 的时候,COM 端口 应该怎么调试? - 你总是不懂我...

一般单片机由于供电的原因,通常都是TTL的UART电平讯号,需要经过转换IC来提升电平(RS-232),电脑通常都是RS-232的讯号,因此直接把转换后的RS-232跟电...

51 单片机 按键对应的 端口 ?

51单片机所有的lO口都可以作为输入或者输出,按键作为输入可以接任何lO口为了简单独立按键一般直接接于IO引脚和地之间,利用内部上拉电阻如果接于IO和电源VCC...

单片机 io 端口 的使用方法?

单片机IO端口是单片机与外部设备交互的重要接口,其使用方法可以分为输入和输出两种。输入时,需要设置端口为输入模式,通过读取端口状态获取外部设备输入的数据...

stc89c52 单片机端口 介绍?

1.STC89C52单片机有40个I/O口,其中32个为普通I/O口,8个为可复用的专用I/O口。2.这些I/O口可以用于控制外设的输入输出,如LED灯、数码管、LCD显示屏、继电器...

单片机 插电脑为什么会找不到 端口 ?

1单片机插电脑找不到端口是因为可能存在以下原因。2首先,可能是单片机与电脑之间的连接线松动或者损坏,导致信号无法传输。此时可以尝试重新插拔连接线或更...

单片机 同一 端口 (例如P3.0)的不同功能是怎么实现?

可以用特定的语句来实现如:利用KEIL软件P3.0为RXD,即为串行接收,它可以串行接收也可当I/O口,例如I/O口程序:sbitbit_a=P3^0;可对bit_a=1;接受位程序....

电脑 端口 错了?插上 单片机 端口 显示是COM23 。以前是COM7的。...

插上单片机端口显示是COM23。以前是COM7的。打开烧录程序上面最多也就到COM16。怎么处理?笔记本电脑讨论回答(3)插USB接口时,建议固定一个USB接口!...

猜你喜欢