![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMA8kr5aybgsdMhMyYs9QUJj-2LkdDjcFedl-grt1nXkBP9tO4au0HElXxT5DN6vxQxZLAQ7aZIq2qt_j118Fq-qe9WvVa_xFCxIOkekKfjC0N0PWHBUkLoXCYpeHQrjgg_mS3drErON6x/s200/IC-ATMEGA8A-PU_LRG.jpg)
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