Рисунок 12 – Блок уменьшения количества движений
2 Текст программы, листинг, объектный файл
; !!!***!!!Устройство управления системой очистки лобового стекла автомобиля!!!***!!!
; "0" - выключено
; "2" - включение со скоростью 30 движений в минуту
; "4" - включение/выключение стеклоомывателя
;
; Распределение регистров микропроцессора.
; С - защита от дребезга
; D - счетчик количества секунд и движений
; E - сохранение кода нажатой клавиши
; B,C - временная задержка на 1 сек
;
porta equ 80h ; адрес первого индикатора
portb equ 81h ; адрес второго индикатора
portc equ 82h ; адрес клавиатуры
porcrl equ 83h ; адрес порта управления внешними устройствами
povdr equ 250 ; постоянная времени защиты от дребезга (кол. повторов).
kodkl equ 15h ; код, соответствующий нажатию клавиши 0 или 2 или 4
kodkl0 equ 01h ; код, соответствующий нажатию клавиши 0
kodkl4 equ 10h ; код, соответствующий нажатию клавиши 4
kodkl2 equ 04h ; код, соответствующий нажатию клавиши 2
time equ 36393 ; переменная, определяющая задержку в 1 сек.
;
org 800h ; стартовый адрес программы в ОЗУ стенда
;!!!---------------------инициализация----------------------------------------!!!
;
lxi sp,900h ; инициализация указателя стека
mvi a,89h ; загрузка управляющего байта внешних устройств
out porcrl ; вывод управляющего байта в порт управления
circl: mvi a,60h
out porta ; вывод дворника на индикацию (исходное состояние)
mvi d,60h
;
;!!!-----------------------------------ввод----------------------------------!!!
;
tuki: mvi c,povdr ; загрузка количества повторов при защите от дребезга
povt: in portc ; опрос клавиатуры
ani kodkl ; нажата клавиша 0 или 2 или 4?
jz tuki ; ничего не нажато
; защита от дребезга при нажатии
dcr c ; да, нажато, уменьшение счетчика повторов при защ. от дребезга
jnz povt ; дребезг еще не окончен
; дребезг при нажатии окончен
; сохранение кода нажатой клавиши
in portc ; чтение кода нажатой клавиши
mov e,a ; сохранение аккумулятора
reset1: mvi c,povdr ; ожидание отпускания клавиши
povt1: in portc ; опрос клавиатуры
ana a ; ни одна клавиша не нажата ?
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.