Основы программирования микроконтроллеров ATMega128 и 68hc908. Китаев Ю.В. - 12 стр.

UptoLike

Составители: 

12
строки матрицы клавиатуры (3 вывода PD6..4 служат линиями возврата), а по
линии порта PD7 выводится сигнал на пьезодинамик, т.е. в биты 3..0 и 7
регистра направления DDRD нужно также записать единицы. Порт PF (АЦП)
при включении питания настроен на ввод, поэтому записывать в регистр
DDRF нули не обязательно.
4.2 ПРОГРАММИРОВАНИЕ НАПРАВЛЕНИЯ ПОРТОВ ВВОДА/ВЫВОДА
Соответствующий фрагмент программы написанной на Pascal’е будет
выглядеть следующим образом:
procedure Init_Ports; //== задаем направления передачи данных через порты,
begin //== а также начальные значения
DDRD:=%10001111; //== PD0..PD3 выводим "бегущий 0",
//== PD4..PD6 - считываем код возврата
//== линия PORTD.7 подключена к пъезодинамику, поэтому настроим
//== ее на вывод
DDRC:=$FF; //== порт C на вывод 8-ми сегментного кода
DDRE:=%11110000; //== бит7 порта E (LED) на вывод (по RESET'у все
порты настроены на ввод)
//== 6,5,4 биты на базы транзисторов, коллекторы к общим анодам
//== индикаторов
PORTE:=%11111111; //== гасим индикаторы, подавая на базы ключевых
//== транзисторов единицы (т.е. на аноды светодиодовнули)
end;
4.3 ФОРМИРОВАНИЕ ИНТЕРВАЛОВ ЗАДАННОЙ ДЛИТЕЛЬНОСТИ И
СИГНАЛИЗАЦИЯ С ПОМОЩЬЮ СВЕТОДИОДА И ПЬЕЗОДИНАМИКА
Для этой цели может быть выбран любой таймер (см. другие
лабораторные работы курса). В нашем примере остановимся на асинхронном
режиме работы 8-ми разрядноготаймера 0”, когда импульсы на вход
счетчика таймера поступают не от общего источника CLKi/o, а от
дополнительного генератора к входам, которого (TOSC1,2) подключен
кварцевый резонатор с частотой генерации 32768Гц (2
15
). Сигнал этого
генератора не синхронизирован с сигналом CLKi/o, т.е. является
асинхронным. Структурная схема таймера0 (таймера/счетчика 0) приведена
на рис.1.6.