Це стара версія документу!
Эта программа реализует “бегущий огонь” из 8-ми светодиодов, подключенных к порту “A” микроконтроллера. В данном случае использовался внешний тактовый генератор с частотой 11.0592 МГц
. Переключаться между использованием внешнего и внутреннего генератора можно при помощи FUSE-битов.
//#define F_CPU 1000000UL // Тактовая частота 1МГц #define F_CPU 11059200UL // Тактовая частота 11.0592 МГц #include <inttypes.h> #include <avr/io.h> #include <util/delay.h> int main() // Главная функция программы { DDRA = 0b11111111; // Установка всех ножек порта "A" в режим вывода //DDRC = 0b11111111; // Установка всех ножек порта "C" в режим вывода while (1) // Бесконечный цикл { PORTA = 0b00000001; // Включение светодиода №1 _delay_ms(500); // Пауза в 500мс PORTA = 0b00000010; // Включение светодиода №2 _delay_ms(100); // Пауза в 100мс PORTA = 0b00000100; // И так далее _delay_ms(100); PORTA = 0b00001000; _delay_ms(100); PORTA = 0b00010000; _delay_ms(100); PORTA = 0b00100000; _delay_ms(100); PORTA = 0b01000000; _delay_ms(100); PORTA = 0b10000000; _delay_ms(100); } }