Алгоритмы управления адаптерами АИЗ и АКМ
6.4.1. Общие замечания
В лабораторной работе исследуется и отлаживается программа ввода кода с КМ через АКМ, сравнение с кодом заданной числовой клавиши и, по результату сравнения, вывода звукового сигнала заданной частоты и длительности через АИЗ и звуковой излучатель ВА. Приведенные на рис. 6.1, 6.2 схемные исполнения адаптеров позволяют сделать ряд заключений по поводу составлении алгоритмов и программ управления ими.
Общий алгоритм управления целесообразно разделить на две части, одна из которых соответствует обслуживанию адаптера клавишного модуля, а другая соответствует обслуживанию адаптера источника звукового сигнала.
При составлении алгоритма и программы управления АКМ следует обратить внимание на факт применения контактных пар в виде электромеханических контактов, для которых характерной является неустойчивость контактного сопротивления на начальной стадии замыкания (явление дребезга). Кроме этого отработку реакции при последовательном нажатии клавиш следует связывать с этапом отпускания текущей клавиши после обнаружения устойчивого её замыкания.
Следует обратить внимание на тот факт, что колебания излучающей поверхности источника звука совершаются при не сглаженных переключениях мостовой ключевой схемы, выполненной на элементах DD3, DD4. Вследствие этого в излучаемом сигнале высок уровень искажающих побочных гармонических составляющих.
6.4.2. Алгоритм управления АКМ
Программное обслуживание адаптера КМ для определения замкнутого состояния (нажатия клавиши) любого из контактов обеспечивается поочередной активизацией горизонталей и вводом состояний с вертикалей матрицы КМ в УМК для анализа. Ввиду ограниченности ресурса времени заданием предусматривается упрощенный вариант программы управления КМ. Программа управления должна обеспечить ввод и определение состояния контактов для одной заданной вариантом клавиши. Для этого исполнителю необходимо определить:
– активизируемую горизонталь матрицы и подготовить код слова для загрузки в регистр DD1 АКМ;
– вертикаль матрицы, на пересечении которой с активизируемой горизонталью находится необходимая контактная пара, и определить вводимый через формирователь DD2 код её состояния.
Если по результатам анализа замкнутые контакты соответствуют задан– ной клавише, то взаимодействие с АКМ прекращается и управление передается драйверу АИЗ. Пример схемы укрупненного алгоритма контроля состояния контактов одной известной клавиши изображен на рис. 6.3.
Рис. 6.3. Схема алгоритма контроля состояний контактных датчиков
6.4.3. Алгоритм управления АИЗ
При выводе звуковых сигналов следует не только контролировать паузы, но и осуществлять вывод сигнала на АИЗ. Частоты звуковых колебаний соответствуют диапазону частот 20 Гц < f < 20 кГц, что, в свою очередь, соответствует временным интервалам 50 < Т (мксек) < 50000. На рис. 6.4 приведена соответствующая схеме временная диаграмма сигнала на входе АИЗ.
Рис. 6.4. Временная диаграмма сигнала на входе АИЗ
Временные отметки (t0 – t4) соответствуют следующим стадиям программного управления:
– (t0 – t1 )– предварительная настройка счетчиков контроля частоты и длительности;
– (t1 – t2) – формирование паузы соответствующей половине периода звукового сигнала;
– t1 – установка уровня U1 на выходе линии D7 регистра DD2 АИЗ;
– t2 – вывод (установка) уровня U0 на выход D7 регистра DD2 АИЗ;
– (t2 – t3) – формирование паузы второй половины звукового сигнала;
– (t3 – t4) – повтор диаграммы между метками t1 – t3 для достижения необходимой длительности.
Временной диаграмме соответствует алгоритм, схема которого изображена на рис. 6.5.
По представленному на рис. 6.5 алгоритму выполняется вывод звуковых сигналов, в так называемом «одноголосом» исполнении, (сигнал одной частоты).
При выполнении лабораторного задания рекомендуется закрепить регистры общего назначения (РОН) процессора за следующими функциями:
– счетчик числа повторов тона - пара ВС (блок 1);
– счетчик паузы полупериода - регистр D (блок 2);
– для обмена данными с памятью, адаптером, применения в преобразованиях, контроля за обнулением пары ВС – регистр А (блоки 2, 4, 10 алгоритма).
Пример фрагмента исходного текста программы приведен в приложении А, где для выравнивания длительности полупериодов звукового сигнала длительность полупериода, не содержащего проверку длительности выдачи звука, введены «пустые» команды.
Рис. 6.5. Схема алгоритма вывода звукового сигнала