out porta ;вывод нолей на индикацию
out portb
;ожидание нажатия клавиши
zod1: mvi c,povdr ;загрузка кол-ва повторов при защите от дребезга
rept1: in portc ;опрос клавиатуры
ani mask136 ;нажато что-то нужное?
jz zod1 ;ничего не нажато
dcr c ;нажато, уменьшение счетчика
jnc rept1 ;дребезг не окончен
in portc ; дребезг окончен, чтение кода нажатой клавиши
mov e,a ;сохранение кода в регистре Е
; ожидание отпускания клавиши
reset: mvi c,povdr ;загрузка кол-ва повторов при защите от дребезга
rept2: in portc ;опрос клавиатуры
ana a ;ни одна клавиша не нажата?
jnz reset ;нет, что-то нажато
dcr c ;ничего не нажато, уменьшение счетчика
jnz rept2 ;дребезг еще не окончен
;определение кода нажатой клавиши
obrab:mvi a,40h ;загрузка кода «6»
cmp e ;сравнение содержимого аккумулятора и регистра Е
jnz razblok ;нажата не «6»
blok: mvi a,0 ;да, нажата «6», загрузка в аккумулятор 0
cmp d ; сравнение содержимого аккумулятора и регистра D
jnz razblok ;не равны, «6» нажата второй раз, необходимо
разблокировать
mvi d,1 ; «6» нажата первый раз, блокирование срабатывания
очередного датчика, загрузка в регистр «6» 1
zod2: mvi c,povdr ;загрузка кол-ва повторов при защите от дребезга
rept3: in portc ;опрос клавиатуры
ani mask6 ;нажата «6»?
jz rept3 ;нет
dcr c ;да, нажата, уменьшение счетчика
jnz rept3 ; дребезг еще не окончен
in portc ;опрос клавиатуры
mov e,a ;сохранение кода в регистре Е
reset2:mvi c,povdr ; загрузка кол-ва повторов при защите от дребезга
rept4: in portc ;опрос клавиатуры
ana a ;ни одна клавиша не нажата?
jnz reset2 ;нет, что-то нажато
dcr c ;ничего не нажато, уменьшение счетчика
jnz rept4 ;дребезг еще не окончен
jmp blok ;дребезг окончен, переход на blok
razblok:mvi d,0 ; «6» не нажата или нажата второй раз, загрузка в
регистр D 1
mvi a,2h ; загрузка кода «1»
cmp e ; сравнение содержимого аккумулятора и регистра Е
jnz gaz ; нажатa не «1»
dverb:mvi a,0fch ;да, нажат «1», код цифры 0 для вывода
out porta ;вывод 0 на индикацию
mvi a,0dah ; код цифры 2 для вывода
out portb ;вывод 2 на индикацию
call zader ;вызов подпрограммы задержки
mvi a,0fdh ;код цифры 0. для вывода
out porta ;вывод 0. на индикацию
mvi a,0dbh ;код цифры 2. для вывода
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.