2002
nil
МИКРОКОНТРОЛЛЕРЫ
Рис. 2
N O T
- На схеме должно быть ровно
столько элементов, сколько требует
ее ф ункциональность. Не должно
быть “запасных” кнопок и светодио-
дов.
- Не надо лепить шинные форми-
рователи на транзисторах (хорошо
это еще не заканчивалось).
- Используйте буферные, токоог-
раничивающие и защитные элемен-
ты в разумныйх пределах, но и не от-
казывайтесь от них совсем.
- Перед тем, как нарисовать глав-
ную развязку в памяти (RD, WR,
PSEN, Ап.
..А15), нарисуй карту па-
мяти (в какой области RAM, ROM,
REGISTR).
Классическая схема включения
микроконтроллера MCS-51
(рис. 1)
предполагает адресное простран-
ство RAM и ROM раздельным. Таким
образом, по этой схеме память про-
граммы располагается в области 64
килобайт.
Память
Адреса
Команды
доступа
ROM
0x0000 - OxFFFF
CMOV A,@DPTR
RAM
0x0000 - 0x7FFF
XMOV A,@DPTR
0x8000 - OxFFFF XMOV @DPTR,A
Память данных использует две
микросхемы ОЗУ, в областях по 32
килобайта каждая, причем для про-
граммы это будет единая неразрыв-
ная область. Такое решение годит-
ся и для задач, где необходимо вы-
делить некоторую область опера-
тивной память, как энергонезависи-
мую. Соответственно, тогда вторую
микросхему памяти запитывают че-
рез супервизор питания с батарей-
кой (например, 031210).
Схема с регист рами
на ввод
данных с кнопок и вывод данных на
светодиоды, расположенные в ад-
ресном пространстве
(рис. 2).
Дан-
ная схема имеет усеченную область
памяти данных. При обращ ении к
области 0x8000 - ОхЕЕЕЕ будет про-
изведен доступ к одному из регист-
ров. Если это была попытка запи-
сать в память, то данные, которые
были переданы, будут зафиксирова-
ны в регистре “светодиодов". Свето-
диоды включены по инверсной схе-
ме, поэтому, если мы записывали
число 0x00, то все светодиоды бу-
дут включены.
При попытке чтения из памяти из
области 0x8000 - ОхЕЕЕЕ будет про-
читан регистр кнопок. Нажатая кноп-
ка соответствует значению 0. (Если
все кнопки отпущены, будет прочи-
тано значение ОхЕЕ.)
Память
Адреса
Команды
доступа
ROM
0x0000 - OxFFFF
CMOV A,@DPTR
RAM
0x0000 - 0x7FFF
XMOV A,@DPTR
XMOV @DPTR,A
СВЕТО-
ДИОДЫ
0x8000 - OxFFFF XMOV @DPTR,A
КНОПКИ
0x8000 - OxFFFF XMOV A,@DPTR
Используя логическое ум ноже-
ние с последующей инверсией (МОТ-
АМ О [К155ЛАЗ]), можно складывать
сигналы А15 и другие адреса,
и
под-
ключать новые регистры к другим
областям памяти.
Провод
t
Провод 2
Адрес доступа
A15
A14
OxCOOO
A15
A13
OxAOOO
A15
A13
0x9000
A15
A12
0x8800
Схема с совмещенным адресным
пространством
(рис. 3)
дает возмож-
ность делать программу, “подгружа-
емую на ходу”. В области ПЗУ нахо-
дится программа-загрузчик, которая
подгружает в ОЗУ код исполняемой
программы. Разумеется, этот код за-
ранее составлен и откомпилирован
для работы в адресном простран-
стве 0x8000 - OxFFFF. К тому же надо
в программе-загрузчике предусмот-
реть передачу управления по векто-
рам прерываний на новые адреса.
Это можно сделать пересылкой вы-
зова на другой адрес.
;==== програм м а за г р у з ч и к а ======
ORG 3
JMP 8003h
ORG 0В
JMP 800Bh
; »»“ Подгружаемая программа =====
ORG 8003
JMP INTERRUPT_0
ORG 800B
JMP TIMER 0
Память
Адреса
Команды
доступа
ROM
0x0000 - 0x7FFF
CMOV A,@DPTR
XMOV @DPTR,A
RAM
0x8000 - OxFFFF
CMOV A,@DPTR
(Продолжение следует)
8/2002
РЛ
предыдущая страница 24 Радиолюбитель 2002-08 читать онлайн следующая страница 26 Радиолюбитель 2002-08 читать онлайн Домой Выключить/включить текст