|
В начало
Лабораторная
работа
Изучение
системы синхронизации и прерываний ОЭВМ К1816ВЕ48
Цель работы 1. Изучение системы
синхронизации и прерываний К1816ВЕ48. 2. Написание, загрузка и
отладка прикладных программ. 1. СИНХРОНИЗАЦИЯ ОЭВМ. ТАЙМЕР/СЧЕТЧИК СОБЫТИЙ ОЭВМ серии 1816 имеет
встроенный генератор, выполненный по последовательной резонансной схеме,
обеспечивающей работу в диапазоне частот 1 . . . 11 МГц для ИС КР1816ВЕ39, КР1816ВЕ49
и 1 . . . 6 МГц для остальных ИС. Обратная связь и фазовый сдвиг,
необходимые для генерации (возбуждения генератора), реализуются через
выводы XTAL1 и XTAL2, причем XTAL1
является входом, а XTAL2 - выходом каскада усиления. В качестве источника опорной
частоты для встроенного генератора можно использовать кварцевый резонатор, LC - цепь или внешний источник
синхроимпульсов. Различные варианты схемных решений подключения к ОЭВМ источника
опорной частоты приведены на рис.5.
а)
Схема подключения LC - цепочки б) Схема подключения
в)
Схема подключения внешнего источника синхросигналов Рис. 5 Варианты подключения
к ОЭВМ источника синхросигналов
Структурная схема системы
синхронизации ОЭВМ приведена на рис.6.
Рис.
6. Схема синхронизации ОЭВМ Схема синхронизации ОЭВМ
включает в себя три делителя D1, D2 и D3 c коэффициентами деления 3, 5 и 32 соответственно.
Длительность одного машинного такта и временные соотношения в ОЭВМ определяет
тактовая частота fCLK. Делитель
D2 осуществляет деление fCLK на 5,
формируя таким образом частоту, определяющую машинный цикл, состоящий из
пяти состояний (S1 . . . S5).
Полученный синхросигнал выдается, на вывод ALE и используется в качестве
строба при работе ОЭВМ с внешней памятью, а также может быть использован для
синхронизации внешней аппаратуры. Делитель D3
реализует еще одну ступень деления на 32 (результирующий коэффициент деления
3*5*32=480), и его выходной сигнал может быть подан (по команде STRT T) на счетный вход таймера. Таймер/счетчик представляет
собой восьмиразрядный двоичный суммирующий счетчик, снабженный флагом
переполнения (TF), который устанавливается в «1» при переполнении
счетчика (переход FFH Þ 00H) и сбрасывается в «0»
командой опроса флага JTFaddr. TCNT программно доступен для
записи (загрузки) и чтения. Для управления счетным входом таймера используется
три команды. - запуск таймера (STRT T - подключение счетного входа
к выходному сигналу делителя D3, который по этой же
команде устанавливается в состояние «0», что обеспечивает целостность
формируемых временных интервалов); - запуск счетчика (STRT CNT -подключение счетного входа к
выводу T1, в этом случае пользователь может использовать счетчик для подсчета
числа внешних событий); - останов таймера/счетчика (STOP TCNT - переключение счетного входа
в нейтральное состояние). При подсчете числа внешних
событий минимальный период счетных импульсов должен быть не менее трех машинных
циклов. Приращение счетчика происходит по переходу «1» Þ «0». Скважность может быть переменной, но
длительность сигнала высокого уровня должна быть не менее 100 нс. Если идентификатором
некоторого события является переход «1» Þ «0» на входе Т1 и необходимо, чтобы после появления N-го
события был сформирован запрос прерывания по TF, то в TCNT
должно быть загружено число, являющееся дополнением N до 100Н.
- устанавливает программный счетчик в 000H,
обеспечивая тем самым старт программы с нулевого адреса; это относится и к
разряду PC11, при помощи которого осуществляется переключение
банков памяти МВ0/МВ1: - устанавливает в 0 указатель стека в PSW; - устанавливает порт Р0 (BUS) в
высокоимпедансное состояние (при ЕА=0); - фиксирует в портах Р1 и Р2 код FFH, обеспечивая возможность ввода информации через эти
порты; - выбирает банк регистров RB0 во
внутренней памяти данных; - запрещает все виды; - останавливает, но не сбрасывает
таймер/счетчик событий (аналогично команде STOP TCNT); - коммутирует вывод Т0 для ввода информации; - сбрасывает в 0 флаги пользователя F0 и F1, а
также триггер флага таймера/счетчика TF. 2. ОРГАНИЗАЦИЯ СИСТЕМЫ
ПРЕРЫВАНИЙ
Поскольку в ОЭВМ реализована
одноуровневая система прерываний, то
подпрограмму любого прерывания нельзя прервать до команды RETR и обслуживание вновь поступивших прерываний
откладывается до конца
В ОЭВМ при обслуживании прерываний
старший разряд PC (А11) аппаратно устанавливается в «0» всякий раз,
когда происходит переход к подпрограмме обработки прерываний, поэтому все
программы обработки прерываний и все подпрограммы, вызываемые ими, должны
располагаться в пределах нулевого банка памяти программ (ячейки 0 . . . 2047).
Выполнение команд SEL MB0 и SEL MB1 во
время обработки прерываний не рекомендуется, так как эти команды, изменяя
состояние триггера переключения банков памяти, не изменяют значения старшего
разряда PC до тех пор, пока происходит обработка текущего
прерывания. 3. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ 1. Повторить систему команд
ОЭВМ К1816ВЕ48 и организацию системы прерываний. 2. Написать следующую программу:
вывод «бегущей 1» («бегущего 0») в P1.7 . . . P1.0, P4.3 . .
. P4.0, P5.3 . . . P5.0 c различными вариантами подпрограммы
задержки: - программная;
- по прерыванию от таймера; - по прерыванию от счетчика событий (например,
2 нажатия кнопки S4); - по опросу входов INT или T1. 3. Написать собственные
варианты демонстрационных программ по согласованию с преподавателем. 4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ. 1. Ввести и отладить
подготовленную программу с различными вариантами задержки. 2. Провести количественную
оценку быстродействия исполняемой программы. 3. Оформить индивидуальный
отчет, содержащий алгоритмы и листинги программ, а также результаты оценки
быстродействия исполнения программ. |
|||||||