Codingan Tugas SisMik
unknown
csharp
19 days ago
748 B
11
Indexable
#include <avr/io.h> #include <util/delay.h> #define BUTTON PD7 // Saklar terhubung ke PD7 void delay_ms(uint16_t ms) { while (ms--) { _delay_ms(100); } } int main(void) { // Atur semua pin LED (PB0 - PB7) sebagai output DDRB = 0xFF; // Atur PD7 sebagai input (saklar) DDRD &= ~(1 << BUTTON); // Aktifkan pull-up internal pada PD7 PORTD |= (1 << BUTTON); while (1) { if (PIND & (1 << BUTTON)) { // Jika saklar TIDAK ditekan -> LED menyala dari 0 ke 7 for (uint8_t i = 0; i < 8; i++) { PORTB = (1 << i); delay_ms(15); } } else { // Jika saklar ditekan -> LED menyala dari 7 ke 0 for (int8_t i = 7; i >= 0; i--) { PORTB = (1 << i); delay_ms(15); } } } }
Editor is loading...
Leave a Comment