Блок-схема модуля компаратора
Расположение выводов
Блок схема
Описание выводов
Карта памяти
STATUS (03h или 83h)
№-бита | Вес бита | Название бита | Описание бита | |
IRP | Зарезервирован,должен поддерживатся равным “0” | - | ||
RP1 | Зарезервирован,должен поддерживатся равным “0” | - | ||
RP0 | Выбор банка(используется при прямой адресации) 1=Банк 1 (80h-FFh) 0=Банк 0 (00h-7Fh) | R/W-0 | ||
-TO | Флаг переполнения сторожевого таймера WDT 1= после сброса POR,выполнения команды CLRWDT или SLEEP 0= произошло переполнение WDT | R-1 | ||
-PD | Флаг детектора выключения питания 1= после сброса POR,или выполнения команды CLRWDT 0= после выполнения команды SLEEP | R-1 | ||
Z | Флаг нулевого результата операции 1=нулевой результат 0=не нулевой результат | R/W-x | ||
DC | Флаг десятичного переноса/заёма (командыADDWF, ADDLW,SUBLW,SUBWF) Флаг заёма имеет инверсное значение 1=был перенос из младшего полубайта 0=не было переноса из младшего полубайта | R/W-x | ||
C | Флаг переноса/заёма 1=был перенос из старшего бита 0=не было переноса из старшего бита | R/W-x | ||
Примечание: 1.Флаги C и DC используются как биты заёма и десятичного заёма соответственно,например при выполнении команд вычетания SUBLW и SUBWF. Флаг заёма имеет инверсное значение.Вычетание выполняется путём прибавления дополнительного кода второго операнда.При выполнении команд сдвига (RRF,RLF) бит С загружается старшим или младшим битом сдвигаемого регистра. |
OPTION_REG (81h)
№-бита | Вес бита | Название бита | Описание бита | |
-RAPU | Включение подтягивающих резисторов PORTA 1=отключены 0=включены | R/W-1 | ||
INTEDG | Выбор активного фронта сигнала на входе внешнего прерывания INT 1=прерывания по переднему фронту сигнала RA2/INT 0=прерывания по заднему фронту сигнала RA2/INT | R/W-1 | ||
T0CS | Выбор тактового сигнала для TMR0 1=внешний тактовый сигнал с вывода RA2/TOCKI 0=внутренний тактовый сигнал (CLKOUT) | R/W-1 | ||
T0SE | Выбор фронта приращения TMR0 при внешнем тактовом сигнале 1=приращение при переходе сигнала с “1” к “0”,на выводе RA2/TOCKI 0=приращение при переходе сигнала с “0” к “1”,на выводе RA2/TOCKI | R/W-1 | ||
PSA | Выбор включения предделителя 1=предделитель включен перед WDT 0=предделитель включен перед TMR0 | R/W-1 | ||
PS2-PS0 | Установка коэфициента деления предделителя 000=1:2 для TMR0=1:1 для WDT 001=1:4 для TMR0=1:2 для WDT 010=1:8 для TMR0=1:4 для WDT 011=1:16 для TMR0=1:8 для WDT 100=1:32 для TMR0=1:16 для WDT 101=1:64 для TMR0=1:32 для WDT 110=1:128 для TMR0=1:64 для WDT 111=1:256 для TMR0=1:128 для WDT | R/W-1 | ||
Примечание: Если предварительный делитель включен перед WDT (3-й бит=1),то коэффициент деления тактового сигнала для TMR0 равен 1:1 |
INTCON (0Bh или 8Bh)
№-бита | Вес бита | Название бита | Описание бита | |
GIE | Глобальное разрешение прерываний 1=разрешены все немаскированные прерывания 0=все прерывания запрещены | R/W-0 | ||
PEIE | Разрешение прерываний от периферийных модулей 1=разрешены все немаскированные прерывания периферийных модулей 0=прерывания от периферийных модулей запрещены | R/W-0 | ||
T0IE | Разрешение прерывания по переполнению TMR0 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
INTE | Разрешение внешнего прерывания RA2/INT 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
RAIE | Разрешение прерывания по изменению сигнала на входах PORTA (Регистр IOCA также должен быть соответственно настроен) 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
T0IF | Флаг прерывания по переполнению TMR0 1=произошло переполнение TMR0 (сбрасывается програмно) 0=преполнения не было | R/W-0 | ||
INTF | Флаг внешнего прерывания RA2/INT 1= произошло внешнее перерывание RA2/INT (сбрасывается програмно) 0=внешнего прерывания небыло | R/W-0 | ||
RAIF | Флаг прерывания по изменению сигнала на входах PORTA 1=произошло изменение уровня сигнала на одном из входов PORTA (сбрасывается програмно) 0=не было изменения уровня сигнала ни на одном из входов PORTA | R/W-0 | ||
Примечание: T0IF устанавливается в “1”,когда происходит переполнение TMR0,который не очищается при последующих сбросах,поэтому он должен быть заново инициализирован перед проверкой флага T0IF. |
PIE1 (8Ch)
№-бита | Вес бита | Название бита | Описание бита | |
EEIE | Разрешение прерывания по завершению цикла записи в EEPROM память данных 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
ADIE | Разрешение прерывания по завершению преобразования АЦП (только в 16F676) 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
CMIE | Разрешение прерывания от модуля компаратора 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
TMR1IE | Разрешение прерывания по переполнению TMR1 1=прерывание разрешено 0=прерывание запрещено | R/W-0 | ||
Примечание: Чтобы разрешить перефирийные прерывания,необходимо установить в “1” бит PEIE регистра INTCON. |
PIR1 (0Ch)
№-бита | Вес бита | Название бита | Описание бита | |
EEIF | Флаг прерывания по завершению цикла записи в EEPROM память данных 1= запись в EEPROM завершена (сбрасывается програмно) 0= запись в EEPROM не завершена или не была начата | R/W-0 | ||
ADIF | Флаг прерывания по завершению преобразования АЦП (только в 16F676) 1= преобразования АЦП завершено (сбрасывается програмно) 0= преобразования АЦП не завершено | R/W-0 | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
CMIF | Флаг прерывания от модуля компаратора 1=изменился уровень сигнала на входе компаратора(сбрасывается програмно) 0= уровень сигнала на входе компаратора не менялся | R/W-0 | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
TMR1IF | Флаг прерывания по переполнению TMR1 1=произошло переполнение (сбрасывается програмно) 0=преполнения не было | R/W-0 | ||
Примечание: Флаги прерываний устанавливаются при возникновении условий прерываний вне зависимости от соответствующих битов разрешения и бита общего разрешения прерываний GIE регистра INTCON. Програмное обеспечение пользователя должно сбрасывать соответствующие флаги при обработке переферийных прерываний. |
PCON (8Eh)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
-POR | Флаг сброса по включению питания,по сигналу на выводе MCLR или по переполнению сторожевого таймера WDT (программно должен быть установлен в “1”,для обнаружения сброса) 1=сброса не было 0= сброс был | R/W-0 | ||
-BOD | Флаг сброса по снижению напряжения питания (программно должен быть установлен в “1”,для обнаружения сброса) 1=сброса не было 0= сброс был | R/W-x |
OSCCAL (90h)
№-бита | Вес бита | Название бита | Описание бита | |
CAL5 | CAL5-CAL0 шести-разрядная константа коррекции частоты внутреннего генератора 4Мгц 111 111=максимальная частота 100 000=средняя частота 000 000=минимальная частота | R/W-0 | ||
CAL4 | ||||
CAL3 | ||||
CAL2 | ||||
CAL1 | ||||
CAL0 | ||||
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - |
PORTA (05h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
RA5 | Входы или выходы (в зависимости от настройки регистра TRISA) Соответствуюющие названию бита выводы микроконтроллера | R/W-x | ||
RA4 | ||||
RA3 | ||||
RA2 | ||||
RA1 | ||||
RA0 |
TRISA (85h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
TRISA5 | Вывод RA5: 1=работает как вход, 0=работает как выход | R/W-x | ||
TRISA4 | Вывод RA4: 1=работает как вход, 0=работает как выход | |||
TRISA3 | Вывод RA3: Работает только как вход и всегда читается как “1” | R-1 | ||
TRISA2 | Вывод RA2: 1=работает как вход, 0=работает как выход | R/W-x | ||
TRISA1 | Вывод RA1: 1=работает как вход, 0=работает как выход | |||
TRISA0 | Вывод RA0: 1=работает как вход, 0=работает как выход |
WPUA (95h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
WPUA5 | Подключение подтягивающего резистора,при работе на вход: 1-вкл.,0-выкл. | R/W-1 | ||
WPUA4 | Подключение подтягивающего резистора,при работе на вход: 1-вкл.,0-выкл. | |||
- | Не используется: читается как “0” | - | ||
WPUA2 | Подключение подтягивающего резистора,при работе на вход: 1-вкл.,0-выкл. | R/W-1 | ||
WPUA1 | Подключение подтягивающего резистора,при работе на вход: 1-вкл.,0-выкл. | |||
WPUA0 | Подключение подтягивающего резистора,при работе на вход: 1-вкл.,0-выкл. | |||
Примечание: Подтягигивающий резистор автоматически отключается при настройке вывода на выход. Подтягивающие резисторы на всех входах отключаются при сбросе по включению питания,а так же управляются битом –RAPU регистра OPTION_REG. |
IOCA (96h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
IOCA5 | Разрешение прерывания на входе RA5: 1=разрешено, 0=запрещено | R/W-0 | ||
IOCA4 | Разрешение прерывания на входе RA4: 1=разрешено, 0=запрещено | |||
IOCA3 | Разрешение прерывания на входе RA3: 1=разрешено, 0=запрещено | |||
IOCA2 | Разрешение прерывания на входе RA2: 1=разрешено, 0=запрещено | |||
IOCA1 | Разрешение прерывания на входе RA1: 1=разрешено, 0=запрещено | |||
IOCA0 | Разрешение прерывания на входе RA0: 1=разрешено, 0=запрещено | |||
Примечание: Для индивидуального разрешения прерываний по изменению уровня сигнала на входах RA5-RA0, должны быть глобально разрешены прерывания,битом GIE регистра INTCON и разрешены прерывания по изменению уровня сигнала на входах,битом RAIE регистра INTCON. |
PORTC (07h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
RC5 | Входы или выходы (в зависимости от настройки регистра TRISC) Соответствуюющие названию бита выводы микроконтроллера | R/W-x | ||
RC4 | ||||
RC3 | ||||
RC2 | ||||
RC1 | ||||
RC0 |
TRISC (87h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
- | Не используется: читается как “0” | - | ||
TRISC5 | Вывод RC5: 1=работает как вход, 0=работает как выход | R/W-1 | ||
TRISC4 | Вывод RC4: 1=работает как вход, 0=работает как выход | |||
TRISC3 | Вывод RC3: 1=работает как вход, 0=работает как выход | |||
TRISC2 | Вывод RC2: 1=работает как вход, 0=работает как выход | |||
TRISC1 | Вывод RC1: 1=работает как вход, 0=работает как выход | |||
TRISC0 | Вывод RC0: 1=работает как вход, 0=работает как выход |
T1C0N (10h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
TMR1GE | Разрешение выключения TMR1 по сигналу с входа -T1G При бите TMR1ON=1: значение этого бита игнорируется. При бите TMR1ON=0: 1=таймер TMR1 включен,если на входе -T1G низкий логический уровень. 0=таймер TMR1 включен | R/W-1 | ||
T1CKPS1 | Выбор коэфициента деления предделителя TMR1 11=1:8 10=1:4 01=1:2 00=1:1 | |||
T1CKPS0 | ||||
T1OSCEN | Включение тактового генератора TMR1 Режим тактового генератора INTOSC без CLKOUT: 1=тактовый LP генератор TMR1 включен. 0= LP генератор выключен. Другие режимы тактового генератора микроконтроллера: значение этого бита игнорируется. | |||
-T1SYNC | Синхонизация внешнего тактового сигнала. При бите TMR1CS=1: 1=не синхронизировать внешний тактовый сигнал. 0=не синхронизировать. При бите TMR1CS=0: значение этого бита игнорируется. TMR1 использует внутренний тактовый сигнал. | |||
TMR1CS | Выбор источника тактового сигнала 1=внешний источник с вывода T1OSO/T1CKI (активным является передний фронт сигнала) 0=внутренний источник (Fosc/4) | |||
TMR1ON | Включение модуля TMR1 1= TMR1 включен 0= TMR1 выключен |
CMCON (19h)
№-бита | Вес бита | Название бита | Описание бита | |
- | Не используется: читается как “0” | - | ||
COUT | Выход компаратора Если CINV=0: 1=VIN+ > VIN- 0=VIN+ < VIN- Если CINV=1: 0=VIN+ > VIN- 1=VIN+ < VIN- | R-0 | ||
- | Не используется: читается как “0” | - | ||
CINV | Режим выхода компаратора 1=инверсный выход 0=не инверсный выход | R/W-0 | ||
CIS | Подключение входа компаратора Когда CM2:CM0=101 или CM2:CM0=110 1= VIN- подключен к CIN+ 0= VIN- подключен к CIN- | |||
CM2 | Режим работы копаратора: Сброс компаратора (после сброса POR) CM2:CM0=000 Компаратор выключен CM2:CM0=111 Компаратор без внешнего выхода CM2:CM0=010 Компаратор с внутренним ИОН без внешнего выхода CM2:CM0=100 Компаратор с внутренним ИОН и внешним выходом CM2:CM0=011 Компаратор с внутренним ИОН ,внешним выходом и мултиплексируемым входом CM2:CM0=101 Компаратор с внешним выходом CM2:CM0=001 Компаратор с внутренним ИОН и мултиплексируемым входом CM2:CM0=110 | |||
CM1 | ||||
CM0 | ||||
Примечание: Для использования компаратора необходимо настроить соответствующие выводы как аналоговые |
Блок-схема модуля компаратора