Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Микропроцессорные и микроконтроллерные системы



Программная модель микроконтроллера 8051 (отечественный аналог К1816ВЕ51) содержит резидентную память данных (РПД), регистры специальных функций (РСФ), резидентную память программ (РПП) и программный счетчик PC. Структурная схема резидентной памяти представлена на рисунке 1.1.

  0FFFH
   
  23H TI, RI
   
  1BH T/C1
   
13H INT1
   
  0BH T/C0
   
  03H INT0
   
  00H
15 8  
    PC
 
7 0  

Рисунок 1.1 - Структура резидентной памяти программ микроконтроллера 8051

Резидентная память программ имеет байтовую организацию и доступна только по чтению, при этом ее ячейки (4 Кб) адресуются с использованием двенадцати младших разрядов PC. Резидентная память программ может быть дополнена внешней памятью. В этом случае общий максимально допустимый объем памяти программ составит 64 Кб. Младшие адреса резидентной памяти программ отведены под обработку внешних прерываний , , прерываний от таймеров/счетчиков T/C0, T/C1 и прерываний от последовательного порта. В случае возникновения какого-либо из указанных прерываний происходит обращение к соответствующей ячейке резидентной памяти программ.

Резидентная память данных, структура которой изображена на рисунке 1.2, состоит из ста двадцати восьми 8-разрядных ячеек с адресами 00H-7FH и может быть дополнена внешней памятью данных емкостью до 64 Кб. При этом пространства резидентной и внешней памяти не пересекаются, так как доступ к ним осуществляется с помощью разных команд.

Младшие 32 байта РПД сгруппированы в четыре банка по восемь регистров (R0-R7) в каждом. Отметим, что Банк 0, Банк 1, Банк 2 и Банк 3 занимают соответственно адреса 00H-07H, 08H-0FH, 10H-17H и 18H-1FH. Следующие после банков регистров 16 байт (адреса 20H-2FH) или 128 бит (адреса 00H-7FH) образуют область ячеек, к которым возможно побитовое обращение. Набор команд микроконтроллера 8051 содержит значительное количество инструкций, позволяющих работать с указанными битами.

Область регистров специальных функций (рисунок 1.3) содержит 21 регистр, назначение которых приведено в таблице 1. Как видно из рисунка 1.3 и таблицы 1.1, одиннадцать регистров блока РСФ допускают побитовое обращение (биты с адресами 80H-0F7H).

 

Таблица 1.1 - Регистры специальных функций микроконтроллера 8051

Наименование Назначение Адрес
P0* Порт 0 80H
SP Указатель стека 81H
DPL Младший байт указателя данных DPTR 82H
DPH Старший байт указателя данных DPTR 83H
PCON Регистр управления потреблением 87H
TCON* Регистр управления таймеров/счетчиков 88H
TMOD Регистр режимов таймеров/счетчиков 89H
TL0 Таймер/счетчик 0. Младший байт 8АH
TL1 Таймер/счетчик 1. Младший байт 8BH
TH0 Таймер/счетчик 0. Старший байт 8CH
TH1 Таймер/счетчик 1. Старший байт 8DH
P1* Порт 1 90H
SCON* Регистр управления последовательным портом 98H
SBUF Буфер последовательного порта 99H
P2* Порт 2 0A0H
IE* Регистр разрешения прерываний 0A8H
P3* Порт 3 0B0H
IP* Регистр приоритетов прерываний 0B8H
PSW* Регистр состояния программы 0D0H
A* Аккумулятор 0E0H
B* Регистр B 0F0H

 

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

Порты P0, P1, P2, P3 являются двунаправленными портами ввода/вывода и предназначены для обеспечения обмена информацией микроконтроллера с внешними устройствами, образуя 32 линии ввода/вывода.

  7FH
   
  30H
7F 7E 7D 7C 7B 7A 2FH
2EH
6F 6E 6D 6C 6B 6A 2DH
2CH
5F 5E 5D 5C 5B 5A 2BH
2AH
4F 4E 4D 4C 4B 4A 29H
28H
3F 3E 3D 3C 3B 3A 27H
26H
2F 2E 2D 2C 2B 2A 25H
24H
1F 1E 1D 1C 1B 1A 23H
22H
0F 0E 0D 0C 0B 0A 21H
20H
R7 1FH
   
R0 18H
R7 17H
   
R0 10H
R7 0FH
   
R0 08H
R7 07H
   
R0 00H

Рисунок 1.2 - Структура резидентной памяти данных микроконтроллера 8051

Указатель стека SP (Stack Pointer) – регистр, содержимое которого инкрементируется (увеличивается на единицу) перед записью данных в стек при выполнении команд PUSH и CALL. Начальный сброс устанавливает указатель стека в 07H, а область стека в РПД начинается с адреса 08H.

F7 F6 F5 F4 F3 F2 F1 F0 0F0H
E7 E6 E5 E4 E3 E2 E1 E0 0E0H
D7 D6 D5 D4 D3 D2 D1 D0 0D0H
- - - BC BB BA B9 B8 0B8H
B7 B6 B5 B4 B3 B2 B1 B0 0B0H
AF - - AC AB AA A9 A8 0A8H
A7 A6 A5 A4 A3 A2 A1 A0 0A0H
SBUF 99H
9F 9E 9D 9C 9B 9A 98H
90H
TH1 8DH
TH0 8CH
TL1 8BH
TL0 8AH
TMOD 89H
8F 8E 8D 8C 8B 8A 88H
PCON 87H
DPH 83H
DPL 82H
SP 81H
80H

Рисунок 1.3 - Структура регистров специальных функций микроконтроллера 8051

Указатель данных DPTR (Data PoinTeR)предназначен для хранения 16-разрядного адреса внешней памяти данных и состоит из двух программно доступных регистров DPH (Data Pointer High) и DPL (Data Pointer Low), которые могут использоваться в качестве независимых регистров общего назначения, если нет необходимости в хранении упомянутого адреса.

Регистр PCON (Power Control) используется для управления режимами энергопотребления микроконтроллера.

Регистры TH0, TL0, TH1, TL1 (Timer/counter Low (High) byte представляют собой регистры двух программно управляемых 16-битных таймеров/счетчиков.

Регистр TCON (Timer/counter Control) служит для управления таймерами/счетчиками.

Регистр TMOD (Timer/counter Mode) используется для задания режимов таймеров/счетчиков.

Регистр SCON (Serial port Control) предназначен для приема и хранения кода, который управляет последовательным интерфейсом.

Регистр SBUF (Serial port Buffer). Через SBUF обеспечивается программный доступ к регистрам передатчика и приемника последовательного порта.

Регистр IE (Interrupt Enable) используется для разрешения или запрещения прерываний от соответствующих источников.

Регистр IP (Interrupt Priority) используется для установки уровня приоритета прерывания для каждого из пяти источников прерываний.

Регистр PSW (Program Status Word). Наименование и назначение разрядов регистра PSW приведены в таблице 1.2.

 

Таблица 1.2 - Формат слова состояния программы PSW

Биты Наиме-нование Назначение
C Флаг переноса. Устанавливается и сбрасывается как аппаратно, так и программным путем
AC Флаг вспомогательного переноса. Устанавливается и сбрасывается только аппаратными средствами при выполнении команд сложения и вычитания и сигнализирует о переносе или заеме в бите 3 аккумулятора
F0 Программно управляемый флаг пользователя.
RS1 RS0 Разряды управления выбором банка рабочих регистров. Устанавливаются (сбрасываются) программно.
OV Флаг переполнения. Устанавливается (сбрасывается) аппаратно при выполнении арифметических операций
­­­­– Флаг пользователя. Устанавливается (сбрасывается) программно. Доступен по чтению.
P Флаг паритета. Устанавливается (сбрасывается) в каждом цикле команды и фиксирует нечетное (четное) число единичных бит в аккумуляторе

 

Аккумулятор A представляет собой 8-разрядный регистр, который является источником операнда и местом фиксации результата при выполнении арифметических, логических операций и ряда операций передачи данных. Кроме того, только с использованием аккумулятора могут быть выполнены операции сдвигов, проверки на нуль, формирование флага паритета и т.п.

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

Рассмотрев структуру микроконтроллера 8051, можно предложить следующую функциональную схему, пригодную для реализации на программном уровне. Такая схема, изображенная на рисунке 4, включает следующие объекты:

РПД – резидентная память данных;

РСФ – блок регистров специальных функций;

ВПД – внешняя память данных;

ЦПУ – устройство, выполняющее команды умножения, деления, вычитания, операции над битами, операций со стеком и команды передачи управления;

PC – счетчик команд;

ВПП – внешняя память программ;

РПП – резидентная память программ.

Рисунок 1.4 - Функциональная модель микроконтроллера

1.1.2 Инструкция пользователю

Назначение программы

Программа Симулятор предназначена для моделирования работы микроконтроллера 8051, разработки и отладки программного обеспечения для микроконтроллерных систем.

Запуск программного модуля

Запускайте программу с помощью ярлыка с надписью " МК8051 Симулятор", как показано на рисунке 1.5.

Рисунок 1.5 - Запуск программы «Симулятор МК 8051»

 


Поделиться:



Популярное:

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


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.021 с.)
Главная | Случайная страница | Обратная связь