Wpis z mikrobloga

#programowanie #mikrokontrolery #elektronika #atnel #kardas

Prosty program dzięki któremu LED'y ustawione w szeregu święcą po kolei.

Parę pytań:

DDRA = 0xff // o co chodzi z tym 0xff

to samo z PORTA

-----------

Jeśli dioda jest podpięta katodą do mikrokontrolera to wtedy negujemy, a jeśli anodą to zostawiamy sygnał w spokoju?

#include {

#include

int main(void) {

DDRA = 0xff;

PORTA = 0xff;

while(1) {

uint8_t i, liczba =1;

for (i=0;i<8;i++) {

PORTA = ~liczba;

liczba *=2;

delayms(500);

}

}

}
  • 23
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

DDRA mówi o kierunku działania wejścia/wyjścia dla pinow opisanych jako PORTA w mikrokontrolerze. Natomiast PORTA decyduje co wypuszczasz na ten port (8 kolejnych pinow). Jesli do kontrolera podlaczasz minus to aby dioda zapalić musisz dać stan niski (bit na zero). Jesli plusem to stan wysoki (bit na 1). Twój przykład zakłada zapalenie stanem niskim (jesli mowa o kolejnym zapalaniu jednej diody)
  • Odpowiedz
@setkadolarow: Jaki znowu adres? To po prostu wartość rejestru.

@studbazer: DDRA=0xFF ustawia wszystkie piny portu jako wyjścia.

PORTA=0xFF ustawia na wszystkie piny jedynke

w pętli co pół sekundy zmienia się jeden z bitów, więc po kolei będą się zaświecać od jednej strony (będzie ich coraz więcej), a jak zacznie pętlę kolejny raz, to będą tak samo gasnąć
  • Odpowiedz