49146 (608957), страница 2
Текст из файла (страница 2)
PIC16C6X / 7X / 8X - расширенное семейство с 14- разрядными командами.
PIC17CXX - высокопроизводительное семейство с 16- разрядными командами.
В данном курсовом проекте разработка станции ЛВС ведется на микропроцессорном комплекте PIC16C64.
Условное графическое изображение микроконтроллера PIC16C64 приведено на рис.2.1.
Описание выводов PIC16C64 приведено в табл. 2.1.
2.1 Описание команд PIC16C64
Каждая команда PIC16C64 представляет собой четырнадцати битное слово, состоящее из кода команды, который соответствует типу команды и одного или более операндов [5].
Общий формат команд
Байт-ориентированные операции
13 8 | 7 | 6 0 |
Код операции | d | f (файл #) |
Таблица 2.2
Описание поля кода команды
Значение | Описание |
f | Адрес файлового регистра |
w | Аккумулятор |
b | Адрес бита в регистре |
k | Литерал, константа или метка |
x | Ассемблер сгенерирует код, когда x = 0. Это рекомендуемая форма использования для совместимости со всеми программными средствами. |
d | D=0 результат хранится в регистре W D=1 результат хранится в регистре f По умолчанию d=1 |
label | Имя метки |
TOS | Вершина стека |
PC | Программный счетчик команд |
PCLATH | Программный счетчик |
GIE | Общее разрешение прерываний |
WDT | Сторожевой счетчик времени |
TO | Тайм-аут |
PD | Выключение питания |
Описание системы команд МК PIC16C64 приведено в табл.2.3.
Таблица 2.3
Описание команд PIC16C64
Мнемоника команды | Описание | Цик-лы | Код команды | Прим | |
ADDWF f, d | сложение W c f | 1 | 00 0111 dfff ffff | C,DC, Z | 1,2 |
ANDWF f, d | логическое И W и f | 1 | 00 0101 dfff ffff | Z | 1,2 |
CLRF f | сброс регистра f | 1 | 00 0001 lfff ffff | Z | 2 |
CLRW - | сброс регистра W | 1 | 00 0001 0xxx xxxx | Z | |
COMF f, d | инверсия регистра f | 1 | 00 1001 dfff ffff | Z | 1,2 |
DECF f, d | декремент регистра f | 1 | 00 0011 dfff ffff | Z | 1,2 |
DECFSZ f, d | декремент f, пропустить команду, если 0 | 1(2) | 00 1011 dfff ffff | 1,2,3 | |
INCF f, d | инкремент регистра f | 1 | 00 1010 dfff ffff | Z | 1,2 |
INCFSZ f, d | инкремент регистра f, пропустить, если 0 | 1(2) | 00 1111 dfff ffff | 1,2,3 | |
IORWF f, d | логическое ИЛИ W и f | 1 | 00 0100 dfff ffff | Z | 1,2 |
MOVF f, d | пересылка регистра f | 1 | 00 1000 dfff ffff | Z | 1,2 |
MOVWF f | пересылка W в f | 1 | 00 0000 lfff ffff | ||
NOP - | холостая команда | 1 | 00 0000 0xx0 0000 | ||
Мнемоника команды | Описание | Цик-лы | Код команды | Прим | |
RLF f, d | сдвиг f влево через перенос | 1 | 00 1101 dfff ffff | C | 1,2 |
RRF f, d | сдвиг f вправо через перенос | 1 | 00 1100 dfff ffff | C | 1,2 |
SUBWF f, d | вычитание W из f | 1 | 00 0010 dfff ffff | C, DC,Z | 1,2 |
SWAPF f, d | обмен тетрад в f | 1 | 00 1110 dfff ffff | 1,2 | |
XORWF f, d | Исключающее ИЛИ W и f | 1 | 00 0110 dfff ffff | Z | 1,2 |
Команды работы с битами регистров (бит-ориентированные) | |||||
BCF f, b | сброс бита в регистре f | 1 | 00 00bb bfff ffff | 1,2 | |
BSF f, b | Установка бита в регистре f | 1 | 01 01bb bfff ffff | 1,2 | |
BTFSC f, b | Пропустить команду, если бит равен 0 | 1(2) | 01 10bb bfff ffff | 3 | |
BTFSS f, b | Пропустить команду, если бит равен 1 | 1(2) | 01 11bb bfff ffff | 3 | |
Команды работы с константами и операции перехода | |||||
ADDLW k | Сложение константы с W | 1 | 11 111x kkkk kkkk | C, DC, Z | |
ANDLW k | Логическое И W и f | 1 | 11 1001 kkkk kkkk | Z | |
CALL k | вызов подпрограммы | 2 | 10 0kkk kkkk kkkk | ||
CLRWDT - | сброс сторожевого таймера WDT | 1 | 00 0000 0110 0100 | TO, PD | |
GOTO k | переход по адресу | 2 | 10 1kkk kkkk kkkk | ||
IORLW k | Логическое ИЛИ константы и W | 1 | 11 1000 kkkk kkkk | Z | |
MOVLW k | пересылка константы в W | 1 | 11 00xx kkkk kkkk | ||
RETFIE - | возврат из прерывания | 2 | 00 0000 0000 1001 | ||
RETLW k | возврат из подпрограммы с загрузкой константы в W | 2 | 11 01xx kkkk kkkk | ||
RETURN - | возврат из подпрограммы | 2 | 00 0000 0000 1000 | ||
SLEEP - | переход в режим SLEEP | 1 | 00 0000 0110 0011 | TO, PD | |
SUBLW k | вычитание W из константы | 1 | 11 110x kkkk kkkk | C,DC, Z | |
XORLW k | Исключающее ИЛИ конс-танты и W | 1 | 11 1010 kkkk kkkk | Z |
Примечание:
1. Во всех командах операнд f принимает значения от 0 до 127, а операнд d значения 0 или 1.
2. В бит-ориентированных операциях операнд b принимает значения от 0 до 7.
3. В литеральных операциях и операциях управления, кроме оговоренных случаев, операнд k принимает значения от 0 до 255.
Обозначения:
С: Carry bit - бит переноса / заема (для команд ADDWF, ADDLW, SUBLW, SUBWF)
(для заема полярность инверсная):
1 - в результате операции имеет место выход переноса из наиболее значащего бита результата;
0 - нет переноса из наиболее значащего бита результата.
DC: Digit Carry bit - бит десятичного переноса /заема (для команд ADDWF, ADDLW,SUBLW, SUBWF) (для заема полярность инверсная ) :
1 - выход переноса из 4-го младшего бита при образовании результата;
0 - выход переноса из 4-го младшего разряда результата
Z - Zero bit - бит результата:
1 - результат арифметической или логической операции есть 0;
0 - результат арифметической или логической операции есть не 0;
\ - инверсия
W/f - результат помещается в регистр W, если d=0, и в регистр f, если d=1
3. ОПИСАНИЕ СТРУКТУРНОЙ СХЕМЫ СТАНЦИИ ЛВС
Структурная схема станции ЛВС представлена на рис.3.1.[1]
В состав станции входят следующие устройства:
-
центральный процессорный элемент (ЦПЭ);
-
постоянное запоминающее устройство (ПЗУ);
-
системное ОЗУ;
-
контроллеры прерываний (Прер);
-
контроллер прямого доступа к памяти (КПДП);
-
ОЗУ для приема (ОЗУ ПР) и выдачи пакетов (ОЗУ ПД);
-
схема синхронизации (СИ);
-
коммутатор-мультиплексор (КМ);
-
схема сравнения адресов (Ср.А);
-
буферный регистр принимаемой информации (БРПИ);
-
буферный регистр выдаваемой информации (БРВИ);
-
схема дешифрации манчестерского кода (ДМК);
-
схема формирования манчестерского кода (ФМК);
-
формирователь-усилитель (ФУ);
-
порт ввода-вывода информации;
-
схема выделения ограничителей кадра (ВОК);
-
схема формирования ограничителей кадра (ФОК);
-
магистральный усилитель приема (МПР);
-
магистральный усилитель передачи (МПД);
-
регистр состояния блока сопряжения с физической средой (РСБС);
-
схема управления блоком сопряжения с физической средой.
Работает схема следующим образом. В режиме приема кадра ЦПЭ активизирует схему приема и далее данные поступают в ОЗУ ПР без участия процессора под управлением КПДП. Передача кадра в среду также проходит под управлением КПДП. Процессор должен лишь инициировать ее. ОЗУ ПД пакетов предназначено для временного хранения пакетов, сформированных станцией и предназначенных для выдачи в сеть связи.