РАБОТА 1. ПОМИГАЕМ СВЕТОДИОДОМ


Классическое начало работы с микропроцессором, осваиваем порт дискретного вывода. Светодиоды данной конкретной модели связаны с линиями PD0 и PC5.

Шапка первой программы практически не требует комментариев. Указывается частота работы кристалла, установленная в фузах: энергонезависимой памяти. Подгружаются базовая и вспомогательная библиотеки, вторая позволяет ссылаться на задержку delay.

Двунаправленные порты ввода-вывода микропроцессора PORTx управляются регистром конфигурации DDRx (единички, как выход), битовое содержимое которого позволяет установить направленность восьми линий порта Pxn (PINxn). При чтении данных используется содержимое буфера входов PINx.

Некоторые конструкции выходят из употребления, это касается макросов sbi и cbi.



Макрос sbi(PORTx,bit) эквивалентен PORTx |= _BV(bit), второй макрос cbi(PORTx,bit) эквивалентен PORTx &= ~_BV(bit). Знать их полезно, они встречаются в ранних программах, но ныне чаще используются отмеченные конструкции.

Функция _BV(Pxn) переводит восьмеричный номер линии Pxn в число с единицей в соответствующем бите. Можно не вдумываясь писать отмеченные команды установки линий порта в 1 и в 0, за этим стоит математический аппарат соответствующих операций сложения и умножения формальной логики.

Rambler's Top100