- •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
4.6 Подпрограмма определения кода засветки первой цифры в номере клавиши
Подпрограмма IND 2 определяет код засветки первой цифры в номере клавиши. Алгоритм этой подпрограммы приведен на рис.17.
Рисунок 17- Алгоритм определения кода засветки первой цифры в номере клавиши
Программа, написанная в соответствии с алгоритмом, изображенным на рис.17, имеет вид (табл. 25):
Таблица 25
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
1 |
2 |
3 |
4 |
5 |
0900 |
79 |
IND 2 |
MOV A, C |
номер клавиши в аккумулятор |
0901 |
0F |
|
RRC |
сдвиг |
0902 |
0F |
|
RRC |
младших |
0903 |
0F |
|
RRC |
четырех |
0904 |
0F |
|
RRC |
бит |
0905 |
1F |
|
RAR |
сдвиг содержимого А |
0906 |
DA 17 09 |
|
JC MET20 |
1ый бит старших четырех равен единице? да – переход к МЕТ20 |
0909 |
1F |
|
RAR |
сдвиг содержимого А |
090A |
DA 12 09 |
|
JC MET19 |
2ый бит равен единице? да – переход к МЕТ19 |
090D |
0E 00 |
|
MVI C, 00H |
кода засветки нет (пустой индикатор) |
090F |
C3 19 09 |
|
JMP IND |
переход к подпрограмме засветки IND |
0912 |
0E 5B |
МЕТ19: |
MVI C, 5BH |
загрузка в регистр C кода цифры « 2 » |
0914 |
C3 19 09 |
|
JMP IND |
переход к подпрограмме засветки IND |
0917 |
0E 06 |
МЕТ20: |
MVI C, 06H |
загрузка в регистр H кода цифры « 1 » |
0919 |
FF |
END: |
RST |
возврат в “монитор” |
4.7 Подпрограмма засветки индикаторов в мультиплексном режиме
Подпрограмма засветки индикаторов в мультиплексном режиме
Имеет вид: (табл.26).
Таблица 26
Адрес |
Код |
Метка |
Мнемокод |
Комментарий |
0919 |
06 4F |
IND: |
MVI B, 04H |
количество циклов |
091B |
3E 20 |
LOOP: |
MVI A, 20H |
номер индикатора |
091D |
D3 F8 |
|
OUT F8 |
вывод в порт F8 |
091F |
7C |
|
MOV A, H |
код второй цифры |
0920 |
D3 F9 |
|
OUT F9 |
вывод в порт состояния индикатора (F9) |
0922 |
CD 5B 03 |
|
CALL DELAY |
подпрограмма DELAY - борьба с дребезгом |
0925 |
3E 00 |
|
MBI A, 00H |
выключение |
0927 |
D3 F9 |
|
OUT F8 |
индикатора (вывод в порт F8) |
0929 |
3E 10 |
|
MBI A, 10H |
номер индикатора (2) |
092B |
D3 F8 |
|
OUT F8 |
вывод в порт F8 |
092D |
79 |
|
MOV A, С |
код первой цифры |
092E |
D3 F9 |
|
OUT F9 |
вывод в порт состояния индикатора (F9) |
0930 |
CD 5B 03 |
|
CALL DELAY |
подпрограмма DELAY - борьба с дребезгом |
0933 |
3E 00 |
|
MBI A, 00H |
выключение |
0935 |
D3 F8 |
|
OUT F8 |
вывод в порт F8 |
0937 |
05 |
|
DCR В |
декремент содержимого В |
0938 |
78 |
|
MOV A, В |
счетчик циклов |
0939 |
C2 1B 09 |
|
JNZ LOOP |
переход на LOOP, если содержимое B не равно нулю |
093C |
C3 00 08 |
|
JMP МЕТ1 |
переход на МЕТ 1 (начало программы) |
