НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 21222324252627 ... 159


0ри перезапуске микроконтроллера исполнение программы начинается с адреса 0x00000. Система обработки прерываний использует адрес 0x00004. Регистр конфигурации имеет адрес 0x02007.

Доступ к регистрам

g plC-МИкроконтроллерах среднего подсемейства может примеряться до четырех банков по 128 (0x080) регистров в каждом. Доступ к каждому из этих банков регистров обеспечивается с помощью битов fiPx регистра состояния (табл. 5.7).

Таблица 5.7

Использование битов RP1 и RPO региара состояния для адресации оперативной памяти

Диапазон адресов регистров

Значение, полученное с помощью операции Исключающее ИЛИ

0x000 - 0x07F

0x080 - OxOFF

0x080

0x0100-OxOITF

0x0100

0x0180-OxOIFF

0x0180

в правой колонке таблицы указана величина, получаемая при выполнении операции Исключающее ИЛИг.;].реса и кода разрядов RP1, RPO, что гарантирует соответствие диапазону адресов банка (адреса cOnoOxOTF).

При доступе к данным через индексный регистр FSR его содержимое используется как восемь младших разрядов адреса (индекса). Старший разряд задает бит IRP регистра состояния (STATUS).

в табл. 5.8 приводятся адреса управляющих регистров микроконтроллера.

1аблица 5.8

Адреса управляющих регистров микроконтроллеров среднего подсемейства

Смещение

БанкО

Банк1

Комментарии

0x000

INDF

INDF

ОхОШ

THRO

OPTION

0x002

0x003

STATUS

STATUS

0x004

0x005

PORTA

TRISA

0x006

PORTB

TRISB

0x007

PORTC

TRISC

Для микроконтроллеров с 28/40 контактами

0x008

PORTO

TRISD

Для микроконтроллеров с 40 контактами

. 0х009

PORTE

TRISE

Для микроконтроллеров с 40 контактами

.--ОхООА

PCLATH

PCLATH

t ОхООВ

INTCON

INTCON



При написании программ хранить данные рекомендуется в стар, ших областях адресов банков. Так, для банка О удобнее использовать регистры начиная с адреса 0x020.

Регистр состояния

В табл. 5.9 дается спецификация разрядов регистра состояния (STATUS) PIC-микроконтроллеров среднего подсемейства.

Таблица 5.9

Назначение разрядов региара соаояния микроконтроллеров среднего подсемейаво

Назначение

IRP - выбор старших и младших банков регистров при индексной адресации через FSR

RP1 - RPO - выбор банка (с 0 поЗ)

т0 - флаг переполнения сторожевого таймера, устанавливается в 1 после сброса сторожевого таймера

PD - флаг режима пониженного энергопотребления, уаанавливается в 0 по команде sleep, в 1 - после включения питания и по команде CLRWDT

Z - флаг нуля

DC - флаг десятичного переноса (цифрового поразрядного - из младшего полубайта в старший)

С - флаг переноса (при арифметических операциях и операциях сдвига)

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

Структурная схема счетчика команд, который используется в микроконтроллерах среднего подсемейства, показана на рис. 5.5.

Для адресации программной памяти используются регистры PCLATH и PCL. Для перехода к другой странице предназначена нижеприведенная последовательность команд:

PCLATH = старшие разряды нового адреса PCL = младшие разряды нового адреса

Управление прерываниями

Управление прерываниями осуществляется через регистр INTCOM (см. табл. 5.10) и, в ряде случаев, через регистры РТЕ и PIR. Программы обработки прерывания всегда начинают исполняться со стартового адреса 0x004.

Что касается запросов на прерывания (биты флагов с буквой F в конце), то при их наличии для инициирования прерывания надо установить в 1 соответствующий бит разрешения (то есть установить биты с буквой Е на конце), а затем установить бит глобального разрешения прерывания GIE.



pclath

11 бит Регистр, / команд

Биты 4-3


Мультиплексор "3 в 1"

13-разрядный счетчик

Адрес программного ЗУ

Сброс

Инкрементирование Загрузка

LUnHa данных

8 младииих бит

Стек

Рис. 5.5

Структурная схема счетчика команд микроконтроллеров среднего подсемейава

Таблица 5.10

Назначение разрядов региара INTCON для микроконтроллеров среднего подсемейава

Назначение

GIE - общее (глобальное) разрешение прерывания 1 - разрешает все незамаскированные прерывания, 0 - запрещает все прерывания

Разрешение прерываний от периферии

1 - разрешает все незамаскированные прерывания от периферии, 0 - запрещает все прерывания от периферии

TOIE - разрешение прерывания при переполнении таймера tmro

INTE - разрешение внешнего прерывания (от вывода RBO/INT)

RBIE - разрешение формирования запроса на прерывание при изменении сигналов на линиях порта В (PORTB)

TOIF - запрос на прерывание (флаг) при переполнении региара TMRO

INTF - запрос на прерывание по внешнему собьлию (от вывода RBO/INT)

RBIF - запрос на прерывание при изменении состояния порта В (PORTB)

Некоторые биты, отвечающие за разрешение обработки преры-НИя и формирование запроса на прерывание, могут располагать-ь Дополнительных регистрах PIR или PIE.



0 ... 21222324252627 ... 159