;------------------------------варианты...----------------------------------------------
cnst_inc: cpi 00001000b ; нажата клавиша 3 (частота оборотов коленвала 6 об/сек)?
jnz incremnt ; иначе нажато 5 (плавное увеличение
; оборотов с 0 до 6 об/сек)
call rezhim6 ; вызываем подпрограмму установки режима скорости
;вращения коленвала
;-------------------основная программа выполнения цикла вращения коленвала--------------------------------------
cycle: lxi h,conddv ; загружаем в пару Н адрес ячейки, где скорость вращения
mov a,m ; перемещаем в аккумулятор значение состояния двигателя
call vrashen ; вызываем подпрограмму вращения коленвала с заданной скоростью
jmp cycle ; зацикливаем основную программу
;---------------------------------частота оборотов коленвала 6 об/сек----------------------------------------
rezhim6: lxi h,conddv ; занесение в пару h адреса ячейки памяти в которой находится код
; состояния двигателя
mvi m,16h ;
;---------------------------------плавное уменьшение оборотов с 6 до 0 об/сек------------------------------------------
incremnt: lxi h,conddv ;загружаем адрес ячейки с кодом состояния двигателя
mov a,m ; пересылка в аккумулятор
cycle_vr: call vrashen ; вызов подпрограммы вращения двигателя на заданной частоте
lxi h,conddv
dcr m ; последовательно уменьшаем частоту вращения
mov a,m ; загружаем в аккумулятор
cpi 10h ; ограничение частоты(сравнение с минимальной скоростью)
jz start ; переход в начало программы, если скорость минимальна
jmp cycle_vr ; зацикливание
;----------------------------------алгоритм ввода------------------------------------------
enter: mvi c,povdr ; загрузка кол. повторов при защите от дребезга на нажатие
rept: in portc ; опрос клавиатуры
ani kodkl ; нажата клавиша 0,3 или 5?
jz enter ; ничего не нажато
;защита от дребезга при нажатии
dcr c ; да, нажато, уменьшение счетчика повторов при защите от дребезга
jnz rept ; если дребезг не окончен, то переход по метке rept
in portc ; чтение кода нажатой клавиши
lxi h,klav ; занесение в пару Н адреса ячейки памяти, в которой
;необходимо сохранить код нажатой клавиши
mov m,a ; пересылка кода нажатой клавиши в ячейку памяти, адрес
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.