Contents ...
udn網路城邦
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;

}


限會員,要發表迴響,請先登入