Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
21.02.2014
Размер:
135.68 Кб
Скачать

4 Описание микроконтроллера

Характеристики К1816ВЕ35:

- технология nМОП;

- разрядность 8;

- число команд 96;

- объем внутренней ОЗУ 648 бит;

- тактовая частота, не более 6,0 МГц;

- длительность машинного цикла 2,5 мкс;

- напряжение питания +55% В;

- ток потребления 115 мА.

Корпус по ГОСТ 17467-79 – 2123.40-2.

В ОЭВМ предусмотрена возможность расширения памяти программ до 4Кбайт, памяти данных до 384 байт и увеличения числа линий ввода/вывода за счет подключения внешних микросхем ЗУ и интерфейсов ввода/вывода серии КР580.

Система команд ОЭВМ содержит 96 команд, из них 68 однобайтовые. За один машинный цикл выполняются 53 команды, за два машинных цикла – 43. ОЭВМ работает как от внешнего генератора, так и от внутреннего, тактовая частота которого может задаваться кварцевым резонатором или LC-контуром. Структурная схема К1816ВЕ35 приведена на рисунке 3.

В состав К1816ВЕ35 входят:

  • устройство управления и синхронизации;

  • арифметико-логическое устройство;

  • двенадцатиразрядный счетчик команд;

  • дешифратор команд;

  • ОЗУ;

  • устройство ввода/вывода;

  • таймер/счетчик;

  • регистр состояния процессора.

Устройство управления и синхронизации, состоящее из генератора и формирователей внутренних тактовых сигналов и сигналов состояний, вырабатывает комплекс управляющих сигналов, обеспечивающих определенные режимы работы ОЭВМ (программирование, пошаговый режим) и выполнение всех команд. Схема условных переходов формирует управляющие сигналы, необходимые для ветвления программы при реализации команд условных переходов. Значения признаков переходов устанавливаются как программно, так и аппаратно.

Арифметико-логическое устройство (АЛУ) – параллельное 8-разряднок устройство, позволяющее выполнять арифметические, логические операции и операции сдвига над данными, представленными в двоичном или двоично-десятичном коде.

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

Дешифратор команд представляет собой программируемую логическую матрицу, на вход которой поступает код команды, а с выхода снимаются управляющие сигналы, выполняющие эту команду.

ОЗУ данных с организацией 648 бит условно разбито на ряд областей: два банка регистров общего назначения РОН (RB0 и RB1) по восемь 8-разрядных слов каждый; восьмиуровневый стек, занимающий 16 ячеек ЗУ (каждый уровень стека состоит из двух ячеек с последовательными адресами); собственно ОЗУ данных объемом тридцать два 8-разрядных слова.

Для записи и считывания данных из ОЗУ применяются два вида адресации: прямая и косвенная (регистровая). При прямой адресации адрес РОН определяется тремя младшими разрядами в коде команды. При косвенной адресации место расположения адреса указывается в команде. Адрес ячейки ОЗУ может храниться либо в аккумуляторе, либо в РОН. С помощью косвенной адресации можно адресоваться к любой ячейке ОЗУ.

Устройство ввода/вывода ОЭВМ выполнено в виде трех 8-разрядных портов Р0 – Р2. Порт Р0 – двунаправленный, имеющий на выходе состояние «Выключено», используется для параллельного ввода или вывода данных. В режиме вывода выходные данные статически фиксируются до момента перезаписи выводимой информации. В режиме ввода входные данные не фиксируются, то есть внешняя логика должна поддерживать на входах порта Р0 данные до тех пор, пока они не будут считаны. Работа порта Р0 в режимах ввода и вывода сопровождается стробами WR и RD. При отсутствии режима ввода или вывода выходные шины порта Р0 находятся в состоянии «Выключено» (в третьем состоянии). Порты Р1 и Р2 идентичны и могут использоваться в качестве статически фиксированного выходного порта или фиксированного входного порта. Кроме операций ввода/вывода информации имеется возможность выполнения логических операций непосредственно на портах Р0 – Р2. Специфика портов Р1 и Р2 состоит в том, что отдельные выводы портов Р1 и Р2 могут служить в качестве входных и в качестве выходных. Для обеспечения такого режима при выводе информации необходимо вывести «1» (высокий уровень) на те разряды порта, которые будут использоваться в качестве входных. Ввод информации в порты Р1 и Р2 производится путем опрокидывания в нуль любых разрядов порта, в которых записаны единицы.

Кроме перечисленных ОЭВМ имеет три линии ввода/вывода Т0, Т1, INT, которые являются условиями, проверяемыми командами условного перехода. Линию Т0 можно использовать для выдачи тактовых сигналов, Т1 – в качестве входа счетчика внешних событий для таймера, а линию INT – для внешнего аппаратного прерывания.

Таймер/счетчик, состоящий из делителя, счетчика и триггера флага, может работать в двух режимах – таймера и счетчика внешних событий. В режиме таймера производится подсчет внутренних импульсов, поступающих с частотой F/480 (F – частота опорного генератора), в режиме счетчика внешних событий считаются импульсы, поступающие на вход Т1. Переход от максимального значения в счетчике к нулевому фиксируется в триггере флага таймера/ счетчика, что в дальнейшем используется при выполнении команд условного перехода и для организации прерывания по таймеру/счетчику. Запись в таймер/счетчик, его пуск и останов осуществляются по специальным командам.

Схема прерываний позволяет производить обработку прерывания, поступившего на вход INT «Прерывание», и по флагу таймера/счетчика, причем прерывание по входу INT имеет старший приоритет. Это означает, что при появлении обоих запросов на прерывание будет отдано предпочтение прерыванию по входу INT. Каждый из видов прерываний может быть разрешен или запрещен программно. При поступлении на вход INT сигнала низкого уровня (если прерывание по входу INT разрешено) происходит обращение к программе обслуживания с адресом 03. При этом, как и при любом обращении к подпрограмме, содержимое счетчика команд и слово состояния процессора PSW записываются в стек. Так же происходит обработка прерывания по флагу таймера/счетчика, но обращение к программе обслуживания производится по адресу 07. Программа обслуживания должна заканчиваться командой RETR «Восстановление состояния и возврат к прерванной программе».

Регистр состояния процессора (PSW) предназначен для хранения данных о состоянии ОЭВМ. Назначение его разрядов следующее: 0…2 – разряды указателя стека (S0…S2); 3 – не используется ( при чтении всегда 1); 4 – разряд-указатель выбранного банка РОН; 5 – флаг пользователя; 6 – разряд дополнительного переноса (АС); 7 – перенос, указывающий на переполнение аккумулятора после выполнения предыдущей операции.

Регистр PSW может программно проверятся, целиком и поразрядно модифицироваться. При прерываниях содержимое четырех старших разрядов заносится в стек, а по команде RETR содержимое этих разрядов восстанавливается.

Системный сброс осуществляется подачей на вход RST нулевого импульса длительностью 500 тактов кварцевого резонатора. При появлении сигнала сброса ОЭВМ производит следующие действия: обнуляет счетчик команд и указатель стека; устанавливает порты Р1 и Р2 в режим ввода; запрещает все прерывания; останавливает таймер и прекращает выдачу сигналов на выводе Т0; сбрасывает флаг переполнения таймера и флаг пользователя.

Назначение выводов К1816ВЕ35 приведено на рисунке 4. Показанные на нем обозначения приведены в таблице 2.

Рисунок 4 – Условное обозначение микроконтроллера К1816ВЕ35

Таблица 2 – Описание выводов микроконтроллера К1816ВЕ35

Обозначение

Номер контакта

Назначение вывода

DB(7 – 0)

Р(17 – 10)

Р(27 – 20)

PROG

INT

RD

WR

RESET

ALE

PSEN

SS

EA

XTAV, XTAL2

T0

T1

VCC

VD0

VS1

19 – 12

34 – 27

38 – 35,

24 – 21

25

6

8

10

4

11

9

5

7

2, 3

1

39

40

26

20

Восьмибитная двунаправленная шина ввода-вывода информации; при работе с внешними ОЗУ, ПЗУ играет роль мультиплексированной шины адреса и данных.

Восьмибитная квазидвунаправленная шина данных для обмена информацией с внешними устройствами.

Восьмибитная квазидвунаправленная шина данных для обмена информацией с ВУ; разряды Р(23 – 20) используются для выдачи четырех старших разрядов счетчика команд при обращении к внешнему ПЗУ.

Вход импульсного напряжения в режиме программирования RPROM, выход управляющего сигнала для расширителя ввода/вывода.

Вход сигнала запроса прерывания от внешнего источника; вызывает подпрограмму обслуживания прерывания, если оно разрешено.

Выход строба чтения данных из внешнего ОЗУ.

Выход строба записи данных во внешнее ОЗУ.

Вход начального сброса микроЭВМ.

Выход строба фиксации адреса внешней памяти (активен отрицательный фронт).

Выход строба приема команд в микроконтроллер из внешнего ПЗУ.

Вход управления работой БИС в пошаговом режиме.

Вход выбора внешней или внутренней памяти микроЭВМ; уровень 1 на этом входе заставляет микроЭВМ выполнять программу только из внешнего ПЗУ, игнорируя внутреннее (если последнее имеется).

Входы для подключения кварца или внешнего генератора синхронизации.

Используется как вход при условных переходах в командах JT0, JNT0 либо как выход синхронизации в командах ENT0 CLK.

Используется как вход в командах JT1, JNT1.

Напряжение питания (50,25)В

Напряжение питания (50,25)В

Напряжение питания (0 В).