Описание алгоритма работы передатчика
Алгоритм передатчика приведён в Приложении С пояснительной записки.
После пуска программы и инициализации регистров(1) обнуляется регистр десятков(2). Значение регистра десятков переписываются в порт А(3) для коммутации мультиплексоров. Далее разрешаются прерывания(4) и по двоичному числу десятков находится его десятичное значение(5). Десятичное значение прибавляется к константе первого выхода. Константа для каждого выхода определяется его номером. То есть выход имеет константу К = 1, а десятый выход имеет константу К = 10. При нулевом значении десятков на каждом выходе будет число импульсов, равное номеру выхода. Далее программа проверяет регистр К на ноль(6). Если ноля нет, то из регистра вычисляется единица(7). Вычитание единицы сопровождается переключением выхода в единичное состояние(8). Выдерживается пауза на время 24 мкс(9) и выход переводится в нулевое состояние(10). Нулевое состояние выхода длиться 30 мкс(11). Следовательно, период импульсов равен 24+30=54 мкс. После этого программа проверяет регистр на ноль. Если регистр пустой, то программа переходит в ожидание прерывания. А если значение регистра не равно нулю, то весь цикл формирования импульса на выходах повторяется. Таким образом, на выходе будет сформировано такое число импульсов, которое было записано в регистре К.
После инициализации регистров включается предделитель, имеющий коэффициентом деления, равный 32(14), и таймер с коэффициентом деления, равным 256-199=137(15). При кварце с частотой 4 МГц прерывания по переполнению таймера должно быть через 4,38 мс (32 х 137 = 4384 = 4,38 мс), но возврат из прерывания выполняется командой без разрешения прерывания. К этому времени прибавляется время циклов до разрешения прерывания и, собственно, время на само выполнение прерывания. Общее среднее число циклов равно 16. Поэтому длительность между прерываниями составляет 4,4 мс. Как не трудно подсчитать (54 х 80 = 4320 =4,32 мс), 80 периодов импульсов будут длиться 4,32 мс. То есть 80 импульсов не входят за границы длительности между прерываниями.
После переполнения таймера выполняется обычная процедура сохранения значений регистров при прерывании(16) и прибавляется ( можно и вычитать) единица в счетчик прерываний(17). Значения этого счетчика нигде не используется программой, а сам счетчик необходим для выполнения прерывания. Но его удобно использовать при отладке программы. После восстановления значений регистров(18) разрешается прерывание(21) для формирования импульсов со следующего выхода.
После того как будут сформированы импульсы на десятом выходе, регистр десятков увеличивается на единицу и весь цикл повторится с команды записи двоичного кода десятков в порт А. В новом цикле число сформированных импульсов на каждом выходе будет увеличено на десять. Если значение десятков станет равно 8, то цикл формирования импульсов начнется с обнуления регистра десятков. Таким образом, максимальное значение десятков равно семи, а максимальное число импульсов будет на десятом выходе (10 + 70 = 80). Все 80 циклов прерываний будут делиться 0,352 секунды (4,4 мс х 80 = 352 мс = 0,352 с). Это время определяет гарантированную длительность паузы между выдачей импульсов на каждом выходе. Для одиночного импульса на первом выходе длительность паузы будет увеличена почти на время, равное времени между прерываниями, а для 80 импульсов на 10 выходе паузы будет равно 0,352 с. Этот момент необходимо отметить, чтобы луче понять работу приемника кабельного пробника.
.8.2 Описание алгоритма работы приемника
Алгоритм приемника приведён в Приложении D пояснительной записки.
После пуски и инициализации(1) программа переходит к выполнению динамической индикации двух светодиодов с общим катодом. Время на индикацию одного светодиода 5 мс. То есть весь цикл индикации выполняется с частотой 100 Гц.
Шагающий аппарат
Одной
из важных разновидностей роботов являются шагающие роботы, предназначенные для
перемещения по труднопроходимой местности. В отличие от к ...
Расчет параметров четырехполюсника
Системы
автоматики, телемеханики и связи на железнодорожном транспорте представляют
собой технические средства управления перевозочным процессом, способству ...
20-разрядный аналого-цифровой преобразователь, изготовленный по технологии КМОП 0,9 пм
Традиционные
конструкции аналого-цифровых преобразователей (АЦП) использовали параллельную
архитектуру и биполярные технологии для получения 8-битного разрешени ...