В приемнике используются два прерывания: по переполнению таймера TMR 0 и от изменения сигналов на входе RB0. При поступлении импульса на вход RB0 сохраняются значения текущих регистров. Далее программа проверяет источник прерывания. Если прерывание произошло не по переполнению таймера, то инкрементируется счетчик импульсов. Производится переустановка таймера(3) ( 256 - 120 = 136) и сброс счетчика предделителя. Программа восстанавливает значения регистров, и продолжается работа по индикации. Таким образом, при поступлении импульсов с входа RB0(4) таймер постоянно переустанавливается. Поэтому невозможно прерывание от переполнения таймера до тех пор, пока на входе присутствуют импульсы.
Если на входе длительное время отсутствуют импульсы, то произойдет прерывание от переполнения таймера. Для надежности работы приемника время от прерывания до прерывания немного уменьшено по сравнению с передатчиком и равно 4,38 мс. Каждое прерывание от переполнения таймера подсчитывается счетчиком прерываний. Пауза между импульсами на каждом выходе передатчика равна 80 прерываниям, поэтому счетчик прерываний на приемнике имеет счет до 80. Если за это время не было входных импульсов, то программа перепишет значения регистров счетчиков импульсов в регистры индикации. Индикация обновится. Это будет, происходит каждые 0,35с.
Построение проверяющих и диагностических тестов
К
системам железнодорожной автоматики, телемеханики и связи (ЖАТС) предъявляют
высокие требования по надежности работы. В то же время системы ЖАТС об ...
Микроэлектроника. Новая быстро развивающаяся технология
Электроника
прошла несколько этапов развития, за время которых сменилось несколько
поколений элементной базы: дискретная электроника электровакуумных прибор ...
Исследование аналого-цифрового и цифрового преобразователей
Аналого-цифровые преобразователи
предназначены для преобразования непрерывных (аналоговых) сигналов в дискретные
(цифровые), которые могут использоваться в ...