
- •1 Инструкция по технике безопастности
- •2 Методические указания по оформлению отчета к лабораторной работе
- •3 Лабораторная работа №4
- •3.1 Краткие теоретические сведения
- •3.1.1 Опрос двоичного датчика
- •3. 1. 2 Ожидание события
- •3.1.3 Ожидание импульсного сигнала.
- •3.1.4 Выделение и обработка отдельных бит информации
- •3.1.5 Формирование управляющего сигнала
- •3.1.6 Вывод управляющего слова на группу автономных устройств.
- •3. 1. 7 Формирование временной задержки малой длительности
- •3.1.8 Формирование последовательности импульсных сигналов с изменяемой длительностью и скважностью.
- •3.2 Задание на дом.
- •3.3 Контрольные вопросы
- •4 Краткие теоретические сведения
- •4.1 Цифровые индикаторы
- •4.2 Клавиатура
- •4.3 Мультиплексный режим работы цифрового индикатора
- •4.4 Сканирование клавиатуры и программное определение номера нажатой клавиши
- •4.5 Подпрограмма определения кода засветки Второй цифры в номере клавиши
- •4.6 Подпрограмма определения кода засветки первой цифры в номере клавиши
- •Программа, написанная в соответствии с алгоритмом, изображенным на рис.17, имеет вид (табл. 25):
- •4.7 Подпрограмма засветки индикаторов в мультиплексном режиме
- •4.8 Задание для домашней подготовки
- •Порядок выполнения работы
- •6 Контрольные вопросы
- •Литература
- •Содержание
- •2 Методические указания по оформлению отчета к лабораторной работе 1
- •3 Лабораторная работа №4 2
- •4 Лабораторная работа №5 24
3.1.3 Ожидание импульсного сигнала.
На рис.4 (а, б) приведены схемы подключения к контролеру датчика, вырабатывающего импульсный сигнал, и алгоритм обнаружения этого сигнала. Программа, опрашивающая состояние подобного датчика, должна обнаружить не только факт появления, но и факт сброса сигнала. Схема алгоритма (рис.4) состоит из двух процедур: ожидание появление фронта сигнала и его спада.
Фрагмент программы, реализующей этот алгоритм, выглядит следующим образом (табл.5).
Таблица 5
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
|
|
WAIT1: |
IN PORT4 |
ввод из порта 4 |
|
|
|
ANI 80H |
анализ D7 |
|
|
|
JNZ WAIT1 |
если D7 = 1, то ждать |
|
|
WAIT0 |
IN PORT4 |
иначе ввод из порта 4 |
|
|
|
ANI 80H |
анализ D7 |
|
|
|
JZ WAIT0 |
если D7 = 0, то ждать |
|
|
|
RET |
иначе выход из подпрограммы |
Рисунок 4 - Схема (а) и схема (б) алгоритма обнаружения импульсного сигнала
Для обнаружения кратковременных импульсов используется два способа: буферирование импульса на триггер флага и система прерывания.
На рис.5 представлена схема отслеживания кратковременного импульса с помощью флага.
Рисунок 5 -Схема включения триггера флага для фиксации кратковременных импульсов
На вход порта поступает не кратковременный импульсный сигнал, а флаг, формируемый D-триггером с динамическим входом. Триггер устанавливается по ходу С фронтом импульса, а сбрасывается программным путем - выдачей управляющего воздействия в порт 7. Тем самым флаг инициируется на новый цикл слежения за импульсом.
В случае использования системы прерывания для отслеживания кратковременных импульсов выход из источника подключается к входу запроса прерывания INT микропроцессора.
Пример:
Данная программа (табл.6) после запуска высвечивает на 1-ом индикаторе знак готовности ("-"). Если пользователь нажмет клавишу "6" на клавиатуре УМК, индикатор высветит число "1". Она будет высвечиваться до тех пор, пока пользователь не отпустит вышеназванную клавишу. После этого на индикаторе высветится цифра "0", свидетельствующая о том, что клавиша разомкнута и программа закончит свою работу.
Таблица 6
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
1 |
2 |
3 |
4 |
5 |
083B |
2E 40 |
|
MVI L, 40H |
высветить знак "-" на индикаторе |
083D |
CD 90 08 |
|
CALL LIGHT |
свидетельствующий об ожидании |
0840 |
DF FA |
WAIT1 |
IN FAH |
чтение порта клавиатуры |
0842 |
E6 40 |
|
ANI 40H |
анализ D6 (0100000B - 40H) |
0844 |
C2 40 08 |
|
JNZ WAIT1 |
если D6 = 1, то ждать |
0847 |
2E 06 |
|
MVI L, 06Н |
иначе код цифры "1" поместить в регистр L |
0849 |
CD 90 08 |
|
CALL LIGHT |
высветить на индикаторе "1" |
084C |
DF FA |
WAIT0 |
IN FAH |
опрос порта клавиатуры |
084E |
E6 40 |
|
ANI 40H |
анализ D6 (0100000B - 40H) |
0850 |
CA 4C 08 |
|
JZ WAIT0 |
если D6 = 1, то ждать |
0853 |
2E 3F |
|
MVI L, 3FH |
иначе высветить число "0" |
0855 |
CD A9 08 |
|
CALL L&P |
на индикаторе |
0858 |
FF |
|
RST |
возврат в "монитор" |