打印
[应用方案]

I/O 口输入模式与输出模式

[复制链接]
1634|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
铁血丹心LLLL|  楼主 | 2025-1-20 13:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
输入模式:当 I/O 口配置为输入时,它能够接收外部设备的信号。在输入模式下,I/O 口可以检测到逻辑电平的变化高或低电平,并通过中断或轮询的方式将信号传递到 CPU。

输出模式:当 I/O 口配置为输出时,它能够输出逻辑电平的信号,可以用来驱动 LED、继电器、蜂鸣器等设备。

3.1 输入模式的应用实例
以按钮输入为例:

当按钮按下时,I/O 口接收到高电平信号假设是正电源,CPU 通过检测输入端口状态判断按钮是否被按下。
硬件连接
按钮的一端接到 I/O 口例如端口 P0.0,另一端接地。
配置端口 P0.0 为输入模式。
可启用上拉电阻,防止输入端悬空,避免读取错误。
软件实现
c
复制
编辑
// 配置 P0.0 为输入模式
DDRP &= ~(1 << 0);   // 设置 P0.0 为输入

// 启用上拉电阻
PORTP |= (1 << 0);    // 启用 P0.0 上拉电阻

// 读取按钮状态
if (P0 & (1 << 0)) {
    // 按钮未按下,P0.0 为高电平
} else {
    // 按钮被按下,P0.0 为低电平
}
3.2 输出模式的应用实例
以 LED 输出为例:

当单片机控制端口输出高电平时,LED 点亮;输出低电平时,LED 熄灭。
硬件连接
LED 的长脚连接到 I/O 口(例如端口 P1.0),短脚通过限流电阻接地。
配置端口 P1.0 为输出模式。
软件实现
c
复制
编辑
// 配置 P1.0 为输出模式
DDRP |= (1 << 0);    // 设置 P1.0 为输出

// 点亮 LED
PORTP |= (1 << 0);    // P1.0 输出高电平

// 熄灭 LED
PORTP &= ~(1 << 0);   // P1.0 输出低电平

使用特权

评论回复
沙发
wangjiahao88| | 2025-1-23 14:37 | 只看该作者
请问有库的模式吗?感觉这样写,不是速成的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

71

主题

495

帖子

1

粉丝