Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом З-49 Исправлен.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

4.4.2 Структура микроконтроллера pic16f84

Архитектура основана на концепции раздельных шин и областей памяти для данных и для команд (Гарвардская архитектура).

Рисунок 2.4- Архитектуры микроконтроллеров

Шина данных и память данных (ОЗУ) - имеют ширину 8 бит, а программная шина и программная память (ПЗУ) имеют ширину 14 бит. Такая концепция обеспечивает простую, но мощную систему команд, разработанную так, что битовые, байтовые и регистровые операции работают с высокой скоростью и с перекрытием по времени выборок команд и циклов выполнения. 14-битовая ширина программной памяти обеспечивает выборку 14-битовой команды в один цикл. Двухступенчатый конвейер обеспечивает одновременную выборку и исполнение команды. Все команды выполняются за один цикл, исключая команды переходов. В PIC16F84 программная память объемом 1К14 расположена внутри кристалла. Исполняемая программа может находиться только во встроенном ПЗУ.

Командный цикл выполняется за четыре такта. Эти четыре такта называют Q1, Q2, Q3 и Q4. Тактирование производится со входа OSC1. На Q1 инкрементируется счетчик программы (PC). Остальные три такта инструкция копируется из программной памяти в командный регистр.

Одновременно, в течение всего цикла выполняется инструкция, помещенная в командный регистр за прошлый цикл.

Рисунок 2.5 – Диаграмма командных циклов

4.4.3 Способ подключения кварца и цепей начального сброса

Контроллер питается от напряжения от 4.5 до 5.5 Вольт, потребляет от 2 до 100 мА (сильно зависит от тактовой частоты и подключенных нагрузок). Вывод MCLR должен быть подключен к питанию, иначе контроллер будет находиться в режиме 'сброс'. Частота кварцевого резонатора является тактовой частотой. Используйте только кварцы с первой гармоникой.

Рисунок 2.6 – Схема подключения кварца к микроконтроллеру PIC16F84

Таблица 1- Набор команд PIC микроконтроллеров семейства PIC16F84

Мнемоника

Описание

Циклы

Флаги

1

2

3

4

Байт-ориентированные команды

ADDWF f,d

Сложение W с f

1

C,DC,Z

ANDWF f,d

Логическое "И" W с f

1

Z

CLRF f

Сброс регистра f

1

Z

CLRW

Сброс регистра W

1

Z

COMF f,d

Инверсия регистра f

1

Z

DECF f,d

Декремент регистра f

1

Z

DECFSZ f,d

Декремент f, пропустить команду, если 0

1(2)

Z

INCF f,d

Инкремент регистра f

1

Z

INCFSZ f,d

Инкремент f, пропустить команду, если 0

1(2)

Z

IORWF f,d

Логическое "ИЛИ" W c f

1

Z

MOVF f,d

Пересылка регистра F

1

Z

MOVWF f

Пересылка W в F

1

NOP

Холостая команда

1

RLF f,d

Вращение f влево через перенос

1

C

RRF f,d

Вращение f вправо через перенос

1

C

SUBWF f,d

Вычитание W из f

1

C,DC,Z

SWAPF f,d

Обмен местами тетрад в f

1

XORWF f,d

Исключающее "ИЛИ" W и f

1

Z

Операции с константами и управляющими регистрами

ADDLW k

Сложение константы с W

1

C,DC,Z

ANDLW k

Логическое "И" константы и W

1

Z

IORLW k

Логическое "ИЛИ" константы и W

1

Z

SUBLW k

Вычитание W из константы

MOVLW k

Пересылка константы в W

1

XORLW k

Исключающее "ИЛИ" константы и W

1

Z

OPTIONS

Загрузка OPTIONS регистра

1

4

TRIS f

Загрузка TRIS регистра

1

4

Бит-ориентированные команды

BCF f,b

Сброс бита b в регистре f

1

1,2

BSF f,b

Установка бита b в регистре f

1

1,2

BTFSC f,b

Пропустить команду, если бит b=0

1(2)

3

BTFSS f,b

Пропустить команду, если бит b=1

1(2)

3

Переходы

CALL k

Вызов подпрограммы

2

-

CLRWDT (k)

Сброс Watchdog таймера

1

/TO,/PD

GOTO k

Переход по адресу

2

-

RETLW k

Возврат из подпрограммы с загрузкой константы в W

2

-

RETFIE

Возврат из прерывания

2

-

RETURN

Возврат из подпрограммы

2

-

SLEEP

Переход в режим SLEEP

1

/TO,/PD