ТОП 10:

Структурная схема микроконтроллера 1830ВЕ51



Микроконтроллер МК51 содержит все необходимые узлы для автономной работы:

1. Восьмиразрядный процессор;

2. Память программ объемом 4 Кбайт;

3. Память данных объемом 128 байт;

4. Четыре порта ввода/вывода;

5. Два 16-разрядных многорежимных таймера/счетчика;

6. Схемы обработки прерываний с пятью векторами и двумя уровнями;

7. Последовательный интерфейс;

8. Тактовый генератор.

Система команд МК51 содержит 111 базовых команд. Команда имеет 1, 2 и 3 байтовый формат.

Микроконтроллер конструктивно выполнен в корпусе с 40 внешними выводами, которые совместимы с элементами ТТЛ. Назначение выводов микроконтроллера МК51 показано на рис. 1.1, а его структурная схема приведена на рис. 1.2.

Рис. 1.1. Назначение выводов МК51

Рис. 1.2. Структурная схема МК51

В состав МК51 входят следующие функциональные узлы:

1. Блок управления (CU);

2. Арифметико-логический блок (ALU);

3. Резидентная память данных (RDM);

4. Резидентная память программ (RPM);

5. Счетчик команд (PC) и регистр указателя данных (DPTR);

6. Регистр указателя стека (SP);

7. Два 16-ти разрядных таймера/счетчика (Timer 0, Timer 1);

8. Блок последовательного интерфейса и прерываний.

Обмен информацией между функциональными узлами осуществляется с помощью внутренней 8-разрядной двунаправленной шины данных. Для связи с внешними компонентами МПС используется четыре двунаправленных 8-разрядных порта Р0…Р3.

Блок управления

Блок управления предназначен для выработки синхронизирующих и управляющих сигналов. В состав БУ входят:

1. Устройство выработки временных интервалов;

2. Логика ввода/вывода;

3. Регистр команд;

4. Регистр управления энергопотреблением;

5. Дешифратор команд;

6. ПЛМ и логика управления микро-ЭВМ.

Устройство выработки временных интервалов предназначено для формирования внутренних синхросигналов, которые определяют продолжительность выполнения команд. Практически все команды выполняются за 1 или 2 машинных цикла, кроме команд умножения и деления (время выполнения последних составляет 4 машинных цикла). Машинный цикл включает в себя шесть состояний S1…S6, каждый из которых состоит из двух фаз Р1 и Р2. Длительность каждой фазы равна периоду следования синхроимпульсов, который задается частотой кварцевого резонатора, подключаемого к выводам XTAL1 и XTAL2 МК51, или резонансной частотой LC контура, или внешним генератором. Схема подключения элементов к МК51 показаны на рис. 1.3.

 
 

 

  Cв=10 пФ

Рис. 1.3. Схема подключения цепей синхронизации к МК51

 
 

Все машинные циклы МК51 одинаковые и состоят из 12 периодов сигнала XTAL. Машинный цикл состоит из шести состояний S1…S6, каждый из которых включает в себя две фазы P1 и P2 (рис. 1.4). Длительность фазы равна периоду следования внешнего тактового сигнала.

Рис. 1.4. Диаграмма формирования машинных циклов МК51

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

Логика ввода/вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен информацией МК51 с внешними устройствами через порты ввода/вывода Р0…Р3.

Регистр команд предназначен для записи и хранения кода текущей команды. Команда с помощью дешифратора команд преобразовывается в 24-разрядный код управления ПЛМ. Последняя вырабатывает набор микроопераций в соответствии с микропрограммой выполняемой команды.

Регистр команд программно недоступен.

Регистр управления энергопотреблением (PCON) предназначен для управления последовательным портом и режимами энергопотребления МК51. В табл. 1.1 приведено обозначение разрядов PCON.

Таблица 1.1

Разряды
Обозначение SMOD - - - GF1* GF0* PD* IDL*

Примечание: биты отмеченные звездочкой присутствуют только в МК51 серии 1830.

Все биты регистра PCON доступны по записи и чтению.

Бит SMOD управляет скоростью передачи через последовательный порт (при установке его в «1» скорость передачи удваивается).

Бит PD при установке его в «1» переводит МК51 в режим микропотребления.

Бит IDL равный «1» устанавливает режим холостого хода.

Биты GF0 и GF1 – флаги общего назначения.

Арифметико-логический блок

Восьмиразрядный АЛБ предназначен для выполнения арифметических операций: сложение, вычитание, умножение и деление; логических операций: И, ИЛИ, исключающие ИЛИ, циклического сдвига, сброса, инвертирования и т.д. АЛБ включает в себя следующие функциональные узлы:

1. Восьмиразрядное ALU, которое позволяет выполнять арифметические и логические операции над 4 типами данных: булевскими (1 бит), цифровыми (4 бита), байтовыми (8 бит) и адресными (16 бит);

2. Аккумулятор – восьмиразрядный параллельный регистр, предназначенный для хранения одного из операндов АЛУ, приема результата арифметико-логической операции, ряда операций передачи данных. Кроме этого, операции сдвигов, проверка их на ноль, формирование флага паритета, выполняются только над содержимым Аккумулятора;

3. Регистр В – восьмиразрядный параллельный регистр, предназначенный для хранения второго операнда при выполнении операции умножения и деления. В остальных случаях может использоваться как любой другой программно доступный регистр;

4. Два восьмиразрядных, программно-недоступных, регистра временного хранения операндов Т1 и Т2;

5. Схема десятичной коррекции DCU;

6. Регистр признаков (PSW) – предназначен для хранения признаков (флагов), вырабатываемых АЛУ при выполнении многих операций. В табл.1.2 приведено мнемоническое имя, назначение и способ установки разрядов регистра PSW.

Таблица 1.2

Разряд Имя Назначение битов Доступ к битам
PSW.7 C Флаг переноса. Изменяется во время выполнения некоторых арифметических и логических команд аппаратный или программный
PSW.6 AC Флаг промежуточного переноса устанавливается/сбрасывается при возникновении/отсутствии переноса или заема в бите 3 при образовании младшего полубайта результата аппаратный или программный
PSW.5 F0 Флаг 0. Флаг состояния определенный пользователем. программный
PSW.4 RS1 Указатель банка рабочих регистров. программный
PSW.3 RS0 Указатель банка рабочих регистров. программный
  RS1 RS0    
Банк 0 с адресами (00Н-07Н)  
Банк 1 с адресами (08Н-0FН)  
Банк 2 с адресами (10Н-17Н)  
Банк 3 с адресами (18Н-1FН)  
PSW.2 OV Флаг переполнения. аппаратный или программный
PSW.1 - Резервный. Содержит триггер, который можно использовать. программный
PSW.0 P Бит четности аппаратный или программный

Флаг переполнения OV устанавливается, если возник перенос в знаковый разряд, а из знакового разряда перенос отсутствует (индикатор переполнения разрядной сетки) при выполнении операций сложение/вычитание. При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на ноль устанавливается. При выполнении операции умножения флаг OV аппаратно устанавливается, если результат больше 255.

Флаг Р является дополнением содержимого Аккумулятора до четности в девятиразрядном слове состоящем из восьми разрядов Аккумулятора и бита P, число один всегда четное. Если в Аккумуляторе все разряды установлены в ноль, то Р=0. Этот бит программно доступен только по чтению.

Организация памяти программ

Память программ МК51 может иметь емкость до 64 Кбайт (рис. 1.5) и предназначена для хранения команд, констант, управляющих слов инициализации, различных таблиц и т.п.

Рис. 1.5. Адресное пространство памяти программ

Обращение к RPM всегда осуществляется с помощью 16-ти разрядного адреса, который формируется счетчиком команд (PC) или регистром указателем данных (DPTR). Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.

Современные микроконтроллеры содержат на своем кристалле электрически стираемую резидентную память программ (EEPROM), емкость которой составляет 4 Кбайт. При этом емкость внешней памяти может достигать 60 Кбайт. Выбор памяти программ (резидентной или внешней) осуществляется с помощью входа EA. При подаче на этот вход логической 1 (EA=1) разрешена работа с обоими типами памяти. Если же на вход DEMA подан низкий уровень напряжения (EA=0), то разрешена работа только с внешней памятью программ. Для разрешения считывания байта из внешней памяти программ и ввода его в МК51 используется сигнал на выходе , который формируется дважды в течение каждого машинного цикла.

Резидентная память данных

Резидентная память данных состоит из двух областей: 128 байт оперативной памяти (ОЗУ) с адресами 00-7FH и области регистров специальных функций, занимающих адреса с 80Н по 0FFH. Распределение адресного пространства RDM показано на рис. 1.6. Младшие 32 байта ОЗУ данных сгруппированы в 4 банка (Банк 0...Банк 3). Команды программы могут обращаться к регистрам, используя их символические имена R0...R7. При этом в регистре PSW должны быть установлены биты RS0 и RS1, определяющие, к какому банку данных производится обращение. Такой механизм адресации позволяет экономить память программ.

Следующие 16 байт ОЗУ допускают обращение к ним как в побайтном режиме, так и в побитном. Эта область ОЗУ используется МК51 при выполнении операций над битами. Каждый бит имеет свой адрес.

Обращение к RDM всегда осуществляется с использованием 8-разрядного адреса. При включении питания содержимое ОЗУ будет иметь случайный характер.

Регистры специальных функций также имеют свои адреса, приведенные в табл. 1.3, а некоторые из них допускают побитовую адресацию.

  Регистры специальных функций FFH
  80H
  Остальные регистры ОЗУ (80 регистров) 7FH
  30H
  Прямо адресуемые биты (16 регистров) 2FH
  20H
R7   Банк 3   1FH
R0 18H
R7   Банк 2   17H
R0 10H
R7   Банк 1   0FH
R0 08H
R7   Банк 0   07H
R0

Рис. 1.6. Карта адресов RDM

Таблица 1.3. Адреса регистров специальных функций







Последнее изменение этой страницы: 2016-12-30; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 54.237.183.249 (0.007 с.)