Авторизация


...

Кто на сайте?

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

  • heydeeste

Статистика

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

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

  Программатор Pic K-150

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

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

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

 

 

За основу была взята программа по распознаванию кода 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

ПП чтения и записи двух десятичных чисел в одном байте.

09-06-2012 Super User

Бывает необходимость сохранения достаточно массивной информации в виде десятичных чисел. Очень удобно сохранять не одно десятичное число в байте, а два (одно число сохраняется в младшем, другое в старшем полубайтах). Тем самым соответственно,  в два раза сокращается и объем необходимой ...

ПП инициализация LCD в 4-х битном режиме.

01-06-2012 Super User

  В данном примере для работы с LCD задействован порт "С" и два бита порта "B" (6,7). Для удобства при инициализации микроконтроллера  порт "С" настроен; 4 младших бита на выход; старшие 4 бита на вход.  

ADDWFC

02-02-2012 Super User

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

Промышленный терморегулятор. Часть 1.

18-08-2011 Sergey Roslik

Промышленный терморегулятор. Часть 1.

 Основным назначением КПИ 1-Wire является преобразование интерфейса 1-Wire в интерфейс RS-485, для передачи данных системному операторы на большие расстояния, и для дальнейшего обеспечения контроля и мониторинга технологических процессов контроллируемого объекта с элементами автоматики и сигнализации.        


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

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