лабораторные работы / mp-9a
.docНИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра ЭПА
Лабораторная работа №9
Функционирование однокристальной микроЭВМ К1816ВЕ51
Выполнил: ст. Ларионов Н
гр. 96-ЭПА-3
Принял: доц. Грязнов В.И.
Нижний Новгород
2000
Цель работы: изучение функционирования вычислительной системы на базе ОМЭВМ К1816ВЕ51, взаимодействия отдельных компонентов, системы команд и способов программирования.
Задание.
Необходимо написать программу, реализующую инверсию младшей и старшей тетрад порта Р1 при каждом третьем нажатии на клавишу Т0.
Структурная схема микроЭВМ.
На структурной схеме (рис.1.) показаны все устройства (ОЭВМ, ОЗУ, ПЗУ, клавиатура, дисплей, внешние устройства ввода/вывода), входящие в состав вычислительной системы.
Программа.
Для реализации поставленной задачи используется режим обработки прерываний. По нажатию на кнопку Т0 останавливается работа основной программы и происходит переход на процедуру обработки прерываний, которая отсчитывает число входов нее и при достижении определенного значения инвертирует текущее состояние порта Р1.
Листинг программы:
ORG 1000h
EQU STOP,02F3h
MOV 90h,#0FFh;Подготовка порта к работе
MOV 90h,#0Fh ;Включение младшей тетрады
MOV R0,#00h ;Сброс счетчика
J1: SETB 0A8h ;Имитация основной программы с зацикливанием
SJMP J1
IT0: CLR 0A8h ;Подпрограмма обработки прерываний
MOV R4,0FFh ;Настройка
DD1: MOV R3,0FFh ;цикла задержки
DD2: NOP
NOP
NOP
DJNZ R3,DD2
DJNZ R4,DD2
J2: JNB 0B2H,J2 ;Ожидание нажатия на кнопку
INC R0 ;Инкремент счетчика
MOV A,R0 ;и проверка окончания
XRL A,#03h ;отсчета
JNZ BACK
MOV A,90h ;Чтение
XRL A,#0FFh ;состояния и
MOV 90h,A ;инверсия
MOV R0,#00h ;порта
BACK:RETI ;Возврат из подпрограммы
ORG 1750h
LJMP IT0 ;Косвенный вектор прерывания
LCALL STOP