ATmega 2560 开关状态检测及LED控制

本文介绍如何使用 ATmega 2560 微控制器检测开关状态,并根据开关状态控制LED的亮灭。

电路连接:

  • +V 连接 LED0, LED1 的正极以及开关 S1 的正极;
  • LED0, LED1 的负极分别连接到 ATmega 2560 的 PC0, PC1 引脚;
  • 开关 S1 的负极连接到 ATmega 2560 的 PD2 引脚。

代码示例:

// 假设 DDRC 已经被初始化
if(PIND & 0x04)  // 检查 PD2 引脚的状态,如果为 1 则开关是开着的,如果为 0 则开关是关着的。
{
    // 开关是开着的,执行相应的代码
    PORTC |= (1<<PC0);  // 点亮 LED0
    PORTC &= ~(1<<PC1);  // 关闭 LED1
}
else
{
    // 开关是关着的,执行相应的代码
    PORTC &= ~(1<<PC0);  // 关闭 LED0
    PORTC |= (1<<PC1);  // 点亮 LED1
}

代码解释:

  • PIND & 0x04:检查 PD2 引脚的状态。 0x04 的二进制表示为 0000 0100,用于屏蔽其他引脚的状态,只保留 PD2 的状态。
  • PORTC |= (1<<PC0):点亮 LED0,通过将 PC0 位置 1 来设置 LED0 的正极电压。
  • PORTC &= ~(1<<PC1):关闭 LED1,通过将 PC1 位置 0 来断开 LED1 的正极电压。

注意事项:

  • 确保开关 S1 与 PD2 引脚之间连接了上拉电阻,以便在开关断开时 PD2 引脚可以保持高电平。
  • 可以根据实际情况调整 LED0 和 LED1 的连接引脚以及开关 S1 的连接引脚。
ATmega 2560 开关状态检测及LED控制

原文地址: https://www.cveoy.top/t/topic/ojUM 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录