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

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

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

FSR - Регистр косвенной адресации - раздел Высокие технологии, Однокристальные микроконтроллеры ОМК позволяют существенно расширить интеллектуальные возможности различного рода устройств и систем Rp1, Rp0 – Биты 6 И 5 Регистра Fsr, Соответственно ...

RP1, RP0 – Биты 6 и 5 регистра FSR, соответственно

 

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

 

Существуют некоторые отличия при осуществлении косвенной адресации для различных типов МК. Так для PIC16C54/C55/C56: биты 0-4 регистра (f4) выбирают один из 32 регистров в режиме косвенной адресации, т.е. когда в команде есть обращение к регистру косвенной адресации (f0). Биты 5-7 не используются и всегда читаются как единицы. Если косвенная адресация не используется, регистр f4 может быть использован как 5-ти битовый регистр общего назначения. Для PIC16C57 первые 16 байт каждого банка представляют собой физически одни и те же регистры. Только тогда, когда бит 4 (f4) установлен в единицу (указывает на следующие 16 байт), биты 5 и 6 выбирают один из четырех банков по 16 регистров каждый. Бит 7 регистра (f4) не используется и всегда читается как единица.

 

2.2.5.Регистр состояния STATUS

Регистр состояния (f3) содержит арифметические флаги АЛУ, состояние контроллера при сбросе и биты выбора страниц для программ с обьемом памяти превышающим 512 слов (PIC16C56/PIC16C57).Регистр STATUS доступен для любой команды так же, как любой другой регистр. Однако, биты TO и PD устанавливаются аппаратно и не могут быть записаны в регистр статуса программно. Это следует иметь в виду при выполнении команды с использованием регистра статуса. Например, команда CLRF f3 обнулит все биты, кроме битов TO и PD, а затем установит бит Z = 1. После выполнения этой команды регистр статуса может и не иметь нулевое значение (из-за битов TO и PD) f3= 000??100. Поэтому рекомендуется для изменения регистра статуса использовать только команды битовой установки BCF, BSF, MOVWF, которые не изменяют остальные биты статуса. Воздействие всех команд на биты статуса можно посмотреть в «Описании команд».

Биты 5-6 регистра статуса определяются как биты адреса страниц PA0-PA1 программной памяти(только для PIC16C56/PIC16C57 !!!). Когда исполняются команды GOTO, CALL и команды, когда программный счетчик изменяется, например MOVWF 2, биты адреса страниц PA0-PA1 загружаются в биты программного счетчика A9-A10. Таким образом, прямой адрес, указанный в слове команды, указывает на место внутри определенной страницы памяти. Команда RETLW не изменяет биты выбора страниц. После сигнала «Сброс»биты регистра статуса PA0-PA1 обнуляются.

Размещение флагов в регистре STATUS (Адрес: 03h. Значение по включению питания: 0001 1ххх) следующее:

 

b7 b6 b5 b4 b3 b2 b1 b0

PA2 PA1 PA0 TO PD Z DC C

 

C - Флаг переноса/заема.

Для команд ADDWF и SUBWF. Этот бит устанавливается, если в результате операции из самого старшего разряда происходит перенос. Вычитание осуществляется путем прибавления дополнительного кода второго операнда. При выполнении команд сдвига этот бит всегда загружается из младшего или старшего бита сдвигаемого источника.

 

;------------------------------- Пример

; SUBWF Example #1

;

clrf 0x20 ; f(20h)=0

movlf 1 ; wreg=1

subwf 0x20 ; f(20h)=f(20h)-wreg=0=FFh

; Carry=0: Результат отрицательный.

; SUBWF Example #2

;

movlw 0xFF

movwf 0x20 ; f(20h)=FFh

clrw ; wreg=0

subwf 0x20 ; f(20h)=f(20h)-wreg=FFh-0=FFh

; Carry=1: Результат положительный.


DC - Флаг десятичного переноса/заема.

Для команд ADDWF и SUBWF. Этот бит устанавливается, если в результате операции из четвертого разряда происходит перенос. Механизм установки десятичного бита переноса «DC»тот же самый, отличается тем, что отслеживается перенос из четвертого бита.


Z - Флаг нулевого результата:

Устанавливается, если результатом арифметической или логической операции является ноль.


PD - Power Down ( режим хранения данных) :

Устанавливается в "1" при включении питания или команде CLRWDT. Сбрасывается в"0" командой SLEEP.


TO - Time Out. Флаг срабатывания Watchdog таймера:

Устанавливается в "1" при включению питания и командами CLRWDT, SLEEP. Сбрасывается в "0" по завершению выдержки времени таймера WDT.


PA0, PA1 - . . . . . . . . . . . . . . .

Для кристаллов PIC16C54/C55 - это биты общего назначения.

Для PIC16C56:

PA0 - Бит выбора страницы

0= Страница 0 (000—FF),

1= Страница 1 (200—FF).

PA1 - Бит общего назначения.

Для PIC16C57:

PA1, PA0 - оба бита выбора страниц:

00= Страница 0 (000—FF),

01= Страница 1 (200—FF),

10= Страница 2 (400—FF),

11= Страница 3 (600—FF).

PA2 - Бит общего назначения (зарезервировано для будущих

разработок).

2.2.6. Регистр OPTION

Это регистр конфигурации предделителя и RTCC (TMRO). Значениями битов в этом регистре (он не имеет адреса!) определяется подключение предделителя к RTCC или WDT, коэффициент его деления, источник счетных импульсов, выбирается фронт сигнала для RTCC. Регистр OPTION предназначен только для записи и имеет ширину 6 бит. Во время исполнения команды "OPTION" содержимое регистра W загружается в этот регистр. По сигналу «Сброс» все биты этого регистра устанавливаются в единицы.

Регистр OPTION (Адрес: нет. Значение по включению питания: 11 1111) имеет следующее содержание:

 

b5 b4 b3 b2 b1 b0

RTS (T0CS) RTE (T0SE) PSA PS2 PS1 PS0

 

PS2...PS0 - Настройка предделителя (см. табл.2.4).

PSA -Бит, указывающий, что делитель работает с RTCC (TMRO) или WDT:

0 – RTCC,

1 – WDT.

RTE (T0SE) - Фронт сигнала RTCC:

0 - инкремент по положительному фронту на ножке RTCC,

1 - инкремент по отрицательному фронту на ножке RTCC.

RTS (T0CS) - Источник сигнала для RTCC:

0 - сигнал от внутреннего генератора,

1 - внешний сигнал на ножке RTCC.

 

2.2.7. Программный счетчик

Программный счетчик обеспечивает доступ к 12‑битным ячейкам встроенной постоянной памяти (EPROM), длина которой может быть до 2048 ячеек.

В зависимости от типа PIC, программный счетчик (PC) и соответствующий двухуровневый аппаратный стек имеют ширину от 9 до 11 бит (см. табл.2.5).

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

1) при исполнении команды GOTO в программный счетчик загружаются младшие 9 бит (PC <8:0>). В случае использования PIC16C56 или PIC16C57, в старшие два бита программного счетчика (PC <10:9>) загружаются биты выбора страниц PA1 и PA0 (биты 6 и 5 регистра статуса). При помощи команды GOTO можно переместиться в любое место любой страницы памяти программ;

 

Таблица 2.4

Настройка предделителя.

 

  PS2….PS0 Коэффициенты деления
RTCC (TMRO) WDT
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1   1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128 1 : 256   1 : 2 1 : 4 1 : 8 1 : 16 1 : 32 1 : 64 1 : 128 1 : 256  

 

 

Таблица 2.5.

Ширина программного счетчика и стека

 

Тип МК Ширина PC Ширина стека
PIC16C54/PIC16C55 9 бит 9 бит
PIC16C56 10 бит 10 бит
PIC16C57 11 бит 11 бит

 

2) при исполнении команды CALL в программный счетчик загружаются младшие 8 бит, в то время как девятый бит обнуляется. Значение PC, увеличенное на единицу, будет сохранено в стеке. В случае PIC16C56/PIC16C57, в старшие два бита PC (PC <10:9>) загружаются биты выбора страниц PA1, PA0 (биты 6 и 5 регистра статуса);

3) команда RETLW выгружает в программный счетчик содержимое из вершины стека;

4) если программный счетчик задействован в команде (например, MOVWF 2, ADDWF 2, BSF 2,5), то 8 бит результата исполнения команды будут загружены в младшие 8 бит программного счетчика. Девятый бит PC будет обнулен. В случае PIC16C56/PIC16C57, в старшие биты PC<10,9> будут загружены биты выбора страниц PA1, PA0 (биты 6 и 5 в регистре статуса).

Так как девятый бит программного счетчика обнуляется при исполнении команды CALL или команд, записывающих свой результат в PC, то вызов подпрограмм или осуществление вычисляемого перехода ограничены первой половиной страницы программной памяти, то есть первыми 256 адресами.

 

2.2.8. Стек и возвраты из подпрограмм

 

В микроконтроллерах PIC16C5X используется двухуровневый аппаратный стек. Это означает, что он может хранить одновременно не более двух адресов возврата.

Команда CALL инкрементирует текущее значение программного счетчика и записывает его в стек на уровень 1. При записи на уровень 1 стека его предыдущее значение автоматически записывается на уровень 2. Если вызывается более двух вложенных подпрограмм, то только два последних адреса возврата будут сохранены.

При исполнении команды RETLW в программный счетчик выгружается содержимое стека первого уровня. Одновременно содержимое стека второго уровня копируется в стек первого уровня. Если исполняются более двух команд RETLW друг за другом, в стеке обоих уровней будет записано значение второго уровня.

 

2.2.9. Рабочий регистр W

 

Рабочий регистр W содержит второй операнд в двухоперандных командах и поддерживает внутреннюю передачу данных.

 

 

2.2.10.Порты ввода/вывода

 

Регистры ввода/вывода могут управляться, как любые другие регистры. Однако, команда «чтение» (например MOVF 6,W) всегда считывает фактический уровень сигнала на ножке порта, независимо от того, запрограммирован этот разряд порта на ввод или на вывод. После сигнала «Сброс» все порты ввода/вывода устанавливаются на «ввод» (электрически эквивалентно третьему состоянию), а управляющие регистры ввода/вывода (TRISA, TRISB, TRISC) устанавливаются в единицы (конфигурация на ввод). Для того, чтобы конфигурировать некоторые линии порта на вывод, необходимо установить соответствующие биты в нужном TRIS регистре в «0». Это можно делать командой "TRIS f".

Порт А является 4‑битовым портом ввода/вывода. Используются только младшие 4 бита (RA0-RA3). Старшие биты 4— всегда читаются как нули.

Порт B является 8‑битовым портом ввода/вывода.

Порт С для PIC 16C55/C57: 8-битовый порт ввода/вывода. Для

PIC16C54/C56: внутренний регистр памяти (не порт) общего назначения.

Схема одного разряда (линии) порта ввода-вывода приведена на рис.2.7.

 

Защелка для бита данных

D Q   C /Q   C
От шины данных

Vdd

XOR
p

Вывод порта
Запись (WR Port )

       
 
   


Это один из бит рег. TRIS

От регистра W

D Q   C R /Q   C
           
 
   
     
 
 

 


  AND
По команде"TRIS f"

n

Сброс

 

На шину данных Vss

           
   
 
   
 
 

 


Чтение ( RD TRIS)

 

 

Рис. 2.7. Схема одного разряда порта ввода/вывода PIC 16C5X

 

При операциях ввода порты не защелкиваются. Входной сигнал должен присутствовать пока идет процесс чтения (напр. MOVF 6, W). При операциях вывода порты защелкиваются и сохраняют значение до тех пор пока не будут перезаписаны. На рис.2.7 не показаны диоды, которые защищают ножку порта от внешних импульсов большого напряжения. Они ограничивают импульсное напряжение на ножке значениями от Vss - 0,6 до Vdd + 0,6 В. Если статическое напряжение, по каким либо причинам, выйдет за указанные пределы, то возникнут большие статические токи, способные вывести микроконтроллер из строя.

Проблемы при организации двунаправленных портов.Некоторые команды выполняются в режиме чтение-модификация-запись. Например, команды BCF и BSF считывают порт целиком, модифицируют один бит и выводят результат обратно. Здесь необходима осторожность. Например, команда BSF для бита 5 регистра f6 (порт В) сначала считает все восемь бит. Затем выполняются действия над битом 5 и новое значение байта целиком записывается в выходные защелки. Если другой бит регистра f6 используется в качестве двунаправленного ввода/вывода (скажем бит 0) и в данный момент он определен как входной, входной сигнал на этой ножке будет считан и записан обратно в выходную защелку этой же ножки, затирая ее предыдущее состояние. До тех пор пока эта ножка остается в режиме ввода, никаких проблем не возникает. Однако, если позднее линия 0 переключится в режим вывода, ее состояние будет неопределенным.

На вывод, работающий в режиме выхода, не должны подключатся внешние нагрузки по схеме «монтажное И» или «монтажное ИЛИ». Возникающие пи этом большие токи могут повредить кристалл.

Последовательное обращение к портам ввода/вывода.Запись в порт вывода происходит в конце командного цикла. Но при чтении, данные должны быть стабильны в начале командного цикла. Будьте внимательны в операциях чтения, следующих сразу за записью в тот же порт. Здесь надо учитывать инерционность установления напряжения на выводах. Может потребоваться программная задержка, чтобы напряжение на ножке (зависит от нагрузки) успело стабилизироваться до начала исполнения следующей команды чтения.

 

2.2.11. Таймер/счетчик

 

На рис.2.8 приведена упрощенная структурная схема модуля таймера. Он может работать в одном из 2-х режимов: таймера или счетчика.

Режим таймера выбирается установкой в"0" бита TOCS (RTS) в регистре ОРТION (<5>). В режиме таймера RTCC (TMRO) увеличивается в каждом командном цикле (в отсутствии предварительного делителя). Если происходит запись в RTCC, то увеличение счетчика задерживается на два последующих цикла выполнения команды. Запись в RTCC должна вестись с учетом этой задержки. При необходимости проверки регистра TMRO на ноль без влияния на процесс счета, рекомендуется пользоваться командой MOVF TMRO, W.

Режим счетчикавыбирается установкой в "1" бита TOCS (ОРТION<5>). В этом режиме содержимое таймера увеличивается по каждому перепаду 1/0 или 0/1 на выводе TOCKI. Перепад, увеличивающий значение TMRO, выбирается битом выбора фронта переключения TOSE (RTE) в регистре ОРТION (<4>). Установка этого бита в "0" вызывает увеличение RTCC по перепаду 0/1.

В регистр RTCC можно загрузить данные или считать из него, как из любого другого регистра. Содержимое этого регистра может быть инкрементировано фронтом внешнего сигнала, поступающим на вход RTCC кристалла, или внутренним сигналом синхронизации (CLKOUT=Fosc/4).

Структурная схема содержит элемент MUX - это электронный переключатель (мультиплексор).

 

TCY (=FOSC/4)

Шина данных

Вывод

TOCKI 0 1 8

 

1 0

 

TOSE TOCS

PSA

 

 

 

PSA

PS2:PS0

 

Разрешение

WDT 0 1

PSA

 

 

Выход

WDT

 

 

TOCS, TOSE, PSA, PS2: PS0 – Биты регистра OPTION <6:0>.

 

Рис. 2.8. Структурная схема модуля таймера

 

Для того, чтобы 8‑битовый предделитель присоединить к таймеру/счетчику, нужно установить определенным образом PSA бит и биты PS в регистре Option. Регистр Option - это специальный регистр, (у него нет адреса в памяти данных) но к нему можно обратиться при помощи команды OPTION. Если предделитель подключен к таймеру/счетчику (RTCC), любые команды записи в сам RTCC (регистр f1, например ClrF1, BSF1,5 ... и т.п.) очищают его.

Бит "RTS" (RTCC signal Source) в регистре Option, определяет источник счетных импульсов (внутренний или внешний).

Когда RTS = 1:

Сигналом синхронизации для таймера/счетчика RTCC или для пределителя, если он подключен к RTCC, является сигнал, поступающий на вывод RTCC. Значение бита 4 (RTE) в регистре Option определяет, происходит ли счет по заднему фронту (RTE=1) или по переднему фронту (RTE=0) сигнала на выводе RTCC.

Когда RTS = 0:

Регистр RTCC инкрементируется по сигналу внутренней синхронизации (=Fosc/4). В этом случае значение бита »в регистре Option и сигнал на выводе RTCC не имеют значения. Однако вывод RTCC следует подключить к Vdd или к Vss, как удобнее, чтобы случайно не попасть в режим теста и обеспечить корректность в режиме низкого потребления.

Пока на таймер/счетчик RTCC поступают синхроимпульсы (не важно внешние или внутренние, подключен предделитель к RTCC или нет), регистр f1- RTCC инкрементируется и по достижении значения «FFH» сбрасывается в 0. После обнуления счет продолжается.

Счетные импульсы задерживаются на два командных цикла. Например, после записи информации в RTCC, инкрементирование его произойдет через два командных цикла. Такое происходит со всеми командами, которые производят запись или чтение-модификацию-запись f1 (например, MOVF f1, CLRF f1). Если RTCC нужно проверить на равенство нулю без останова счета, следует использовать инструкцию MOVF f1,W.

Предварительный делитель представляет собой 8- битный счетчик который используется или как предделитель перед RTCC или как делитель частоты после Watchdog таймера. Если делитель подсоединен к RTCC, то он не может быть подключен к Watchdog таймеру и наоборот. Биты PSA и PS0 - PS2 в регистре OPTION определяют включение делителя и устанавливают его коэффициент деления.

Предделитель может подключаться по разному. Когда он присоединен к RTCC, все команды производящие запись в RTCC (например, CLRF 1, MOVWF 1, BSF 1,x... и т.д.) будут одновременно обнулять и делитель. Когда делитель подключен к WDT, команда CLRWDT также обнулит делитель вместе с Watchdog таймером. Подключение делителя ‑ прграммно управляемое. Чтобы избежать несанкционированного сигнала «Сброс» во время переключения делителя с RTCC на WDT, надо выполнить определенную последовательность команд:

1. MOVLW B`xx0x0xxx` ; Выбрать внутреннюю синхронизацию

; и новое значение для делителя. Если

; новое значение делителя равно "000"

; или "001", то надо временно выбрать

; другое значение делителя.

2. OPTION

3. CLRF 1 ; Обнулить RTCC и делитель.

4. MOVLW B`xxxx1xxx` ; Выбрать WDT, не изменяя

; значения де лителя.

 

5. OPTION

6. CLRWD ; Обнулить WDT и делитель (Сброс).

7. MOVLW B`xxxx1xxx` ; Выбрать новое значение для

; делителя.

8. OPTION

 

Пункты 1 и 2 требуются только тогда, когда к RTCC был подключен внешний источник. Пункты 7 и 8 необходимы тогда, когда в делитель требуется загрузить величину `000` или `001`.

Переключение делителя с WDT на RTCC необходимо осуществлять с помощью следующей последовательности команд:

 

1. CLRWDT ; Обнулить WDT и делитель.

2. MOVLW B`xxxx0xxx` ; Выбрать RTCC, новое значение для

; делителя и источник сигнала.

3. OPTION

 

Эта последовательность должна быть выполнена даже в том случае, если сторожевой таймер WDT запрещен.

2.2.12. Режимы работы и специальные функции

Семейство микроконтроллеров Р1С16С5Х имеет набор специальных функций, предназначенных для расширения возможностей системы, минимизации стоимости, исключения навесных компонентов, обеспечения минимального энергопотребления и защиты кода от считывания. В Р1С16С5Х реализованы следующие специальные функции:

Ø выбор типа генератора;

Ø сброс;

Ø схема сброса по включению питания (POR);

Ø таймер сброса (DRT);

Ø сторожевой таймер (WDT), кроме Р1С16С52;

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

Ø защита кода от считывания;

Ø биты идентификации.

Микроконтроллеры семейства Р1С16С5Х, кроме Р1С16С52, имеют встроенный сторожевой таймер WDT, который может быть выключен только через бит конфигурации WDTE. Для повышения надежности он работает от собственного RC- генератора. Таймер сброса DRT предназначен для поддержания контроллера в сброшенном состоянии в течение 18 мс после включения питания для стабилизации работы генератора. Присутствие этих таймеров позволяет во многих применениях отказаться от схемы внешнего сброса.

Режим пониженного энергопотребления SLEEP предназначен для обеспечения очень малого тока потребления в ожидании (менее 1 мкА при выключенном сторожевом таймере). Выход из режима SLEEP возможен по внешнему сигналу сброса или по окончанию выдержки сторожевого таймера. Возможность выбора типа генератора позволяет эффективно использовать микроконтроллеры семейства в различных приложениях. Использование RC генератора позволяет уменьшить стоимость системы, a LP генератор сокращает энергопотребление.

 

2.2.13. Биты конфигурации

Микроконтроллеры семейства Р1С16С5Х имеют четыре бита конфигурации, устанавливающиеся на этапе программирования кристалла. Биты FOSC1 и FOSCO определяют тип генератора, бит WDTE разрешает использование сторожевого таймера WDT, а бит СР предназначен для защиты программы от считывания.

Слово конфигурации (CONFIG) располагается по адресу 0FFh в памяти программ и имеет следующее содержание:

 

11 4 3 2 1 0

  CP WDTE FOSC1 FOSC0

 

CP – защита от считывания программы (Code Protect):

1 – защита включена,

0 – защита выключена.

 

WDTE – разрешение сторожевого таймера:

1 – сторожевой таймер разрешен,

0 - сторожевой таймер запрещен.

 

FOSC1, FOSC0 – выбор типа генератора.

FOSC1, FOSC0 = 11: RC генератор,

10: HS генератор,

01: XT генератор,

00: LP генератор.

 

2.2.14. Типы генераторов

 

В микроконтроллерах семейства Р1С16С5Х предусмотрены несколько типов генераторов. Для Р1С16С54А/58А пользователь может запрограммировать два конфигурационных бита (FOSC1 и FOSCO) для выбора одного из четырех режимов: RC, LP, XT, HS. Для Р1С16С52 допустимы два режима: RC, XT. Для остальных микроконтроллеров семейства Р1С16С5Х тип генератора программируется на заводе-изготовителе. Для ОТР микроконтроллеров Р1С16С54/С55/С56/С57 тип генератора указывается в маркировке: ХТ-стандартный кварцевый генератор, HS-высокочастотный кварцевый генератор, LP -низкочастотный генератор для экономичных приложений с керамическим резонатором.

Кварцевый генератор. В режимах XT, LP и HS к выводам OSC1/CLKIN и OSC2/CLKOUT подключается кварцевый или керамический резонатор ( рис. 2.9 ). Схема генератора РIС 16С5Х предусматривает использование резонаторов с параллельным резонансом. Использование резонаторов с последовательным резонансом может привести к возбуждению резонатора на частоте, выходящей за пределы параметров резонатора. Для резонаторов с AT срезом может использоваться последовательный резистор Rs. В режимах XT, LP и HS генератор Р1С16С5Х может также тактироваться от внешнего источника, подключаемого к выводу OSC1/CLKIN (рис. 2.10).

 

 

PIC16C5X

 
 


C1 OSC1

           
   
 
     
 
 


XTAL Sleep

К внутренней

C2 Rs OSC2 логике

               
     
 
   
 

 

 


Рис.2.9. Схема подключения кварцевого и керамического резонатора

 

RC генератор.Когда не предъявляются высокие требования к точности и стабильности частоты генератора, использование RC генератора позволяет дополнительно уменьшить стоимость системы. Частота RC генератора зависит от питающего напряжения, значений резистора Rext, конденсатора Сext, рабочей температуры и незначительно изменяется от разброса характеристик кристаллов. На частоту генерации при малых значениях Сext также влияет собственная емкость корпуса кристалла. Кроме того, нужно учитывать также температурный дрейф резистора Rext и конденсатора Сext. На рис. 2.11 приведена схема включения RC генератора.

 

PIC16C5X

Внешнее 1

тактирование OSC1

 

Не задействован OSC2

 
 

 


Рис. 2.10. Схема подключения внешнего генератора.

 

Для значений Rext ниже 2.2 кОм генератор может работать нестабильно или не запускаться. При очень больших значениях Rext (например, 1 МОм), генератор становится чувствительным к помехам, утечкам и влажности. Рекомендуемый диапазон значений Rext от 3 кОм до 100 кОм. Хотя генератор работоспособен и при отсутствии внешнего конденсатора (Сext=0), для увеличения стабильности работы рекомендуется использовать конденсатор емкостью более 20 пф. При малой емкости Сext, или вообще без него, частота генератора сильно зависит от монтажных емкостей. Разброс будет тем больше, чем больше величина резистора Rext (так как влияние токов утечки на частоту RC генератора сильнее при больших значениях Rext), и чем меньше величина емкости Сext (так как в этом случае сильнее проявляется влияние монтажных емкостей).

 

Vdd PIC16C5X

       
 
   
 


Rtxt

Внутренняя

OSC1 частота

Cext

n

           
   
 
   
 
 

 


Vss Fosc/4

OSC2/CLOUT

 
 


Рис. 2.11. Схема включения RC генератора

 

На выводе OSC2/CLKOUT в режиме RC присутствует сигнал с частотой генератора, деленной на четыре, который может быть использован для синхронизации других схем.

 

 

2.2.15. Сброс

Микроконтроллеры Р1С16С5Х имеют следующие способы сброса:

- сброс по включению питания (POR);

- сброс по входу MCLR при обычной работе;

- сброс по входу MCLR в режиме пониженного энергопотребления SLEEP;

- сброс по сторожевому таймеру WDT.

 

На рис. 2.12 приведена структурная схема узла сброса.

 

 
 

 


Рис. 2.12. Структурная схема узла сброса

 

При сбросе некоторые регистры не изменяют свое состояние. При включении питания они имеют неопределенное значение, в остальных случаях их состояние не изменяется (см. в табл. 2.3 и более подробно в [3,7,8,10,11]). Большинство других регистров устанавливаются в определенное состояние в случаях сброса по включению питания, по входу MCLR или по сторожевому таймеру, Р1С16С5Х не различает сброс по сторожевому таймеру при нормальной работе и из режима SLEEP. Биты ТО и РD (STATUS<4:3>) устанавливаются в зависимости от причины сброса.

Во время действия сигнала «Сброс» состояние кристалла следующее:

- Генератор работает или готов к запуску ( включение или выход из SLEEP).

- Все выводы портов ввода/вывода кристалла устанавливаются в третье состояние, путем установки регистров «TRIS» в «единицы» (что соответствует режиму ввода).

- Все биты программного счетчика устанавливаются в «единицы»

(в случае PIC16C54/55 программный счетчик равен 1FFh, для PIC16C56 програмный счетчик равен 3FFh, PIC16C57 - программный счетчик равен 7FFh).

- Биты регистра OPTION устанавливаются в «единицы».

- Watchdog таймер и его делитель обнуляются.

- Старшие три бита статус-регистра (биты выбора страниц) обнуляются.

- Сигнал CLKOUT на выводе OSC2 удерживается в "0" (только для RC-генераторов).

Таймер запуска.Генератор, построенный на кварцевых или керамических резонаторах, требует обязательной задержки после включения питания для обеспечения стабильной генерации. Для этого, встроенный таймер запуска генератора держит устройство в состоянии сброса примерно 18 мс после того, как сигнал на /MCLR ножке кристалла достигнет уровня логической единицы. Таким образом, внешняя цепочка RC , связанная с ножкой /MCLR во многих случаях не требуется.

Wathdog Timer также использует таймер запуска. Это важно для случаев, где WDT используется для автоматического вывода PIC16C5X из режима SLEEP. В кристаллах с низкой частотой, где требуется более 18 мс для обеспечения стабильной генерации, использования встроенного таймера запуска недостаточно.

Внешний сброс при включении питания.Кристаллы PIC16C5X имеет встроенную схему сброса при включении питания. Чтобы использовать эту схему, надо просто подключить вывод /MCLR к напряжению питания Vdd. Таймер запуска начинает счет выдержки времени только если /MCLR достиг высокого уровня. По истечении этой выдержки ( в среднем 18 мс) процесс внутреннего сброса завершается.

Здесь существует проблема, когда Vdd нарастает слишком медленно и выдержка на запуск генератора завершилась, а питание еще не достигло своего минимального значения Vdd(min) работоспособности. Встроенная схема сброса обеспечивает работу если скорость нарастания Vdd при включении не ниже 0.05 В/мс. Необходимо также, чтобы исходный уровень питания был равен 0В. Встроенная схема сброса также не будет работать с низкочастотными кристаллами, которые требуют выдержку на запуск, значительно больше чем 18 мс. В таких случаях рекомендуем использовать внешние RC цепочки для сброса по /MCLR. Ниже на рис. 2.13 приведена такая цепочка/

Здесь можно применить диод для быстрого разряда конденсатора при выключении питания. На резисторе R < 40 кОМ не должно падать более 0,2В. Резистор 100 Ом < R1 < 1кОм ограничит ток в ножку /MCLR.

 

Vdd Vdd

PIC16C5X

       
   
 
 


VD R

R1

/MCLR


C

 

 
 

 


Рис. 2.13. Схема внешнего сброса.

 

2.2.16. Сторожевой таймер

 

Сторожевой таймер представляет собой полностью готовый встроенный RC генератор. Он будет работать, даже если основной генератор остановлен, как это бывает при исполнении команды SLEEP. Таймер вырабатывает сигнал сброса. Выработка таких сбросов может быть запрещена путем записи нуля в специальный бит, который расположен вне программной памяти EPROM. Эту операцию производят на этапе прожига микросхем.

Выдержка времени WDT. Номинальная выдержка WDT составляет 18 мс (без использования делителя). Она зависит от температуры, напряжения питания, от особенностей типа микросхемы. Если требуются большие задержки, то к WDT может быть подключен делитель с коэфициентом деления до 1:128, который программируется путем записи в регистр OPTION. Здесь могут быть реализованы выдержки до 2.5 секунд.

Команды CLRWDT и SLEEP обнуляют WDT и делитель, если он подключен к WDT. Это запускает выдержку времени сначала и предотвращает на некоторое время выработку сигнала сброс. Если сигнал сброса от WDT все же произошел, то одновременно обнуляется бит »в регистре статуса (f3).

Подключение предделителя выходу WDT показано выше на рис.2.8 (см. п. 2.2.11).

 

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

 

Режим пониженного энергопотребления SLEEP предназначен для обеспечения очень малого тока потребления в ожидании (менее 1 мкА при выключенном сторожевом таймере).

Вход в режим SLEEPосуществляется командой SLEEP. По этой команде, если WDT разрешен, то он сбрасывается и начинает счет времени, бит "TD" регистре статуса (f3) сбрасывается, бит "TO" устанавливается, а встроенный генератор выключается. Порты ввода/вывода сохраняют состояние, которое они имели до входа в режим SLEEP.

Для снижения потребляемого тока в этом режиме, линии на вывод должны иметь такие значения, чтобы не протекал ток между кроисталлом и внешними цепями. Линии на ввод должны быть соединены внешними резисторами с высоким или низким уровнем напряжения питания (Vdd или Vss), чтобы избежать токов переключения, вызываемых плавающими высокоомными входами.

Выход из режима SLEEPосуществляет WDT(если он разрешен) или внешний нулевой импульс на на ножке /MCLR- сброс. В обoих случаях PIC16C5X будет находиться в режиме сброса в течение времени запуска генератора, а затем только начнется выполнение программы.

Бит "PD" в регистре статуса (f3), который устанавливается при включении, но обнуляется командой SLEEP, может быть использован для определения состояния процессора до «просыпания»: или процессор был в режиме SLEEP (горячий старт), или было просто включено питание (холодный старт).

Бит TO позволяет определить, чем был вызван выход из режима SLEEP: или внешним сигналом на ножке /MCLR, или срабатыванием WDT.

 

2.2.18. Защита программы от считывания

Программа, записанная в ППЗУ или в ПЗУ, может быть защищена от считывания при помощь установки в ноль бита защиты СР в слове конфигурации. В режиме защиты программы содержимое памяти программы не может быть прочитано в исходном виде, тем самым невозможно реконструировать записанную программу. Кроме того, при установленном бите защиты невозможно допрограммировать контроллер. Регистр конфигурации CONFIG может быть считан и запрограммирован независимо от состояния бита защиты.. Не рекомендуется программировать бит защиты в микроконтроллерах с ультрафиолетовым стиранием.

 

2.2.19. Индивидуальная метка

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

Для обеспечения возможности чтения одинаковой информации как в обычном режиме, так и в режиме с установленным битом защиты от считывания, рекомендуется использовать только четыре младших бита по каждому адресу для хранения кода ID. Старшие 8 бит рекомендуется устанавливать в"1".

 

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

Каждая команда PIC16С5Х - это 12-битовое слово, которое разделено по смыслу на следующие части: код операции (OPCODE), поле для одного или более операндов, которые участвуют или нет в этой команде. Формат команды приведен на рис. 2.14. Описание полей команд приведено в табл.2.6. Система команд PIC16С5Х включает в себя байт-ориентированные команды, бит-ориентированные, операции с константами и команды передачи управления (см. табл. 2.7).

Для байт-ориентированных команд "f" обозначает собой регистр, с которым производится действия. ТО есть "f" обозначает один из 32 регистров PICа, который будет использовать команда с учетом текущего номера банка. Бит "d"определяет, куда положить результат. Если d=0 результат будет находиться в W регистре. Если "d" =1 результат будет находиться в регистре "f" , упомянутом в команде.

Для бит-ориентированных команд "b" обозначает номер бита, участвующего в команде, а "f" -это регистр текущего банка, в котором этот бит расположен.

Для команд передачи управления и операций с константами, »обозначает восьми или девятибитную константу.

 


Команды работы с байтами

11 6 4 0
OPCODE d f(file#)

d=0 для обозначения W

d=1 для обозначения F

f=5 разрядный адрес регистра

 

Команды работы с битами

11 8 7 5 4 0
OPCODE b(bit) f(file#)

b=3 разрядный номер бита

f=5 разрядный адрес регистра

 

Команды управления и операций с константами (кроме GOTO

и CALL)

 

11 8 7 0
OPCODE k (константа)

k=8-ми разрядное значение

 

Команды GOTO и CALL

11 9 8 0
OPCODE k (константа)

k=9-ти разрядное значение

 

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

Эта тема принадлежит разделу:

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

Однокристальные микроконтроллеры ОМК позволяют существенно расширить... Подавляющее число ОМК имеют традиционную Фон Неймановскую или Принстонскую архитектуру в которой команды и данные...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: FSR - Регистр косвенной адресации

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

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

Все темы данного раздела:

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

Уровни и аспекты проектирования МКС
  Уровни Аспекты Функциональ- ный Алгоритмичес- кий Конструкторс- кий Технологичес-

Типовые структуры МК-систем и устройств
  Типовая структура МК-системы управления показана на рис. 1.3 и состоит из объекта управления, микроконтроллера и аппаратуры их взаимной связи (АВС). Микроконтроллер путем п

Использование жесткой и программируемой логики
  Существует два принципиально разных подхода к проектированию цифровых устройств: использование принципа схемной логики или использование принципа программируемой логики. В

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

Особенности разработки аппаратурных средств МК-систем
  Применение однокристальных МК в устройствах управления объ-ектами привело к кардинальных изменениям в разработке аппаратурных средств устройств и систем. И дело здесь заключается в

МК-систем
Как уже отмечалось, при проектировании МК-систем прежде всего возникает необходимость решения задачи об оптимальном (по ряду критериев) распределении функций между аппаратурными средствами и програ

СТРУКТУРНАЯ ОРГАНИЗАЦИЯ И РЕЖИМЫ РАБОТЫ ОМК С RISC АРХИТЕКТУРОЙ
  2.1. Общие сведения об ОМК PIC16/17 и их классификация   В 1975 году фирма GI разработала периферийный контроллер (Peripheral Interface Contr

Однокристальные микроконтроллеры семейства PIC16C5X
2.2.1. Структурная организация микроконтроллеров PIC16C5X Особенности архитектуры и структурная схема. Структурная схема ОМК PIC16C5X показана на рис. 2.1. Основу структуры данного

Окончание таблицы 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   Приложение А. Сравнительные характеристики ОТР ми

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