Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PIC16F877.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.15 Mб
Скачать

1.11.8 Сброс регистров tmr1 (tmr1h, tmr1l)

Регистры TMR1H и TMR1L не сбрасываются в 00h при сбросе по включению питания POR и других видах сброса, кроме сброса по сигналу триггера специальных событий модуля ССР1 или ССР2.

Регистр T1CON сбрасывается в 00h при сбросе POR и BOR (TMR1 выключается, коэффициент предделителя равен 1:1). При всех остальных видах сброса значение регистра T1CON не изменяется.

1.11.9 Предделитель tmr1

Предделитель TMR1 очищается при записи в регистр TMR1L или TMR1H.

Таблица 1.16 Регистры и биты, связанные с работой TMR1

Адрес

Имя

Бит 7

Бит 6

Бит 5

Бит 4

Бит 3

Бит 2

Бит 1

Бит 0

Сброс POR, BOR

Другие сбросы

0Bh, 8Bh, 10Bh,18Bh

INTCON

GIE

PEIE

Т01Е

INTE

RBIE

T0IF

INTF

RBIF

0000 000х

0000 000u

0Ch

PIR1

PSPIF*

ADIF

RG1F

TXIF

SSPIF

CCP1F

TMR2IF

TMR1IF

0000 0000

0000 0000

8Ch

PIE1

PSPIE*

ADIE

RCIE

TXIE

SSPIE

ССР1Е

TMR2IE

TMR1IE

0000 0000

0000 0000

0Eh

TMR1L

Младший байт 16-разрядного таймера 1

хххх хххх

uuuu uuuu

0Fh

TMR1H

Старший байт 16-разрядного таймера 1

хххх хххх

uuuu uuuu

10h

T1CON

T1CKPS1

T1CKPS0

T1OSCEN

-T1SYNC

TMR1CS

TMR1ON

--00 0000

- -uu uuuu

Обозначение: – = не используется, читается как 0; и = не изменяется; х = не известно; q = зависит от условий. Затененные биты на работу не влияют.

Примечание. * Биты PSPIE и PSPIF в микроконтроллерах PIC16F873, PIC16F876 не используются.

1.12 Прерывания

PIC16F87X имеют 14 источников прерываний. Регистр INTCON содержит флаги отдельных прерываний, биты разрешения этих прерываний и бит глобального разрешения прерываний.

Если бит GIE (INTCGN<7>) установлен в '1', разрешены все немаскированные прерывания. Если GIE=0, то все прерывания запрещены. Каждое прерывание в отдельности может быть разрешено/запрещено установкой/сбросом соответствующего бита в регистрах INTCON, PIE1 и PIE2. При сбросе микроконтроллера бит GIE сбрасывается в '0'.

При возвращении из подпрограммы обработки прерывания, по команде RETFIE, бит GIE аппаратно устанавливается в '1', разрешая все немаскированные прерывания.

В регистре INTCON находятся флаги следующих прерываний: внешнего сигнала INT, изменения уровня сигнала на входах RB7:RB4, переполнения TMR0.

В регистрах PIR1, PIR2 содержатся флаги прерываний периферийных модулей микроконтроллера, а в регистрах PIE1, PIE2 соответствующие биты разрешения прерываний. В регистре INTCON находится бит разрешения прерываний от периферийных модулей.

При переходе на подпрограмму обработки прерываний бит GIE аппаратно сбрасывается в '0', запрещая прерывания, адрес возврата из подпрограммы обработки прерываний помещается в стек, а в счетчик команд PC загружается вектор прерывания 0004h. Источник прерываний может быть определен проверкой флагов прерываний, которые должны быть сброшены программно перед разрешением прерываний, чтобы избежать повторного вызова.

Для внешних источников прерываний (сигнал INT, изменения уровня сигнала на входах RB7:RB4) время перехода на подпрограмму обработки прерываний будет составлять 3-4 машинных цикла. Точное время перехода зависит от конкретного случая, оно одинаково для 1 и 2-х цикловых команд.

Флаги прерываний устанавливаются независимо от состояния соответствующих битов маски и бита GIE.

Примечание: Индивидуальные флаги прерываний устанавливаются независимо от состояния соответствующих битов маски и бита GIE.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]