Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛ_Мікропроцесорні пристрої.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆
    1. Регістр стану status

Регістр стану (адреса 03h, 83h, 103h або 183h) містить арифметичні прапори АЛП, біти стану контролера при скиданні і біти вибору сторінок пам’яті. Регістр STATUS доступний для будь-якої команди так само, як будь-який інший регістр. Проте біти TO і PD встановлюються апаратно і не можуть бути записані в регістр статусу програмно. Це слід мати на увазі при виконанні команди з використанням регістра статусу. Наприклад, команда CLRF обнулить усі біти, окрім бітів TO і PD, а потім встановить біт Z=1. Після виконання цієї команди регістр статусу може і не мати нульового значення (із-за бітів TO і PD) 000??100. Тому рекомендується для зміни регістра статусу використовувати тільки команди бітової установки BCF, BSF, MOVWF, які не змінюють решту біт статусу.

Розміщення прапорів в регістрі STATUS наступне:

b7 b6 b5 b4 b3 b2 b1 b0

IRP

RP1

RP0

-TO

- PD

Z

DC

C

Біт 7: IRP: Біт вибору банку при непрямій адресації 1 – банк 2, 3(100…1FFh)

0 – банк 0, 1 (000… 0FFh)

Біти 6-5: RP1:RPO: Біти вибору банку при безпосередній адресації 11 – банк 3 (180…1FFh)

10 – банк 2 (100…17Fh)

01 – банк 1 (080… 0FFh)

00 – банк 0 (000… 07Fh)

Біт 4: -ТО: Прапор переповнювання сторожового таймера

1 – після POR або виконань команд CLRWDT, SLEEP 0 – після переповнювання WDT

Біт 3: -PD: Прапор включення живлення

1 – після POR або виконань команди CLRWDT 0 – після виконання команди SLEEP

Біт 2: Z: Прапор нульового результату

1 – нульовий результат виконання арифметичної або логічної операції

0 – не нульовий результат виконання арифметичної або логічної операції

Біт 1: DC: Прапор десяткового перенесення/позики (для команд ADDWF, ADDWL, SUBWF, SUBWL), позика має інверсне значення

1 – було перенесення з молодшого півбайта

0 – не було перенесення з молодшого півбайта

Біт 0: С: Прапор перенесення/позики (для команд ADDWF, ADDWL, SUBWF, SUBWL), позика має інверсне значення

1 – було перенесення із старшого біта

0 – не було перенесення із старшого біта

Примітка. Прапор позики має інверсне значення. Віднімання виконується шляхом збільшення додаткового коду другого операнда. При виконанні команд зрушення (RRF, RLF) біт С завантажується старшим або молодшим бітом зрушуваного регістра.

    1. Регістр OPTION

Регістр OPTION доступний для читання і запису, містить біти управління:

  • попереднім дільником TMR0/WDT;

  • активним фронтом зовнішнього переривання RB0/INT;

  • підтягаючими резисторами на входах PORTB.

Примітка. Якщо попередній дільник включений перед WDT, то коефіцієнт ділення тактового сигналу для TMR0 дорівнює 1:1.

Розміщення бітів керування в регістрі OPTION наступне:

b7 b6 b5 b4 b3 b2 b1 b0

-RBPU

|INTEDG

TOCS

| TOSE

PSA

PS2

PS1

PS0

біт 7: -RBPU: Включення підтягаючих резисторів на входах PORTB:

1 = підтягаючі резистори відключені, 0 = підтягаючі резистори включені;

біт 6: INTEDG: Вибір активного фронту сигналу на вході зовнішнього переривання: INT 1 = переривання за переднім фронтом сигналу,

0 = переривання за заднім фронтом сигналу;

біт 5:TOCS: Вибір тактового сигналу для TMR0: 1 = зовнішній тактовий сигнал з виведення RA4/TOCKI, 0 = внутрішній тактовий сигнал CLKOUT;

біт 4: TOSE: Вибір фронту приросту TMR0 при зовнішньому тактовому сигналі: 1 = приріст за заднім фронтом сигналу (з високого до низького рівня) на виведенні RA4/TOCKI, 0 = приріст за переднім фронтом сигналу (з низького до високого рівня) на виведенні RA4/TOCKI;

біт 3: PSA: Вибір включення переддільника: 1 = переддільник включений перед WDT, 0 = переддільник включений перед TMR0;

біти 2-0: PS2…PS0: Установка коефіцієнта ділення переддільника, коефіцієнти ділення наведені в таблиці 4.2.

Таблиця 4.2 – Коефіцієнти ділення переддільника

Значення PS2 – PS0

Для TMR0

Для WDT

000

1 :2

1:1

001

1 :4

1:2

010

1:8

1:4

011

1:16

1:8

100

1:32

1:16

101

1:64

1:32

110

1:128

1:64

111

1 :256

1:128

Примітка. При використанні режиму низьковольтного програмування і включених підтягаючих резисторах на PORTB необхідно скинути в '0' 3-й біт регістра TRISB для виключення підтягаючого резистора на виведенні RB3.

    1. Регістр INTCON

Регістр INTCON доступний для читання і запису, містить біти дозволів і прапори переривань: переповнювання TMR0; зміни рівня сигналу на виводах PORTB; зовнішнє джерело переривань RBO/INT.

Розміщення бітів в регістрі INTCON наступне:

b7 b6 b5 b4 b3 b2 b1 b0

GIE

|PEIE

TOIE

INTE

RBI

TOIF

INTF

RBIF

біт 7: GIE: Глобальний дозвіл переривань:

1 = дозволені всі немасковані переривання, 0= усі переривання заборонені;

біт 6: PEIE: Дозвіл переривань від периферійних модулів:

1= дозволені всі немасковані переривання периферійних модулів, 0= переривання від периферійних модулів заборонені;

біт 5: TOIE: Дозвіл переривання по переповнюванні TMR0: 1= переривання дозволене,

0= переривання заборонене;

біт 4: INTE: Дозвіл зовнішнього переривання INT: 1= переривання дозволене,

0= переривання заборонене;

біт 3: RBIE: Дозвіл переривання по зміні сигналу на входах RB7:RB4 PORTB:

1= переривання дозволене,

0= переривання заборонене;

біт 2: TOIF: Прапор переривання по переповнюванні TMR0: 1= відбулося переповнення TMR0 (скидається програмно), 0= переповнювання TMR0 не було;

біт 1: INTF: Прапор зовнішнього переривання INT:

1=виконана умова зовнішнього переривання на виведенні RBO/INT (скидається програмно),

0= зовнішнього переривання не було;

біт 0: RBIF: Прапор переривання по зміні рівня сигналу на входах RB7:RB4 PORTB:

1 = зафіксована зміна рівня сигналу на одному з входів RB7:RB4 (скидається програмно),

0 = не було зміни рівня сигналу ні на одному з входів RB7:RB4.

Примітка. Прапори переривань встановлюються при виникненні умов переривань незалежно від відповідних бітів дозволу і біта загального

дозволу переривань GIE (INTCON<7>).