;которой находится в паре Н
reset1: mvi c,povdr ; ожидание отпускания клавиши
rept1: in portc ; опрос клавиатуры
ana a ; ни одна клавиша не нажата?
jnz reset1 ; нет, что-то нажато
;защита от дребезга при отпускании клавиши
dcr c ; ничего не нажато, уменьшение счетчика при защите от дребезга
jnz rept1 ; дребезг еще не окончен
;чтение кода нажатой клавиши
lxi h,klav ;занесение в пару Н адреса ячейки памяти, в которой
;ранее сохранен код нажатой клавиши
mov a,m ;пересылка кода нажатой клавиши из ячейки памяти, адрес
;которой находится в паре Н в аккумулятор
ret
;--------------------подпрограмма вращения двигателя на заданной частоте---------------------------------
vrashen: nop
;
;-------6 об/сек
oborot6: cpi 16h ;сравниваем с заданным кодом количества оборотов в секунду
jnz oborot5 ; если не совпало, последовательно перебираем все оставшиеся
;варианты.
mvi b,30 ; в регистре В хранится значение, обеспечивающее на заданной
;частоте вращение двигателя в течение 5 секунд.
ob6_b: call sost1 ; обращение к подпрограмме вывода первого состояния
mvi d,1011b ; 3032 -
mvi e,11011000b
call zader ; вызов подпрограммы задержки на заданное количество миллисекунд
call sost2 ; обращение к подпрограмме вывода второго состояния
mvi d,1011b ; 3032 -
mvi e,11011000b
call zader ; вызов подпрограммы задержки на заданное количество миллисекунд
dcr b ; уменьшение регистра В
jnz ob6_b
call sost1
;-------5 об/сек
oborot5: cpi 15h
jnz oborot4
mvi b,25
ob5_b: call sost1
mvi d,1110b ; 3639 -
mvi e,00110111b
call zader
call sost2
mvi d,1110b ; 3639 -
mvi e,00110111b
call zader
dcr b
jnz ob5_b
;
;-------4 об/сек
oborot4: cpi 14h
jnz oborot3
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.