Однокристальные микроконтроллеры семейства PIC16C5X - раздел Высокие технологии, Однокристальные микроконтроллеры ОМК позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем 2.2.1. Структурная Организация Микроконтроллеров Pic16C5X
Осо...
2.2.1. Структурная организация микроконтроллеров PIC16C5X
Особенности архитектуры и структурная схема. Структурная схема ОМК PIC16C5X показана на рис. 2.1. Основу структуры данного микроконтроллера составляют две внутренние шины: двунаправленная 8-битная шина данных и 12-битная шина команд. Это соответствует, как уже упоминалось ранее, Гарвардской архитектуре, основанной на концепции раздельных шин и областей памяти для данных и команд Шина данных связывает между собой все основные функциональные блоки МК:
память данных (ОЗУ); арифметико-логическое устройство (ALU); порты ввода/вывода (Port A, B и С); регистры состояния (Status), косвенной адресации (FSR), таймера-счетчика (RTCC/TMRO), программного счетчика (PCL).
Регистры разделяются на две функциональные группы: специаль-ные регистры и регистры общего назначения. Специальные регистры включают в себя регистр таймера/счетчика реального времени (TMRO/RTCC), счетчик команд (PC), регистр состояния (STATUS), регистры ввода/ вывода (PORT) и регистр косвенной адресации (FSR). Кроме того, специальные регистры (TRIS) управляют конфигурацией портов ввода-вывода и режимом предварительного делителя (OPTION). Регистры общего назначения (Register File) используются программой для хранения переменных по усмотрению пользователя. В микроконтроллерах семейства Р1С 16С5Х существуют прямая и косвенная адресация всех регистров и ячеек памяти. Все специальные регистры и счетчик команд также отображаются на память данных.
Микроконтроллеры Р1С16С5Х имеют ортогональную (симметричную) систему команд, позволяющую выполнять любую операцию с любым регистром, используя любой метод адресации. Это облегчает программирование для них и значительно уменьшает время, необходимое на обучение работе с ними.
В микроконтроллерах Р1С16С5Х имеется 8-разрядное арифметико-логическое устройство (АЛУ) и рабочий регистр W. АЛУ выполняет сложение, вычитание, сдвиг, битовые и логические операции. В командах, имеющих два операнда, одним из операндов является рабочий регистр W. Второй операнд может быть константой или содержимым любого регистра ОЗУ. В командах с одним операндом, операнд может быть содержимым рабочего регистра или содержимым любого регистр. Для выполнения всех операций АЛУ используется рабочий регистр W, который не может быть прямо адресован. В зависимости от результата выполнения операции, могут измениться значения битов переноса С, десятичного переноса DC и нуля Z в регистре состояния STATUS. При вычитании биты С и DC работают как биты заема и десячного заема, соответственно. В описании команд SUBWF и ADDWF приведены необходимые примеры [8, 10, 11].
В состав микроконтроллеров PIC16C5X входит еще целый ряд функциональных блоков и узлов, таких, например, как: ПЗУ/ППЗУ прог-рамм (EPROM), счетчик команд или программный счетчик (PC), стек (Stack 1,2), регистры управления портами ввода/вывода (TRIS A,B,C ), сторожевой таймер Watch Dog Timer (WDT), предварительный делитель (Prescaler) для WDT и TMRO/RTCC, ячейка (слово) конфигурации (Configuration EPROM), топологические расположенное в ПЗУ программ, блок генераторов тактовых последовательностей и сигналов управления (Oscillator Timing & Control).
Входная тактовая частота, поступающая с вывода OSC1/CLKIN, внутри делится на четыре и из нее формируются четыре циклические не перекрывающиеся тактовые последовательности Q1, Q2, Q3 и Q4. Счетчик команд увеличивается в такте Q1, команда считывается из памяти программы и защелкивается в регистре команд в такте Q4. Команда декодируется и выполняется в течение последующего цикла в тактах Q1...Q4.
Выборка команды и ее выполнение совмещены по времени таким образом, что выборка команды занимает один цикл, а выполнение следующий цикл. Эффективное время выполнения команды составляет один цикл. Если команда изменяет счетчик команд (например, команда GOTO), то для выполнения этой команды потребуется два цикла. Цикл выборки начинается с увеличения счетчика команд в такте Q1. В цикле выполнения команды выбранная команда защелкивается в регистр команд в такте Q1. В течение тактов Q2, Q3 и Q4 происходит декодирование и выполнение команды. В такте Q3 считывается память данных (чтение операнда), а запись происходит в такте Q4. Таким образом, цикл выполнения команды (рис. 2.2) состоит из 4-х тактов Q1-Q4, в каждом из которых производятся различные, заранее определенные действия:
Q1 - Выборка определенной команды из памяти программ и ее декодирование или вынужденный NOP,
Q2 - Выборка данных или NOP,
Q3 - Выполнение команды и обработка данных,
Q4 - Запись данных или NOP.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
Q1
Q2
Q3
Q4
PC
OSC2/CLKOUT
(RC-генератор)
Рис. 2.2. Цикл выполнения команды
Рассмотрим последовательно основные элементы структуры а также особенности организации и функционирования МК.
2.2.2.Обозначение выводов и их функциональное назначение
Обозначение выводов PIC16C5X и их функциональное назначение приведены на рис. 2.3 а также в табл. 2.1 и 2.2.
Таблица 2.1.
Обозначение и функциональное назначение выводов ОМК
PIC 16C52/16C54/16C56/16C58
Наименова-ние
| DIP SOIC
| SSOP
| Тип
| Буфер
| Примечание
|
RAO
|
|
| I/O
| TTL
|
|
RA1
|
|
| I/O
| TTL
| Двунаправленный лорт ввода/вывода.
|
RA2
|
|
| I/O
| TTL
|
|
RA3
|
|
| I/O
| TTL
|
|
RBO
|
|
| I/O
| TTL
|
|
RB1
|
|
| I/O
| TTL
|
|
RB2
|
|
| I/O
| TTL
|
|
RB3
|
|
| I/O
| TTL
| Двунаправленный порт ввода/вывода,
|
RB4
|
|
| I/O
| TTL
|
|
RB5
|
|
| I/O
| TTL
|
|
RB6
|
|
| I/O
| TTL
|
|
RB7
|
|
| I/O
| TTL
|
|
TOCKI
|
|
|
| ST
| Вход таймера TMRO.
|
МСLR/
Vpp.
|
|
|
| ST
| Вход сброса/напряжение
программирования. Сброс низким уровнем
|
OSC1/
CLKIN
|
|
|
| ST
| Вход генератора/внешняя тактовая частота.
|
OSC2/
CLKOUT
|
|
|
| —
| Выход генератора. Подключается к
резонатору. В режиме RC выход ¼
тактовой частоты OSC1.
|
vdd
|
| 15,16
| Р
| —
| Положительное напряжение питания.
|
Vss
|
| 5,6
| Р
| —
| Общий вывод.
|
Таблица 2.2
Обозначение и функциональное назначение выводов ОМК
PIC 16C55/16C57
Наименование
| DIP SOIC
| SSOP
| Тип
| Буфер
| Примечание
|
RAO
|
| .5
| I/O
| TTL
|
|
RA1
|
|
| I/O
| TTL
| Двунаправленный порт ввода/вывода.
|
RA2
|
|
| I/O
| TTL
|
|
RA3
|
|
| I/O
| TTL
|
|
RBO
|
|
| I/O .
| TTL
|
|
RB1
|
|
| I/O
| TTL
|
|
RB2
|
|
| I/O
| TTL
|
|
RB3
|
| 1.2
| I/O
| TTL
| Двунаправленный порт ввода/вывода.
|
RB4
|
|
| I/O
| TTL
|
|
RB5
|
|
| I/O
| TTL
|
|
RB6
|
|
| I/O
| TTL
|
|
RB7
|
|
| I/O
| TTL
|
|
RC0
|
|
| I/O
| TTL
|
|
RC1
|
|
| I/O
| TTL
|
|
RC2
|
|
| I/O
| TTL
|
|
RC3
|
|
| I/O
| TTL
| Двунаправленный порт ввода/вывода.
|
RC4
|
|
| I/O
| TTL
|
|
RC5
|
|
| I/O
| TTL
|
|
RC6
|
|
| I/O
| TTL
|
|
RC7
|
|
| I/O
| TTL
|
|
TOCKI
|
|
| I
| ST
| Вход таймера TMRO.
|
MCLR/Vpp
|
|
| I
| ST
| Вход сброса/напряжение
программирования. Сброс низким уровнем.
|
OSC1/
CLKIN
|
|
| I
| ST
| Вход генератора/внешняя тактовая частота.
|
OSC2/
CLKOUT
|
|
|
| -
| Выход генератора. Подключается к
резонатору. В режиме RC выход 1/4 тактовой частоты OSC1.
|
vdd
|
| 3,4
| Р
| -
| Положительное напряжение питания.
|
Vss
|
| 1,14
| Р
| -
| Общий вывод.
|
N/C
| 3,5
| -
| -
| -
| Не используются.
|
Обозначения: I - вход, O - выход, I/O - вход/выход, Р - питание, — - не используется, TTL - вход ТТЛ, ST - вход с триггером Шмидта.
PDIP, SOIC, CERDIP, Windov
RA2 RA1 RTCC /MCLR
RA3 RA0 Vdd OSC1
RA4 OSC1 n / c OSC2
/MCLR OSC2 Vss RC7
Vss Vdd n / c RC6
RB0 RB7 RA0 RC5
RB1 RB6 RA1 RC4
RB2 RB5 RA2 RC3
RB3 RB4 RA3 RC2
RB0 RC1
RB1 RC0
RB2 RB7
RB3 RB6
RB4 RB5
Рис. 2.3. Расположение выводов PIC16C5X.
2.2.3.Организация памяти программ
Память программ (ПЗУ/ППЗУ) имеет страничную организацию (рис.2.4). Объем одной страницы 512 байт поэтому прямая адресация памяти программ в семействе Р1С16С5Х возможна в пределах 512 байт. Микроконтроллеры PIC 16C5X имеют одну, две или четыре страницы памяти программ для хранения 12-ти разрядных кодов команд (512X12, 1024Х12, 2048Х12). В соответствии с этим все ОМК данного семейства можно разделить на три группы. Доступ к памяти свыше 512 байт осуществляется после переключения на соответствующую страницу памяти. Микроконтроллеры PIC16C52/54/C54A/CR54/CR54A/CR54B/C55 имеют одну страницу памяти программы, PIC16C56/CR56 имеет 2 страницы по 512 байт, PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B имеют 4 страницы по 512 байт каждая.
GOTO, CALL и команды, модифицирующие PC……..из PA1 STATUS<6>
GOTO, CALL и команды, модифицирующие PC……..из PA1 STATUS<5>
GOTO, CALL……………………...из команды
Команды, модифицирующие PC…...всегда ‘0’
GOTO, CALL……………...из команды
Команды, модифицирующие PC…..из АЛУ
9-11 бит
2 1 8
00 0FF
Страница 0 100
17F PIC16C52
1FF PIC16C54/C54A/CR54/CR54A/CR54B/C55
Страница 1 2FF
3FF PIC16C56/CR56
Страница 2 4FF
5FF
Страница 3 6FF
7FF PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B
Рис. 2.4. Организация памяти программ
2.2.4. Организация памяти данных
Память данных (ОЗУ) также имеет страничную организацию (рис. 2.5). Она состоит максимум из 4-х банков (0...3). Причем, банки в различных типах PIC могут иметь различные объемы. Минимальный объем банка 16 байт, а максимальный 32 байта.
Адрес
регистра 7 6 5 4 3 2 1 0
00 CALL
01 RETLW 10 9 8 7 6 5 4 3 2 1 0 10 9 8 7 6 5 4 3 2 1 0
04 7 6 5 4 3 2 1 0
06 5 4 3 2 1 0
0A Регистры К регистрам
0B общего через АЛУ
0C назначения
0D
0E От памяти программы
0F Биты 6,5 FSR: Выбор банка
(только для PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B)
00 01 10 11
11 30 50 70
17 Регистры общего назначения
18 (только для PIC16C57/CR57A/CR57B/C58A/CR58A/CR58B)
1A
1B
1C
1D
1E Банк 1 (***) Банк 2 (***) Банк 3 (***)
1F 3F 5F 7F
(*) - Регистр физически не существует
(**) - Регистр 07h для PIC16C52/C54/C56 используется как регистр общего назначения
(***) - Банк 0 доступен во всех микроконтроллерах семейства PIC16C5X. Банки 1, 2, 3 доступны только в PIC16C57/58.
Все темы данного раздела:
Формализация проектирования МК-систем и устройств
1.1.1. Блочно-иерархический подход
При проектировании микроконтроллерных устройств (МКУ) или систем (МКС) можно использовать блочно-иерархический под
Уровни и аспекты проектирования МКС
Уровни
Аспекты
Функциональ-
ный
Алгоритмичес-
кий
Конструкторс-
кий
Технологичес-
Типовые структуры МК-систем и устройств
Типовая структура МК-системы управления показана на рис. 1.3 и состоит из объекта управления, микроконтроллера и аппаратуры их взаимной связи (АВС).
Микроконтроллер путем п
Использование жесткой и программируемой логики
Существует два принципиально разных подхода к проектированию цифровых устройств: использование принципа схемной логики или использование принципа программируемой логики.
В
Проектируемых систем и устройств
На системном и архитектурном уровнях проектирования МКС и МКУ всегда необходимо решать задачу выбора ОМК. В настоящее время выпускается большое количество различных типов ОМК такими
Особенности разработки аппаратурных средств МК-систем
Применение однокристальных МК в устройствах управления объ-ектами привело к кардинальных изменениям в разработке аппаратурных средств устройств и систем. И дело здесь заключается в
МК-систем
Как уже отмечалось, при проектировании МК-систем прежде всего возникает необходимость решения задачи об оптимальном (по ряду критериев) распределении функций между аппаратурными средствами и програ
СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И РЕЖИМЫ РАБОТЫ ОМК С RISC АРХИТЕКТУРОЙ
2.1. Общие сведения об ОМК PIC16/17 и их классификация
В 1975 году фирма GI разработала периферийный контроллер (Peripheral Interface Contr
FSR - Регистр косвенной адресации
RP1, RP0 – Биты 6 и 5 регистра FSR, соответственно
Рис. 2.6. Прямая и косвенная адресация
Существуют некоторые отличия при осущест
Окончание таблицы 2.7
Мнемокод
Название команды
Цик
лы
Код команды
(11-бит)
Биты
сос
тоя-
ния
При-
меча-
ния
Особенности структурной организации ОМК PIC 16С71
Микроконтроллеры PIC 16С71 относятся к расширенному семейству и имею целый ряд отличий от МК базового семейства PIC 16С5Х главным 0из которого является наличие встроенного четырехканального анал
Обозначение выводов и их функциональное назначение
PDIP, SOIC, CERDIP
Организация памяти данных (ОЗУ)
Память данных также как и в PIC 16С5Х имеет страничную организацию, но состоит всего из 2-х страниц (рис.3.3). Причем, страницы в различных модификациях данного МК имеют различные о
Описание специальных регистров PIC 16С71
Адрес
Имя
Бит 7
Бит 6
Бит 5
Бит 4
Бит 3
Бит 2
Бит 1
Модуль таймера (TMRO-RTCC)
Единственным отличием данного модуля от аналогичного в PIC 16С5Х является возможность формирования сигнала прерывания.
Прерывание по RTCC вырабатывается тогда, когда происх
Регистр статуса (STATUS)
Отличается от аналогичного регистра PIC 16С5Х лишь тем, что вместо трех бит выбора страниц памяти программ РА2, РА1, РА0 в соответствующих разрядах 7,6 и 5 размещаются биты выбора страницы памят
Программный счетчик и организация памяти программ
Программный счетчик в PIC16C71 имеет ширину 13 бит и способен адресовать 8К х 14бит объема программной памяти. Однако, физически на кристалле PIC16C71/711 имеется только 1К х 14
Прерывания
Прерывания в PIC16C71 могут быть от четырех источников:
- внешнее прерывание с ножки RB0/INT,
- прерывание от переполнения счетчика/таймера RTCC,
- прерыв
Модуль аналого-цифрового преобразователя (АЦП)
Модуль АЦП (рис. 3.10) содержит четыре входных аналоговых канала AIN3, AIN1, AIN2 и AIN3, мультиплексируемых на одну схему выборки/хранения и далее на АЦП. Опорное напряжение поступ
Состояние специальных регистров после сброса
Адрес
Имя
Сброс
по включению питания
Сброс
по MCLR и WDT
Банк 0
00h
Регистр OPTION
Регистр конфигурации предделителя и таймера (OPTION) доступен для чтения и записи и содержит различные управляющие биты, которые определяют конфигурацию предделителя, куда он подклю
Биты установки конфигурации
Кристалл PIC16C71 имеет пять битов конфигурации, которые хранятся в EPROM и устанавливаются на этапе программирования кристалла. Эти биты могут быть запрограммированы (читается как "0"
Режим пониженного энергопотребления
Вход в режим SLEEP осуществляется командой SLEEP. По этой команде, если WDT разрешен, то он сбрасывается и начинает счет времени, бит »в регистре статуса (f3) сбрасывается, бит
Система команд
Каждая команда PIC16C71 представляет собой 14‑разрядное слово, содержащее поле кода операции (OPCODE) и поле одного или более операндов, которые могут участвовать в этой команде. Формат ко
Особенности программирования
Разработка рабочих программ для микроконтроллеров PIC16C5X и PIC16C71 осуществляется по одной и той же методике с использованием одних и тех же инструментальных средств [7, 8, 10, 11]. Системы к
Особенности структурной организации PIC 16С84
Структурная схема ОМК PIC 16С84 (16F84) приведена на рис.4.1. Главным отличием данного МК от PIC 16С71 является наличие электрически перепрограммируемой памяти данных-констант EEPRO
Обозначение выводов и их функциональное назначение
Расположение и обозначение выводов ОМК PIC 16С84 полностью совпадает с PIC 16С71 за исключением того, что ножки RA0, RA1, RA2, RA3 в связи отсутствием АЦП представляют собой лишь дв
Долговременная память данных-констант EEPROM
Память данных-констант EEPROM позволяет прочитать и записать байт информации. При записи байта автоматически стирается предыдущее значение и записывается новое (стирание перед записью). Все эти
Описание специальных регистров PIC 16F84
Адрес
Имя
Бит 7
Бит 6
Бит 5
Бит 4
Бит 3
Бит 2
Бит 1
Организация прерываний
Прерывания в PIC 16С84 организованы точно также как и в PIC 16С71 (см. разд. 3.8). Но, вместо прерывания от АЦП (в связи с его отсутствием) введено прерывание по окончании записи да
Состояние специальных регистров после сброса
Адрес
Имя
Сброс по включению питания
Сброс по MCLR и WDT
Банк 0
00h
МЕТКА ОПЕРАЦИЯ ОПЕРАНД(Ы) КОММЕНТАРИЙ
Звенья (поля) могут отделяться друг от друга произвольным числом пробелов. Порядок и позиция полей важны. Так, метки должны начинаться в первом столбце. Операция (мнемоника команды)
Использование программы-транслятора MPASM
5.5.1. Запуск транслятора
Для того, чтобы запустить транслятор необходимо выбрать курсором MPASM.EXE и нажать "Ввод". На экране появится ме
Отладка рабочих программ
После получения объектоного кода рабочей программы неизбежно наступает этап отладки, то есть установления факта ее работоспособности, а также выявления (локализации) и устранения ош
Использование симулятора-отладчика MPSIM
5.7.1. Последовательность действий при запуске
Данный симулятор позволяет промоделировать работу рабочей программы и проверить выполнение соответству
Назначение команд
После запуска MPSIM необходимо выбрать контролируемые регистры в области просмотра на экране монитора. Для этого можновоспользоваться следующими командами:
AD - позволя
RS ; Перезагрузить процессор
Приведенный пример является стандартным и может быть использован в качестве INI-файла для вашей программы, адреса регистров для просмотра выберите соответственно своему приложению.
Назначение и основные функциональные возможности
Интегрированная среда разработки рабочих программ MPLAB 3.30 представляет собой набор программ, объединенных в единый пакет , который содержит:
- редактор (Editor Only);
- ассембл
Краткая характеристика основных программ
6.2.1. Ассемблер MPASM
Универсальный макроассемблер MPASM - это символьный ассемблер, который поддерживает разработку рабочих программ для всех семей
Интерфейс пользователя и главное меню интегрированной среды MPLAB 3.30
Интерфейс пользователя интегрированной среды MPLAB 3.30 представляет собой многоуровневую систему вложенных меню, позволяющих быстро и удобно задать нужный режим работы и сконфигури
Меню основного пакета программ.
Меню основного пакета программ содержит следующие пункты (подменю): File, Project, Edit, Debug, Picmaster, Option. Каждый пункт содержит ряд команд, которые выполня
Меню File
Команды (опции) меню File позволяют разработчику просматривать тексты программ, загружать и редактировать их, сохранять на носителе и распечатывать их, переименовывать, а также выйти из оболочки
MPLAB 3.30
6.7.1. Постановка задачи и алгоритм ее решения
Возьмем для примера следующую, достаточно часто встречающуюся на практике, задачу,
ВВОД ИНФОРМАЦИИ С ДАТЧИКОВ И ФОРМИРОВАНИЕ СИГНАЛОВ УПРАВЛЕНИЯ
В технических системах различного назначения события в объекте управления фиксируются с помощью разнообразных датчиков цифрового и аналогового типов.
Наибольшее распростран
Импульсов заданной длительности.
Пусть, например, необходимо с помощью микроконтроллера PIC16F84 осуществить опрос двоичного датчика и, в зависимости от его состояния, либо организовать процедуру «ожидан
Ввод информации с группы взаимосвязанных двоичных датчиков
7.2.1. Ввод байта состояния одного датчика
Пусть, например, необходимо ввести байт состояния датчика дискретных сигналов (Di), сравнить его с уставкой, хр
ПРЕОБРАЗОВАНИЕ ИНФОРМАЦИИ ИЗ ОДНОЙ ФОРМЫ ПРЕДСТАВЛЕНИЯ В ДРУГУЮ
Довольно часто в микроконтроллерных устройствах возникает необходимость преобразования информации из одной формы представления в другую. Это связано с тем, что обработка данных в ми
Преобразование кодов из одной системы счисления в другую
Преобразование кода из одной позиционной системы счисления в другую осуществляется делением исходного числа на основание новой системы счисления. При этом деление должно выполнятся
Статических сигналов
Рассмотрим пример, в котором необходимо ввести от 2-х независимых датчиков аналоговые сигналы постоянного тока (U1 и U2), выполнить сравнение их между собой и по результатам сравнения осуществит
ОТОБРАЖЕНИЕ ИНФОРМАЦИИ В МКУ.
Во многих случаях в микроконтроллерных устройствах требуется наличие только простой индикации типа ДА/НЕТ, ВКЛ/ВЫКЛ. Такая индикация реализуется на основе отдельных светодиодов.
Для отобра
Изучение пакета MPLAB
1. ЦЕЛЬ
На примере микроконтроллера PIC16C56 выучить режимы работы портов ввода/вывода, способы и особенности их инициализации. Рассмотреть ввод/вывод дискретных сигналов.
Режимы работы таймера. Сторожевой таймер (WDT)
1. ЦЕЛЬ
Выучить основные режимы функционирования таймера, способы и особенности его инициализации, варианты использования и настройки предыдущего делителя, функционирования сторожевого тай
Страничная организация памяти
1. ЦЕЛЬ
Выучить способы формирования временных интервалов разной длительности, организацию страничной памяти программ и данных.
2. ЗАДАНИЕ ПО ЛАБОР
Организация и использование памяти данных.
1. ЦЕЛЬ
Выучить страничную организацию памяти данных. Научиться использовать режим непрямой адресации ячейки памяти данных. Выучить организацию и способы доступа к енергоне
Собственные обработчики прерываний
1. ЦЕЛЬ
Выучить систему прерываний микроконтроллера PIC16F84, способы формирования прерываний, использования обработчиков нескольких прерываний.
2.
Формирование сигналов управления и индикации
1. ЦЕЛЬ
Приобрести навык составления функциональной схемы. Выучить способы формирования сигналов управления и индикации, научиться формировать звуковые и световые сигналы н
В мк семейства PIC16Cxx
1. ЦЕЛЬ
Выучить принцип работы аналого-цифрового преобразователя на примере микроконтроллера PIC16C71. Научиться вводить аналоговые сигналы. Рассмотреть способы вывода анал
Семейства PIC
Таблица А.1
Название
Память
программ
RAM/
EE
Fm
I/O
Таймер
CCP/
PWM
B1. Описание команд PIC 12CXX и PIC 16C5X
ADDWF Add Wand f
Сложение W с f
Синтаксис: ADDWF f,d
Операнды: 0<=3<=1, [0,1]
Операция: (W)+(f) -> (dest)
Биты с
Пропустить команду, если бит равен нулю
Синтаксис: BTFSC f,b
Операнды: 0<=31, 0<=Ь<=7
Операция: Пропустить, если f(b)=0.
Биты состояния: Не изменяются.
КОД: 0110 bbbf ffff
Описание: Е
Пропустить команду, если бит равен единице
Синтаксис: BTFSS f,b
Операнды: 0<=f<=31, 0<=b<=7
Операция: Пропустить, если f(b)=1.
Биты состояния: Не изменяются.
КОД: 0111 bbbf ffff
Описа
Вызов подпрограммы
Синтаксис: CALL k
Операнд: 0<=k<=255
Операция: (PC)+1->TOS, k->PC<7:0>, (STATUS<6:5>)->PC<10:9>, 0->PC<8>
Биты состояния: Не изм
Сброс сторожевого таймера WDT
Синтаксис: CLRWDT
Операнд: Нет.
Операция: 00h->WDT, 0->WDT prescaler, 1->TO, 1->PD
Биты состояния: ТО, PD
Код: 0000 0000 0100
Описание: Кома
Инверсия регистра f
Синтаксис: COMF f,d
Операнды: 0<=f<=31, [0,1]
Операция: (f)->(dest)
Биты состояния: Z
КОД: 0010 01df ffff
Описание: Содержимое регистра f инвер
Декремент регистра f
Синтаксис: DECF f,d
Операнды: 0<=f<=31, [0,1]
Операция: (f) - 1->(dest)
Биты состояния: Z
Код: 0000 11df ffff
Описание: Регистр f уменьшается н
Декремент f, пропустить команду, если 0
Синтаксис: DECFSZ f,d
Операнды: 0<=f<=31, [0,1 ]
Операция: (f)—1->(dest); пропустить, если (dest)=0
Биты состояния: Не изменяются.
КОД: 0010 11df ffff
Переход по адресу
Синтаксис: GOTO k
Операнд: 0<=k<=511
Операция: k->PC<8:0>, (STATUS<6:5>)->PC<8:9>
Биты состояния: Не изменяются.
Код: 101k kkkk kkk
Инкремент регистра f
Синтаксис: INCF f,d
Операнды: 0<=f<=31, [0,1]
Операция: (f)+1->(dest)
Биты состояния: Z
Код: 0010 10df ffff
Описание: Регистр f увеличивается н
Инкремент f, пропустить команду, если 0
Синтаксис: INCFSZ f,d
Операнды: 0<=f<=31, [0,1]
Операция: (f)+1->(dest); пропустить, если (dest)=0
Биты состояния: Не изменяются.
КОД: 0011 11df ffff
Логическое ИЛИ W и f
Синтаксис: IORWF f,d
Операнды: 0<=f<=31, [0,1]
Операция: (W).OR.(f)->(dest)
Биты состояния: Z
КОД: 0001 00df ffff
Описание: Содержимое регистра
Пересылка регистра f
Синтаксис: MOVF f,d
Операнды: 0<=f<=31, [0,1]
Операция: (f)->(dest)
Биты состояния: Z
КОД: 0010 00df ffff
Описание: Содержимое регистра f перес
Холостая команда
Синтаксис: NOP
Операнд: Нет.
Операция: Нет.
Биты состояния: Не изменяются
Код: 0000 0000 0000
Описание: Нет операции.
Циклов: 1
Пример
Сдвиг f влево через перенос
Синтаксис: RLF f,d
Операнды: 0<=f<=31, [0,1]
Операция: f<n>->d<n+1>, f<7>->C, C->d<0>
Биты состояния: С
КОД: 0011 01df fff
Сдвиг f вправо через перенос
Синтаксис: RRF f,d
Операнды: 0<=f<=31, [0,1]
Операция: t<n>->d<n-1>, f<0>->C, C->d<7>
Биты состояния: С
Код: 001111df ffff
Переход в режим SLEEP
Синтаксис: SLEEP
Операнд: Нет
Операция: 00h->WDT, 0->WDT prescaler, 1->TO, 0->PD
Биты состояния: ТО, PD
Код: 0000 0000 0011
Описание: Команд
Вычитание W из f
Синтаксис: SUBWF f,d
Операнды: 0<=f<=31, [0,1]
Операция: (f) - (W)->(dest)
Биты состояния: С, DC, Z
КОД: 0000 10df ffff
Описание: Содержимое ре
Обмен тетрад в f
Синтаксис: SWAPF f,d
Операнды: 0<=f<=31, [0,1]
Операция: f<0:3>->d<4:7>, f<4:7>->d<0:3>
Биты состояния: Не изменяются.
Код: 0
Загрузка регистра
Синтаксис: TRIS f
Операнд: 5<=f<=7
Операция: (W)->TRIS register f
Биты состояния: Не изменяются.
Код: 0000 0000 0fff
Описание: Содержимое регис
Исключающее ИЛИ константы и W
Синтаксис: XORLW k
Операнд: 0<=k<=255
Операция: (W).XOR.(k)->W
Биты состояния: Z
Код: 1111 kkkk kkkk
Описание: Содержимое регистра W поразрядно
B.2.Описание дополнительных команд для семейства PIC 16СХХ
RETFIE
Return from Interrupt
Возврат из прерывания
Синтаксис:
[label] RETFIE
Операн
Контрольные задачи
1. Предложите микроконтроллерное устройство позволяющее осуществить опрос двоичного датчика и, в зависимости от его состояния, либо организовать процедуру «ожидания события», либо сформировать и вы
И их отличия от микроконтроллеров PIC 16CХХ
Семейство однокристальных микроконтроллеров PIC 12CХХ состоит из самых простых МК с RISC архитектурой. Все микроконтроллеры данного семейства имеют только 33 12-ти разрядных команды
F2. Отличия ОМК PIC 17CХХ от PIC 16CХХ.
Микроконтроллеры PIC 12C67X и PIC 12F68X представляют собой упрощенные модификации PIC 16C71 и PIC 16F84 соответственно, но без механизма прерываний. Так микроконтроллеры PIC 12C6X
G2. Совместимость PIC 17CXX и PIC 16CXX.
Чтобы преобразовать текст программ PIC 16CXX для использования в PIC 17CXX, нужно выполнить следующее:
1. Удалить все команды OPTION и TRIS, заменив их эквивалентными.
2. Разделит
ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ ТЕХНИЧЕСКИХ СИСТЕМ
И УСТРОЙСТВ НА МИКРОКОНТРОЛЛЕРАХ……………………………
1.1. Формализация проектирования МК-систем и устройств…………………
1.1.1. Блочно-иерархический подход……………………………………………
СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И РЕЖИМЫ РАБОТЫ ОМК С RISC-АРХИТЕКТУРОЙ
2.1. Общие сведения об ОМК PIC16/17 и их классификация……………………
2.2. Однокристальные микроконтроллеры семейства PIC16C5X……………….
2.2.1. Структурная организация микроконтроллеров PIC
ДЛЯ ОМК PIC
5.1. Правила записи программ на языке Ассемблера . . . . . . . . . . . . .
5.2. Структура рабочей программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Пример н
ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ РАБОЧИХ ПРОГРАММ MPLAB 3.30 ДЛЯ ОТЛАДКИ ОМК PIC
6.1. Назначение и функциональные возможности . . . . . . . . . . . . . . . . .
6.2. Краткая характеристика основных программ . . . . . . . . . . . . . . . . .
6.2.1. Ассемблер MPA
Система прерываний МК PIC16F84. Собственные обработчики прерываний
10.6. Формирование сигналов управления и индикации
10.7. Ввод и вывод аналоговых сигналов в МК семейства pic16cxx
Приложение А. Сравнительные характеристики ОТР ми
Новости и инфо для студентов