Предварительный делитель


 

Встроенный 8-разрядный счетчик может использоваться как предварительный делитель для TMR0 или как дополнительный делитель для сторожевого таймера WDT. Необходимо учесть, что делитель может быть использован либо с TMR0, либо со сторожевым таймером WDT, но не одновременно. Биты PSA и PS0-PS2 в регистре OPTION<3:0> задают режим использования предварительного делителя и его коэффициент деления.

Когда предварительный делитель используется с TMR0, все команды, производящие запись в регистр TMR0 (например, CLRF TMR0, MOVWF TMR0, BSF TMR0,b и т.д.), очищают предварительный делитель. Когда предварительный делитель используется сторожевым таймером WDT, команда CLRWDT очищает предварительный делитель одновременно со сбросом сторожевого таймера WDT. Предварительный делитель не может быть считан или записан программно. По сбросу предварительный делитель содержит все «0».

Назначение предварительного делителя задается программно и может быть изменено в процессе выполнения программы. Например, при переключении предварительного делителя с TMR0 на WDT должна быть выполнена такая последовательность команд:

 

BCF STATUS,RP0 ; Установка банка 0.
CLRF TMR0 ; Сброс TMR0/
BSF STATUS,RP0 ; Установка банка 1.
CLRWDT   ; Сброс WDT и предварительного делителя.
MOVLW b’xxxx1xxx’ ; Укажите новое значение предваритель-
MOVWF OPTION ; ного делителя.
BCF STATUS,RP0 ; Установка банка 0.

 

Для переключения предварительного делителя с WDT на TMR0 должна быть выполнена последовательность команд:

 

CLRWDT   ; Сброс WDT и предварительного делителя.
BSF STATUS,RP0 ; Установка банка 1.
MOVLW b’xxxx0xxx’ ; Указать новое значение предварительного
    ; делителя, источник тактирования и
    ; фронт переключения TMR0.
MOVWF OPTION ;
BCF STATUS,RP0 ; Установка банка 0.

 

Эта последовательность должна быть выполнена даже в том случае, если сторожевой таймер WDT запрещен.

 


Специальные функции

 

Микроконтроллер PIC16F84 имеет набор специальных функций, предназначенных для расширения возможностей системы, минимизации стоимости, исключения навесных компонентов, обеспечения минимального энергопотребления и защиты кода от считывания. В нем реализованы следующие специальные функции:

– выбор типа генератора;

– сброс:

– схема сброса по включению питания (POR);

– таймер сброса (PWRT);

– таймер запуска генератора (OST);

– прерывания;

– сторожевой таймер (WDT);

– режим пониженного энергопотребления (SLEEP);

– защита кода от считывания;

– биты идентификации;

– внутрисхемное программирование.

Микроконтроллер имеет сторожевой таймер WDT, который может быть выключен только через бит конфигурации WDTE. Для повышения надежности он работает от собственного RC-генератора. Сторожевой таймер предназначен для формирования сигнала сброса в случае «зависания» рабочей программы.

Имеются также два таймера, формирующие необходимые задержки при включении питания. Таймер запуска генератора OST сохраняет микроконтроллер в состоянии сброса до стабилизации работы генератора. Таймер сброса PWRT формирует фиксированную задержку 18 мс после включения питания. Присутствие этих таймеров позволяет во многих применениях отказаться от схемы внешнего сброса.

Режим пониженного энергопотребления предназначен для обеспечения очень малого тока потребления в ожидании (менее 1 мкА при выключенном сторожевом таймере). Вход в режим SLEEP осуществляется программно по соответствующей команде. Выход из режима SLEEP возможен по внешнему сигналу сброса или по окончании выдержки сторожевого таймера.

Возможность выбора типа генератора позволяет эффективно использовать микроконтроллер в различных приложениях. Использование RC-генератора позволяет уменьшить стоимость системы, а LP-генератор сокращает энергопотребление.

 

Биты конфигурации

 

Описание разрядов слова конфигурации приведено в таблице 5.

 

Таблица 5 – Описание разрядов регистра CONFIG

 

Регистр: CONFIG Адрес: 2007h  
P P P P P P P P P P P P P P
CP CP CP CP CP CP CP CP CP CP PWRTE WDTE FOSC1 FOSC0
бит 13 бит 0
FOSC1 FOSC0   FOSC1 FOSC0:  
RC-генератор
HS-генератор
XT-генератор
LP-генератор
WDTE (Watchdog Timer Enable) Разрешение сторожевого таймера 1 – сторожевой таймер разрешен. 0 – сторожевой таймер запрещен
PWRTE (Power-up Timer Enable) Разрешение таймера включения питания 1 – таймер включения питания запре- щен. 0 – таймер включения питания разре- шен
CP (Program Memory Code Protection) Защита от считывания памяти программы 1 – защита от считывания выключена. 0 – защита от считывания включена. Для защиты от считывания памяти программы должны быть установлены все биты CP
Примечание – P – программируемый бит.
                                       

 

Микроконтроллер имеет набор бит конфигурации, устанавливающихся на этапе программирования кристалла. Эти биты отображаются на специальный адрес 2007h. Адрес 2007h находится за пределами памяти программы в диапазоне адресов конфигурации/тестирования (2000h‑3FFFh), который доступен только в режиме программирования.

Биты FOSC1, FOSC0 определяют тип генератора, бит WDTE разрешает использование сторожевого таймера WDT, бит PWRTE разрешает работу таймера включения питания, а бит CP предназначен для защиты от считывания памяти программы.

 


Типы генераторов

 

В микроконтроллере предусмотрены четыре типа генераторов. Пользователь должен запрограммировать два конфигурационных бита (FOSC1 и FOSC0) для выбора одного из четырех режимов:

- LP (Low Power) – микромощный резонатор;

- XT (Crystal) – керамический или кварцевый резонатор;

- HS (High Speed) – высокочастотный кварцевый резонатор;

- RC (Resistor/Capacitor) – RC-цепочка.

 



Дата добавления: 2021-01-11; просмотров: 169;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.