ВУЗ:
Составители:
7
бы адресовать все адресное пространство памяти программа должна
переключать разряды выбора страниц, которые находятся в регистре
PCLATH (биты 4 и 3). При возврате из подпрограммы или из
прерывания из стека выталкивается все 13-битное значение адреса.
Микроконтроллер имеет 13-разрядный аппаратный стек, глубиной
8 уровней. Стек не относится ни к памяти программ, ни к памяти
данных. Указатель стека
пользователю недоступен. В стеке
запоминается содержание
программного счетчика при
выполнении команды CALL или
при вызове прерывания.
Извлечение из стека
осуществляется командами
RETURN, RETFIE.
3.3. ПАМЯТЬ ДАННЫХ
Память данных разбита на
четыре так называемых банка,
каждый из которых имеет
адресуемое пространство 128
байт. Выбор каждого банка
осуществляется переключением
битов RP1 и RP0 (биты 6 и 5,
регистра STATUS).
Младшие ячейки каждого
банка зарезервированы для
регистров специальных функций,
потом расположены
универсальные регистры,
выполненные как статическая
память. Для уменьшения
программы и более быстрого
доступа некоторые часто
используемые регистры специальных функций расположенные в одном
банке, могут быть отображены в другом банке. Карта памяти данных
PIC16F877 представлена в Приложении 1.
PC<12:8>
13
0000h
Рис. 2. Карта памяти программ и стек
PCLATH
PCL
Стек уровень 1
•
•
Стек уровень 8
Внутренняя память программ
(страница 0)
Вектор сброса
•
•
Вектор прерываний
Внутренняя память программ
(страница 1)
Внутренняя память программ
(страница 2)
Внутренняя память программ
(страница 3)
0004h
0800h
0
7FF
h
0FFFh
1004h
17FFh
1800h
1FFFh
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »