Авторизация


...

Кто на сайте?

Сейчас один гость и один зарегистрированный пользователь на сайте

  • sundbarr

Статистика

-Посетители : 25302
-Материалы : 210

Пользователь сайта продает...

  MB913 C-01

Пользователь сайта покупает...

ПП приема кода JVC с ИК пульта

Автор: Алексей Черепанов (г. Архангельск), Игорь Безверхний (г. Киев) Просмотров: 4060

 

 

За основу была взята программа по распознаванию кода RC5, которую написал один из авторов этой статьи Алексей Черепанов. Данная программа унаследовала от своей предшественницы те же преимущества, компактность кода, не требовательность к ресурсам контроллера, скорость работы. Несмотря на то, что длительность пачки импульсов примерно 30000-35000 мкс, распознавание всей пачки импульсов от пульта отнимает у основной программы только около 120-130 мкс! Достигнута такая экономия за счет переключения фронтов прерываний по INT0. Таким образом, нет нужды при обнаружении начала посылки ожидать в прерывании следующего перепада.

Данная программа рассчитана под тактовую частоту 12 МГц. При необходимости ее можно пересчитать под любой кварц, для этого возможно придется переключить предделитель TMR0 на другое значение и возможно, пересчитать константы. Таймер должен переполняться по истечении 650 мкс для синхробита, и после 2000 мкс для бита. Также для синхроимпульса необходимо пересчитать константу, чтобы проверить его правильность. До переполнения таймера в этом случае должно оставаться не более 200 мкс. Т.е. должно выполняться условие: синхроимпульс > 450 мкс, но < 650 мкс. Для значащего бита необходимо высчитать константу, когда до переполнения останется примерно 1000 мкс. Если времени пройдет более 1000мкс, то принята единицу, если менее, то ноль. Очень важно помнить, что предустановки таймера выбраны таким образом, что любое переполнение таймера при приеме посылки будет означать ошибку приема. Именно поэтому в программе нет проверок на максимальное значение. Эта проверка всегда одна в двух первых строчках подпрограммы прерывания. Т.е. если таймер переполнен, это автоматически означает ошибку приема, но если таймер переполнен, и прерывание произошло по спаду, то это всегда будет означать начало приема посылки с ИК пульта ДУ. Это условие необходимо для правильного определения начала посылки, если его не соблюдать, то правильно принять код с пульта будет практически невозможно. Для правильной работы программы необходимо:

1.   Настроить TMR0 на работу как 8 разрядный счетчик с внутренней синхронизацией.

2.   Установить предделитель как 1:32

3.   Включить прерывание по INT0 по спаду. Хотя важнее просто включить прерывание по INT0, а фронт автоматически переключится так, как нужно.

На рисунке представлен алгоритм работы программы

 

 

 

Исходник программы можно скачать здесь

Случайные статьи....

Prev Next

ADDWF

02-02-2012 Super User

ADDWF Сложение W и f Синтаксис: [label] ADDWF f,d,a Операнды: 0 <= f <= 255d Е [0,1]a Е [0,1] Операция: (W) + (f) -> (dest) Изменяет флаги: C, DC, Z, OV, N Код: 0010 01da ffff ffff Описание: Сложение содержимого регистров W и f. Если d=0 - то результат сохраняется в регистре W,...

Среда программирования.

22-04-2012 Super User

Для написания наших программ  нам понадобится установить на наш компьютер  программное обеспечение. Для PIC микроконтроллеров существует интегрированная  среда разработки MPLAB (IDE) фирмы Microchip Technology Incorporated. MPLAB позволяет писать программы в встроенном текстовом редакторе, ассемблировать и компилировать исходный текст, отлаживать и оптимизировать...

Регулятор оборотов вентилятора.

03-02-2012 Sergey Roslik

Регулятор оборотов вентилятора.

    Уже в первых экспериментах с коллекторным моторчиком и батарейкой можно было заметить, что при частом попеременном включении и выключении электромотора частота вращения его ротора изменяется. То есть происходила регулировка скорости вращения путём периодичного включения и отключения тока через...

Простой таймер для кухни и не только…

27-12-2014 Иван Шевченко (R1ZK)

Простой таймер для кухни и не только…

 Применение таймера в быту очень удобно и не зря   многие производители встраивают таймер в различную бытовую технику. Что касается кухни, таймер незаменимая вещь и хотя в сети предоставлено достаточно много различных схем все они имеют свои особенности...  В данной статье пойдет...


Все права принадлежат ChipMK.ru. При копировании материала ссылка обязательна. 2011-2017 © ChipMK.ru

ChipMk.ru Яндекс.Метрика
PRCY.ru