00 = bank 0 (00h-7Fh)
01 = bank 1 (80h-FFh)
bit4 TO - флаг срабатывания сторожевого таймера. Устанавливается в 1 при включении питания и командами CLRWDT и SLEEP. Сбрасывается в 0 по завершении выдержки сторожевого таймера.
bit3 PD - режим хранения данных. Устанавливается в 1 при включении питания или выполнении команды CLRWDT. Сбрасывается в 0 командой SLEEP.
bit2 Z - флаг нулевого результата. Устанавливается в 1, если результат арифметической или логической операции равен нулю. Сохраняет свое значение до следующей операции.
bit1 DC - флаг десятичного переноса. Используется для команд ADDWF, ADDLW, SUBWF и SUBLW. Отслеживает перенос из четвертого разряда результата.
1 = Произошел перенос при сложении
0 = Не произошел перенос при сложении
Вычитание в АЛУ выполняется сложением кода первого операнда с дополнительным кодом второго операнда. Значение бита контекстно зависит от того, какая операция выполнялась. Для операции вычитания значения бита инвертированы.
bit0 С - флаг переноса. Используется для команд ADDWF, ADDLW, SUBWF и SUBLW. Отслеживает перенос из старшего разряда в бит переноса при сложении.
1 = произошел перенос при сложении
0 = не произошел перенос при сложении
Вычитание в АЛУ выполняется сложением кода первого операнда с дополнительным кодом второго операнда. Значение бита контекстно зависит от того, какая операция выполнялась. Для операции вычитания значения бита инвертированы.
Используя флаги ТО и PD можно определить, чем был вызван сброс.
TO | PD | Событие, вызвавшее состояние "сброс" |
1 | 1 | Сброс по включению питания |
0 | 1 | Сработал сторожевой таймер (не в режиме SLEEP) |
1 | 0 | Сброс по входу MCLR в режиме SLEEP или выход из SLEEP по внешнему прерыванию |
0 | 0 | Выход из SLEEP по сигналу сторожевого таймера |
X | X | Сброс по входу MCLR в обычном режиме |
х - состояние битов не изменилось. Сброс по входу MCLR в обычном режиме не меняет текущие значения битов ТО и PD.
Регистр OPTION_REG (АДРЕС 81Н)
Специальный регистр OPTION_REG представляет собой полностью доступный для записи и чтения регистр, в котором находятся биты, управляющие работой предварительного делителя, источниками внешних прерываний, встроенным таймером TMR0 и подтягивающими резисторами для порта В.
bit7 RBPU - включение встроенной нагрузки порта В
1 = нагрузка отключена
0 = нагрузка включена
bit6 INTEDG - выбор фронта прерывающего сигнала
1 = прерывание по нарастанию сигнала на выводе RB0/INT
0 = прерывание по спаду сигнала на выводе RB0/INT
bit5 TOGS - выбор источника тактирования для таймера TMR0
1 = импульсы со входа RA4/T0CKI
0 = внутренняя тактовая частота (CLKOUT)
bit4 T0SE - выбор фронта сигнала для таймера TMR0, если в качестве источника выбран вход RA4/T0CKI (T0CS=l)
1 = инкремент по спаду на выводе RA4/T0CKI
0 = инкремент по нарастанию на выводе RA4/T0CKI
bit3 PSA - бит, управляющий подключением предварительного делителя
1 = предварительный делитель подключен к WDT
0 = предварительный делитель подключен к TMR0
bit2-0 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 |
Другое по теме:
Обнаружение многопозиционного сигнала Баркера на фоне гауссовского шума Настоящая курсовая работа завершает изучение дисциплины "Основы компьютерного проектирования и моделирования РЭС". Цель проектирования – приобретение студентами первого опыта самостоятельной разработки радиотехнической системы с помощь ...