Пульт дистанционного управления
_
Л еонид Ридико
для цифровых зеркальных камер
г. Минск
--------------------------------
В
АВТОМАТИКА
Ц
--------------------------------
Окончание. Начало в N92-3/2007
Вот и все, hard закончен, теперь начинается чистый
soft. Последовательность импульсов, которую надо по-
лучить, мы знаем , осталось только реализовать ее в
виде программы для м икроконтроллера. Для камер
Nikon последовательность должна иметь следующий
вид:
• импульс длительностью 200 0
МКС
• пауза 27830 мкс
• импульс 3 90 мкс
• пауза 1580 мкс
• импульс 410 мкс
• пауза 3580 мкс
• импульс 400 мкс
• пауза 63200 мкс
• затем вся посылка повторяется ещ е раз
Каждый импульс модулирован, т.е. представляет собой
“пачку” импульсов с частотой повторения 38,4 кГц.
Для камер Canon последовательность проста до
безобразия:
• импульс длительностью 480 мкс
• пауза 7324 мкс
• импульс 480 мкс
Частота модуляции - 33 КГц.
Чтобы формировать точные значения временных
интервалов и частоты заполнения на низкой тактовой
частоте, а у ATtiny 12 внутренний RC-генератор работа-
ет на частоте всего 1,2 МГц, нужен полный контроль
над процессором. Поэтому пишем на ассемблере. Тем
более, программа очень простая. В качестве среды про-
граммирования берем AVR Studio 4, используем транс-
лятор AVR Assembler 2 из ее состава. Текст программы
довольно короткий, поэтому можно его здесь привести
целиком, дополнив комментариями.
Итак,'в начале программы включаем файл описания процессора ATtiny 12 из стандартного набора AVR Studio:
.include "tnl2def.inc"
Переключение между системами Nikon и Canon сделаем на этапе транЬляции программы, так как обе эти
системы одновременно вряд ли понадобятся.
Для выбора конкретной системы нужно просто откомментировать нужную строчку. В данном случае выбра-
на система Nikon:
#define Nikon
; uncomment to select Nikon
;#define Canon
; uncomment to select Canon
Далее потребуются некоторые константы для расчета временных интервалов, сам расчет мы поручим транс-
лятору. Определяем константу тактовой частоты микроконтроллера и константу частоты модуляции ИК-посы-
лок, которая еще и отличается для разных систем:
4
/Constantes:
.equ FCLK = 1200000
/clock frequency (internal RC) [Hz]
#ifdef Nikon
.equ FMOD = 38400
/modulation frequency [Hz]
#endif
#ifdef Canon
.equ FMOD = 33000
/modulation frequency [Hz]
#endif
Опишем порты микроконтроллера согласно принципиальной схеме. Порт РВ1 используется для подключе-
ния кнопки, а порты РВ0, РВ2, РВЗ, РВ4 - для питания ИК-светодиода. Константа DIRB будет использоваться
для задания направления портов. В нашем случае РВ1 используется на ввод (это вход внешнего прерывания),
РВ0, РВ2, РВЗ, РВ4 - на вывод. Константа PUPB будет использоваться для задания начального состояния
портов вывода и для включения/выключения подтягивающих резисторов на портах ввода. В нашем случае
светодиод включается логическим нулем, поэтому все порты вывода должны быть установлены после сброса в
U
Радиолюбитель - 0 4 /2 0 0 7
предыдущая страница 20 Радиолюбитель 2007-04 читать онлайн следующая страница 22 Радиолюбитель 2007-04 читать онлайн Домой Выключить/включить текст