Научная литература
booksshare.net -> Добавить материал -> Физика -> Александров Е.К. -> "Микропроцессорные системы" -> 240

Микропроцессорные системы - Александров Е.К.

Александров Е.К., Грушвицкий Р.И., Купрянов М.С., Мартынов О.Е. Микропроцессорные системы — Спб.: Политехника, 2002. — 935 c.
ISBN 5-7325-0516-4
Скачать (прямая ссылка): mikroprocessorniesistemi2002.djvu
Предыдущая << 1 .. 234 235 236 237 238 239 < 240 > 241 242 243 244 245 246 .. 528 >> Следующая

формат команды "GOTO к" допускает переход в любую ячейку памяти программ
(рис. 4.58).
В то же время формат команды "CALL к" предписывает использование только
8-разрядного формата адреса (рис. 4.58). Следовательно, все подпрограммы
должны быть расположены только в диапазоне адресов OOh - OFFh.
Если счетчик адреса имеет разрядность 10 или 11 бит, то команда "GOTO к"
может передать управление только в пределах текущей страницы памяти
программ (рис. 4.59). Команда "CALL к" производит вызов подпрограммы,
начальный адрес которой должен быть расположен в первых 256 ячейках
памяти текущей страницы ПЗУ.
При достижении границы страницы счетчик команд автоматически переходит на
начало следующей страницы. Однако биты выбора страницы в регистре
признаков STATUS не изменяются автоматически. Поэтому последующие команды
GOTO, CALL, MOVWF PC возвратят управление к предыдущей странице, если
биты РА1:РА0 не будут изменены программно. После сброса МК в регистре
STATUS биты выбора страницы указывают на страницу 0, в то время как
счетчик команд указывает на последнюю ячейку памяти последней страницы
(для PIC16C54 состояние PC после сброса равно 1 FFh). Поэтому, если по
стартовому адресу будет расположена команда "GOTO к", управление будет
передано на нулевую страницу.
МК серии Р1С16С5х имеют двухуровневый аппаратный стек. Разрядность ячеек
памяти стека совпадает с разрядностью счетчика команд PC. Команда CALL
загружает в вершину стека (стек уровня 1) предварительно увеличенный на
единицу счетчик команд. Одновременно предыдущее значение вершины стека
копируется в стек уровня 2.
432
СЕМЕЙСТВО МКНС08 ФИРМЫ "MOTOROLA"
Команда GOTO
9 8 7
Команда CALL и команды, модифицирующие PC 9 8 7 О
PC [_
PCL
изг
у
Слово команды
Сброс а 'О' РАО
Регистр состояния STATUS
Команда GOTO
10 9 8 7
РС
PCL
т
TF
Слово команды
РА1:РА0
I
TI I т I
Регистр состояния STATUS
Команда CALL и команды, модифицирующие РС 10 ___________9 8
7______________о
РС
PCL
ТУ
Слово команды
Сброс в '0'
РА1:РА0
I
Регистр состояния STATUS
Рис. 4.58. Выполнение команд, модифици- Рис. 4.59. Выполнение команд,
модифициру-
рующих 9-разрядный счетчик команд РС для ющих 10- или 11-разрядный
счетчик команд
МК PIC16С54 РС для МК PIC16С54
Предыдущее значение стека уровня 2 теряется. Таким образом, глубина
вложения подпрограмм в МК серии Р1С16С5х равна 2.
Подсистема прерывания в рассматриваемых МК серии Р1С16С5х (но не во всех
МК семейства PIC16) отсутствует. Следовательно, нет в системе команд
инструкций работы со стеком.
4.4.3. СИСТЕМА КОМАНД МК СЕМЕЙСТВА PIC16
Система команд МК серии PIC16С5х содержит всего 33 инструкции. Множество
инструкций делится на 6 традиционных групп. Распределение команд по
группам отражено в табл. 4.51.
Таблица 4.51
Распределение команд Ассемблера CPU PIC16 по типовым группам
Группа команд Число инструкций в группе
Команды загрузки и пересылки 6
Арифметические команды 4
Логические команды и команды сдвигов 11
Команды битового процессора 4
Команды управления ходом вычислительного процесса 6
Команды управления режимами МК 2
433
8-РАЗРЯДНЫЕ МИКРОКОНТРОЛЛЕРЫ
Описание инструкций приведено в табл. 4.52 - 4.57.
Таблица 4.5
_____________________________ Команды загрузки и
пересылки____________________________
Мнемокод Операция Выполняемое действие Способ адресации Влияние на
признаки
Z DC С
MOVLW к Загрузить константу k в рабочий регистр W W <= (к) IMM
- - -
MOVLW f Загрузить содержимое рабочего регистра W в регистр общего
назначения f (0< f < 31) f<=(W) DIR ~
MOVF f,d При d=0 загрузить содержимое регистра общего назначения f в
рабочий регистр W. При d=1 перегрузить f в f. Имеет смысл использовать
эту команду для проверки f на 0 (0 < f < 31) W<= (f) f4=(f) DIR DIR
t
OPTION Загрузить содержимое регистра W в регистр OPTION pPTION <=
(W) INH - - -
TRIS f Загрузить содержимое регистра W в регистр TR IS (5 < f < 7).
При f=5 адресуется TRISA, при f=6 адресуется TRISB TRIS <= (W) INH

SWAPF f,d Содержимое младшей и старшей тетрады регистра общего
назначения f меняются местами и реэульта т загружается в рабочий регистр
W при d=0 или в f при d=1 (0_< i< 31) DIR
Таблица 4.53
Арифметические команды
Мнемокод Операция Выполняемое действие Способ адресации Влияние на
признаки
Z DC С
ADDWF f,d Сложить содержимое рабочего регистра W с содержимым регистра
общего назначения f. Результат поместить в\/Уприб=0 илив(приб=1 (0<f<31)
W <= (W) + (f) f <= (W) + (f) DIR t t t
SUBWF f,d Вычесть содержимое рабочего регистра W из содержимого регистра
общего назначения f. Результат поместить в Wnpnd=0nnHBfnpnd=1 (0_<f<31)
W <= (f) - (W) f"=(f)-(W) DIR г t t
INCF f,d Инкремент регистра общего назначения f. Результат поместить в
W при d=0 или в f при d=1 (0 <_f <J31) W <= (f) + 1 f (f) +1 DIR t
~ ~~
DECF f,d Декремент регистра общего назначения f. Результат поместить в
W при d=0 или в f при d=1 (0 <J <_31) W <= (f) - 1 f"=(f)-1 INH t
Предыдущая << 1 .. 234 235 236 237 238 239 < 240 > 241 242 243 244 245 246 .. 528 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed