Блок-схема модуля компаратора
Расположение выводов
Блок схема
Описание выводов
Карта памяти
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
| |||
| CM1 | ||||
| CM0 | ||||
| Примечание: Для использования компаратора необходимо настроить соответствующие выводы как аналоговые |
Блок-схема модуля компаратора