MODE EQU 00H ; Установка режима работы индикатора на 16 символов и режима работы клавиатуры с блокировкой ввода при нажатии нескольких клавиш
CLOCK EQU 3EH ; Команда установки значения делителя частоты равным 30
INTM EQU 08H ; Маска прерываний с разрешением прерываний RST 5.5, 6.5, 7.5
ORG 1000H ; Определение начального адреса программы
START: MVI A,CLOCK ; Загрузка в рег. А команды установки значения делителя частоты
OUT C8279 ; Вывод содержимого регистра управления I-8279(КР580ВВ79)
MVI A, MODE ; Загрузка в рег. А команды режима
OUT C8279 ; Вывод команды для I-8279(КР580ВВ79)
MVI A,INTM ; Загрузка в рег. А маски прерываний
SIM ; Установка маски прерываний, снимающий запрет для прерываний RST 5.5, 6.5, 7.5
EI ; Разрешение прерываний
RET ; Возврат к основной программе
END START
Программа обработки запросов на прерывания от устройства I-8279(КР580ВВ79).
По этой программе производится считывание символа из устройства I-8279(КР580ВВ79) и преобразование его в шестнадцатеричную цифру. Затем символ выдается на индикатор. Программа работает в любом режиме функционирования индикатора и клавиатуры. Для хранения символа в шестнадцатеричном коде используется только младший полубайт.
С8279 EQU 81H ; Порт команд устройства I-8279(КР580ВВ79)
D8279 EQU 80H ; Порт данных устройства I-8279(КР580ВВ79)
RFIFO EQU 40H ; Команда чтения из ОЗУ типа FIFO
ORG 2CH ; Вектор прерывания RST 5.5
START: PUSH PSW ; Сохранение содержимого регистра
PUSH H ;
PUSH B ;
MVI A,RFIFO ; Загрузка в рег. А команды “чтение” из ОЗУ типа FIFO
OUT C8279 ; Вывод команды в устройство I-8279(КР580ВВ79)
IN D8279 ; Ввод из ОЗУ типа FIFO
ANI OFH ; Очистка старшего полубайта
MVI B,00H ; Очистка регистра B
MOV C,A ; Пересылка знака в регистр C
LXI H,TABLE ; Загрузка в HL базового адреса таблицы
DAD B ; Прибавление смещения к базовому адресу
MOV A,M ; Загрузка содержимого элемента таблицы в A
CMA ; Инвертирование содержимого аккумулятора
OUT D8279 ; Вывод на устройство I-8279(КР580ВВ79)
POP B ; Восстановление содержимого регистров
POP H ;
POP PSW ;
EI ; Разрешение прерываний
RET ; Возврат в основную программу
ORG 3000H ; Начальный адрес таблицы
TABLE: DB 00111111B ; Нуль
DB 00000110B ; Один
DB 01011011B ; Два
DB 01001111B ; Три
DB 01100110B ; Четыре
DB 01101101B ; Пять
DB 01111101B ; Шесть
DB 00000111B ; Семь
DB 01111111B ; Восемь
DB 01101111B ; Девять
DB 00110111B ; ‘A’
DB 01111100B ; ‘B’
DB 01011000B ; ‘C’
DB 01011111B ; ‘D’
DB 01111001B ; ‘E’
DB 01110001B ; ‘F’
END START
Программа обработки прерываний от устройства I-8279(КР580ВВ79) в режиме сканирования сенсорной матрицы.
Обеспечивает считывание полной сенсорной матрицы и помещение ее в буфер памяти, начиная с определенного адреса.
С8279 EQU 81H ; Порт команд устройства I-8279(КР580ВВ79)
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.