Главная Промышленная автоматика.

, pzo-ni

\us0-hb7

%pw-pn

Зуфер шины порт Z

jKcamop грота 2

Счетчин но-манд f-x стар-шах разрядов

Память

программ

1К>8

Ген ера

Таймер --четин

Счетчик команд S-mu младших разрядов

Внутренняя

шина

буфер шины парт О

Фиксатор порта О

СлоВо састояная программы

буфер шины порт 1

Фиксатор порт 1

цх-и..улятор

Регистр промежуточного хранения

Фиксаторы алнучулятра

Флаги

Арирмети-нологичес-кое устрой cmSo [8)

Регистр команд и дешифратор

Регистр адреса ОЗУ

Десятичная коррекция

г» г;

. ТО . Г/ INT . Флаг О . Флаг 1

- Флаг тайм

- Перенос -Аккумулятор

. Тест бита анкумуля-

Устройство упраВления и сигнализации сП рнав ЕМя CRI снг »le рме ss н W

время задам! ш,ие цепи

Начальный запуск

ПрерыВа- Строд ППЗУ-ние расширитель

ВьиЗар ЦПУ/ЗУ

Разрешение

ЗУ 1

Строб фикса- Пошаговый ции адреса режим

-J-Y

Стробы чтения запаси

My ль та -пленсор

Регистра

яв-т

Стек 8-1и уровней

2-й банк регистров

Данные

ЗУ данных

Рис. 18. Структурная схема БИС КМ1816ВЕ48

Для получения тактовой частоты (CLK) в счетчике состояний частота генератора делится на три. Сигналы тактовой частоты могут выводиться на впеш-пий вывод ТО по команде ЕМТО CLK. При подаче команды «Сброс» (CLR) вывод тактовых сигналов блокируется.

.Машинный цикл, рис. 19, состоящий из пяти тактов [21], получается с помощью счетчика циклов, делящего тактовую частоту на пять. Этот сигнал (.\LE) часто .ОН около 400 кГц необходим для работы с внешней памятью и выводится на вывод ALE. Для обеспечения точных временных интервалов и подсчета внешних событий реализован таймер/счетчик событий.

Режим таймера. По команде START на вход счетчика подаются синхроимпульсы, получающиеся делением сигнала ALE на 32. Получающиеся сигналы частотой 12,5 кГц (при частоте генератора 6 МГц) дают приращение счетчику каждые 80 мкс, что позволяет получить задержки от 80 мкс до 20 мс (256 отсчетов). Задержки большей длительности получают программным путем. Задержку менее 80 мкс можно получить, подавая иа вход Т1 внешние синхроимпульсы требуемой частоты (используя, например, сигнал на выходе ALE),

Режим счетчика событий. По команде START CNT на вход счетчика подаются сигналы с вывода Т1. Переброс счетчика происходит по заднему фрон-



Bbo3 номанЗи

Дешаф рация

Выполнение

ВвоЗ команды

ВыВод адреса

инкремен-тироВа-иие СН

ВыВад адреса

Рис. 19, Цикл выполнения команды КМ1816ВЕ48

ту импульсов. Длительность пмпульсов должна быть не менее 100 не, граиич ная частота переключений составляет одну треть от частоты машинного цикла. Команды работы с таймером/счетчиком. По команде MOVTA происхоДЕ1т загрузка восьмиразрядного счетчика из аккумулятора и ей и<е разрешается счет по командам START CNT или START Т. Останавливается счетчик по команда STOP TCNT или CLR и ждет поступления команд START (.XT (Пуск скетчи ка) или START Т (Пуск таймера). В процессе работы восьмиразрядный счет, чик может дойти до максимального значения (РР,б), а затем перейти в пулевое значение (00.=) и продол.жать отсчет, при этом в момент перехода от состодиик FFi6 в состояние ООш генерируется запрос на прерывание п перебрасывается триггер индикатора переполнения. По команде перехода по флажку таймера (JTF) можно определить состояние триггера индикатора переполнения, кото рый сбрасывается после оыполнения команд JTF пли CLR, Запрос на прорыва иие по переполнению соединяется по ПЛИ со входом INT внешнего запроса на прерывание. Независимо от внешних прерываний прерывания по переполпе ПИЮ разрешаются или запрещаются соотостственно командами BN TCKTI ил!: D1S TCNT1, Если внутренние прерывания разрешены (ENTC.\TI), то при пе реходе счетчика из FFie в OOie произойдет переход к подпрограмме обслуичи вапия прерываний, адрес которой находится в ячейке 7 памяти программ. В случае одновремеппого прихода внешнего запроса на прерывание сначала про исходит переход к подпрограмме обслуживания внешних прерываний, адрес ко торой расположен в ячейке 3 памяти програм.мы, а запрос на прерывание от счетчика/таймера будет отрабатываться после обслуживания внешних преры ваний.

При переходе на подпрограмму обслуживания прерываний (адрес в ячейке 7) или по команде запрещения прерывания DIS TCNTI запрос на прорыва ние сбрасывается.

Встроенное ЗУ данных состоит из 64 восьмиразрядных слов. Первые восемт регистров (R0-R7) являются рабочими, используются для хранения про.межу-точных результатов и непосредственно адресуются несколькими ко.маида.мт!. Bet 64 ячейки косвенно адресуются через любой из двух регистров-указателей ЗУПВ, расположенных в РО и Р1. Ячейки О-7 являются пулевы.м банком рабочих регистров. При выполнении команды SEL RB1 (выбор блока регистров 1) в качестве рабочих регистров в.место ячеек О-7 назначаются ячейки 24-31 которые становятся при этом непосредственно адресуемыми (первый банк рабочих регистров). Это расширяет нулевой банк регистров, пли банк можно ие



PZO-Pll ,

VBB-ne?

-1\ Шина -V данных

йдресчач шина

рме

ale

УпрадлгО

ии,ие сигнал SI

Рис. 20. Структура связей БИС при подключении внешней памяти

пользовать при отработке прерываний. При переключении на банк 1 соз.таются дополнительно дна регистра-указателя R0* и R1*. В ячепка.ч 8-23 .может также содержаться стек. Эти ячейки адресуются указателем стека при вызове подпрограмм и могут адресоваться регистрами-указателями ЗУПВ R0 н RI, и если стек занимает не все ячейки, остальные могут использоваться в ЗУПВ.

При обращении к внешней памяти данных структура связей представлена на рис. 20.

Встроенная память программ в КМ1816ВЕ48 представляет собой программируемое пользователем и стираемое ультрафиолетовым излучением ППЗУ е.м-костью 1024 байт. Помимо хранения команд, память программ используется длж хранения констант. Внешний сигнал CLR (Установка в исходное состояние) обеспечивает выбор команд по адресу 0. Входной сигнал INT (Запрос прерывания) прн наличии разрешения прерывания вызывает переход к подпрограмме обработки внешних прерываний, первое слово которой хранится в ячейке 3. Адрес подпрограммы обработки прерываний по переполнению таймера/счетчика хранится в ячейке 7,

В счетчике команд (СК) содержится адрес следующей (за выполняемой) команды. Так как программы в ЗУ программ записываются о порядке возрастания адресов, то при выборке очередной команды содержимое счетчика команд увеличивается на единицу. Десять младших разрядов СК адресуют встроенное ЗУ программ, старшие разряды используются для выборки из внешней памяти: программ. По входному сигналу CLR СК устанавливается в 0. Для реализации прерываний содержимое СК запоминается в паре восьмиразрядных регистров стека (ячейки 8-23 ЗУ данных).

Трехразрядпый указатель стека (часть с-юва состояния программы ССП} указывает номер пары используемых регистров ЗУПВ, Нулевой указатель стека указывает па ячейки 8 и 9 ЗУПВ, т. с. первый же переход к подпрограмме Или прерывание передает содержимое счетчика команд в ячейки 8 и 9 ЗУПВ. а ука,1атель стека увеличится на единицу, указывая уже на 10 и М ячейки ЗУПВ, Стек используется для ;;раиення содержимого счетчика команд и четырех битов ССП. К стеку можно обращаться восемь раз, при девятом обращении самый первый из запоминаемых процессов будет утерян (ячейки 8 и 9), так как указатель стека при прерывании перейдет из состояния П1 в ООО, Для возвращения к прерванной программе в конце подпрограммы используются команды RET (Возврат) или RETR (Возврат с восстановлением состояния), которые уменьшают содержимое указателя стека, и содержимое пары регистров по у.меньшенному адресу стека передается в счетчик команд.

Слово состояния программ (ССП) - восьмиразрядное. Старшие четыре разряда ССП запоминаются в стеке и восстанавливаются по команде RETR. Команда RET не воздействует на ССП. Разряды 0-f2 ССП занимает указатель стека, в разряде 3 при считывании ССП всегда «1» (он не используется), разряд 4





0 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23

0.0038