
- •4. Описание интегрированной среды отладки mplab
- •4.1 Что такое mplab.
- •Описание команд меню
- •4.2.1 Режим File
- •Режим Project
- •Режим Editor
- •Режим Debug
- •Режим Picstart Plus
- •Команда Enable/Disable Programmer – разрешение или запрещение программатора.
- •Режим Options
- •Режим Tools
- •4.2.8 Режим Window
- •Режим Help
- •Приложение 1.
- •Табл2. Прилож.1
Режим Help
В данном режиме возможно получение интересующей информации по нужному вопросу. Например, помощь по использованию MPLAB содержится в файле MPLAB Help.
Приложение 1.
В данном приложении в табл.1 прилож.1 приведено описание полей команд, а также приведена табл.2 прилож.1, содержащая описание системы команд для микроконтроллеров семейства PIC16c8x.
Табл.1 прилож.1
Поле |
Описание |
f |
Адрес регистра. |
w |
Рабочий регистр. |
b |
Номер бита в 8-разрядном регистре. |
k |
Константа. |
x |
Не используется. Ассемблнр формирует код с х=0. |
d |
Регистр назначения: d=0-результат в регистре W; d=1-результат в регистре f. По умолчанию d=1. |
label |
Имя метки. |
TOS |
Top Of Stack. Вершина стека. |
PC |
Program Counter. Счётчик команд. |
|
Time-Out. Тайм-аут. |
PD |
Power Down. Выключение питания. |
dest |
Регистр назначения: рабочий регистр W или регистр, заданный в команде. |
[ ] |
Необязательные параметры. |
( ) |
Содержание. |
~ |
Присвоение. |
Табл2. Прилож.1
Мнемокод |
Операция |
Описание команды |
ADDLW k |
(W)+(k)~W |
Содержимое регистра W складывается с 8-битовой константой k. Результат сохраняется в регистре W. |
ADDWF f,d |
(W)+(f )~(dest) |
Содержимое регистра W добавляется к содержимому регистра f. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
ANDLW k |
(W).AND.(k)~W |
Содержимое регистра W логически умножается на 8-битовую константу k. Результат сохраняется в регистре W. |
ANDWF f,d |
(W).AND.(f )~(dest) |
Содержимое регистра W логически умножается на содержимое регистра f. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
Продолж. табл.2 прилож.1
BCF f,b |
0~f(b) |
Бит b регистра f сбрасывается в 0. |
BSF f,b |
1~f(b) |
Бит b регистра f устанавливается в 1. |
BTFSC f,b |
Пропустить, если f(b)=0 |
Если бит b регистра f равен1, выполняется следующая команда. Если бит b регистра f равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо неё в следующем цикле выполняется NOP, в резулбтате команда выполняется за два цикла. |
BTFSS f,b |
Пропустить, если f(b)=1 |
Если бит b регистра f равен 0, выполняется следующая команда. Если бит b регистра f равен 1, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо неё в следующем цикле выполняется NOP, в резулбтате команда выполняется за два цикла. |
CALL k |
(PC)+1~TOS, k~PC<10:0>, (PCLATH<4:3>)~PC<12:11> |
Адрес возврата (PC+1) сохраняется в стеке. Младшие 11 бит адреса загружаются в PC из кода команды. Старшие два бита адреса загружаются в РС из регистра PCLATH<4:3>. |
CLRF f |
00h~f, 1~Z |
Содержимое регистра f сбрасывается в 0 и бит Z устанавливается в 1. |
CLRW |
00h~W, 1~Z |
Содержимое регистра W сбрасывается в 0 и бит Z устанавливается в 1. |
CLRWDT |
00h~WDT, 0~WDT prescaler, 1~TO, 1~PD |
Команда сбрасывает сторожевой таймер WDT и предварительный делитель. В регистре состояния устанавливаются биты TO и PD. |
COMF f,d |
(f )~(dest) |
Содержимое регистра f инвертируется. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
DECF f,d |
(f )-1~(dest) |
Регистр f уменьшается на 1. . Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
Продолж. табл.2 прилож.1
DECFSZ f,d |
(f )-1~(dest); пропустить, если (dest)=0 |
Регистр f уменьшается на 1. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. Если результат не равен 0, выполняется следующая команда. Если результат равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо неё в следующем цикле выполняется NOP, в результате команда выполняется за два цикла. |
GOTO k |
k~PC<10:0>, (PCLATH<4:3>)~PC<12:11> |
Младшие 11 бит адреса загружаются в PC из кода команды. Старшие два бита адреса загружаются в PC из регистра PCLATH<4:3>. |
INCF f,d |
(f )+1~(dest) |
Регистр f увеличивается на 1. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
INCFSZ f,d |
(f )+1~(dest); пропустить,если (dest)=0 |
Регистр f увеличивается на 1. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. Если результат не равен 0, выполняется следующая команда. Если результат равен 0, следующая команда, считанная в текущем командном цикле, игнорируется, и вместо неё в следующем цикле выполняется NOP, в результате команда выполняется за два цикла. |
IORLW k |
(W).OR.(k)~W |
Содержимое регистра W логически складывается с 8-битовой константой k. Результат сохраняется в регистре W. |
IORWF f,d |
(W).OR.(f)~(dest) |
Содержимое регистра W логически складывается с содержимым регистра f. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
MOVF f,d |
(f)~(dest) |
Содержимое регистра f пересылается в регистр W, если d=0, и в тот же регистр f, если d=1. |
MOVLW k |
k~(W) |
8-битовая константа k загружается в регистр W. |
MOVWF f |
(W)~(f ) |
Содержимое регистра W пересылается в регистр f. |
NOP |
Нет |
Нет операции. |
Продолж. табл.2 прилож.1
RETFIE |
TOS~PC, 1~GIE |
Адрес возврата восстанавливается из вершины стека ( TOS ) в PC. Разрешаются прерывания. |
RETLW k |
k~W, TOS~PC |
8-битовая константа k загружается в регистр W. Адрес возврата восстанавливается из вершины стека ( TOS ) в PC. |
RETURN |
TOS~PC |
Адрес возврата восстанавливается из вершины стека ( TOS ) в PC. |
|
f<n>~d<n+1>, f<7>~C, C~d<0> |
Содержимое регистра f сдвигается на 1 бит влево через бит переноса С. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в томже регистре f.
|
|
f<n>~d<n-1>, f<0>~C, C~d<7> |
Содержимое регистра f сдвигается на 1 бит вправо через бит переноса С. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в томже регистре f.
|
SLEEP |
00h~WDT, 0~WDT prescaler, 1~TO, 0~PD |
Команда сбрасывает сторожевой таймер WDT и предварительный делитель. В регистре состояния устанавлливается бит TO и сбрасывается бит PD. Процессор переходит в режим SLEEP с выключенным генератором. |
SUBLW k |
(k)-(W)~(W) |
Содержимое регистра W вычитается из 8-битовой константы k. Результат перемещается в регистр W. |
SUBWF f,d |
(f )-(W)~(dest) |
Содержимое регистра W вычитается из содержимого регистра f. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
SWAPF f,d |
f<0:3>~d<4:7>, f<4:7>~d<0:3> |
Содержимое старшей и младшей тетрад регистра f обменивается. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |
XORLW k |
(W).XOR.(k)~W |
Содержимое регистра W поразрядно складывается с 8-битовой константой k по модулю 2. Результат сохраняется в регистре W. |
Продолж. табл.2 прилож.1
XORWF f,d |
(W).XOR.(f)~(dest) |
Содержимое регистра W поразрядно складывается с содержимым регистра f по модулю 2. Если d=0, результат сохраняется в регистре W. Если d=1, результат сохраняется в том же регистре f. |