- •Российская открытая академия транспорта микропроцессорные информационно-управлчющие системы
- •Микроконтроллеры серии 1830ве51
- •1.1. Структурная схема микроконтроллера 1830ве51
- •1.1.1. Блок управления
- •1.1.2. Арифметико-логический блок
- •1.1.3. Организация памяти программ
- •1.1.4. Резидентная память данных
- •1.1.5. Счетчик команд и регистр указателя данных
- •1.1.6. Регистр указателя стека
- •1.1.7. Таймеры/счетчики
- •Режимы работы таймера/счетчика
- •1.1.8. Блок последовательного интерфейса и прерываний
- •1.1.9. Порты мк51
- •1.1.10. Начальная установка и режимы работы мк51
- •1.2. Система команд микроконтроллера 1830ве51
- •1.2.1. Команды пересылки данных
- •1.2.2. Команды арифметических операций
- •1.2.3. Команды логических операций
- •1.2.4. Команды операций над битами
- •1.2.5. Команды передачи управления
- •1.3. Структурная организация систем на основе микроконтроллеров
- •1.3.1. Подключение внешней памяти
- •1.3.2. Расширение каналов ввода/вывода информации
- •2. Программная реализация типовых вычислительных процедур
- •2.1 Типовые структуры схем алгоритмов обработки данных
- •2.2 Приемы программирования
- •2.3 Примеры программ обработки данных в мк51
- •2.3.1 Примеры использования команд передачи данных
- •2.3.2 Примеры использования команд арифметических операций
- •2.3.3 Примеры использования команд логических операций
- •3. Применение микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.1. Классификация микропроцессорных информационно-управляющих систем на железнодорожном транспорте
- •3.2 Автоматизированные системы управления и контроля движения поездов
- •3.3 Автоматизированные системы диспетчерского контроля
- •3.4 Информационные системы обслуживания пассажиров
- •Литература
1.1.3. Организация памяти программ
Память программ МК51 может иметь емкость до 64 Кбайт (рис. 1.5) и предназначена для хранения команд, констант, управляющих слов инициализации, различных таблиц и т.п.
Рис. 1.5. Адресное пространство памяти программ
Обращение к RPM всегда осуществляется с помощью 16-ти разрядного адреса, который формируется счетчиком команд (PC) или регистром указателем данных (DPTR). Последний выполняет функции базового регистра при косвенных переходах по программе или используется в командах, оперирующих с таблицами.
Современные микроконтроллеры содержат на своем кристалле электрически стираемую резидентную память программ (EEPROM), емкость которой составляет 4 Кбайт. При этом емкость внешней памяти может достигать 60 Кбайт. Выбор памяти программ (резидентной или внешней) осуществляется с помощью входа EA. При подаче на этот вход логической 1 (EA=1) разрешена работа с обоими типами памяти. Если же на вход DEMA подан низкий уровень напряжения (EA=0), то разрешена работа только с внешней памятью программ. Для разрешения считывания байта из внешней памяти программ и ввода его в МК51 используется сигнал на выходе, который формируется дважды в течение каждого машинного цикла.
1.1.4. Резидентная память данных
Резидентная память данных состоит из двух областей: 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 |
00 |
Рис. 1.6. Карта адресов RDM
Таблица 1.3. Адреса регистров специальных функций
Символическое имя |
Наименование |
Адрес, Н |
Побитовая адресация | |
ACC |
Аккумулятор |
0E0 |
+ | |
B |
Регистр В – расширенный аккумулятор |
0F0 |
+ | |
PSW |
Слово состояния программы |
0D0 |
+ | |
SP |
Регистр – указатель стека |
81 |
| |
DPTR |
Регистр – указатель данных |
(DPH) |
83 |
|
|
|
(DPL) |
82 |
|
P0 |
Порт 0 |
80 |
+ | |
P1 |
Порт 1 |
90 |
+ | |
P2 |
Порт 2 |
0A0 |
+ | |
P3 |
Порт 3 |
0B0 |
+ | |
IP |
Регистр приоритетов |
0B8 |
+ | |
IE |
Регистр разрешения инд. прерывания |
0A8 |
+ | |
TMOD |
Регистр режима Т/C |
89 |
| |
TCON |
Регистр управления T/C |
88 |
+ | |
TH0 |
T/C0 (старший) |
8C |
| |
TL0 |
T/C0 (младший) |
8A |
| |
TH1 |
T/C1 (старший) |
8D |
| |
TL1 |
T/С1 (младший) |
8B |
| |
SCON |
Регистр управления УАПП |
98 |
+ | |
SBUF |
Буфер приемо/передатчика |
99 |
| |
PCON |
Регистр управления потреблением |
87 |
|