Przyszedł czas na zbudowanie pierwszego trywialnego układu i napisanie programu. Układ jest banalnie prosty i jego głównym działaniem jest miganie diodami. Wiem, że to troszkę głupie ale od czegoś trzeba zacząć. Zaopatrzony w programator USBASP oraz środowisko programistyczne Eclipse Mars.1 z Atmel Toolchains mogłem bez problemu oprogramować AVR. Przydatnym jest też program mkvAVR Calculator. Program wgrany do mikrokontrolera:
#include <avr/io.h>
#include <util/delay.h>
//definicja LED1 (do którego pinu podłączony LED1)
#define LED1 PB0
//definicja LED2 (do którego pinu podłączony LED2)
#define LED2 PB1
void main(void)
{
//########### I/O ###########
DDRB|= (1<<LED1) | (1<<LED2); //Ustawienie pinów sterujących diodami
//jako wyjścia
PORTB |= (1<<LED1); //stan pinu LED1 wysoki +5V - dioda LED1 nie świeci się
PORTB |= (1<<LED2); //stan pinu LED2 wysoki +5V - dioda LED2 świeci się
while (1) //Pętla główna
{
PORTB ^=(1<<LED1); //suma modulo 2 (XOR) stanu poprzedniego na porcie
//pinu LED1 (zmiana stanu na przeciwny)
PORTB ^=(1<<LED2); //suma modulo 2 (XOR) stanu poprzedniego na porcie
//pinu LED2 (zmiana stanu na przeciwny)
_delay_ms(500); //opóźnienie 1000ms czyli 1s
}
}




Brak komentarzy:
Prześlij komentarz