atmega328p 按鈕控制led
2024/11/02 12:59
瀏覽48
迴響0
推薦0
引用0
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= (1 << 5); // 設置 Pin 13 為輸出
DDRD &= ~(1 << 2); // 設置 Pin 2 為輸入
PORTD |= (1 << 2); // 啟用上拉電阻
int lastButton;
int pressCount;
int pin_status;
while(1)
{
pin_status = PIND & (1<<2); /* 讀取 Pin 2 的狀態 */
if( pin_status == 0 && lastButton != 0){
pressCount++;
if (pressCount%2==1){
PORTB |= (1 << 5); // LED 亮起
}
else{
PORTB &= ~(1 << 5); // LED 熄滅
}
_delay_ms(50);
}
lastButton = pin_status;
}
return 0;
}
限會員,要發表迴響,請先登入



