;защита от дребезга при отпускании клавиши
DCR C ;уменьшаем счетчик повторов для защ. от дребезга
JNZ QWE ;дребезг еще не окончен
;проверка нажата клавиша пуск или смена режима
LXI H,KLAV ;занесение в пару h адреса ячейки памяти
MOV A,M ;пересылка кода нажатой клавиши из ячейки памяти
CPI 1 ;число 1 соответствует нажатой клавише “0”
JZ PUSK ;нажат пуск
;нажата клавиша установки режима
MOV A,M ;пересылка кода нажатой клавиши из ячейки памяти
REG: CPI 8 ;число 8 соответствует нажатой клавише “3”
JZ NADO ;переходим к выполнению режима 3
;выполнение режима 4
DRNADO: LXI H,REJIM ;установка режима 4
MVI M,0
MVI A,32 ;пересылка в аккумулятор данных
OUT PORTA ;вывод на индикацию
MVI A,8 ;пересылка в аккумулятор данных
OUT PORTB ;вывод на индикацию
CALL ZADER ;вызов подпрограммы задержки
MVI A,64
OUT PORTA
MVI A,4
OUT PORTB
CALL ZADER
MVI A,128
OUT PORTA
MVI A,128
OUT PORTB
CALL ZADER
MVI A,4
OUT PORTA
MVI A,64
OUT PORTB
CALL ZADER
MVI A,8
OUT PORTA
MVI A,32
OUT PORTB
CALL ZADER
MVI A,16
OUT PORTA
MVI A,16
OUT PORTB
CALL ZADER
ASD: IN PORTC ;опрос клавиатуры
ANI KODKL1 ;проверка нажата остановка или установка режима
JZ DRNADO ;нажато что-то др., продолжаем выполнять режим 4
;нажата остановка или установка режима, выполняем защиту от дребезга
MVI C,PVSD ;загрузка кол. повторов при защите от дребезга
JMP ZXC ;переходим к защите от дребезга
;выполнение режима 3
NADO: LXI H,REJIM ;установка режима 3
MVI M,1
MVI A,32 ;пересылка в аккумулятор данных
OUT PORTA ;вывод на индикацию
MVI A,4 ;пересылка в аккумулятор данных
OUT PORTB ;вывод на индикацию
CALL ZADER ;вызов подпрограммы задержки
MVI A,64
OUT PORTA
MVI A,8
OUT PORTB
CALL ZADER
MVI A,128
OUT PORTA
MVI A,16
OUT PORTB
CALL ZADER
MVI A,4
OUT PORTA
MVI A,32
OUT PORTB
CALL ZADER
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.