Регистры специального назначения

 

Регистр статуса (STATUS) содержит признаки операции (арифметические флаги) АЛУ, состояние контроллера при сбросе и биты выбора страниц для памяти данных. Назначение бит регистра приведено в табл. 5.3.

Табл. 5.3. Назначение бит регистра STATUS (адрес 03h, 83h).

Табл. 5.3. Назначение бит регистра STATUS (адрес 03h, 83h) (продолжение).

 

Здесь и далее: R — читаемый бит; W — записываемый бит; S — устанавливаемый бит; U — неиспользуемый бит (читается как «0»); -n = 0 или 1 — значение бита после сброса.

Регистр статуса доступен для любой команды так же, как любой другой регистр. Однако если регистр STATUS является регистром назначения для команды, влияющей на биты Z, DC или С, то запись в эти три бита запрещается. Кроме того, биты /ТО и /PD устанавливаются аппаратно и не могут быть записаны в статус программно. Это следует иметь в виду при выполнении команды с использованием регистра статуса. Например, команда CLRF STATUS обнулит все биты, кроме битов /ТО и /PD, а затем установит бит Z=l. После выполнения этой команды регистр статуса может и не иметь нулевого значения (из-за битов /ТО и /PD) STATUS=000uuluu, где u — неизменяемое состояние. Поэтому рекомендуется для изменения регистра статуса использовать только команды битовой установки BCF, BSF, MOVWF, которые не изменяют остальные биты статуса. Воздействие всех команд на биты статуса рассматривается в разделе «Описание системы команд».

Регистр конфигурации (OPTION) является доступным по чтению и записи регистром, который содержит управляющие биты для конфигурации предварительного делителя (пределителя), внешних прерываний, таймера, а также резисторов «pull-up» на выводах PORTB. Назначение бит регистра приведено в табл. 5.4.

Табл. 5.4. Назначение бит регистра OPTION (адрес 81h).

В том случае, когда пределитель обслуживает сторожевой таймер WDT, таймеру TMR0 назначается коэффициент предварительного деления 1:1.

Регистр условий прерывания (INTCON) является доступным по чтению и записи регистром, который содержит биты доступа для всех источников прерываний. Назначение бит регистра приведено в табл. 5.5.

Табл. 5.5. Назначение бит регистра INTCON (адреса 0Bh, 8Bh).

 

Бит разрешения всех прерываний GIE сбрасывается автоматически при следующих обстоятельствах:

• по включению питания;

• по внешнему сигналу /MCLR при нормальной работе;

• по внешнему сигналу /MCLR в режиме SLEEP;

• по окончанию задержки таймера WDT при нормальной работе;

• по окончанию задержки таймера WDT в режиме SLEEP.

Прерывание INT может вывести процессор из режима SLEEP, если перед входом в этот режим бит INTE был установлен в единицу. Состояние бита GIE также определяет: будет ли процессор переходить на подпрограмму прерывания после выхода из режима SLEEP.

Сброс битов - запросов прерываний - должен осуществляться соответствующей программой обработки.