假设 DDRC 已经被初始化,连接如下:+V 连接 LED0, LED1 的头以及开关的头;LED1, LED0, 开关的尾分别连接向 ATmega 2560 的 PD2, PD1, PD0。ATmega 2560 接地。

执行以下代码:

int val=0;
PORTD|=0x06;
while(1)
{
PORTD&=~(1<<val);

if(PIND&0x01)
{
val +=1;

if(val>2)
{
val=2;
}
}

else
{
val=1;
}
}

分析:

当开关没有被按下时,val=1,因此 PD1PD0 被置为低电平,LED1 和 LED0 都会亮起。

总结:

当开关没有被按下时,两个 LED 灯都亮。

ATmega 2560 控制 LED 灯亮灭:开关控制逻辑分析

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

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