рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Однокристальные микроконтроллеры ОМК позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем

Однокристальные микроконтроллеры ОМК позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем - раздел Высокие технологии, Введение   О...

ВВЕДЕНИЕ

 

Однокристальные микроконтроллеры (ОМК) позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем. Они представляют собой, по сути, специализированные однокристальные микроЭВМ, содержащие для связи с внешней средой встроенные периферийные узлы и устройства, набор которых во многом определяет их функциональные возможности и области применения. Последнее повлекло за собой появление огромного разнообразия типов ОМК, которые выпускаются в настоящее время такими фирмами, как Intel, Motorola, Zilog, National, Mitsubishi Electric, Atmel, Scenix и рядом других. Однокристальные микроконтроллеры стали сегодня одним из самых распространенных элементов "программируемой логики". Более двух третей мирового рынка микропроцессорных средств в настоящее время составляют именно однокристальные микроконтроллеры.

Подавляющее число ОМК имеют традиционную (Фон-Неймановскую или Принстонскую) архитектуру, в которой команды и данные передаются по одной шине. Особый класс представляют собой микроконтроллеры, архитектура которых основана на концепции раздельных шин и областей памяти для данных и команд (Гарвардская архитектура). Данные микроконтроллеры имеют RISC-архитектуру, обеспечивающую простую, но мощную систему команд, которые выполняются за один цикл. К таким микроконтроллерам относятся, в частности, ОМК фирмы Microchip семейства PIC (12CXX, 16CXX, 17CXX).

В структуру ОМК семейства PIC заложено много различных функциональных особенностей, делающих их на сегодняшний день самыми высокопроизводительными, микропотребляющими, помехозащищенными, программируемыми пользователем 8-ми битными микроконтроллерами. Благодаря этим особенностям ОМК семейства PIC могут обрабатывать аппаратно-программным способом как дискретные, так и аналоговые сигналы, формировать различного рода управляющие сигналы, а также осуществлять связь между собой и с ЭВМ, находящейся на более высоком иерархическом уровне в системе.

Фирмой Microchip осуществляется мощная программная, аппаратная и информационная поддержка своих изделий через сеть Internet и широко разветвленную во всем мире дилерскую сеть. Однако до сих пор не было единого краткого пособия, которое бы включало в себя все аспекты (начиная с исходного ТЗ) разработки микроконтроллерных устройств (МКУ) на базе ОМК семейства PIC.

В первой части предлагаемого вниманию читателей учебника изложены особенности и методика проектирования технических систем и устройств на ОМК с RISC-архитектурой семейства PIC. Рассмотрены структурная организация различных семейств ОМК PIC и их наиболее "ярких" представителей (таких, например, как PIC16C5X, PIC16C71, PIC16F84 и т.п.).

Во второй части данного учебника основное внимание уделено технологии разработки и отладки рабочих программ для ОМК PIC на всех этапах, от постановки задачи к исполняемому объектному коду. При этом рассмотрены необходимые инструментальные средства (Ассемблер, Симулятор, Интегрированная среда). Приведены примеры разработки МКУ и их рабочих программ, которые, с целью лучшего усвоения материала, зачастую выполнены по принципу "читай и делай вместе с нами". Основное внимание уделено практической стороне разработки МКУ и их рабочих программ. Поэтому в приложениях, кроме контрольных вопросов и задач, приведены также справочные материалы, необходимые для практической работы.

Третья часть учебника содержит лабораторный практикум по МК и микроконтроллерным устройствам.

 


ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ ТЕХНИЧЕСКИХ СИСТЕМ И УСТРОЙСТВ НА МИКРОКОНТРОЛЛЕРАХ

 

Формализация проектирования МК-систем и устройств

1.1.1. Блочно-иерархический подход   При проектировании микроконтроллерных устройств (МКУ) или систем (МКС) можно использовать блочно-иерархический подход,…

Уровни и аспекты проектирования МКС

  Основные задачи функционально-логического и программного уровней: - детализация функций выполняемых каждым блоком и устройством;

Типовые структуры МК-систем и устройств

Типовая структура МК-системы управления показана на рис. 1.3 и состоит из объекта управления, микроконтроллера и аппаратуры их взаимной связи… Микроконтроллер путем периодического опроса осведомительных слов (ОС)…

Микроконтроллер с требуемой периодичностью обновляет управ-ляющие слова на своих выходных портах. Некоторая часть управляющего слова интерпретируется как совокупность прямых двоичных сигналов управления (СУ), которые через схемы формирователей сигналов (усилители мощности, реле, оптроны и т.п.) поступают на ис-полнительные механизмы (ИМ) и устройства индикации. Другая часть управляющего слова представляет собой упакованные двоичные коды, которые через цифро-аналоговые преобразователи (ЦАП) воздействуют на исполнительные механизмы аналогового типа.

 
 

 

 


УС ОС

 

 

СУ СС

 

 

Объект

управления или

регулируемый

процесс

 

 

Рис. 1.3.Типовая структура МК-систем и устройств на основе ОМК

 

Если объект управления использует цифровые датчики и цифровые исполнительные механизмы, то наличие ЦАП и АЦП в системе нео-бязательно.

В состав аппаратуры связи, которая, как правило, строится на интегральных схемах серии ТТЛ, входит регистр флагов, на котором фиксируется некоторое множество специфицируемых признаков как объекта управления, так и процесса работы контроллера.

Этот регистр флагов используется в качестве аппаратурного средства реализации механизма взаимной синхронизации относительно медленных и вероятностных процессов в объекте управления и быстрых процессов в контроллере. Регистр флагов доступен как контроллеру, так и датчикам. Вследствие этого он является удобным местом фиксации сигналов ГОТОВ/ОЖИДАНИЕ при передачах с квитированием или сигналов ЗАПРОС ПРЕРЫВАНИЯ/ПОДТВЕРЖДЕНИЕ при взаимодействии контроллера и объекта в режиме прерывания. Если МК-система имеет многоуровневую систему прерываний, то регистр флагов содержит схему упорядочивания приоритетов.

Для аппаратурной реализации временных задержек, формирования сигналов требуемой частоты и скважности в состав аппаратуры связи включают программируемые интервальные таймеры в том случае, если

их нет в составе МК или их число недостаточно.

Законы функционирования МК-системы управления со структурой, показанной на рис. 1.3, всецело определяются прикладной программой, размещаемой в резидентной памяти программ МК. Иными словами, специализация контроллера типовой структуры на решение задачи уп-равления конкретным объектом осуществляется путем разработки прикладных программ МК и аппаратуры связи МК с датчиками и испол-нительными механизмами объекта.

 

Использование жесткой и программируемой логики

Существует два принципиально разных подхода к проектированию цифровых устройств: использование принципа схемной логики или использование принципа… В первом случае в процессе проектирования подбирается некоторый набор цифровых… Эти обстоятельства заставляют обратиться к другому подходу в проектировании цифровых устройств, основанному на…

Обоснование применения и выбора семейства ОМК для

Проектируемых систем и устройств

На системном и архитектурном уровнях проектирования МКС и МКУ всегда необходимо решать задачу выбора ОМК. В настоящее время выпускается большое… Выбор ОМК для конкретного применения является наименее решенной из… ОМК является функционально сложным программно управляемым устройством, выполненном в виде БИС, и характеризуется…

Особенности разработки аппаратурных средств МК-систем

Применение однокристальных МК в устройствах управления объ-ектами привело к кардинальных изменениям в разработке аппаратурных средств устройств и… В результате этих структурных сдвигов объем трудозатрат на разработку… Таким образом, освященный традициями стереотип мышления, суть которого сводится к лозунгу "главное - это…

Особенности разработки прикладного программного обеспечения

МК-систем

При этом в самом общем случае необходимо исходить из того, что использование специализированных интерфейсных БИС упрощает разработку и обеспечивает… Довольно распространенная практика работы "тандемом", когда над… Работа "тандемом" в огромном большинстве случаев приводит к тому, что конечный пользователь МК-системы…

СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И РЕЖИМЫ РАБОТЫ ОМК С RISC АРХИТЕКТУРОЙ

2.1. Общие сведения об ОМК PIC16/17 и их классификация   В 1975 году фирма GI разработала периферийный контроллер (Peripheral Interface Controller или PIC), предназначенный…

Однокристальные микроконтроллеры семейства PIC16C5X

Особенности архитектуры и структурная схема. Структурная схема ОМК PIC16C5X показана на рис. 2.1. Основу структуры данного микроконтроллера… память данных (ОЗУ); арифметико-логическое устройство (ALU); порты…  

Рис.2.5. Организация памяти данных

 

Шина данных разрядностью 8 бит соединяет группу регистров ОЗУ, порты ввода/вывода и 8- разрядное арифметико-логическое устройство(АЛУ). Прямо адресуются 32 байта оперативной памяти, остальная память адресуется банками по 16 байт каждый. Микроконтроллеры PIC16C52/C54/C54A/CR54/CR54A/CR54B/C56/CR56 имеют один банк оперативной памяти объемом 32 байта, из которых 25 байт могут быть использованы в качестве регистров общего назначения. Для Р1С16С55, имеющего PORTC, объем - 24 байта. PIC16C57/CR57A/CR57B и PIC16C58A/CR58A/CR58B имеют 4 банка памяти данных и объем для них 72 и 73 байта соответственно.

 

Таблица 2.3

Описание специальных регистров Р1С16С5Х

 

Адрес Название Бит 7 Бит 6 Бит 5 Бит 4 БитЗ Бит 2 Бит1 Бит 0 Значение по вклю- чению питания Значение по сбросу по MCLR и WDT
00h INDF . Используется значение FSR для доступа к памяти данных (не физический регистр) -- - - -- - - -- - - -- - -  
01h TMRO 8-разрядный счетчик/таймер хххх хххх uuuu uuuu
02h PCL Младшие 8 разрядов счетчика команд PC 1111 1111 1111 1111
03h STATUS РА2 РА1 РАО ТО PD Z DC С 0001 1xxx 000? ?uuu
04h FSR Регистр косвенной адресации хххх хххх uuuu uuuu
05h PORTA - - - - РАЗ RA2 RA1 RA0 -- - - хххх -- - - uuuu  
06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 хххх хххх uuuu uuuu
07h PORTC RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 хххх хххх uuuu uuuu

Обозначения:x - не определено, u - не меняется, — - отсутствует, читается как '0',

? - значение зависит от условий сброса.

Примечания:

1. Старшие разряды счетчика команд непосредственно не доступны. Обращение к старшим битам осуществляется через биты РА1, РАО (STATUS<6:5>).

2. Для PIC16C52/54/C54A/CR54/CR54A/CR54B/C56/CR56/C58A/CR58A/CR58B ре­гистр 07h является регистром общего назначения.

3. Заштрихованы физически отсутствующие биты.

 

Регистры могут быть адресованы прямо или косвенно, с исполь-зованием регистра косвенной адресации FSR. Непосредственная адре-сация поддерживается специальными командами, загружающими данные из памяти программы в рабочий регистр W. Регистры, как уже упоминалось, разделяются на две функциональные группы: специальные регистры и регистры общего назначения. Специальные регистры (табл. 2.3) включают в себя регистр таймера/счетчика реального времени (RTCC-TMRO), счетчик команд (PC), регистр состояния (STATUS), регистры ввода/вывода (PORT) и регистр косвенной адресации (FSR). Кроме того, специальные регистры управляют конфигурацией портов ввода-вывода и режимом предварительного делителя.

Регистры общего назначения используются для хранения переменных по усмотрению пользователя.

При прямой адресации (рис. 2.6) выбор банка осуществляется с помощью 2-х бит PR0 и RP1, которые находятся в 5 и 6 разрядах регистра косвенной адресации (FSR/Pointer) соответственно. Выбор регистра в банке осушествляется с помощью 5-ти разрядного адреса, поступающего в ОЗУ прямо из кода команды по выделенной для этих целей отдельной шине адреса, которая связывает регистр команд и память данных.

При косвенной адресации (рис. 2.6) используется переключатель косвенной адресации (регистр f0 в памяти данных, который физически не существует) и указатель Pointer (регистр f4 - FSR).

Прямая адресация Косвенная адресация

 

из кода команды

RP1 RP0 4 0 6 FSR 0

 

Выбор банка Выбор регистра Выбор банка Выбор регистра

 

 

00 01 10 11

 

Память 0F

данных 10

 

Банк 0 Банк 1 Банк 2 Банк 3

FSR - Регистр косвенной адресации

  Рис. 2.6. Прямая и косвенная адресация  

Рис.2.14. Общий формат команды

 

Все команды выполняются в течение одного командного цикла. В двух случаях исполнение команды занимает два командных цикла:

1. Исполнение условной команды.

2. Проверка условия и переход.

Один командный цикл состоит из четырех периодов генератора. Таким образом, для генератора с частотой 4 МГц время исполнения командного цикла будет 1 мкс.

Таблица 2.6

Описание полей команд PIC 16C5Х

 

Поле Описание
f Адрес регистра
w Рабочий регистр
b Номер бита в 8-ми разрядном регистре
k Константа
x Не используется, ассемблер формирует код с х=0
d Регистр назначения: D=0 результат в регистре W D=1 результат в регистре f По умолчанию d=1
Label Имя метки
TOS Вершина стека (Top Of Stack)
PC Счетчик команд (Program Counter)
/TO Тайм-аут (Time Out)
/PD Выключение питания (Power Down)
Dest Регистр назначения: рабочий регистр W или регистр, заданный в команде
[ ] Необязательные параметры
( ) Содержание
? Присвоение
< > Битовое поле
Є Из набора

 

 

Таблица 2.7

Система команд Р1С16С5Х.

 

Мнемокод Название команды Цик лы Код команды (11-бит) Биты сос тоя- ния При- меча- ния
Команды работы с байтами    
ADOWF f,d Сложение W с f 0001 lldf ffff С, DC, Z 2,4
ANDWF f,d Логическое И W и f 0001 0ldf ffff Z 2,4
CLRF f Сброс регистра f 0000 0llf ffff Z
CLRW Сброс регистра W 0000 0100 0000 Z  

 

Продолжение таблицы 2.7

 

Мнемокод Название команды Цик лы Код команды (11-бит) Биты сос тоя- ния При- меча- ния
COMF f,d Инверсия регистра f 0010 0ldf ffff Z  
DECF f,d Декремент регистра f 0000 lldf ffff Z 2,4
DECFSZ f,d Декремент f, пропустить команду, если 0 1(2) 0010 lldf ffff   2,4
INCF f,d Инкремент регистра f 0010 l0df ffff Z 2,4
INCFSZ f,d Инкремент f, пропустить команду.если 0 1(2) 0011 lldf ffff   2,4
IORWF f,d Логическое ИЛИ W и f 0001 00df ffff Z 2,4
MOVF f,d Пересылка регистра f 0010 00df ffff 2,4
MOVWF f Пересылка W в f 0000 00lf ffff  
NOP Холостая команда 0000 0000 0000    
RLF f,d Сдвиг f влево через перенос 0011 0ldf ffff С 2,4
RRF f,d Сдвиг f вправо через перенос 0011 00df ffff С 2,4
SUBWF f,d Вычитание W из f 0000 10df ffff С, DC, Z 2,4
SWAPF f,d Обмен местами тетрад в f 0011 l0df ffff   2,4
XORWF f.d Исключающее ИЛИ W и f 0001 l0df ffff Z 2,4
Команды работы с битами
BCF f,b Сброс бита в регистре f 0100 bbbf ffff   2,4
BSF f,b Установка бита в регистре f 0101 bbbf ffff   2,4
BTFSC f,b Пропустить команду, если бит в f равен нулю 1(2) 0110 bbbf ffff        
BTFSS f,b Пропустить команду. и если бит в f равен единице 1(2) 0111 bbbf ffff        
Команды передачи управления и операции с константами
ANDLW k Логическое И константы и W 1110 kkkk kkkk Z    
CALL k Вызов подпрограммы 1001 kkkk kkkk    
CLRWDT Сброс сторожевого таймера WDT 0000 0000 0100 TO.PD
GOTO k Переход по адресу 101k kkkk kkkk    

Окончание таблицы 2.7

  Примечания: 1, Команды, записывающие значение в счетчик команд (например, CALL, MOVWF PC и т. д), за исключением команды…

ОДНОКРИСТАЛЬНЫЕ МИКРОКОНТРОЛЛЕРЫ PIC 16С71

 

Особенности структурной организации ОМК PIC 16С71

Микроконтроллеры PIC 16С71 относятся к расширенному семейству и имею целый ряд отличий от МК базового семейства PIC 16С5Х главным 0из которого… 1. Количество команд увеличено до 37‑и (вместо 33‑х в PIC16С5Х). … 2. Добавлены 4‑е новые команды:

Обозначение выводов и их функциональное назначение

PDIP, SOIC, CERDIP     RA2/AIN2 RA1/AIN1

Таблица 3.1

Обозначение выводов PIC 16c71 и их функциональное назначение

 

Обозначение Нормальный режим
RA4/RTCC Вход через триггер Шмитта. Ножка порта ввода/вывода с открытым стоком или вход частоты для таймера/счетчика RTCC.
RA0/AIN0 Двунаправленная линия ввода/вывода. Аналоговый вход канала 0. Как цифровой вход имеет уровни ТТЛ.
RA1/AIN1 Двунаправленная линия ввода/вывода. Аналоговый вход канала 1. Как цифровой вход имеет уровни ТТЛ.
RA2/AIN2   Двунаправленная линия ввода/вывода. Аналоговый вход канала 2. Как цифровой вход имеет уровни ТТЛ.
RA2/AIN2 Двунаправленная линия ввода/вывода. Аналоговый вход канала 2. Как цифровой вход имеет уровни ТТЛ.
RA3/AIN3/Vref Двунаправленная линия ввода/вывода. Аналоговый вход канала 3. Как цифровой вход имеет уровни ТТЛ.
RB0/INT Двунаправленная линия порта вывода или внешний вход прерывания. Уровни ТТЛ.
RB1 - RB5 Двунаправленные линии ввода/ вывода. Уровни ТТЛ.
RB6 Двунаправленные линии ввода/вывода. Уровни ТТЛ.
RB7 Двунаправленные линии ввода/вывода. Уровни ТТЛ.
/MCLR/Vpp Низкий уровень на этом входе генерирует сигнал сброса для контроллера. Активный низкий. Вход через триггер Шмитта.
OSC1 Для подключения кварца, RC или вход внешней тактовой частоты.
OSC2 /CLKOUT Генератор, выход тактовой частоты в режиме RC генератора, в остальных случаях - для подкл.кварца
Vdd Напряжение питания
Vss Общий(земля)

Организация памяти данных (ОЗУ)

Память данных также как и в PIC 16С5Х имеет страничную организацию, но состоит всего из 2-х страниц (рис.3.3). Причем, страницы в различных…     Страница 0 Страница 1   …  

Описание специальных регистров PIC 16С71

Окончание таблицы 3.2   Адрес Имя Бит 7 Бит 6 Бит 5 …  

Модуль таймера (TMRO-RTCC)

Единственным отличием данного модуля от аналогичного в PIC 16С5Х является возможность формирования сигнала прерывания. Прерывание по RTCC вырабатывается тогда, когда происходит переполнение RTCC…  

Регистр статуса (STATUS)

Отличается от аналогичного регистра PIC 16С5Х лишь тем, что вместо трех бит выбора страниц памяти программ РА2, РА1, РА0 в соответствующих разрядах…     R/W R/W R/W R R R/W R/W R/W   …

Программный счетчик и организация памяти программ

Программный счетчик в PIC16C71 имеет ширину 13 бит и способен адресовать 8К х 14бит объема программной памяти. Однако, физически на кристалле… Организация памяти программ показана на рис.3.6. Ширина программного счетчика - 13 бит. Младший байт программного счетчика (PCL) доступен для чтения и записи и…

Стек

 

Микроконтроллер PIC16C71 имеет восьмиуровневый аппаратный стек шириной 13 бит. Область стека не принадлежит ни к программной области ни к области данных, а указатель стека пользователю недоступен. Текущее значение программного счетчика посылается в стек, когда выполняется команда CALL или производится обработка прерывания. При выполнении процедуры возврата из подпрограммы (команды RETLW, RETFIE или RETURN) в программный счетчик выгружается содержимое стека. Регистр PCLATH (0Ah) не изменяется при операциях со стеком.

 

Прерывания

Прерывания в PIC16C71 могут быть от четырех источников: - внешнее прерывание с ножки RB0/INT, - прерывание от переполнения счетчика/таймера RTCC,

Модуль аналого-цифрового преобразователя (АЦП)

Модуль АЦП (рис. 3.10) содержит четыре входных аналоговых канала AIN3, AIN1, AIN2 и AIN3, мультиплексируемых на одну схему выборки/хранения и далее… Преобразователь использует принцип последовательного приближения.…  

Сброс

 

В PIC 16С71 существуют различия между вариантами сброса:

1) Сброс по включению питания.

2) Сброс по внешнему сигналу /MCLR при нормальной работе.

3) Сброс по внешнему сигналу /MCLR в режиме SLEEP.

4) Сброс по окончанию задержки таймера WDT при нормальной работе.

5) Сброс по окончанию задержки таймера WDT в режимеSLEEP.

Некоторые из специальных регистров при сбросе не инициализируются. Они имеют случайное состояние при включении питания и не изменяются при других видах сбросов. Другая часть специальных регистров инициализируются в «состояние сброса» при всех видах сброса, кроме сброса по окончанию задержки таймера WDT в режиме SLEEP. Просто этот сброс рассматривается как временная задержка в нормальной работе. Есть еще несколько исключений. Программный счетчик всегда сбрасывается в ноль (0000h). Биты статуса TO и PD устанавливаются или сбрасываются в зависимости от варианта сброса. Эти биты используются программой для определения природы сброса. Их значения после сброса приведены в табл. 3.5.

 

Таблица 3.5

Состояние специальных регистров после сброса

    Окончание таблицы 3.5

Регистр OPTION

Регистр конфигурации предделителя и таймера (OPTION) доступен для чтения и записи и содержит различные управляющие биты, которые определяют… Регистр OPTION (Адрес 81h. Значение при включении питания = FFH) имеет…  

Биты установки конфигурации

Кристалл PIC16C71 имеет пять битов конфигурации, которые хранятся в EPROM и устанавливаются на этапе программирования кристалла. Эти биты могут быть… Ячейка конфигурации (Адрес: 2007h) имеет следующее содержание:   13 5   CP PWRTE WDTE …

Режим пониженного энергопотребления

Вход в режим SLEEP осуществляется командой SLEEP. По этой команде, если WDT разрешен, то он сбрасывается и начинает счет времени, бит »в регистре… Для снижения потребляемого тока в этом режиме, ножки на вывод должны иметь… Выход из режима SLEEP осуществляется в результате следующих событий:

Система команд

Каждая команда PIC16C71 представляет собой 14‑разрядное слово, содержащее поле кода операции (OPCODE) и поле одного или более операндов,… Система команд PIC16С71 приведена в табл. 3.8 и включает в себя команды работы… Для команд работы с байтами "f" обозначает регистр, с которым производится действие, а бит "d"…

Рис. 3.13. Общий формат команды

 

Таблица 3.7

Описание полей команд PIC 16C71

 

Поле Описание
f Адрес регистра
w Рабочий регистр
b Номер бита в 8-ми разрядном регистре
k Константа
x Не используется, ассемблер формирует код с х=0

 

Окончание таблицы 3.7

 

Поле Описание
d Регистр назначения: D=0 результат в регистре W D=1 результат в регистре f По умолчанию d=1
Label Имя метки
TOS Вершина стека (Top Of Stack)
PC Счетчик команд (Program Counter)
/TO Тайм-аут (Time Out)
/PD Выключение питания (Power Down)
Dest Регистр назначения: рабочий регистр W или регистр, заданный в команде
[ ] Необязательные параметры
( ) Содержание
? Присвоение
< > Битовое поле
Є Из набора

 

Таблица 3.8

Система команд PIC 16C71

 

Мнемокод Название команды Циклы Код команды (14 бит)   Биты сос- тоя- ния При- меча- ния
Команды работы с байтами
ADDWF f,d Сложение W с f 00 0001 11df ffff C,DC, Z 2,3
ANDWF f,d Логическое И W и f 00 0001 01df ffff Z 2,3
CLRF f Сброс регистра f 00 0000 011f ffff Z
CLRW - Сброс регистра W 00 0000 0100 0000 Z -
COMF f,d Инверсия регистра f 00 0010 01df ffff Z -
DECF f,d Декремент регистра f 00 0000 11df ffff Z 2,3
DECFSZ f,d Декремент f, пропустить команду, если 0 1(2) 00 0010 11df ffff   2,3

Продолжение таблицы 3.8

 

Мнемокод Название команды Циклы Код команды (14 бит)   Биты сос- тоя- ния При- меча- ния
INCF f,d Инкремент регистра f 00 0010 10df ffff Z 2,3
INCFSZ f,d Инкремент f, пропустить команду, если 0 1(2) 00 0011 11df ffff   2,3
IORWF f,d Логическое ИЛИ W и f 00 0001 00df ffff Z 2,3
MOVF f,d Пересылка регистра f 00 0010 00df ffff Z 2,3
MOVWF f Пересылка W в f 00 0000 001f ffff  
NOP - Холостая команда 00 0000 0000 0000   -
RLF f,d Сдвиг f влево через перенос 00 0011 01df ffff C 2,3
RRF f,d Сдвиг f вправо через перенос 00 0011 00df ffff C 2,3
SUBWF f,d Вычитание W из f 00 0000 10df ffff C,DC,Z 2,3
SWAPF f,d Обмен местами тетрад в f 00 0011 10df ffff   2,3
XORWF f,d Исключающее ИЛИ W и f 00 0001 10df ffff Z 2,3
Команды работы с битами
BCF f,b Сброс бита в регистре f 01 0100 bbbf ffff   2,3
BSF f,b Установка бита в регистре f 01 0101 bbbf ffff   2,3
BTFSC f,b Пропустить команду, если бит в f равен нулю 1(2) 01 0110 bbbf ffff   -
BTFSS f,b Пропустить команду, если бит в f равен единице 1(2) 01 0111 bbbf ffff   -
Команды передачи управления и операции с константами
ADDLW k Сложение константы с W 1 11 111x kkkk kkkk C,DC, Z 4
ANDLW k Логическое И константы и W 11 1110 kkkk kkkk Z  
IORLW k Логическое ИЛИ константы и W 11 1101 kkkk kkkk Z -
SUBLW k Вычитание W из константы. 1 11 110x kkkk kkkk C,DC, Z 4

Окончание таблицы 3.8

 

Мнемокод Название команды Циклы Код команды (14 бит)   Биты сос- тоя- ния При- меча- ния
CALL k Вызов подпрограммы 10 1001 kkkk kkkk   -
CLRWDT Сброс Watchdog таймера 00 0000 0000 0000 /TO, /PD -
GOTO k Переход по адресу 10 1010 kkkk kkkk   -
RETLW k Возврат из подпрограммы с загрузкой константы в W 11 1000 kkkk kkkk   -
RETFIE Возврат из прерывания. 2 00 0000 0000 1001 4
RETURN Возврат из подпрограммы. 2 00 0000 0000 1000 4
SLEEP Переход в режим SLEEP 00 0000 0000 0011 /TO, /PD -
TRIS f Загрузка TRIS регистра 00 0000 0000 0ffff  
MOVLW k Пересылка константы в W 11 1100 kkkk kkkk   -
XORLW k Исключающее ИЛИ константы и W 1111 kkkk kkkk Z -
OPTION Загрузка W в OPTION регистр 00 0000 0000 0000  

 

Примечания:

1. Команды TRIS и OPTION помещены в перечень команд для совместимости с семейством PIC16C5X. Их использование не рекомендуется. В PIC16C71 регистры TRIS и OPTION доступны для чтения и записи как обычные регистры с номером. Эти команды могут не поддерживаться в дальнейших разработках PIC16CXX.

2. Когда модифицируется регистр ввода/вывода (например MOVF PORT, 1), используется значение, считываемое с выводов. Например, если в выходной защелке порта, включенного на ввод, находится "1", а внешнее устройство формирует на этом выводе "0", то в этом разряде данных будет записан "0".

3. Если операндом команды является регистр TMRO (и, если допустимо, d=1), то предварительный делитель, если он подключен к TMRO, будет обнулен.

4. Команды ADDLW, RETFIE, RETURN и SUBLW отсутствуют в системах команд PIC 12CXX и PIC 16C5X.

 

Более подробное описание команд с примерами их выполнения приведено в Приложении В (В1 и В2) учебника по разработке программ для ОМК PIC. Данную систему команд имеют все микроконтроллеры расширенного семейства (PIC16CXX). Микроконтроллеры простейшего и базового семейств (PIC12CXX и PIC16C5X) имеют урезанную систему команд (Приложение В1). Микроконтроллеры высокопроизводительного семейства (PIC17CXX) имеют расширенную (по сравнению с PIC16CXX) систему команд, которая содержит до 57-ми команд [5,6].

 

Особенности программирования

Разработка рабочих программ для микроконтроллеров PIC16C5X и PIC16C71 осуществляется по одной и той же методике с использованием одних и тех же… 1. Заменить операции по выбору страниц программной памяти (биты PA2, PA1, PA0)… 2. Пересмотреть все вычисляемые операции переходов( запись в PC или сложение с PC, и т.д.) и удостовериться, что биты…

ОДНОКРИСТАЛЬНЫЕ МК PIC 16С84

 

Микроконтроллеры PIC 16С84 (16F84) также относятся к расширенному семейству, имеют целый ряд таких же существенных отличий от МК базового семейства PIC 16С5Х как и PIC 16С71, абсолютно не отличаются от последних системой команд и особенностями программирования, но обладают несколько другими функциональными возможностями. Поэтому, в данном разделе будут рассмотрены лишь отличия от PIC 16С84 (16F84) от PIC 16С71, так как в остальном они полностью совпадают.

 

Особенности структурной организации PIC 16С84

Структурная схема ОМК PIC 16С84 (16F84) приведена на рис.4.1. Главным отличием данного МК от PIC 16С71 является наличие электрически… 1. Память программ электрически перепрограммируема (EEPROM). Это позволяет… 2. Наличие дополнительной электрически перепрограммируемой EEPROM памяти для данных-констант размером 64х8 байт.

Обозначение выводов и их функциональное назначение

Расположение и обозначение выводов ОМК PIC 16С84 полностью совпадает с PIC 16С71 за исключением того, что ножки RA0, RA1, RA2, RA3 в связи…   4.3. Организация памяти данных (ОЗУ)

Долговременная память данных-констант EEPROM

Память данных-констант EEPROM позволяет прочитать и записать байт информации. При записи байта автоматически стирается предыдущее значение и…       Страница 0 Страница 1   00 h IND0 (*) IND0…

Описание специальных регистров PIC 16F84

  Примечания: 3. Старшие разряды программного счетчика РС <12:8> прямо недоступны. Они могут быть записаны или прочитаны…

Организация прерываний

Прерывания в PIC 16С84 организованы точно также как и в PIC 16С71 (см. разд. 3.8). Но, вместо прерывания от АЦП (в связи с его отсутствием) введено… Флаг запроса прерывания по окончании записи данных констант-констант в… Сброс бита запроса прерывания EEIF в регистре EECON1<4> может быть осуществлен в программе обработки.

Режим пониженного потребления (SLEEP)

Работа PIC 16С84 в режиме SLEEP в основном полностью аналогична PIC 16С71 за исключением выхода из этого режима по прерыванию. В данном МК предусмотрен выход из режима SLEEP по окончанию записи данных-констант в EEPROM, так как прерывание от АЦП отсутствует.

 

Сброс

Организация сброса в PIC 16С84 не отличается от PIC 16С71 Состояние специальных регистров после сброса приведено в табл. 4.3.

 

Таблица 4.3.

Состояние специальных регистров после сброса

  Окончание табл. 4.3   Адрес Имя Сброс по включению питания Сброс по MCLR и WDT 83h …

МЕТКА ОПЕРАЦИЯ ОПЕРАНД(Ы) КОММЕНТАРИЙ

Звенья (поля) могут отделяться друг от друга произвольным числом пробелов. Порядок и позиция полей важны. Так, метки должны начинаться в первом… Операнды следуют за мнемоникой команды. Комментарии могут следовать за… Например:

Использование программы-транслятора MPASM

5.5.1. Запуск транслятора   Для того, чтобы запустить транслятор необходимо выбрать курсором MPASM.EXE и нажать "Ввод". На экране…

Отладка рабочих программ

После получения объектоного кода рабочей программы неизбежно наступает этап отладки, то есть установления факта ее работоспособности, а также… Обычно отладка рабочей программы осуществляется в несколько этапов. Простые… · автономную отладку каждой процедуры в статистическом режиме, позволяющую проверить правильность проводимых…

Использование симулятора-отладчика MPSIM

5.7.1. Последовательность действий при запуске   Данный симулятор позволяет промоделировать работу рабочей программы и проверить выполнение соответствующих операций в…

Назначение команд

После запуска MPSIM необходимо выбрать контролируемые регистры в области просмотра на экране монитора. Для этого можновоспользоваться следующими… AD - позволяет добавить регистр в область просмотра (формат команды можно… DV - удаляет заданный регистр из области просмотра;

RS ; Перезагрузить процессор

Файл стимула. Файл стимула загружается командой ST <имя файла>, расширение должно быть STI. Файл стимула содержит входные события, поступающие… Пример:   Step RTCC RA3 RA2 RA1 RA0 …

При использовании симулятора MPSIM версии 5.11 необходимо учитывать то что обработка прерывания начинается только через 4 такта, а симулятор переходит на обработку прерывания через 1 такт.

Кроме этого, симулятор "считает", что все порты имеют фиктивную нагрузку на выходах ОМК PIC 16F84(16С84).

Симулятор также "необращает внимание" на неправильную инициализацию портов, прерываний, таймера и т.п.

 


Интегрированная среда разработки рабочих программ MPLAB 3.30

Для ОМК PIC

 

Назначение и основные функциональные возможности

- редактор (Editor Only); - ассемблер (MPASM); - компилятор С (MPLAB-C);

Краткая характеристика основных программ

6.2.1. Ассемблер MPASM   Универсальный макроассемблер MPASM - это символьный ассемблер, который поддерживает разработку рабочих программ для…

Программно-аппаратные требования к ресурсам ПЭВМ

 

Для корректной работы пакета MPLAB 3.30 требуется:

- персональный компьютер типа IBM PC с процессором 80386 и выше;

- восемь мегабайт оперативной памяти;

- шесть мегабайт свободного пространства на жестком диске;

- операционная система WINDOWS 3.11 или WINDOWS 95 (что бо-

лее предпочтительно).

 

Интерфейс пользователя и главное меню интегрированной среды MPLAB 3.30

Интерфейс пользователя интегрированной среды MPLAB 3.30 представляет собой многоуровневую систему вложенных меню, позволяющих быстро и удобно задать… MPLAB - запуск основного пакета программ; MPASM for Widows - запуск MPASM V2.00 под Windows;

Запуск основного пакета программ.

Для запуска пакета необходимо выбрать мышкой иконку с надписью MPLAB и нажать два раза левую кнопку. После чего автоматически будет загружен весь пакет MPLAB 3.30, состоящий из трех оболочек EDITOR ONLY, MPLAB-SIM SIMULATOR и PICMASTER SIMULATOR.

 

Меню основного пакета программ.

Меню основного пакета программ содержит следующие пункты (подменю): File, Project, Edit, Debug, Picmaster, Option. Каждый пункт содержит ряд команд,… Для того, чтобы активизировать меню пользователя, необходимо навести указатель… Рассмотрим более подробно пункты основного меню пакета MPLAB 3.30.

Меню File

Команды (опции) меню File позволяют разработчику просматривать тексты программ, загружать и редактировать их, сохранять на носителе и распечатывать… - NEW Source позволяет открыть новое окно для написания новой программы; - OPEN Source позволяет открыть программу для редактирования и дописывания текста, который был написан ранее и…

Пример разработки программы с использованием пакета

MPLAB 3.30

6.7.1. Постановка задачи и алгоритм ее решения   Возьмем для примера следующую, достаточно часто встречающуюся на практике, задачу, в которой необходимо измерить…

ВВОД ИНФОРМАЦИИ С ДАТЧИКОВ И ФОРМИРОВАНИЕ СИГНАЛОВ УПРАВЛЕНИЯ

В технических системах различного назначения события в объекте управления фиксируются с помощью разнообразных датчиков цифрового и аналогового… Наибольшее распространение имеют двоичные датчики типа ДА/НЕТ, например… Данный тип сигналов является также самым распространенным и среди сигналов управления, формируемыми…

Ввод информации от двоичного датчика и формирование

Импульсов заданной длительности.

Пусть, например, необходимо с помощью микроконтроллера PIC16F84 осуществить опрос двоичного датчика и, в зависимости от его состояния, либо… Для решения данной задачи необходимо: 1) Выбрать линии (разряды) портов А и В для ввода сигналов от датчика и вывода импульсных сигналов (например, RB0 - на…

Ввод информации с группы взаимосвязанных двоичных датчиков

  Пусть, например, необходимо ввести байт состояния датчика дискретных сигналов… 1) Ввод следующего байта состояния датчика, если Di = Ki ;

ПРЕОБРАЗОВАНИЕ ИНФОРМАЦИИ ИЗ ОДНОЙ ФОРМЫ ПРЕДСТАВЛЕНИЯ В ДРУГУЮ

Довольно часто в микроконтроллерных устройствах возникает необходимость преобразования информации из одной формы представления в другую. Это связано… Наиболее распространены следующие преобразования: из унитарного кода в…  

Преобразование кодов из одной системы счисления в другую

Преобразование кода из одной позиционной системы счисления в другую осуществляется делением исходного числа на основание новой системы счисления.… Преобразование двоичного числа в двоично-десятичное в этом случае должно… Пусть необходимо выполнить преобразование 10-ти разрядного двоичного числа, хранящегося в памяти данных…

Ввод аналоговых сигналов и формирование дискретных

Статических сигналов

1) в случае, если U1<=U2 управление передается фрагменту программы с адресом А1 и устанавливается в "1" признак (флаг) FO; 2) в случае, если U1>U2 управление передается на фрагмент программы с… Для решения данной задачи, если нет каких-либо ограничений, более целесообразно использовать МК PIC16C71, так как этот…

ОТОБРАЖЕНИЕ ИНФОРМАЦИИ В МКУ.

Для отображения многосимвольной информации используются линейные (однострочные) дисплеи. Такие дисплеи представляют собой «линейку» индикаторов… Существуют два способа отображения многосимвольной информации: статический и… Первый требует наличия на входах каждого индикатора специальных буферных регистров для хранения кодов выводимых…

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

Лабораторная работа 1

Работа с портами ввода/вывода.

Изучение пакета MPLAB

1. ЦЕЛЬ На примере микроконтроллера PIC16C56 выучить режимы работы портов…  

Пример программы. Выполнение конфигурации разрядов 7 - 4 порта B на вывод, а разрядов 3 - 0 - на ввод информации.

PORTB EQU 0x06 ; адрес регистра порта

; ввода/вывода

movlw b'00001111'

;

|| ;

L+++--- разряды 3-0 порта B на ввод ; L+++------- разряды 7-4 порта B на вывод tris PORTB ; конфигурация порта B … ; продолжение программы

Пример программы. Ввод информации из порта А та запись ее в ячейку памяти данных с адресом 0x10.

PORTA EQU 0x05 ; адрес регистру порта ввода/вывода

MEM EQU 0x10 ; адрес регистру в памяти данных

movf PORTA, 0 ; ввод из порта А в регистр W

movwf MEM ; запись в ячейка памяти данных

… ; продолжение программы

Пример программы. Вывод младшей тетрады из ячейки памяти данных с адресом 0x10 в старшие разряды порта B.

PORTB EQU 0x06 ; адрес регистру порта ввода/вывода

MEM EQU 0x10 ; адрес регистру в памяти данных

swapf MEM, 0 ; обмен тетрад местами и запись у W

movwf PORTB ; вывода с регистру W в порт B

… ; продолжение программы

 

 

4. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ

4.1. Запуск пакета MPLAB.

4.2. File -> New - создание нового окна для набора текста программы.

4.3. Набор текста программы.

4.4. File -> Save As ... - сохранение текста программы в файле с расширением .asm.

4.5. Options -> Development Mode - выбор типа микроконтроллера (PIC16C56) и режима (Simulator).

4.6. Project -> Build Node - компиляция программы.

4.7. Если есть ошибки - исправление ошибок и переход к пункту 4.6.

4.8. Debug -> Simulator Stimulus -> Clock Stimulus ... - задание внешних сигналов на входы портов ввода/вывода.

4.9. Window -> Special Function Registers - открытие окна регистров специального назначения.

4.10. Debug -> Run -> Reset - сброс микроконтроллера.

4.11. Debug -> Run -> Step - пошаговое выполнение программы.

4.12. File -> Exit - выход из программы.

 

5. Содержание отчета

5.1. Тема.

5.2. Цель.

5.3. Индивидуальное задание.

5.4. Листинг программы (файл .lst) с подробным комментированием выполнения программы.

5.5. Короткое описание программы.

5.6. Методика тестирования программы и содержание .sti файла.

5.7. Результаты выполнения программы.

5.8. Выводы.

 

Лабораторная работа 2

 

Режимы работы таймера. Сторожевой таймер (WDT)

Выучить основные режимы функционирования таймера, способы и особенности его инициализации, варианты использования и настройки предыдущего делителя,…   2. ЗАДАНИЕ ПО ЛАБОРАТОРНОЙ РАБОТЕ

|| ;

L++--- коэффициент счетчика 1:64 ;

L------ предыдущий делитель подключен к ;

Канала таймера ;

L------- тактирование по заднему фронту ; ||L-------- тактирование от внешнего генератора ; L+--------- в данной работе не имеют значения option ; конфигурация схемы таймера … ; продолжение программы Пример программы.Подсчет 10 тактовых импульсов с помощью таймера, при условии, что таймер сконфигурирован предварительно. … bcf INTCON, GIE ; запрещение прерываний bcf INTCON, T0IF ; сброс флажка переполнения ; таймера movlw .256-10 ; формирование константы для movwf TMR0 ; инициализации таймера m1 btfss INTCON, T0IF ; ожидание переполнения таймера goto m1 ; переход, если таймер не переполнен … ; продолжение программы Замечание.Имена регистров TMR0 (адрес 0x01), INTCON (адрес 0x0B), и бит T0IF(2), GIE(7), доступные при подключении заглавного файла P16F84.INC, или должны быть описанные в описательной секции программы. Пример программы.Определение сброса микроконтроллера за сигналом сторожевого таймера. … btfsc STATUS,NOT_TO ; проверка флажка срабатывания WDT goto res ; переход, если не сброс от WDT brfss STATUS,NOT_PD ; проверка флажка срабатывания WDT goto WDT_RES ; переход на подпрограмму обработки ; сброс за сигналом WDT res … ; продолжение программы Замечание.Для возможности функционирования сторожевого таймера в пакете MPLAB, необходимо выполнить его настройку: меню Options-> Processor Setup->Hardware->WDT Chip Reset Enable (для пакета MPLAB ver. 4.12). Имена регистру STATUS (адрес 0x03), и бит NOT_TO(4), NOT_PD(3) доступные при подключении заглавного файла P16F84.INC, или должны быть описанные в описательной секции программы.   4. Содержание отчета 4.1. Тема. 4.2. Цель. 4.3. Индивидуальное задание. 4.4. Структурная схема таймера и сторожевого таймера. 4.5. Объяснение к схеме. 4.6. Листинг программы (файл .lst) с комментированием выполнения программы. 4.7. Короткое описание программы. 4.8. Методика тестирования программы и содержание .sti файла. 4.9. Результаты выполнения программы. 4.10. Выводы.

Лабораторная работа 3

 

Формирование временных интервалов.

Страничная организация памяти

1. ЦЕЛЬ Выучить способы формирования временных интервалов разной длительности,…  

Лабораторная работа 4

 

Организация и использование памяти данных.

1. ЦЕЛЬ Выучить страничную организацию памяти данных. Научиться использовать режим…  

Лабораторная работа 5

 

Система прерываний мк PIC16F84.

Собственные обработчики прерываний

1. ЦЕЛЬ Выучить систему прерываний микроконтроллера PIC16F84, способы формирования…  

Лабораторная работа 6

 

Формирование сигналов управления и индикации

1. ЦЕЛЬ Приобрести навык составления функциональной схемы. Выучить способы…  

Пример функциональной схемы пристрою.

 

5. Содержание отчета

5.1. Тема.

5.2. Цель.

5.3. Индивидуальное задание.

5.4. Функциональные схемы.

5.5. Объяснение к схемам.

5.6. Листинги программ с подробным комментированием выполнения программ.

5.7. Короткое описание программ.

5.8. Результаты выполнения программ.

5.9. Выводы.

 

 

Лабораторная работа 7

 

Ввод и вывод аналоговых сигналов

В мк семейства PIC16Cxx

1. ЦЕЛЬ Выучить принцип работы аналого-цифрового преобразователя на примере…  

Приложение А

Сравнительные характеристики ОТР микроконтроллеров

Семейства PIC

  Название Память программ RAM/ EE Fm I/O Таймер CCP/ PWM Послед. …

Окончание табл. А.1

 

Название Память программ RAM/ EE Fm I/O Таймер CCP/ PWM Послед. интерфейс Особенности
PIC16C715 2048х14 1+WDT - - 4 канал. 8p АЦП, BrOD
PIC16C72 2048х14 3+WDT CCP 12С/SPI 5 канал. 8p, АЦП, BrOD
PIC16C73А 4096х14 3+WDT CCP 12С/SPI USART/5 канал. АЦП, BrOD
PIC16C76 8192х14 3+WDT 2CCP 12С/SPI USART/5 канал. АЦП, BrOD
PIC16C74А 4096х14 3+WDT 2CCP 12С/SPI USART/8 канал. АЦП, BrOD
PIC16C77 8192х14 3+WDT 2CCP 12С/SPI USART/8 канал. АЦП, BrOD
PIC16F83 512х14 36+ 64EE 1+WDT - - 64х8 EE данных, напр. пит. 2В
PIC16F84 1024х14 68+ 64EE 1+WDT - - 64х8 EE данных, напр. пит. 2В
PIC16C923 4096х14 3+WDT 2CCP 12С/SPI 5 канал. АЦП, драйвер ЖКИ
PIC16C924 4096х14 3+WDT 2CCP 12С/SPI драйвер ЖКИ
PIC14000 4096х14 2+WDT - 12С/SPI два канала 8к.16р.АЦП, тактов. генер., 2 ЦАП, кварц, датчик темп.,Uref
PIC17C43 4096х16 4+WDT 20СAP 2PWM USART 8х8 умножитель
PIC17C44 8192х16 4+WDT 20СAP 2PWM USART 8х8 умножитель
PIC17C756 16384х16 4+WDT 20СAP 2PWM USATх212С 8х8 умножитель, 10р. 12 канал. АЦП
                   

 

Обозначения :

 

PWM - Широтно-импульсный модулятор (ШИМ); CCP - Работа в режиме компаратора/захвата /ШИМ-модулятора; CAP - Режим таймера PWM; BrOD - Перезапуск при уменьшении напряже ния питания; Комп - Аналоговый компаратор; Uref - Источник опорного напряжения; Slave port - Режим обмена с контроллером по параллельному каналу (OATA0...7, WR, RD, CS). I/O -Линии ввода/вывода

OTP - Однократно программируе-

мый микроконтроллер;

ROM - Память программ с масочным

ПЗУ;

EE - Электрически перезаписывае-

мая память;

WDT - Сторожевой таймер;

SPI - Последовательный интер-

фейс;

Fm - Максимальная тактовая час-

тота ( МГц )

USART - Асинхронный последова-

тельный интерфейс

 


Приложение B

Описание команд для PIC микроконтроллеров

B1. Описание команд PIC 12CXX и PIC 16C5X

ADDWF Add Wand f Сложение W с f Синтаксис: ADDWF f,d

Пропустить команду, если бит равен нулю

Операнды: 0<=31, 0<=Ь<=7 Операция: Пропустить, если f(b)=0. Биты состояния: Не изменяются.

Пропустить команду, если бит равен единице

Операнды: 0<=f<=31, 0<=b<=7 Операция: Пропустить, если f(b)=1. Биты состояния: Не изменяются.

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

Операнд: 0<=k<=255 Операция: (PC)+1->TOS, k->PC<7:0>,… Биты состояния: Не изменяются.

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

Синтаксис: CLRF f

Операнд: 0<=f<=31

Операция: 00h->f, 1->Z

Биты состояния: Z

Код: 0000 011f ffff

Описание: Содержимое регистра f сбрасывается в 0 и бит Z устанавливается в 1.

Циклов: 1

Пример: CLRF G_REG

Перед выполнением команды: G_REG=0x5A

После выполнения команды: G_REG=0x00 Z=1

CLRW Clear W

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

Синтаксис: CLRW

Операнд: Нет.

Операция: 00h->W, 1->Z

Биты состояния: Z

Код: 0000 0100 0000

Описание: Содержимое регистра W сбрасывается в 0 и бит Z устанавливается в 1.

Циклов: 1

Пример: CLRW

Перед выполнением команды: W=0x5A

После выполнения команды: W=0x00 Z=1

 

CLRWDT Clear watchdog timer

Сброс сторожевого таймера WDT

Операнд: Нет. Операция: 00h->WDT, 0->WDT prescaler, 1->TO, 1->PD Биты состояния: ТО, PD

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

Операнды: 0<=f<=31, [0,1] Операция: (f)->(dest) Биты состояния: Z

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

Операнды: 0<=f<=31, [0,1] Операция: (f) - 1->(dest) Биты состояния: Z

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

Операнды: 0<=f<=31, [0,1 ] Операция: (f)—1->(dest); пропустить, если (dest)=0 Биты состояния: Не изменяются.

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

Операнд: 0<=k<=511 Операция: k->PC<8:0>, (STATUS<6:5>)->PC<8:9> Биты состояния: Не изменяются.

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

Операнды: 0<=f<=31, [0,1] Операция: (f)+1->(dest) Биты состояния: Z

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

Операнды: 0<=f<=31, [0,1] Операция: (f)+1->(dest); пропустить, если (dest)=0 Биты состояния: Не изменяются.

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

Синтаксис: IORLW k

Операнд: 0<=k<=255

Операция: (W).OR.(k)->W

Биты состояния: Z

КОД: 1101 kkkk kkkk

Описание: Содержимое регистра W логически складывается с 8-битовой константой k. Результат сохраняется в регистре W.

Циклов: 1

Пример: IORLW 0х35

Перед выполнением команды: W=0x9A

После выполнения команды: W=0xBF

 

IORWF Inclusive OR Wand f

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

Операнды: 0<=f<=31, [0,1] Операция: (W).OR.(f)->(dest) Биты состояния: Z

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

Операнды: 0<=f<=31, [0,1] Операция: (f)->(dest) Биты состояния: Z

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

Синтаксис: MOVLW k

Операнд: 0<=k<=255

Операция: k->(W)

Биты состояния: Не изменяются.

Код: 1100 kkkk kkkk

Описание: 8-битовая константа k загружается в регистр W.

Циклов: 1

Пример: MOVLW 0х5А

После выполнения команды: W=0x5A

 

 

MOVWF Move W to f

Пересылка We f

Синтаксис: MOVWF f

Операнд: 0<=f<=31

Операция: (W)->(f)

Биты состояния: Не изменяются

Код: 0000 001f ffff

Описание: Содержимое регистра W пересылается в регистр f

Циклов: 1

Пример: MOVWF OPT

Перед выполнением команды: OPT=0xFF W=0x4F

После выполнения команды: OPT=0x4F W=0x4F

NOP No operation

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

Операнд: Нет. Операция: Нет. Биты состояния: Не изменяются

Сдвиг f влево через перенос

Операнды: 0<=f<=31, [0,1] Операция: f<n>->d<n+1>, f<7>->C, C->d<0> Биты состояния: С

Сдвиг f вправо через перенос

Операнды: 0<=f<=31, [0,1] Операция: t<n>->d<n-1>, f<0>->C, C->d<7> Биты состояния: С

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

Операнд: Нет Операция: 00h->WDT, 0->WDT prescaler, 1->TO, 0->PD Биты состояния: ТО, PD

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

Операнды: 0<=f<=31, [0,1] Операция: (f) - (W)->(dest) Биты состояния: С, DC, Z

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

Операнды: 0<=f<=31, [0,1] Операция: f<0:3>->d<4:7>, f<4:7>->d<0:3> Биты состояния: Не изменяются.

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

Операнд: 5<=f<=7 Операция: (W)->TRIS register f Биты состояния: Не изменяются.

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

Операнд: 0<=k<=255 Операция: (W).XOR.(k)->W Биты состояния: Z

B.2.Описание дополнительных команд для семейства PIC 16СХХ

  RETURN Return from Subroutine Возврат из подпрограммы. Синтаксис: [label] RETURN Операнды: …   SUBLW Subtract W from Literal Вычитание W из…   ADDLW Add Literal and W Сложение константы с W Синтаксис: [label] ADDLW …

Приложение С

Контрольные задачи

  2. Предложите микроконтроллерное устройство позволяющее ввести байт состояния… 1) Ввод следующего байта состояния датчика, если Di<=Ki;

Приложение D

Контрольные вопросы

D1. Контрольные вопросы. Часть 1

 

1. Блочно-иерархический подход при проектировании МК-систем и устройств.

2. Уровни и аспекты проектирования МК-систем и устройств. Основные задачи, решаемые на различных уровнях проектирования.

3. Схема процесса проектирования МК-систем и устройств. Задачи синтеза и анализа. Нисходящее и восходящее проектирование.

4. Типовая структура МКС и МКУ. Назначение и функциональные особенно­сти отдельных блоков.

5. Особенности и принципы построения устройств с использованием «жесткой» и «программируемой » логики.

6. Дуализм программных и аппаратных средств в микроконтроллерных уст­ройст­вах.

7. Основные характеристики и классификация однокристальных МК.

8. Основные отличия ОМК от ОЭВМ и МП. Типы наиболее распространенных ОМК.

9. Краткая характеристика семейства ОМК К 1816.

10.Краткая характеристика семейства ОМК PIC 16/17.

11.Сравнительная характеристика различных семейств ОМК: PIC 16/17 и К1816.

12.Обоснование применения и выбора семейства ОМК для проектируемых МКУ: требования к МКУ и основные характеристики для выбора ОМК.

13.Особенности разработки аппаратных и программных средств МК-систем и устройств.

14.Особенности архитектуры МК PIC 16/17, позволяющие получить высокую производительность.

15.Особенности архитектуры и структурной схемы ОМК PIC 16C5X.

16.Формирование тактовых сигналов и цикл выполнения команды в ОМК PIC16C5X. Выборка команд с перекрытием.

17.Организация памяти в ОМК PIC 16C5X: память программ и память данных. Способы адресации.

18.Назначение и особенности функционирования АЛУ и регистра W в ОМК PIC 16C5X. Формирование признаков состояния АЛУ.

19.Регистры в структуре ОМК PIC 16C5X: классификация и назначение.

20.Счетчик команд в структуре ОМК PIC 16C5X: основные характеристики и особенности функционирования.

21.Стек в структуре ОМК PIC 16C5X: назначение и особенности функциониро­вания при выполнении команд CALL.

22.Каналы (порты) ввода-вывода ОМК PIC 16C5X: структурная организация, особенности программирования и функционирования.

23.Модуль таймера ОМК PIC 16C5X: структурная организация (TRMD, WDT, PRS), особенности программирования и функционирования.

24.Режимы работы и специальные функции в ОМК PIC 16C5X: режим SLEEP, структурная организация и особенности функционирования узла формиро­ва­ния сигнала «Сброс», таймер сброса.

25.Конфигурация ОМК PIC 16C5X: варианты тактирования и типов генерато­ров, защита программ от считывания и индивидуальная метка.

26.Система команд ОМК PIC 16C5X: типы команд, формат и время выполне­ния.

27.Особенности архитектуры и структурной схемы ОМК PIC 16C71.

28.Основные отличия ОМК PIC 16C71 от базового семейства PIC 16C5X.

29.Особенности организации памяти программ и данных в ОМК PIC16C71. Способы адресации.

30.Регистры в структуре ОМК PIC 16C71: классификация и назначение.

31.Счетчик команд в структуре ОМК PIC 16C71: основные характеристики и особенности функционирования.

32.Стек в структуре ОМК PIC 16C71 и его особенности.

33.Организация прерываний в ОМК PIC 16C71: источники прерываний, управ­ле­ние и обработка.

34.Особенности организации каналов (портов) ввода-вывода в ОМК PIC16C71: структурная организация, программирование и функционирование.

35.Модуль АЦП ОМК PIC 16C71: структурная организация, особенности про­граммирования и функционирования.

36.Особенности структурной организации и функционирования узла формиро­вания сигнала «Сброс» в ОМК PIC 16C71.

37.Особенности архитектуры и структурной схемы ОМК PIC 16C84.

38.Основные отличия ОМК PIC 16C84 от базового семейства и PIC 16C71.

39.Основные отличия ОМК расширенного и высокопроизводительного семейств ( PIC 16C6X/7X, PIC 17Cxx, PIC 1400 ) от базового.

40.Особенности модульного принципа проектирования и его использование при разработке рабочих программ МКУ.

41.Выбор языков программирования для написания исходных рабочих про­грамм МКУ.

42.Правила написания исходных рабочих программ для МКУ на Ассемблере.

43.Средства отладки и автоматизации разработки рабочих программ для МКУ: типы, назначение и особенности использования.

44.Этапы разработки МКУ. Задачи и методы тестирования МКУ.

45.Средства отладки аппаратных средств МКУ.


D2. Контрольные вопросы. Часть 2

1. Последовательность действий для получения текста исходной рабочей программы МКУ.

2. Модульный принцип проектирования рабочих программ.

3. Преобразование блок-схемы алгоритма (БСА) в исходный текст программы.

4. Процедуры и подпрограммы.

5. Правила записи программ на языке Ассемблера.

6. Структура рабочей программы.

7. Пример написания исходного текста программы.

8. Преобразование исходного текста программы в объемный модуль.

9. Использование программы-транслятора MPASM: назначение, запуск и результаты трансляции.

10. Отладка рабочих программ.

11. Использование симулятора-отладчика MPSIM: назначение, последовательность действий при запуске, назначение команд.

12. Файлы, загружаемые и создаваемые MPSIM.

13. Назначение и основные функциональные возможности интегрированной среды MPLAB 3.30.

14. Краткая характеристика основных программ MPLAB 3.30: MPASM, MPLAB-SIM, MPLAB-C.

15. Интерфейс пользователя и главное меню интегрированной среды MPLAB 3.30.

16. Запуск основного пакета программ MPLAB 3.30.

17. Меню основного пакета программ: меню File.

18. Меню основного пакета программ: меню Project.

19. Меню основного пакета программ: меню Edit.

20. Меню основного пакета программ: меню Debug.

21. Меню основного пакета программ: меню Picstart Plus/

22. Меню основного пакета программ: меню Option.

23. Пример разработки программы с использованием MPLAB 3.30: постановка задачи и алгоритм ее решения.

24. Пример разработки программы с использованием MPLAB 3.30: написание исходного текста программы.

25. Пример разработки программы с использованием MPLAB 3.30: преобразование исходного текста программы в объектный модуль.

26. Пример разработки программы с использованием MPLAB 3.30: запись программы в ППЗУ микроконтроллера.

27. Ввод информации от двоичного датчика и процедура «Ожидание события».

28. Ввод информации от двоичного датчика и процедура «Подавление дребезга контактов».

29. Организация задержки малой, средней и большой длительности.

30. Ввод информации с группы взаимосвязанных датчиков.

31. Преобразование кодов из одной системы счисления в другую.

32. Преобразование параллельного кода в последовательный.

33. Преобразование последовательного кода в параллельный.

34. Ввод/вывод аналоговых сигналов.

35. Формирование и вывод дискретных статических сигналов.

36. Формирование и вывод импульсных сигналов заданной длительности.

37. Формирование и вывод последовательности импульсных сигналов.

38. Отображение информации в МКУ: статическая индикация.

39. Отображение информации в МКУ: динамическая индикация.

 


Приложение E

Методические указания к выполнению курсовых проектов

 

E1. Содержание пояснительной записки

Введение.

1. Выбор и обоснование основных технических решений.

1.1. Детализация исходного ТЗ и постановка задачи (использование блочно-иерархического подхода при разработке данного устройства).

1.2. Источники информации (входных сигналов).

1.3. Приемники информации (выходных сигналов).

1.4. Возможные пути (варианты) решения поставленной задачи.

1.5. Возможные варианты структурных схем и их сравнительный анализ.

1.6. Обоснование выбора структурной схемы.

1.7. Обоснование выбора типа ОМК для решения поставленной за­дачи.

2. Структурная схема устройства и её описание.

2.1. Структурная схема.

2.1.1. Назначение отдельных функциональных блоков.

2.2. Описание принципа действия и общий алгоритм работы.

2.3. Разработка функциональных схем и блок-схем алгоритмов работы отдельных блоков.

3. Разработка функциональной и принципиальной схем устройства.

3.1. Описание принципиальной схемы устройства.

3.2. Описание принципиальных схем отдельных функциональных узлов и блоков.

4. Расчет потребляемой мощности и определение требований к источникам питания.

5. Расчет временных параметров.

6. Разработка и отладка рабочей программы МКУ.

6.1. Блок-схемы алгоритмов и их описания.

6.2. Структура программы.

6.3. Текст программы.

6.4. Описание программы и её отдельных функциональных модулей.

6.5. Технология (результаты) отладки программы.

6.5.1. Компиляция (с распечаткой всех файлов, полученных во время компиляции: obj, lst, erl, sym).

6.5.2. Моделирование.

7. Заключение.

8. Список используемой литературы.

9. Приложения:

А. Структурная схема устройства. Функциональная и (или) принципи­альная схемы . Перечень элементов.

В. Листинг текста отлаженной программы.

С. Другие материалы, вынесенные в приложения (краткие описания используемых ОМК, описания и (или) руководства пользователя по Ассемблеру, Симулятору и прочим средствам отладки рабочих программ, и т.п.).

 

Примечания:

1.Оформление комплекта документов (альбома) по данному курсовому проекту осуществляется в основном в соответствии с мето­дическими указаниями к выполнению курсовых проектов по аппа­ратным и программным средствам ЭВМ, выполняемых, например, по курсам «Компьютерная электроника», «Схемотехнике ЭВМ», «Периферийные устройства ЭВМ» и.т.д.

2. В содержание ПЗ по указанию руководителя могут быть внесены соответствующие дополнения и изменения (касающиеся, напри­мер, таких вопросов как: работа с программатором и запись рабочей программы в ППЗУ реального МК; связь между двумя и более МК, работающими в составе разрабатываемого МКУ; связь разра­батываемого МКУ и ПЭВМ; программа обработки данных, посту­пающих из МКУ в ПЭВМ; и т.д.

 


Приложение F

Отличия семейств ОМК PIC

F1. Краткая характеристика ОМК семейства PIC 12CХХ

И их отличия от микроконтроллеров PIC 16CХХ

Семейство однокристальных микроконтроллеров PIC 12CХХ состоит из самых простых МК с RISC архитектурой. Все микроконтроллеры данного семейства имеют… Микроконтроллеры PIC 12С5ХХ имеют следующие функциональные модули и… · Семь регистров специальных функций;

F2. Отличия ОМК PIC 17CХХ от PIC 16CХХ.

Микроконтроллеры PIC 12C67X и PIC 12F68X представляют собой упрощенные модификации PIC 16C71 и PIC 16F84 соответственно, но без механизма… Микроконтроллеры высокопроизводительного семейства PIC 17CХХ отличаются от… 1. Слово команды расширено до 16 бит, что позволило сделать большие размеры страниц памяти программ (8К слов вместо…

Приложение G

 

Программная совместимость семейств ОМК PIC .

 

G1. Совместимость PIC 16CXX и PIC 16C5X.

 

Для преобразования кода, написанного для PIC 16CXX, в код для

PIC 16C5X пользователь должен предпринять следующие шаги:

1. Проверить все команды GOTO, CALL и команды, модифицирующие PC и при необходимости добавить биты выбора страниц PA0, PA1, PA2.

2. Проверить и при необходимости изменить все операции с изменяемыми переходами (запись в PC, добавление к PC

3. Устранить все переключения на регистры специальных функций. Переопределить необходимые переменные.

4. Проверить все операции записи в регистры STATUS, OPTION и FSR, поскольку они отличаются.

5. Убрать использование команд ADDLW и SUBLW.

6. Переписать все сегменты кода, использующие прерывание.

 

G2. Совместимость PIC 17CXX и PIC 16CXX.

1. Удалить все команды OPTION и TRIS, заменив их эквивалентными. 2. Разделить подпрограмму обработки прерываний на четыре вектора. 3. Заменить MOVF REG, W на MOVFP REG, WREG.

Содержание

 

с.

Введение…………………………………………………………………………...

ОСОБЕННОСТИ ПРОЕКТИРОВАНИЯ ТЕХНИЧЕСКИХ СИСТЕМ

1.1. Формализация проектирования МК-систем и устройств………………… 1.1.1. Блочно-иерархический подход…………………………………………… 1.1.2. Схема процесса проектирования……………………………………….…

СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И РЕЖИМЫ РАБОТЫ ОМК С RISC-АРХИТЕКТУРОЙ

2.2. Однокристальные микроконтроллеры семейства PIC16C5X………………. 2.2.1. Структурная организация микроконтроллеров PIC16C5X…………….… 2.2.2. Обозначение вводов и их функциональное назначение……………….….

ТЕХНОЛОГИЯ РАЗРАБОТКИ И ОТЛАДКИ РАБОЧИХ ПРОГРАММ

ДЛЯ ОМК PIC

5.2. Структура рабочей программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3. Пример написания исходного текста программы . . . . . . . . . . . . .… 5.4. Преобразование исходного текста программы в объектный модуль

ИНТЕГРИРОВАННАЯ СРЕДА РАЗРАБОТКИ РАБОЧИХ ПРОГРАММ MPLAB 3.30 ДЛЯ ОТЛАДКИ ОМК PIC

6.2. Краткая характеристика основных программ . . . . . . . . . . . . . . . . . 6.2.1. Ассемблер MPASM . . . . . . . . . . . . . . . . . . . . . . . . . . .… 6.2.2. Программный симулятор MPLAB-SIM . . . . . . . . . . . . . . . . . . . . . . .

ВВОД ИНФОРМАЦИИ С ДАТЧИКОВ И ФОРМИРОВАНИЕ СИГНАЛОВ УПРАВЛЕНИЯ

7.1. Ввод информации от двоичного датчика и формирование импульсов заданной длительности

7.2. Ввод информации с группы взаимосвязанных датчиков . . . . . .

7.2.1. Ввод байта состояния одного датчика . . . . . . . . . . . . . . . . . . . . . .

7.2.2. Ввод байтов состояния двух независимых датчиков . . . . . . . . .

 

ПРЕОБРАЗОВАНИЕ ИНФОРМАЦИИ ИЗ ОДНОЙ ФОРМЫ ПРЕДСТАВЛЕНИЯ В ДРУГУЮ

8.1. Преобразование кодов из одной системы счисления в другую

8.2. Ввод аналоговых сигналов и формирование дискретных статических сигналов

 

ОТОБРАЖЕНИЕ ИНФОРМАЦИИ В МКУ

 

ЛАБОРАТОРНЫЙ ПРАКТИКУМ

10.1. Работа с портами ввода/вывода. Изучение пакета MPLAB

10.2. Режимы работы таймера. Сторожевой таймер (WDT)

10.3. Формирование временных интервалов. Страничная организация памяти

Организация и использование памяти данных

Система прерываний МК PIC16F84. Собственные обработчики прерываний

10.7. Ввод и вывод аналоговых сигналов в МК семейства pic16cxx   Приложение А. Сравнительные характеристики ОТР микроконтроллеров PIC 12/16/17

Список литературы


 

Фурман Илья Александрович

Краснобаев Виктор Анатолиевич

Скороделов Владимир Васильевич

Рысованый Александр Николаевич

 

 

 

ОРГАНИЗАЦИЯ И ПРОГРАММИРОВАНИЕ МИКРОКОНТРОЛЛЕРОВ

 

 

 

Учебник

 

– Конец работы –

Используемые теги: Однокристальные, Микроконтроллеры, ОМК, позволяют, существенно, расширить, интеллектуальные, Возможности, различного, рода, устройств, систем0.135

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Однокристальные микроконтроллеры ОМК позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Лекция 1. Тема: Операционная система. Определение. Уровни операционной системы. Функции операционных систем. 1. Понятие операционной системы
Понятие операционной системы... Причиной появления операционных систем была необходимость создания удобных в... Операционная система ОС это программное обеспечение которое реализует связь между прикладными программами и...

Система криптозащиты в стандарте DES. Система взаимодействия периферийных устройств
Противоборство развернулось за превосходство в тех областях, которые определяют направления научно-технического процесса. В мире реального бизнеса конкуренция ставит участников рынка в такие жесткие … Это обусловлено тем, что получение сколько-нибудь достоверной информации об объектах заинтересованности законным путем…

Лекция 5 Логические операции. Базовая конфигурация PC. Внутренние устройства. Устройства, располагаемые на материнской плате. Шинные интерфейсы. Периферийные устройства PC
Логические операции... В компьютерных программах используются операции... И пересечение или конъюнкция A B В программном коде обозначается как And а в функциональных схемах как знак...

Система координат действия и общая теория систем действия: культура, личнсть и место социальных систем
В центре данного исследования стоит разработка теоретической схемы. Систематическое рассмотрение ее эмпирического использования будет предпринято… Основные положения системы координат действия подробно излагались ранее, и… При помощи ее анализируются структура и процессы систем, состоящих из отношений таких элементов к их ситуациям,…

Микропроцессорные системы: система ДЦ-МПК, система "Юг"
Использован практический опыт внедрения линейных пунктов управления (ЛПУ) на 60 станциях в увязке с ЭЦ-4, ЭЦ-9, МРЦ-12, МРЦ-13. Выполнен переход на… В состав аппаратуры центрального пункта управления (ПУ) входят IBM-совместные… Круглосуточный режим работы аппаратных средств ПУ обеспечивается источниками бесперебойного питания, а также системой…

Непротиворечивая система аксиом называется независимой, если никакая из аксиом этой системы не является следствием других аксиом этой системы
При аксиоматическом построении теории по существу все утверж дения выводятся путем доказательства из аксиом Поэтому к системе аксиом предъявляются... Система аксиом называется непротиворечивой если из нее нельзя логически... Если система аксиом не обладает этим свойством она не может быть пригодной для обоснования научной теории...

ТЕЛЕКОММУНИКАЦИОННЫЕ СИСТЕМЫ. СИГНАЛЫ И КАНАЛЫ ЭЛЕКТРИЧЕСКОЙ СВЯЗИ. СИСТЕМЫ СВЯЗИ С ЧАСТОТНЫМ РАЗДЕЛЕНИЕМ КАНАЛОВ. ЦИФРОВЫЕ СИСТЕМЫ ПЕРЕДАЧИ
Лабораторные работы часа... Практические занятия часа... Всего аудиторных занятий часов...

Сравнительный анализ и оценка эксплутационных характеристик различных терминальных устройств информации в вычислительных системах
Терминальный доступ - доступ к информационной системе ИС , организованный так, что локальная машина-терминал не выполняет вычислительной работы, а… Причем вся вычислительная работа в терминальной системе выполняется на… Вопросы обеспечения безопасности ИС, также потребовали пересмотра взглядов и возврата к терминальному доступу, как…

15. Формула Гріна. 17. Поверхневий інтеграл I роду; Обчислити його. 18.Криволінійний інтеграл 2 роду; обчислення. 19.Теорема про рівність нулеві криволінійного інтеграла 2 роду по простому замкненому контуру.
Формула Гріна... Формула Гріна встановлює зв язок між подвійним інтегралом і криволінійним інтегралом роду...

0.035
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам