Você está na página 1de 30

Traduzido do Inglês para o Português - www.onlinedoctranslator.

com

PIC18 (L) F2X / 4XK22


TABELA 10-16: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS À PORTA
Redefinir

Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valores
na página

CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354


CONFIG4L DEBUG XINST - - - LVP(1) - STRVEN 355
Lenda: - = locais não implementados, lidos como '0 '. Os bits sombreados não são usados para interrupções.
Nota 1: Só pode ser alterado no modo de programação de alta tensão.

10.7 Controle analógico da porta 10.8 Controle de taxa de variação da porta

A maioria dos pinos de porta são multiplexados com funções A taxa de variação de saída de cada porta é programável para
analógicas, como o conversor analógico-digital e selecionar a taxa de transição padrão ou uma taxa de transição
comparadores. Quando esses pinos de E / S forem usados reduzida de aproximadamente 0,1 vezes o padrão para
como entradas analógicas, é necessário desabilitar o buffer minimizar a EMI. O tempo de transição reduzido é a taxa de
de entrada digital para evitar corrente excessiva causada por variação padrão para todas as portas.
polarização inadequada da entrada digital. O controle
individual dos buffers de entrada digital em pinos que
compartilham funções analógicas é fornecido pelos registros
ANSELA, ANSELB, ANSELC, ANSELD e ANSELE. Definir um bit
ANSx alto desabilitará o buffer de entrada digital associado e
fará com que todas as leituras desse pino retornem '0 '
enquanto permite que as funções analógicas desse pino
funcionem corretamente.

O estado dos bits ANSx não afeta as funções de saída


digital. Um pino com o bit claro TRISx associado e o bit
ANSx definido ainda funcionará como uma saída digital,
mas o modo de entrada será analógico. Isso pode causar
um comportamento inesperado ao executar operações
readmodify-write na porta afetada.
Todos os bits de registro ANSEL são padronizados para '1 ' sobre POR e
BOR, desabilitando entradas digitais para seus pinos de porta associados.
Todos os bits de registro TRIS são padronizados para '1 ' no POR ou BOR,
desabilitando as saídas digitais para seus pinos de porta associados. Como
resultado, todos os pinos de porta que têm um registro ANSEL serão
padronizados para entradas analógicas no POR ou BOR.

REGISTRO 10-1: PORTX(1): PORTx CADASTRE-SE


R / Wu / x R / Wu / x R / Wu / x R / Wu / x R / Wu / x R / Wu / x R / Wu / x R / Wu / x
Rx7 Rx6 Rx5 Rx4 Rx3 Rx2 Rx1 Rx0
bit 7 bit 0

Lenda:
R = bit legível '1' = W = Bit gravável '0' U = bit não implementado, lido como '0' x

bit definido = Bit está limpo = bit é desconhecido


- n / n = Valor em POR e BOR / Valor em todas as outras redefinições

bit 7-0 Rx <7: 0>: Valores de bit I / O PORTx(2)

Nota 1: Registre a descrição para PORTA, PORTB, PORTC e PORTD.


2: As gravações no PORTx são gravadas no registro LATx correspondente. As leituras do registro PORTx são o retorno de I / O
valores de pinos.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 151


PIC18 (L) F2X / 4XK22

REGISTRO 10-2: PORTA: REGISTRO DE PORTA


U-0 U-0 U-0 U-0 R / Wu / x R / Wu / x R / Wu / x R / Wu / x

- - - - RE3(1) RE2(2), (3) RE1(2), (3) RE0(2), (3)

bit 7 bit 0

Lenda:
R = bit legível '1' = W = Bit gravável '0' U = bit não implementado, lido como '0' x

bit definido = Bit está limpo = bit é desconhecido

- n / n = Valor em POR e BOR / Valor em todas as outras redefinições

bit 7-4 Não implementado: Lido como '0 '

bit 3 RE3: Valor do bit de entrada PORTE(1)

bit 2-0 RE <2: 0>: Valores de bit PORTE I / O(2), (3)

Nota 1: A porta está disponível como entrada apenas quando MCLRE = 0

2: As gravações no PORTx são gravadas no registro LATx correspondente. As leituras do registro PORTx são o retorno dos valores dos
pinos de E / S.
3: Disponível em dispositivos PIC18 (L) F4XK22.

REGISTRO 10-3: ANSELA - PORTA ANALOG SELECIONE REGISTRO


U-0 U-0 R / W-1 U-0 R / W-1 R / W-1 R / W-1 R / W-1

- - ANSA5 - ANSA3 ANSA2 ANSA1 ANSA0


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-6 Não implementado: Lido como '0 '


bit 5 ANSA5: RA5 Analog Select bit
1 = Buffer de entrada digital desativado
0 = Buffer de entrada digital habilitado

bit 4 Não implementado: Lido como '0 '

bit 3-0 ANSA <3: 0>: RA <3: 0> bit de seleção analógica
1 = Buffer de entrada digital desativado
0 = Buffer de entrada digital habilitado

DS41412B-page 152 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

REGISTRO 10-4: ANSELB - PORTB ANALOG SELECIONE REGISTRO


U-0 U-0 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1

- - ANSB5 ANSB4 ANSB3 ANSB2 ANSB1 ANSB0


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-6 Não implementado: Lido como '0 '

bit 5-0 ANSB <5: 0>: RB <5: 0> bit de seleção analógica
1 = Buffer de entrada digital desativado
0 = Buffer de entrada digital habilitado

REGISTRO 10-5: ANSELC - PORTC ANALOG SELECIONE REGISTRO


R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 U-0 U-0
ANSC7 ANSC6 ANSC5 ANSC4 ANSC3 ANSC2 - -
bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-2 ANSC <7: 2>: RC <7: 2> Bit de seleção analógica
1 = Buffer de entrada digital desativado
0 = Buffer de entrada digital habilitado

bit 1-0 Não implementado: Lido como '0 '

REGISTRO 10-6: ANSELD - PORTD ANALOG SELECT REGISTRO


R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1
ANSD7 ANSD6 ANSD5 ANSD4 ANSD3 ANSD2 ANSD1 ANSD0
bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-0 ANSD <7: 0>: RD <7: 0> bit de seleção analógica
1 = Buffer de entrada digital desativado
0 = Buffer de entrada digital habilitado

- 2010 Microchip Technology Inc. Preliminares DS41412B-página 153


PIC18 (L) F2X / 4XK22

REGISTRO 10-7: ANSELE - PORTE ANALOG SELECT REGISTRO


U-0 U-0 U-0 U-0 U-0 R / W-1 R / W-1 R / W-1

- - - - - ANSE2(1) ANSE1(1) ANSE0(1)


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-3 Não implementado: Lido como '0 '

bit 2-0 ANSE <2: 0>: RE <2: 0> bit de seleção analógica(1)
1 = Buffer de entrada digital desativado
0 = Buffer de entrada digital habilitado

Nota 1: Disponível apenas em dispositivos PIC18 (L) F4XK22.

REGISTRO 10-8: TRISx: PORTx REGISTRO TRI-ESTADO(1)


R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1

TRISx7 TRISx6 TRISx5 TRISx4 TRISx3 TRISx2 TRISx1 TRISx0


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-0 TRISx <7: 0>: Bit de controle de três estados PORTx

1 = Pino PORTx configurado como uma entrada (tri-declarado)


0 = Pino PORTx configurado como uma saída

Nota 1: Registre a descrição para TRISA, TRISB, TRISC e TRISD.

REGISTRO 10-9: TRISE: REGISTRO DE PORTE TRI-ESTADO


R / W-1 U-0 U-0 U-0 U-0 R / W-1 R / W-1 R / W-1

WPUE3 - - - - TRISE2(1) TRISE1(1) TRISE0(1)


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7 WPUE3: Bits de registro pull-up fracos


1 = Pull-up habilitado no pino PORT
1 = Pull-up desativado no pino PORT
bit 6-3 Não implementado: Lido como '0 '

bit 2-0 TRISE <7: 0>: Bit de controle de três estados PORTE(1)
1 = Pino PORTE configurado como uma entrada (tri-declarado)
0 = Pino PORTE configurado como uma saída

Nota 1: Disponível apenas em dispositivos PIC18 (L) F4XK22.

DS41412B - página 154 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

REGISTRO 10-10: LATx: PORTx OUTPUT LATCH REGISTRO(1)


R / Wx / u R / Wx / u R / Wx / u R / Wx / u R / Wx / u R / Wx / u R / Wx / u R / Wx / u

LATx7 LATx6 LATx5 LATx4 LATx3 LATx2 LATx1 LATx0


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-0 LATx <7: 0>: Valor do bit de trava de saída PORTx(2)

Nota 1: Registre a descrição para LATA, LATB, LATC e LATD.


2: As gravações na PORTA são gravadas no registro LATA correspondente. Leituras do registro PORTA são retorno de I / O
valores de pinos.

REGISTRO 10-11: ATRASADO: REGISTRO DA TRAVA DE SAÍDA DA PORTA(1)


U-0 U-0 U-0 U-0 U-0 R / Wx / u R / Wx / u R / Wx / u

- - - - - LATE2 LATE1 LATE0


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-3 Não implementado: Lido como '0 '

bit 2-0 ATRASADO <2: 0>: Valor do bit de trava de saída PORTE(2)

Nota 1: Disponível apenas em dispositivos PIC18 (L) F4XK22.


2: As gravações na PORTA são gravadas no registro LATA correspondente. Leituras do registro PORTA são retorno de I / O
valores de pinos.

REGISTER 10-12: WPUB: WEAK PULL-UP PORTB REGISTER


R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1

WPUB7 WPUB6 WPUB5 WPUB4 WPUB3 WPUB2 WPUB1 WPUB0


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-0 WPUB <7: 0>: Bits de registro pull-up fracos


1 = Pull-up habilitado no pino PORT
1 = Pull-up desativado no pino PORT

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 155


PIC18 (L) F2X / 4XK22

REGISTRO 10-13: IOCB: REGISTRO DE CONTROLE DE PORTB INTERRUPT-ON-CHANGE


R / W-1 R / W-1 R / W-1 R / W-1 U-0 U-0 U-0 U-0
IOCB7 IOCB6 IOCB5 IOCB4 - - - -
bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-4 IOCB <7: 4>: Bits de controle Interrupt-on-Change PORTB


1 = Interrupção na mudança habilitada(1)
0 = Interrupção na mudança desabilitada

Nota 1: A interrupção na alteração requer que o bit RBIE (INTCON <3>) seja definido.

REGISTRO 10-14: SLRCON: REGISTRO DE CONTROLE DE TAXA DE SLEW

U-0 U-0 U-0 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1

- - - SLRE(1) SLRD(1) SLRC SLRB SLRA


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' =
- n = Valor no POR Bit está definido bit apagado x = bit desconhecido

bit 7-5 Não implementado: Lido como '0 '

bit 4 SLRE: Bit de controle de taxa de variação PORTE(1)


1 = Todas as saídas em PORTE aumentaram a uma taxa limitada
0 = Todas as saídas em PORTE aumentaram na taxa padrão

bit 3 SLRD: Bit de controle de taxa de variação PORTD(1)


1 = Todas as saídas no PORTD aumentaram a uma taxa limitada
0 = Todas as saídas em PORTD aumentaram na taxa padrão
bit 2 SLRC: Bit de controle de taxa de variação PORTC

1 = Todas as saídas em PORTC aumentaram a uma taxa limitada


0 = Todas as saídas em PORTC aumentaram na taxa padrão

bit 1 SLRB: Bit de controle de taxa de variação PORTB

1 = Todas as saídas em PORTB aumentaram a uma taxa limitada


0 = Todas as saídas em PORTB aumentaram na taxa padrão

bit 0 SLRA: Bit de controle de taxa de variação PORTA

1 = Todas as saídas em PORTA aumentaram a uma taxa limitada(2)


0 = Todas as saídas em PORTA aumentaram na taxa padrão

Nota 1: Esses bits estão disponíveis em dispositivos PIC18 (L) F4XK22.


2: A taxa de variação do RA6 é padronizada para a taxa padrão quando o pino é usado como CLKOUT.

DS41412B-página 156 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

11.0 MÓDULO TIMER0 O registro T0CON (Registro 11-1) controla todos os


aspectos da operação do módulo, incluindo a seleção
O módulo Timer0 incorpora os seguintes recursos: pré-escala. É legível e gravável.
• Operação selecionável por software como um Um diagrama de blocos simplificado do módulo Timer0 no modo
temporizador ou contador nos modos de 8 ou 16 bits de 8 bits é mostrado na Figura 11-1. A Figura 11-2 mostra um
• Registros legíveis e graváveis diagrama de blocos simplificado do módulo Timer0 no modo de
• Prescaler dedicado de 8 bits, programável por 16 bits.
software
• Fonte de relógio selecionável (interna ou externa)
• Seleção de borda para relógio externo

• Interrupção no estouro

REGISTRO 11-1: T0CON: REGISTRO DE CONTROLE DO TIMER0

R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1 R / W-1

TMR0ON T08BIT T0CS T0SE PSA TOPS <2: 0>


bit 7 bit 0

Lenda:
R = bit legível W = Bit gravável '1' = U = bit não implementado, lido como '0' '0' = bit
- n = Valor no POR Bit está definido apagado x = bit desconhecido

bit 7 TMR0ON: Timer0 On / Off Control bit


1 = Habilita Timer0
0 = Para o temporizador 0

bit 6 T08BIT: Timer0 bit de controle de 8 bits / 16 bits


1 = Timer0 é configurado como um temporizador / contador de 8 bits

0 = Timer0 é configurado como um temporizador / contador de 16 bits

bit 5 T0CS: Timer0 Clock Source Select bit


1 = Transição no pino T0CKI
0 = Relógio de ciclo de instrução interno (CLKOUT)
bit 4 T0SE: Timer0 Source Edge Select bit
1 = Incremento na transição de alto para baixo no pino T0CKI
0 = Incremento na transição de baixo para alto no pino T0CKI

bit 3 PSA: Bit de atribuição do Prescaler Timer0


1 = O prescaler TImer0 NÃO está atribuído. A entrada do relógio Timer0 ignora o prescaler.
0 = O prescaler Timer0 é atribuído. A entrada do relógio Timer0 vem da saída do prescaler.
bit 2-0 T0PS <2: 0>: Timer0 Prescaler Selecionar bits
111 = 1: 256 valor pré-escala
110 = 1: 128 valor pré-escala
101 = Valor pré-escala 1:64
100 = Valor pré-escala 1:32
011 = Valor pré-escala 1:16
010 = Valor pré-escala 1: 8
001 = 1: 4 valor pré-escala
000 = Valor pré-escala 1: 2

- 2010 Microchip Technology Inc. Preliminares DS41412B-página 157


PIC18 (L) F2X / 4XK22
11.1 Operação Timer0 11.2 Timer0 lê e grava no modo de
Timer0 pode operar como um temporizador ou
16 bits
contador; o modo é selecionado com o bit T0CS do TMR0H não é o byte alto real do Timer0 no modo de 16
registro T0CON. No modo Timer (T0CS =0), o módulo é bits; é, na verdade, uma versão em buffer do byte alto
incrementado a cada relógio por padrão, a menos que real de Timer0, que não é diretamente legível nem
um valor de prescaler diferente seja selecionado (veja gravável (consulte a Figura 11-2). TMR0H é atualizado
Seção 11.3 “Prescaler”) O incremento do Timer0 é com o conteúdo do byte alto de Timer0 durante uma
inibido por dois ciclos de instrução após uma gravação leitura de TMR0L. Isso fornece a capacidade de ler todos
do registro TMR0. O usuário pode contornar isso os 16 bits do Timer0 sem a necessidade de verificar se a
ajustando o valor escrito no registro TMR0 para leitura do byte alto e baixo era válida. De outra forma,
compensar os incrementos ausentes previstos. leituras inválidas podem ocorrer devido a um rollover
O modo Contador é selecionado definindo o bit T0CS (= 1). entre leituras sucessivas do byte alto e baixo.
Neste modo, o Timer0 é incrementado em cada borda Da mesma forma, uma gravação no byte alto de Timer0 também
ascendente ou descendente do pino RA4 / T0CKI. A borda de deve ocorrer por meio do registro de buffer TMR0H. Escrever em
incremento é determinada pelo bit Timer0 Source Edge TMR0H não afeta diretamente o Timer0. Em vez disso, o byte alto
Select, T0SE do registro T0CON; limpar este bit seleciona a de Timer0 é atualizado com o conteúdo de TMR0H quando
borda ascendente. As restrições na entrada do relógio ocorre uma gravação em TMR0L. Isso permite que todos os 16
externo são discutidas abaixo. bits do Timer0 sejam atualizados de uma vez.
Uma fonte de relógio externa pode ser usada para acionar o
Timer0; no entanto, deve atender a certos requisitos
(consulte a Tabela 27-11) para garantir que o relógio externo
possa ser sincronizado com o relógio de fase interno (TOSC)
Há um atraso entre a sincronização e o início do incremento
do temporizador / contador.

FIGURA 11-1: DIAGRAMA DE BLOCO DO TIMER0 (MODO 8 BIT)

FOSC/ 4 0
1
Sincronizar com Definir

1 interno TMR0L TMR0IF


Programável Relógios em estouro
Pino T0CKI 0
Prescaler
T0SE (2 TCY Atraso)
T0CS 8
3
T0PS <2: 0>
8
PSA Barramento de Dados Interno

Observação: Após a reinicialização, o Timer0 é habilitado no modo de 8 bits com entrada de relógio de T0CKI máx. pré-escala.

DS41412B-page 158 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 11-2: DIAGRAMA DE BLOCO DO TIMER0 (MODO 16 BIT)

FOSC/ 4 0
1
Sincronizar com
1 interno TMR0L
TMR0 Definir

Byte alto TMR0IF


Pino T0CKI Programável 0 Relógios em estouro
Prescaler 8
T0SE (2 TCY Atraso)
T0CS 3 Leia TMR0L
T0PS <2: 0>
Escreva TMR0L
PSA
8
8
TMR0H

8
8
Barramento de Dados Interno

Observação: Após a reinicialização, o Timer0 é habilitado no modo de 8 bits com entrada de relógio de T0CKI máx. pré-escala.

11.3 Prescaler 11.3.1 COMUTAÇÃO DE ATRIBUIÇÃO


DO PRESCALER
Um contador de 8 bits está disponível como um prescaler
para o módulo Timer0. O prescaler não é diretamente legível A atribuição do prescaler está totalmente sob controle do
ou gravável; seu valor é definido pelos bits PSA e T0PS <2: 0> software e pode ser alterada “on-the-fly” durante a execução do
do registro T0CON que determinam a atribuição do prescaler programa.
e a relação da pré-escala.

Limpar o bit PSA atribui o prescaler ao módulo 11.4 Interromper Timer0


Timer0. Quando o prescaler é atribuído, os valores de A interrupção TMR0 é gerada quando o registro TMR0
pré-escala de 1: 2 a 1: 256 em incrementos de transborda de FFh para 00h no modo de 8 bits ou de FFFFh
potência de 2 inteiros são selecionáveis. para 0000h no modo de 16 bits. Este estouro define o bit do
Quando atribuído ao módulo Timer0, todas as instruções sinalizador TMR0IF. A interrupção pode ser mascarada
gravadas no registro TMR0 (por exemplo, CLRF TMR0, MOVWF limpando o bit TMR0IE do registro INTCON. Antes de reativar
TMR0, BSF TMR0, etc.) limpar a contagem do prescaler. a interrupção, o bit TMR0IF deve ser limpo pelo software na
rotina de serviço de interrupção.
Observação: Escrever no TMR0 quando o prescaler é
atribuído ao Timer0 apagará a contagem do Visto que o Timer0 é desligado no modo Sleep, a interrupção
prescaler, mas não mudará a atribuição do TMR0 não pode despertar o processador do Sleep.
prescaler.

TABELA 11-1: REGISTROS ASSOCIADOS AO TIMER0


Redefinir

Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valores
na página

INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
INTCON2 RBPU INTEDG0 INTEDG1 INTEDG2 - TMR0IP - RBIP 116
T0CON TMR0ON T08BIT T0CS T0SE PSA T0PS <2: 0> 157
TMR0H Timer0 Register, High Byte -
TMR0L Timer0 Register, Low Byte -
TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 154
Lenda: - = locais não implementados, lidos como '0 '. Os bits sombreados não são usados pelo Timer0.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 159


PIC18 (L) F2X / 4XK22
NOTAS:

DS41412B - página 160 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

12.0 TIMER 1/3/5 MÓDULO COM • Gatilho de evento especial (com CCP / ECCP)

GATE CONTROL • Polaridade de fonte de porta selecionável

• Modo de alternância de portão


O módulo Timer1 / 3/5 é um temporizador / contador de 16 bits com
• Modo de pulso único de porta
os seguintes recursos:
• Status de valor de porta
• Par de cronômetro / contador de 16 bits (TMRxH: TMRxL)
• Interrupção de evento de portão
• Fonte de relógio interna ou externa programável
A Figura 12-1 é um diagrama de blocos do módulo
• prescaler de 2 bits
Timer1 / 3/5.
• Circuito oscilador secundário dedicado de 32 kHz
• Saída de comparação opcionalmente sincronizada

• Múltiplas fontes de temporizador 1/3/5 (contagem habilitada)

• Interromper no transbordamento

• Wake-up on overflow (relógio externo,


modo assíncrono apenas)
• Operação de leitura / gravação de 16 bits

• Base de tempo para a função Capturar / Comparar

FIGURA 12-1: TIMER 1/3/5 BLOCK DIAGRAM

TxGSS <1: 0>

TxG 00 TxGSPM

Partida 2/4/6 do cronômetro


01 TxG_IN 0
PR2 / 4/6 TxGVAL
Barramento de Dados
0 D Q
Comparador 1 10 Pulso único RD
SYNCC1OUT(7) 1 TXGCON
Acq. Ao controle T1 EN
D Q 1
Comparador 2 11
SYNCC2OUT(7) Q TxGGO / DONE
Interromper Definir

TMRxON
CK
det TMRxGIF
R
TxGPOL TxGTM
TMRxGE
Definir bit de bandeira TMRxON
TMRxIF ligado
Para o Módulo Comparador
Transbordar
TMRx(2), (4)
EN Sincronizado
0
TMRxH TMRxL TxCLK entrada de relógio

Q D
1

Secundário TMRxCS <1: 0>


SOSCOUT TxSYNC
Oscilador
Módulo
Veja a Figura 2-4 Reservado 11
Prescaler Sincronizar(3), (7)
1 1, 2, 4, 8
TxCLK_EXT_SRC det
(5), (6) (1)
10
2
TxCKI 0
FOSC TxCKPS <1: 0>
interno 01
Relógio FOSC/ 2
TxSOSCEN interno Entrada de sono

FOSC/ 4 Relógio
interno 00
Relógio

Nota 1: O buffer ST é do tipo de alta velocidade ao usar TxCKI.


2: Timer1 / 3/5 registra incrementos na borda ascendente.
3: A sincronização não funciona durante o repouso.
4: Consulte a Figura 12-2 para obter o diagrama de blocos do modo de leitura / gravação de 16 bits.

5: T1CKI não está disponível quando o oscilador secundário está habilitado. (SOSCGO =1 ou TXSOSCEN = 1)
6: T3CKI não está disponível quando o oscilador secundário está habilitado, a menos que T3CMX = 1

7: A saída do comparador sincronizado não deve ser usada em conjunto com o TxCKI sincronizado.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 161


PIC18 (L) F2X / 4XK22
12.1 Operação do temporizador 1/3/5 12.2.1 FONTE DE RELÓGIO INTERNA
O módulo Timer1 / 3/5 é um contador de incremento de 16 Quando a fonte de relógio interno é selecionada, o par de
bits que é acessado por meio do par de registros TMRxH: registros TMRxH: TMRxL aumentará em múltiplos de FOSC
TMRxL. As gravações em TMRxH ou TMRxL atualizam conforme determinado pelo prescaler Timer1 / 3/5.
diretamente o contador. Quando o FOSC a fonte de relógio interno for selecionada, o valor
Quando usado com uma fonte de relógio interna, o módulo do registrador Timer1 / 3/5 aumentará em quatro contagens a
é um temporizador e incrementa a cada ciclo de instrução. cada ciclo de relógio de instrução. Devido a esta condição, um
Quando usado com uma fonte de relógio externa, o módulo erro de 2 LSB na resolução ocorrerá ao ler o valor do Timer1 /
pode ser usado como um temporizador ou contador e 3/5. Para utilizar a resolução total do Timer1 / 3/5, um sinal de
incrementos em cada borda selecionada da fonte externa. entrada assíncrono deve ser usado para bloquear a entrada do
relógio Timer1 / 3/5.

Timer1 / 3/5 é habilitado pela configuração dos bits TMRxON As seguintes fontes assíncronas podem ser usadas:
e TMRxGE nos registros TxCON e TxGCON, respectivamente. • Evento assíncrono no pino TxG para Timer1 / 3/5
A Tabela 12-1 exibe as seleções de ativação de Timer1 / 3/5. Gate
• Entrada de comparador C1 ou C2 para Timer1 / 3/5 Gate

12.2.2 FONTE DE RELÓGIO EXTERNO


TABELA 12-1: TIMER 1/3/5 ATIVAR
SELEÇÕES Quando a fonte de relógio externa é selecionada, o módulo
Timer1 / 3/5 pode funcionar como um temporizador ou contador.
Temporizador 1/3/5
TMRxON TMRxGE Quando habilitado para contar, o Timer1 / 3/5 é incrementado na
Operação
borda ascendente da entrada de relógio externo do pino TxCKI.
0 0 Desligado
Esta fonte de relógio externa pode ser sincronizada com o
0 1 Desligado relógio do sistema do microcontrolador ou pode ser executada

1 0 Sempre de forma assíncrona.

1 1 Contagem Ativada Quando usado como um temporizador com um oscilador de


relógio, um cristal externo de 32,768 kHz pode ser usado em
conjunto com o circuito oscilador interno secundário dedicado.
12.2 Seleção da fonte do relógio
Observação: No modo Contador, uma borda descendente deve
Os bits TMRxCS <1: 0> e TxSOSCEN do registro TxCON são
ser registrada pelo contador antes da primeira
usados para selecionar a fonte de relógio para Timer1 / 3/5. O
borda ascendente incremental após qualquer
circuito oscilador secundário dedicado pode ser usado como
uma ou mais das seguintes condições:
fonte de relógio para Timer1, Timer3 e Timer5, simultaneamente.
Qualquer um dos bits TxSOSCEN habilitará o circuito do oscilador • Temporizador 1/3/5 habilitado após POR

secundário e o selecionará como a fonte de relógio para aquele • Escreva para TMRxH ou TMRxL
temporizador específico. A Tabela 12-2 exibe as seleções de fonte • O temporizador 1/3/5 está desativado

de relógio.
• Timer1 / 3/5 está desabilitado (TMRxON = 0)
quando TxCKI é alto, então o Timer1 / 3/5 é
habilitado (TMRxON =1) quando o TxCKI é
baixo.

TABELA 12-2: SELEÇÕES DE FONTE DE RELÓGIO


TMRxCS1 TMRxCS0 TxSOSCEN Fonte do relógio

0 1 x Relógio do Sistema (FOSC) Relógio de


0 0 x Instrução (FOSC/ 4) Clocking externo em
1 0 0 TxCKI Pin Osc.Circuit On SOSCI / SOSCO
1 0 1 Pins

DS41412B-page 162 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
12.3 Timer 1/3/5 Prescaler 12.5.1 LEITURA E ESCRITA TEMPORIZADOR
1/3/5 NO MODO DE CONTADOR
Timer1 / 3/5 tem quatro opções de prescaler permitindo 1, 2,
ASSÍNCRONO
4 ou 8 divisões da entrada do relógio. Os bits TxCKPS do
registro TxCON controlam o contador de pré-escala. O Ler TMRxH ou TMRxL enquanto o cronômetro está funcionando a
contador de pré-escala não é diretamente legível ou partir de um relógio assíncrono externo garantirá uma leitura
gravável; entretanto, o contador do prescaler é zerado ao válida (cuidado no hardware). No entanto, o usuário deve ter em
gravar em TMRxH ou TMRxL. mente que ler o temporizador de 16 bits em dois valores de 8 bits
por si só apresenta alguns problemas, uma vez que o

12.4 Oscilador Secundário temporizador pode estourar entre as leituras. Para gravações, é
recomendado que o usuário simplesmente pare o cronômetro e
Um circuito oscilador secundário dedicado de baixa potência escreva os valores desejados. Uma contenção de gravação pode
de 32,768 kHz é integrado entre os pinos SOSCI (entrada) e ocorrer escrevendo nos registradores do temporizador,
SOSCO (saída do amplificador). Este circuito interno deve ser enquanto o registrador está aumentando. Isso pode produzir um
usado em conjunto com um cristal externo de 32,768 kHz. valor imprevisível no par de registros TMRxH: TMRxL.

O circuito do oscilador é habilitado configurando o bit 12.6 Modo de leitura / gravação do temporizador 1/3/5 de 16 bits
TxSOSCEN do registro TxCON, o bit SOSCGO do
Timer1 / 3/5 pode ser configurado para ler e gravar todos os
registro OSCCON2 ou selecionando o oscilador
16 bits de dados, de e para os registros TMRxL e TMRxH de 8
secundário como o relógio do sistema configurando
bits, simultaneamente. As operações de leitura e gravação
SCS <1: 0> = 01 no registro OSCCON. O oscilador
de 16 bits são habilitadas configurando o bit RD16 do
continuará a funcionar durante o sono.
registro TxCON.
Observação: O oscilador requer um tempo de inicialização e
Para realizar essa função, o valor de registro TMRxH é mapeado
estabilização antes do uso. Assim, TxSOSCEN
para um registro de buffer chamado de registro de buffer
deve ser definido e um atraso adequado
TMRxH. Enquanto no modo de 16 bits, o registro TMRxH não é
observado antes de habilitar
diretamente legível ou gravável e todas as operações de leitura e
Temporizador 1/3/5.
gravação ocorrem através do uso deste registro de buffer TMRxH.

12.5 Operação do temporizador 1/3/5 no


Quando uma leitura do registro TMRxL é solicitada, o
modo de contador assíncrono valor do registro TMRxH é carregado simultaneamente
no registro de buffer TMRxH. Quando uma leitura do
Se o bit de controle TxSYNC do registro TxCON estiver definido, a
registro TMRxH é solicitada, o valor é fornecido pelo
entrada do relógio externo não será sincronizada. O cronômetro
registro do buffer TMRxH. Isso fornece ao usuário a
é incrementado de forma assíncrona com os relógios de fase
capacidade de ler com precisão todos os 16 bits do valor
internos. Se a fonte de relógio externa for selecionada, o
cronômetro continuará a funcionar durante a suspensão e pode
Timer1 / 3/5 de uma única instância no tempo.
gerar uma interrupção no estouro, o que despertará o Em contraste, quando não está no modo de 16 bits, o
processador. No entanto, são necessárias precauções especiais usuário deve ler cada registro separadamente e determinar
no software para ler / escrever o cronômetro (ver se os valores se tornaram inválidos devido a um rollover que
Seção 12.5.1 "Leitura e gravação do temporizador 1/3/5 pode ter ocorrido entre as operações de leitura.
no modo de contador assíncrono")
Quando uma solicitação de gravação do registro TMRxL é
Observação: Ao alternar da operação síncrona para a solicitada, o registro do buffer TMRxH é atualizado
assíncrona, é possível pular um simultaneamente com o conteúdo do registro TMRxH. O
incremento. Ao mudar de operação valor de TMRxH deve ser pré-carregado no registro de buffer
assíncrona para síncrona, é possível TMRxH antes da solicitação de gravação para o registro
produzir um incremento adicional. TMRxL. Isso fornece ao usuário a capacidade de gravar todos
os 16 bits no par de registros TMRxL: TMRxH ao mesmo
tempo.

Qualquer solicitação para escrever diretamente no TMRxH


não limpa o valor do prescaler Timer1 / 3/5. O valor do
prescaler só é apagado por meio de solicitações de gravação
no registro TMRxL.

- 2010 Microchip Technology Inc. Preliminares DS41412B-página 163


PIC18 (L) F2X / 4XK22
FIGURA 12-2: TIMER 1/3/5 16-BIT 12.7.2 TIMER 1/3/5 GATE SOURCE
MODO DE LEITURA / ESCRITA SELEÇÃO
DIAGRAMA DE BLOCO A fonte Timer1 / 3/5 Gate pode ser selecionada a partir de
uma de quatro fontes diferentes. A seleção da fonte é
A partir de
controlada pelos bits TxGSS do registro TxGCON. A
Temporizador 1/3/5
Circuito polaridade para cada fonte disponível também é
TMR1 Definir selecionável. A seleção da polaridade é controlada pelo bit
TMR1L Byte alto TMR1IF
em estouro TxGPOL do registro TxGCON.
8

Leia TMR1L TABELA 12-4: TIMER 1/3/5 GATE FONTES


Escreva TMR1L TxGSS Fonte de passagem do temporizador 1/3/5
8
8 00 Timer 1/3/5 Pino de porta
TMR1H
01 Timer2 / 4/6 Corresponde a PR2 / 4/6 (incrementos de
TMR2 / 4/6 para corresponder a PR2 / 4/6)
8
8 10 Saída SYNCC1OUT do comparador 1
Barramento de Dados Interno (opcionalmente saída sincronizada com Timer1 /
3/5)

11 Saída SYNCC2OUT do comparador 2

12,7 Timer 1/3/5 Gate (opcionalmente saída sincronizada com Timer1 /


3/5)
Timer1 / 3/5 pode ser configurado para contar livremente ou a
O recurso Gate, Timer2 Match a PR2, muda entre Timer2,
contagem pode ser habilitada e desabilitada usando o circuito de
Timer4 e Timer6 dependendo de qual dos três Timers de 16
Gate Timer1 / 3/5. Isso também é conhecido como Timer1 / 3/5
bits, Timer1, Timer3 ou Timer5, está selecionado. Consulte a
Gate Enable.
Tabela 12-5 para determinar qual combinação Timer2 / 4/6
Timer1 / 3/5 Gate também pode ser acionado por várias Match com PR2 / 4/6 está disponível para o temporizador de
fontes selecionáveis. 16 bits em uso.

12.7.1 TIMER 1/3/5 ATIVAR PORTA


TABELA 12-5: RECURSOS DO PORTÃO PARA
O modo Timer1 / 3/5 Gate Enable é habilitado
TIMER2 / 4/6 CORRESPONDENTE A
configurando o bit TMRxGE do registro TxGCON. A
polaridade do modo Timer1 / 3/5 Gate Enable é PR2 / 4/6
configurada usando o bit TxGPOL do registro Timer1 / 3/5 Gate Match
TxGCON. Recurso Timer 1/3/5
Seleção
Quando o modo Timer1 / 3/5 Gate Enable está habilitado, o Timer1 TMR2 Match to PR2
Timer1 / 3/5 aumentará na borda ascendente da fonte de
Timer3 TMR4 Match to PR4
relógio Timer1 / 3/5. Quando o modo Timer1 / 3/5 Gate
Enable está desabilitado, nenhum incremento ocorrerá e o Timer 5 TMR6 Match to PR6
Timer1 / 3/5 manterá a contagem atual. Veja a Figura 12-4
para detalhes de tempo. 12.7.2.1 Operação TxG Pin Gate
O pino TxG é uma fonte para Timer1 / 3/5 Gate Control. Ele
pode ser usado para fornecer uma fonte externa para o
TABELA 12-3: TEMPORIZADOR1 / 3/5 ATIVAR PORTA
circuito do Gate Timer1 / 3/5.
SELEÇÕES
Temporizador 1/3/5 12.7.2.2 Operação do Match Gate do cronômetro 2/4/6
TxCLK TxGPOL TxG
Operação O registro TMR2 / 4/6 aumentará até que corresponda ao
- 0 0 Conta valor no registro PR2 / 4/6. No próximo ciclo de incremento,
TMR2 / 4/6 será redefinido para 00h. Quando esta
- 0 1 Contagem de contenções
reinicialização ocorre, um pulso baixo para alto será gerado
- 1 0 Contagem de contenções
automaticamente e fornecido internamente ao circuito do
- 1 1 Conta Gate Timer1 / 3/5. VerSeção 12.7.2 "Seleção da fonte do
gate Timer1 / 3/5" Para maiores informações.

DS41412B - página 164 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
12.7.2.3 Operação de Gate Comparador C1 12.7.4 TEMPORIZADOR1 / 3/5 MODO DE PULSO ÚNICO DO

A saída resultante de uma operação do Comparador 1 pode PORTÃO

ser selecionada como uma fonte para Timer1 / 3/5 Gate Quando o modo Timer1 / 3/5 Gate Single-Pulse está
Control. A saída do Comparador 1 (SYNCC1OUT) pode ser habilitado, é possível capturar um evento de gate de pulso
sincronizada com o relógio Timer1 / 3/5 ou assíncrona único. Timer1 / 3/5 Gate modo de pulso único é habilitado
esquerda. Para mais informações, vejaSeção 18.8.4 primeiro configurando o TxGSPBit M no registro TxGCON.
"Sincronizando a saída do comparador com o Timer1". Em seguida, o bit TxGGO / DONE no registro TxGCON deve
ser definido. O Timer1 / 3/5 será totalmente habilitado na
12.7.2.4 Operação de Gate Comparador C2 próxima borda de incremento. Na próxima borda de fuga do
A saída resultante de uma operação do Comparador 2 pulso, o bit TxGGO / DONE será apagado automaticamente.
pode ser selecionada como uma fonte para Timer1 / 3/5 Nenhum outro evento de portão serátodoswed para
Gate Control. A saída do Comparador 2 (SYNCC2OUT) incrementar Timer1 / 3/5 até que o bit TxGGO / DONE seja
pode ser sincronizada com o relógio Timer1 / 3/5 ou novamente definido no software.
assíncrona esquerda. Para mais informações, veja Limpar o bit TxGSPM do registro TxGCON também limpará o
Seção 18.8.4 "Sincronizando a saída do comparador com o bit TxGGO / DONE. Consulte a Figura 12-6 para obter
Timer1". detalhes de tempo.

12.7.3 TEMPORIZADOR1 / 3/5 MODO ALTERNAR PORTA Ativar o modo Alternar e o modo Pulso Único
simultaneamente permitirá que ambas as seções
Quando o modo Timer1 / 3/5 Gate Toggle está habilitado, é funcionem juntas. Isso permite que os tempos de ciclo
possível medir a duração do ciclo completo de um sinal de na fonte Timer1 / 3/5 Gate sejam medidos. Veja a Figura
porta Timer1 / 3/5, em oposição à duração de um pulso de 12-7 para detalhes de tempo.
nível único.

A fonte do Gate Timer1 / 3/5 é roteada por meio de um flip-flop 12.7.5 TIMER 1/3/5 GATE VALUE STATUS
que muda de estado em cada borda de incremento do sinal. Veja Quando Timer1 / 3/5 Gate Value Status é utilizado, é
a Figura 12-5 para detalhes de tempo. possível ler o nível mais atual do valor de controle do
O modo Timer1 / 3/5 Gate Toggle é habilitado gate. O valor é armazenado no bit TxGVAL no registro
configurando o bit TxGTM do registro TxGCON. TxGCON. O bit TxGVAL é válido mesmo quando o
Quando o bit TxGTM é limpo, o flip-flop é limpo e Gate Timer1 / 3/5 não está habilitado (bit TMRxGE é
mantido limpo. Isso é necessário para controlar qual apagado).
borda é medida.
12.7.6 INTERRUPÇÃO DO EVENTO DO
Observação: Ativar o modo Alternar ao mesmo tempo em que TIMER 1/3 / 5 GATE
alterar a polaridade da porta pode resultar em
Quando a Interrupção de evento de porta Timer1 / 3/5 está
operação indeterminada.
habilitada, é possível gerar uma interrupção após a
conclusão de um evento de porta. Quando a borda
descendente de TxGVAL ocorre, o bit de flag TMRxGIF no
registro PIR3 será definido. Se o bit TMRxGIE no registro
PIE3 estiver definido, uma interrupção será reconhecida.

O bit de sinalizador TMRxGIF opera mesmo quando o


Gate Timer1 / 3/5 não está habilitado (bit TMRxGE é
limpo).
Para obter mais informações sobre como selecionar o status de alta ou baixa

prioridade para a interrupção de evento de porta Timer1 / 3/5, consulte


Seção 9.0 “Interrupções”.

- 2010 Microchip Technology Inc. Preliminares DS41412B-página 165


PIC18 (L) F2X / 4XK22
12.8 Interrupção do temporizador 1/3/5 12.10 ECCP / CCP Captura / Base de Tempo de
Comparação
O par de registro Timer1 / 3/5 (TMRxH: TMRxL) é
incrementado para FFFFh e passa para 0000h. Quando Os módulos CCP usam o par de registradores TMRxH:
Timer1 / 3/5 rola, o bit de flag de interrupção Timer1 / 3/5 do TMRxL como base de tempo ao operar no modo
registro PIR1 / 2/5 é definido. Para habilitar a interrupção no Capturar ou Comparar.
rollover, você deve definir estes bits:
No modo Captura, o valor no par de registros TMRxH:
• bit TMRxON do registro TxCON TMRxL é copiado para o par de registros CCPRxH:
• bits TMRxIE dos registros PIE1, PIE2 ou PIE5 CCPRxL em um evento configurado.
• bit PEIE / GIEL do registro INTCON No modo Comparar, um evento é disparado quando o valor do
• bit GIE / GIEH do registro INTCON par de registros CCPRxH: CCPRxL corresponde ao valor no par de
registros TMRxH: TMRxL. Este evento pode ser um gatilho de
A interrupção é limpa limpando o bit TMRxIF na
evento especial.
rotina de serviço de interrupção.
Para obter mais informações sobre como selecionar o status de alta ou baixa
Para maiores informações, Vejo Seção 14.0
“Módulos de captura / comparação / PWM”.
prioridade para a interrupção de estouro do temporizador 1/3/5, consulte

Seção 9.0 “Interrupções”.


12.11 Disparador de Evento Especial ECCP / CCP
Observação: O par de registros TMRxH: TMRxL e o bit
TMRxIF devem ser apagados antes de Quando qualquer um dos CCPs é configurado para acionar um
habilitar as interrupções. evento especial, o acionador irá limpar o par de registradores
TMRxH: TMRxL. Este evento especial não causa uma interrupção
do temporizador 1/3/5. O módulo CCP ainda pode ser
12.9 Operação do temporizador 1/3/5 durante o sono
configurado para gerar uma interrupção CCP.
O temporizador1 / 3/5 só pode operar durante o repouso quando
Neste modo de operação, o par de registradores
configurado no modo de contador assíncrono. Neste modo, um cristal
CCPRxH: CCPRxL torna-se o registrador de período para
externo ou fonte de relógio pode ser usado para incrementar o
Timer1 / 3/5.
contador. Para configurar o cronômetro para despertar o dispositivo:
O temporizador 1/3/5 deve ser sincronizado e FOSC/ 4 deve ser
selecionado como a fonte de relógio para utilizar o acionador de
• O bit TMRxON do registro TxCON deve ser definido
evento especial. A operação assíncrona do Timer1 / 3/5 pode
• O bit TMRxIE do registro PIE1 / 2/5 deve ser definido fazer com que um Disparador de Evento Especial seja perdido.
• PEIE / GIO bit EL do registro INTCON deve ser definido
• O bit TxSYNC do registro TxCON deve ser definido No caso de uma gravação em TMRxH ou TMRxL coincidir
• bits TMRxCS do registro TxCON devem ser com um acionador de evento especial do CCP, a gravação
configurados terá precedência.
• O bit TxSOSCEN do registro TxCON deve ser Para mais informações, veja Seção 17.2.8 "Gatilho de
configurado evento especial".
O dispositivo despertará em um estouro e executará a
próxima instrução. Se o bit GIE / GIEH do registro INTCON
estiver definido, o dispositivo irá chamar a rotina de serviço
de interrupção.

O oscilador secundário continuará a operar em repouso,


independentemente da configuração do bit TxSYNC.

DS41412B-página 166 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 12-3: TEMPORIZADOR 1/3/5 AUMENTO DE LIMITE

TXCKI = 1
quando TMRx
Habilitado

TXCKI = 0
quando TMRX
Habilitado

Nota 1: As setas indicam incrementos do contador.


2: No modo Contador, uma borda descendente deve ser registrada pelo contador antes da primeira borda ascendente incremental do relógio.

FIGURA 12-4: TEMPORIZADOR1 / 3/5 MODO DE ATIVAR PORTA

TMRxGE

TxGPOL

TxG_IN

TxCKI

TxGVAL

Temporizador 1/3/5 N N+1 N+2 N+3 N+4

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 167


PIC18 (L) F2X / 4XK22
FIGURA 12-5: TEMPORIZADOR1 / 3/5 MODO ALTERNAR PORTA

TMRxGE

TxGPOL

TxGTM

TxTxG_IN

TxCKI

TxGVAL

TIMER 1/3/5 N N+1N+2N+3 N+4 N+5N+6N+7N+8

FIGURA 12-6: TEMPORIZADOR1 / 3/5 PORTÃO MODO DE PULSO ÚNICO

TMRxGE

TxGPOL

TxGSPM

Limpo por hardware na borda


TxGGO / Definido por software descendente de TxGVAL
FEITO
Contagem habilitada em
borda ascendente do TxG
TxG_IN

TxCKI

TxGVAL

TIMER 1/3/5 N N+1 N+2

Apagado por
TMRxGIF Apagado por software Definido por hardware na borda Programas
descendente de TxGVAL

DS41412B - página 168 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
FIGURA 12-7: MODO COMBINADO TIMER 1/3 / 5 GATE SINGLE-PULSE E TOGGLE

TMRxGE

TxGPOL

TxGSPM

TxGTM

Limpo por hardware na borda


TxGGO / Definido por software descendente de TxGVAL
FEITO Contagem habilitada em
borda ascendente do TxG
TxG_IN

TxCKI

TxGVAL

TIMER 1/3/5 N N+1 N+2 N+3 N+4

Definido por hardware na Apagado por


TMRxGIF Apagado por software borda descendente de TxGVAL Programas

12.12 Desativar Módulo Periférico


Quando um módulo periférico não é usado ou está inativo, o
módulo pode ser desabilitado configurando o bit de
desabilitação do módulo nos registros PMD. Isso reduzirá o
consumo de energia a um mínimo absoluto. Definir os bits
PMD mantém o módulo em Reset e desconecta a fonte de
relógio do módulo. Os bits de desabilitação do módulo para
Timer1 (TMR1MD), Timer3 (TMR3MD) e Timer5 (TMR5MD)
estão no Registro PMD0. VerSeção 3.0 "Modos de
gerenciamento de energia" Para maiores informações.

- 2010 Microchip Technology Inc. Preliminares DS41412B - página 169


PIC18 (L) F2X / 4XK22
12.13 Registro de controle do temporizador 1/3/5

O registro de controle Timer1 / 3/5 (TxCON), mostrado no


Registro 12-1, é usado para controlar o Timer1 / 3/5 e
selecionar os vários recursos do módulo Timer1 / 3/5.

REGISTRO 12-1: TXCON: TIMER 1/3/5 REGISTRO DE CONTROLE

R / W-0 / u R / W-0 / u R / W-0 / u R / W-0 / u R / W-0 / u R / W-0 / u R / W-0/0 R / W-0 / u

TMRxCS <1: 0> TxCKPS <1: 0> TxSOSCEN TxSYNC TxRD16 TMRxON
bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7-6 TMRxCS <1: 0>: Timer 1/3/5 bits de seleção da fonte do relógio

11 = Reservado. Não use.


10 = A fonte do relógio Timer 1/3/5 é um pino ou oscilador:
Se TxSOSCEN = 0:
Relógio externo do pino TxCKI (na borda ascendente)
Se TxSOSCEN = 1:
Oscilador de cristal nos pinos SOSCI / SOSCO
01 = A fonte do relógio do temporizador 1/3/5 é o relógio do sistema (FOSC)
00 = A fonte de relógio do temporizador 1/3/5 é o relógio da instrução (FOSC/ 4)

bit 5-4 TxCKPS <1: 0>: Timer1 / 3/5 Input Clock Prescale Select bits
11 = 1: 8 Valor da pré-escala
10 = 1: 4 Valor da pré-escala
01 = Valor de pré-escala 1: 2
00 = Valor de pré-escala 1: 1

bit 3 TxSOSCEN: Bit de controle de habilitação do oscilador secundário


1 = Circuito oscilador secundário dedicado habilitado
0 = Dedcircuito oscilador secundário icado desativado
bit 2 TxSYNC: Timer 1/3/5 Bit de controle de sincronização de entrada de relógio externo
TMRxCS <1: 0> = 1X
1 = Não sincronize a entrada do relógio externo
0 = Sincronize a entrada do relógio externo com o relógio do sistema (FOSC)

TMRxCS <1: 0> = 0X


Este bit é ignorado. Timer 1/3/5 usa o relógio interno quando TMRxCS <1: 0> =1X.
bit 1 TxRD16: Bit de habilitação do modo de leitura / gravação de 16 bits

1 = Habilita o registro de leitura / gravação do Timer1 / 3/5 em uma operação de 16 bits


0 = Habilita o registro de leitura / gravação do Timer1 / 3/5 em duas operações de 8 bits

bit 0 TMRxON: Timer 1/3/5 On bit


1 = Ativa o temporizador 1/3/5
0 = Para o temporizador 1/3/5
Limpa o flip-flop do Gate 1/3/5 Timer

DS41412B-page 170 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
12.14 Timer1 / 3/5 Gate Control Register
O registrador Timer1 / 3/5 Gate Control (TxGCON), mostrado
no Registro 12-2, é usado para controlar Timer1 / 3/5 Gate.

REGISTRADOR 12-2: TXGCON: REGISTRO DE CONTROLE DE PORTÃO TIMER 1/3/5

R / W-0 / u R / W-0 / u R / W-0 / u R / W-0 / u R / W / HC-0 / u Rx / x R / W-0 / u R / W-0 / u

TMRxGE TxGPOL TxGTM TxGSPM TxGGO / DONE TxGVAL TxGSS <1: 0>
bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
u = Bit está inalterado '1' = x = bit é desconhecido - n / n = valor em POR e BOR / valor em todos os outros resets
Bit está definido '0' = bit é apagado HC = bit é apagado por hardware

bit 7 TMRxGE: Timer1 / 3/5 Bit de habilitação de porta


Se TMRxON = 0:
Este bit é ignorado
Se TMRxON = 1:
1 = A contagem do temporizador 1/3/5 é controlada pela função de portão do temporizador 1/3/5

0 = O temporizador 1/3/5 conta independentemente da função de portão do temporizador 1/3/5

bit 6 TxGPOL: Cronômetro 1/3/5 bit de polaridade de porta

1 = O portão do temporizador 1/3/5 está ativo-alto (o temporizador 1/3/5 conta quando o portão está alto)
0 = O portão do temporizador 1/3/5 está ativo-baixo (o temporizador 1/3/5 conta quando o portão está baixo)

bit 5 TxGTM: Timer 1/3/5 Gate Modo Alternar bit


1 = O modo Timer1 / 3/5 Gate Toggle está habilitado
0 = O modo Timer1 / 3/5 Gate Toggle é desabilitado e a alternância do flip-flop é desmarcada.
Timer1 / 3/5 gate flip-flop alterna em cada borda ascendente.

bit 4 TxGSPM: Bit do modo de pulso único do temporizador 1/3/5


1 = O modo de pulso único Timer1 / 3/5 gate está habilitado e está controlando o gate Timer1 / 3/5
0 = Tempor1 / 3/5 gate modo de pulso único está desabilitado

bit 3 TxGGO / DONE: Bit de status de aquisição de pulso único do temporizador 1/3/5
1 = A aquisição de pulso único do temporizador 1/3/5 da porta está pronta, esperando por uma borda
0 = A aquisição de pulso único de porta Timer1 / 3/5 foi concluída ou não foi iniciada Este bit é
apagado automaticamente quando TxGSPM é apagado.
bit 2 TxGVAL: Timer 1/3/5 Bit de estado atual da porta
Indica o estado atual da porta Timer1 / 3/5 que pode ser fornecida para TMRxH: TMRxL. Não
afetado por Timer1 / 3/5 Gate Enable (TMRxGE).
bit 1-0 TxGSS <1: 0>: Timer 1/3/5 bits de seleção de fonte de porta
00 = Timer 1/3/5 pino de porta
01 = Timer2 / 4/6 Match PR2 / 4/6 output (Consulte a Tabela 12-6 para a seleção adequada do timer)
10 = Saída do comparador 1 opcionalmente sincronizada (SYNCC1OUT)
11 = Saída opcionalmente sincronizada do comparador 2 (SYNCC2OUT)

- 2010 Microchip Technology Inc. Preliminares DS41412B-página 171


PIC18 (L) F2X / 4XK22
TABELA 12-6: REGISTROS ASSOCIADOS AO TIMER 1/3 / 5 COMO UM TIMER / CONTADOR
Redefinir

Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valores em
Página

ANSELB - - ANSB5 ANSB4 ANSB3 ANSB2 ANSB1 ANSB0 153


ANSELC ANSC7 ANSC6 ANSC5 ANSC4 ANSC3 ANSC2 - - 153
INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
IPR1 - UM MERGULHO RC1IP TX1IP SSP1IP CCP1IP TMR2IP TMR1IP 127
IPR2 OSCFIP C1IP C2IP EEIP BCL1IP HLVDIP TMR3IP CCP2IP 128
IPR3 SSP2IP BCL2IP RC2IP TX2IP CTMUIP TMR5GIP TMR3GIP TMR1GIP 129
IPR5 - - - - - TMR6IP TMR5IP TMR4IP 130
PIE1 - ADIE RC1IE TX1IE SSP1IE CCP1IE TMR2IE TMR1IE 123
PIE2 OSCFIE C1IE C2IE EEIE BCL1IE HLVDIE TMR3IE CCP2IE 124
PIE3 SSP2IE BCL2IE RC2IE TX2IE CTMUIE TMR5GIE TMR3GIE TMR1GIE 125
PIE5 - - - - - TMR6IE TMR5IE TMR4IE 126
PIR1 - ADIF RC1IF TX1IF SSP1IF CCP1IF TMR2IF TMR1IF 118
PIR2 OSCFIF C1IF C2IF EEIF BCL1IF HLVDIF TMR3IF CCP2IF 119
PIR3 SSP2IF BCL2IF RC2IF TX2IF CTMUIF TMR5GIF TMR3GIF TMR1GIF 120
PIR5 - - - - - TMR6IF TMR5IF TMR4IF 122
PMD0 UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD 56
T1CON TMR1CS <1: 0> T1CKPS <1: 0> T1SOSCEN T1SYNC T1RD16 TMR1ON 170
T1GCON TMR1GE T1GPOL T1GTM T1GSPM T1GGO / FEITO T1GVAL T1GSS <1: 0> 171
T3CON TMR3CS <1: 0> T3CKPS <1: 0> T3SOSCEN T3SYNC T3RD16 TMR3ON 170
T3GCON TMR3GE T3GPOL T3GTM T3GSPM T3GGO / DONE T3GVAL T3GSS 171
T5CON TMR5CS <1: 0> T5CKPS <1: 0> T5SOSCEN T5SYNC T5RD16 TMR5ON 170
T5GCON TMR5GE T5GPOL T5GTM T5GSPM T5GGO / FEITO T5GVAL T5GSS 171
TMRxH Timer1 / 3/5 Register, High -
TMRxL Byte Timer Registrador 1/3 / 5, -
TRISB TRISB7 TRISB6 TRISB5 Low Byte TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 154
TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 154

TABELA 12-7: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS AO TIMER 1/3/5


Redefinir

Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Valores
na página

CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354

DS41412B-page 172 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

13.0 MÓDULO TIMER 2/4/6


Existem três módulos idênticos do tipo Timer2 de 8 bits disponíveis. Para manter as

convenções de nomenclatura pré-existentes, os temporizadores são chamados de

temporizador2, temporizador4 e temporizador6 (também temporizador2 / 4/6).

Observação: A variável 'x' usada nesta seção é usada


para designar Timer2, Timer4 ou Timer6.
Por exemplo, TxCON faz referência a
T2CON, T4CON ou T6CON. PRx faz
referência a PR2, PR4 ou PR6.
O módulo Timer2 / 4/6 incorpora os seguintes
recursos:
• Registros de temporizador e período de 8 bits (TMRx e PRx,
respectivamente)
• Legível e gravável (ambos os registros)
• Prescaler programável por software (1: 1, 1: 4, 1:16)
• Postcaler programável por software (1: 1 a 1:16)
• Interrupção na correspondência TMRx com PRx, respectivamente

• Uso opcional como o relógio de turno para os módulos


MSSPx (apenas Timer2)

Consulte a Figura 13-1 para um diagrama de blocos do Timer2 / 4/6.

FIGURA 13-1: TIMER 2/4/6 BLOCK DIAGRAM

Define bandeira
TMRx
bit TMRxIF
Saída

Prescaler Redefinir
FOSC/ 4 TMRx
1: 1, 1: 4, 1:16, 1:64

2 Postcaler
Comparador
EQ 1: 1 a 1:16
TxCKPS <1: 0>
PRx 4

TxOUTPS <3: 0>

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 173


PIC18 (L) F2X / 4XK22
13.1 Operação do temporizador 2/4/6 13.2 Interrupção do temporizador 2/4/6

A entrada do relógio para o módulo Timer2 / 4/6 é o relógio da Timer2 / 4/6 também pode gerar uma interrupção de dispositivo
instrução do sistema (FOSC/ 4). opcional. O sinal de saída Timer2 / 4/6 (correspondência TMRx-
para-PRx) fornece a entrada para o 4-bit
Incrementos TMRx de 00h em cada transição do clock.
contador / postscaler. Este contador gera o flag de interrupção
Um contador / prescaler de 4 bits na entrada do relógio de correspondência TMRx que é travado em TMRxIF dos registros
permite entrada direta, opções de divisão por 4 e divisão por PIR1 / PIR5. A interrupção é habilitada configurando o bit de
16 de pré-escala. Estas opções são selecionadas pelos bits de habilitação de interrupção de correspondência TMRx, TMRxIE dos
controle do prescaler, TxCKPS <1: 0> do registro TxCON. O registros PIE1 / PIE5. A prioridade de interrupção é selecionada
valor de TMRx é comparado ao do registrador de período, com o bit TMRxIP nos registros IPR1 / IPR5.
PRx, em cada ciclo de clock. Quando os dois valores
combinam, o comparador gera um sinal de combinação
Uma gama de 16 opções de pós-escala (de 1: 1 a 1:16
como a saída do temporizador. Este sinal também redefine o
inclusive) pode ser selecionada com os bits de controle
valor de TMRx para 00h no próximo ciclo e direciona a saída
pós-escala, TxOUTPS <3: 0>, do registro TxCON.
contador / pós-calibrador (ver Seção 13.2 "Interrupção do
temporizador 2/4/6") 13.3 Saída do temporizador 2/4/6

Os registradores TMRx e PRx podem ser lidos e gravados A saída fora de escala do TMRx está disponível
diretamente. O registro TMRx é apagado em qualquer principalmente para os módulos CCP, onde é usada como
reinicialização do dispositivo, enquanto o registro PRx é base de tempo para operações no modo PWM. O
inicializado em FFh. Os contadores do prescaler e do temporizador a ser usado com um módulo CCP específico é
postscaler são apagados nos seguintes eventos: selecionado usando os bits CxTSEL <1: 0> nos registros
• uma gravação no registro TMRx CCPTMRS0 e CCPTMRS1.

• uma gravação no registro TxCON Timer2 pode ser opcionalmente usado como a fonte de
• Reinicialização de inicialização (POR)
relógio de turno para os módulos MSSPx operando no
modo SPI, definindo SSPM <3: 0> = 0011 no registro
• marrom-out Reset (BOR)
SSPxCON1. Informações adicionais são fornecidas em
• Reiniciar MCLR
Seção 15.0 "Módulo de porta serial síncrona mestre
• Redefinir Watchdog Timer (WDT) (MSSP1 e MSSP2)".
• Redefinição de estouro de pilha

• Redefinição do Stack Underflow 13.4 Operação do temporizador 2/4/6 durante o sono


• REDEFINIR Instrução
Os temporizadores Timer2 / 4/6 não podem ser operados
Observação: TMRx não é limpo quando TxCON é gravado. enquanto o processador está no modo Sleep. O conteúdo dos
registros TMRx e PRx permanecerá inalterado enquanto o
processador estiver no modo Sleep.

13.5 Desativar Módulo Periférico


Quando um módulo periférico não é usado ou está inativo, o
módulo pode ser desabilitado configurando o bit de
desabilitação do módulo nos registros PMD. Isso reduzirá o
consumo de energia a um mínimo absoluto. Definir os bits
PMD mantém o módulo em Reset e desconecta a fonte de
relógio do módulo. Os bits de desabilitação do módulo para
Timer2 (TMR2MD), Timer4 (TMR4MD) e Timer6 (TMR6MD)
estão no Registro PMD0. VerSeção 3.0 "Modos de
gerenciamento de energia" Para maiores informações.

DS41412B-page 174 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

REGISTRO 13-1: TxCON: REGISTRO DE CONTROLE TIMER2 / TIMER4 / TIMER6

U-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0 R / W-0

- TxOUTPS <3: 0> TMRxON TxCKPS <1: 0>


bit 7 bit 0

Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'

u = Bit está inalterado '1' = x = bit é desconhecido - n / n = Valor em POR e BOR / Valor em todas as outras redefinições

Bit está definido '0' = bit é apagado

bit 7 Não implementado: Lido como '0 '

bit 6-3 TxOUTPS <3: 0>: TimerX Saída Postscaler Selecione bits
0000 = Postcaler 1: 1
0001 = 1: 2 Postscaler
0010 = 1: 3 Postscaler
0011 = 1: 4 Postscaler
0100 = 1: 5 Postscaler
0101 = 1: 6 Postscaler
0110 = 1: 7 Postcaler
0111 = 1: 8 Postcaler
1000 = 1: 9 Postscaler
1001 = 1:10 Postcaler
1010 = 1:11 Postscaler
1011 = 1:12 Postcaler
1100 = 1:13 Postscaler
1101 = 1:14 Postcaler
1110 = 1:15 Postcaler
1111 = 1:16 Postcaler
bit 2 TMRxON: TimerX On bit
1 = TimerX está ligado
0 = TimerX está desligado

bit 1-0 TxCKPS <1: 0>: Bits de seleção de pré-escala de relógio do tipo Timer2

00 = Prescaler é 1
01 = Prescaler é 4
1x = Prescaler tem 16 anos

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 175


PIC18 (L) F2X / 4XK22

TABELA 13-1: RESUMO DOS REGISTROS ASSOCIADOS AO TIMER 2/4/6


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CCPTMRS0 C3TSEL <1: 0> - C2TSEL <1: 0> - C1TSEL <1: 0> 204
CCPTMRS1 - - - - C5TSEL <1: 0> C4TSEL <1: 0> 204
INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
IPR1 - UM MERGULHO RC1IP TX1IP SSP1IP CCP1IP TMR2IP TMR1IP 127
IPR5 - - - - - TMR6IP TMR5IP TMR4IP 130
PIE1 - ADIE RC1IE TX1IE SSP1IE CCP1IE TMR2IE TMR1IE 123
PIE5 - - - - - TMR6IE TMR5IE TMR4IE 126
PIR1 - ADIF RC1IF TX1IF SSP1IF CCP1IF TMR2IF TMR1IF 118
PIR5 - - - - - TMR6IF TMR5IF TMR4IF 122
PMD0 UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD 56
PR2 Registro de Período Timer2 -
PR4 Registro de período do cronômetro 4 -
PR6 Registro de período do cronômetro 6 -
T2CON - T2OUTPS <3: 0> TMR2ON T2CKPS <1: 0> 170
T4CON - T4OUTPS <3: 0> TMR4ON T4CKPS <1: 0> 170
T6CON - T6 SAÍDAS <3: 0> TMR6ON T6CKPS <1: 0> 170
TMR2 Registro Timer2 -
TMR4 Registro Timer4 -
TMR6 Registro Timer6 -
Lenda: - = locais não implementados, lidos como '0 '. Os bits sombreados não são usados por Timer2 / 4/6.

DS41412B-page 176 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22

14.0 CAPTURAR / COMPARAR /


MÓDULOS PWM Nota 1: Em dispositivos com mais de um módulo
O módulo Capture / Compare / PWM é um periférico que CCP, é muito importante prestar atenção
permite ao usuário cronometrar e controlar diferentes aos nomes de registro usados. Um número
eventos e gerar sinais de Modulação por Largura de Pulso colocado após o acrônimo do módulo é
(PWM). No modo de captura, o periférico permite a usado para distinguir entre módulos
cronometragem da duração de um evento. O modo separados. Por exemplo, o CCP1CON e o
Comparar permite que o usuário acione um evento externo CCP2CON controlam os mesmos aspectos
quando um período de tempo predeterminado expirar. O operacionais de dois módulos CCP
modo PWM pode gerar sinais modulados por largura de completamente diferentes.
pulso de frequência e ciclo de serviço variáveis. 2: Ao longo desta seção, genérico

Esta família de dispositivos contém três módulos referências a um módulo CCP em qualquer
Enhanced Capture / Compare / PWM (ECCP1, ECCP2 e um de seus modos de operação podem ser
ECCP3) e dois módulos padrão de Capture / interpretadas como sendo igualmente
Compare / PWM (CCP4 e CCP5). aplicáveis a ECCP1, ECCP2, ECCP3, CCP4 e
CCP5. Nomes de registro, sinais de módulo,
As funções de captura e comparação são idênticas para
pinos de E / S e nomes de bits podem usar o
todos os módulos CCP / ECCP. A diferença entre os
designador genérico 'x' para indicar o uso de
módulos CCP e ECCP está na função Pulse-Width
um numeral para distinguir um módulo
Modulation (PWM). Nos módulos CCP, a função PWM
específico, quando necessário.
padrão é idêntica. Em módulos ECCP, a função Enhanced
PWM tem saída PWM Full-Bridge ou Half-Bridge. Os
módulos Full-Bridge ECCP têm quatro pinos de E / S
disponíveis, enquanto os módulos Half-Bridge ECCP têm
apenas dois pinos de E / S disponíveis. Os módulos ECCP
PWM são compatíveis com os módulos CCP PWM e
podem ser configurados como módulos PWM padrão.
Consulte a Tabela 14-1 para determinar a funcionalidade
CCP / ECCP disponível em cada dispositivo desta família.
TABELA 14-1: RECURSOS PWM
Nome do dispositivo ECCP1 ECCP2 ECCP3 CCP4 CCP5
PIC18 (L) F23K22
PIC18 (L) F24K22 PWM aprimorado PWM aprimorado PWM aprimorado PWM padrão
PWM padrão
PIC18 (L) F25K22 Full-Bridge Meia Ponte Meia Ponte (Gatilho de Evento Especial)
PIC18 (L) F26K22
PIC18 (L) F43K22
PIC18 (L) F44K22 PWM aprimorado PWM aprimorado PWM aprimorado PWM padrão
PWM padrão
PIC18 (L) F45K22 Full-Bridge Full-Bridge Meia Ponte (Gatilho de Evento Especial)
PIC18 (L) F46K22

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 177


PIC18 (L) F2X / 4XK22
14.1 Modo de Captura A Figura 14-1 mostra um diagrama simplificado da captura
Operação.
A função do modo de captura descrita nesta seção é idêntica
para todos os módulos CCP e ECCP disponíveis nesta família
FIGURA 14-1: MODO DE CAPTURA
de dispositivos.
BLOCO DE OPERAÇÃO
O modo de captura usa os recursos de Timer de 16 bits, DIAGRAMA
Timer1, Timer3 e Timer5. Os recursos do cronômetro
Definir bit de bandeira
para cada função de captura CCP são independentes e CCPxIF (registro PIR1 / 2/4)
Prescaler
são selecionados usando os registros CCPTMRS0 e
- 1, 4, 16
CCPTMRS1. Quando um evento ocorre no pino CCPx, o
CCPx CCPRxH CCPRxL
par de registros CCPRxH: CCPRxL de 16 bits captura e alfinete

armazena o valor de 16 bits do par de registros TMRxH:


e Capturar
TMRxL, respectivamente. Um evento é definido como um Permitir
Detecção de borda
dos seguintes e é configurado pelos bits CCPxM <3: 0>
TMR1 / 3 / 5H TMR1 / 3 / 5L
do registro CCPxCON:
CCPxM <3: 0>
• Cada borda de queda Relógio do Sistema (FOSC)

• Cada borda ascendente

• A cada 4ª borda ascendente 14.1.1 CONFIGURAÇÃO DO PIN CCP


• A cada 16 borda ascendente
No modo de captura, o pino CCPx deve ser configurado como
Quando uma captura é feita, o bit da bandeira de solicitação uma entrada, definindo o bit de controle TRIS associado.
de interrupção correspondente CCPxIF do registro PIR1, PIR2
Algumas saídas CCPx são multiplexadas em alguns pinos. A
ou PIR4 é definido. O sinalizador de interrupção deve ser
Tabela 14-2 mostra a multiplexação do pino de saída do CCP.
limpo no software. Se outra captura ocorrer antes que o
A seleção do pino de saída é determinada pelos bits CCPxMX
valor no par de registros CCPRxH: CCPRxL seja lido, o antigo
no registro de configuração 3H (CONFIG3H). Consulte o
valor capturado é sobrescrito pelo novo valor capturado.
Registro 24-4 para obter mais detalhes.

Observação: Se o pino CCPx estiver configurado como uma saída,

uma gravação na porta pode causar uma condição de


captura.

TABELA 14-2: CCP PIN MULTIPLEXING


SAÍDA CCP Valor do bit de controle CONFIG 3H PIC18 (L) F2XK22 Pino de E / S PIC18 (L) F4XK22 Pino de E / S

0 RB3 RB3
CCP2 CCP2MX 1(*) RC1 RC1
0(*) RC6 RE0
CCP3 CCP3MX
1 RB5 RB5
Lenda: * = Predefinição

14.1.2 RECURSOS DO MODO TEMPORIZADOR 1 14.1.3 MODO DE INTERRUPÇÃO DE SOFTWARE


O recurso Timer de 16 bits deve estar em execução no modo Quando o modo de captura é alterado, uma falsa
Timer ou no modo Synchronized Counter para que o módulo interrupção de captura pode ser gerada. O usuário deve
CCP use o recurso de captura. No modo de contador manter o bit de habilitação de interrupção CCPxIE do
assíncrono, a operação de captura pode não funcionar. registro PIE1, PIE2 ou PIE4 limpo para evitar falsas
interrupções. Além disso, o usuário deve limpar o bit de flag
Ver Seção 12.0 "Módulo Timer 1/3/5 com controle de porta" para
de interrupção CCPxIF do registro PIR1, PIR2 ou PIR4 após
obter mais informações sobre como configurar os temporizadores de
qualquer alteração no modo de operação.
16 bits.
Observação: Cronometrando o recurso de cronômetro de 16
bits do relógio do sistema (FOSC) não deve ser
usado no modo de captura. Para que o modo de
captura reconheça o evento de disparo no pino
CCPx, o recurso de temporizador deve ser
cronometrado a partir do relógio de instrução (F
OSC/ 4) ou de uma fonte de relógio externa.

DS41412B-page 178 Preliminares - 2010 Microchip Technology Inc.


PIC18 (L) F2X / 4XK22
14.1.4 CCP PRESCALER 14.1.5 CAPTURA DURANTE O SONO
Existem quatro configurações de prescaler especificadas O modo de captura requer um módulo TimerX de 16 bits para uso
pelos bits CCPxM <3: 0> do registro CCPxCON. Sempre que o como base de tempo. Existem quatro opções para conduzir o módulo
módulo CCP é desligado ou o módulo CCP não está no modo TimerX de 16 bits no modo de captura. Pode ser controlado pelo
Captura, o contador do prescaler é zerado. Qualquer Reset relógio do sistema (FOSC), o relógio de instrução (FOSC/
irá limpar o contador do prescaler. 4), ou pelas fontes de relógio externas, o Oscilador
Secundário (SOSC) ou a entrada de relógio TxCKI. Quando o
Mudar de um prescaler de captura para outro não
recurso TimerX de 16 bits é sincronizado por FOSC ou FOSC/ 4,
limpa o prescaler e pode gerar uma interrupção falsa.
TimerX não aumentará durante o sono. Quando o dispositivo
Para evitar esta operação inesperada, desligue o
sai do modo de espera, o TimerX continuará de seu estado
módulo limpando o registro CCPxCON antes de
anterior. O modo de captura operará durante o sono quando
alterar o prescaler. O Exemplo 14-1 demonstra o
o recurso TimerX de 16 bits for sincronizado por uma das
código para executar esta função.
fontes de relógio externas (SOSC ou o pino TxCKI).

EXEMPLO 14-1: MUDANDO ENTRE


CAPTURE PRESCALERS
# define NEW_CAPT_PS 0x06 //Capturar
// Pré-escala 4ª
... // borda ascendente
CCPxCON = 0; // Transforme o CCP
// Módulo Desligado
CCPxCON = NEW_CAPT_PS; // Liga o módulo CCP //
com novo
// valor pré-escala

TABELA 14-3: REGISTROS ASSOCIADOS À CAPTURA


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CCP1CON P1M <1: 0> DC1B <1: 0> CCP1M <3: 0> 201
CCP2CON P2M <1: 0> DC2B <1: 0> CCP2M <3: 0> 201
CCP3CON P3M <1: 0> DC3B <1: 0> CCP3M <3: 0> 201
CCP4CON - - DC4B <1: 0> CCP4M <3: 0> 201
CCP5CON - - DC5B <1: 0> CCP5M <3: 0> 201
CCPR1H Capture / Compare / PWM Register 1 High Byte (MSB) -
CCPR1L Capture / Compare / PWM Register 1 Low Byte (LSB) -
CCPR2H Capture / Compare / PWM Register 2 High Byte (MSB) -
CCPR2L Capture / Compare / PWM Register 2 Low Byte (LSB) -
CCPR3H Capture / Compare / PWM Registre 3 High Byte (MSB) -
CCPR3L Capture / Compare / PWM Registre 3 Low Byte (LSB) -
CCPR4H Capture / Compare / PWM Registre 4 High Byte (MSB) -
CCPR4L Capture / Compare / PWM Registre 4 Low Byte (LSB) -
CCPR5H Capture / Compare / PWM Registre 5 High Byte (MSB) -
CCPR5L Capture / Compare / PWM Registre 5 Low Byte (LSB) -
CCPTMRS0 C3TSEL <1: 0> - C2TSEL <1: 0> - C1TSEL <1: 0> 204
CCPTMRS1 - - - - C5TSEL <1: 0> C4TSEL <1: 0> 204
INTCON GIE / GIEH PEIE / GIEL TMR0IE INT0IE RBIE TMR0IF INT0IF RBIF 115
IPR1 - UM MERGULHO RC1IP TX1IP SSP1IP CCP1IP TMR2IP TMR1IP 127
IPR2 OSCFIP C1IP C2IP EEIP BCL1IP HLVDIP TMR3IP CCP2IP 128
IPR4 - - - - - CCP5IP CCP4IP CCP3IP 130
PIE1 - ADIE RC1IE TX1IE SSP1IE CCP1IE TMR2IE TMR1IE 123
Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.
Nota 1: Esses registros / bits estão disponíveis em dispositivos PIC18 (L) F4XK22.

- 2010 Microchip Technology Inc. Preliminares DS41412B-page 179


PIC18 (L) F2X / 4XK22
TABELA 14-3: REGISTROS ASSOCIADOS À CAPTURA (CONTINUAÇÃO)
Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

PIE2 OSCFIE C1IE C2IE EEIE BCL1IE HLVDIE TMR3IE CCP2IE 124
PIE4 - - - - - CCP5IE CCP4IE CCP3IE 126
PIR1 - ADIF RC1IF TX1IF SSP1IF CCP1IF TMR2IF TMR1IF 118
PIR2 OSCFIF C1IF C2IF EEIF BCL1IF HLVDIF TMR3IF CCP2IF 119
PIR4 - - - - - CCP5IF CCP4IF CCP3IF 121
PMD0 UART2MD UART1MD TMR6MD TMR5MD TMR4MD TMR3MD TMR2MD TMR1MD 56
PMD1 MSSP2MD MSSP1MD - CCP5MD CCP4MD CCP3MD CCP2MD CCP1MD 57
T1CON TMR1CS <1: 0> T1CKPS <1: 0> T1SOSCEN T1SYNC T1RD16 TMR1ON 170
T1GCON TMR1GE T1GPOL T1GTM T1GSPM T1GGO / FEITO T1GVAL T1GSS 171
T3CON TMR3CS <1: 0> T3CKPS <1: 0> T3SOSCEN T3SYNC T3RD16 TMR3ON 170
T3GCON TMR3GE T3GPOL T3GTM T3GSPM T3GGO / DONE T3GVAL T3GSS 171
T5CON TMR5CS <1: 0> T5CKPS <1: 0> T5SOSCEN T5SYNC T5RD16 TMR5ON 170
T5GCON TMR5GE T5GPOL T5GTM T5GSPM T5GGO / FEITO T5GVAL T5GSS 171
TMR1H Registro de retenção para o byte mais significativo do TMR1 de 16 bits Registro -
TMR1L de retenção para o byte menos significativo do TMR1 de 16 bits Registro de -
TMR3H retenção para o byte mais significativo do TMR3 de 16 bits Registro de retenção -
TMR3L para o byte menos significativo de o TMR3 Register Holding Register de 16 bits -
TMR5H para o byte mais significativo do TMR5 Register Holding Register de 16 bits para -
TMR5L o byte menos significativo do TMR5 Register de 16 bits -
TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 154
TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 154
TRISC TRISC7 TRISC6 TRISC5 TRISC4 TRISC3 TRISC2 TRISC1 TRISC0 154
TRISD(1) TRISD7 TRISD6 TRISD5 TRISD4 TRISD3 TRISD2 TRISD1 TRISD0 154
TRISE WPUE3 - - - - TRISE2(1) TRISE1(1) TRISE0(1) 154
Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.
Nota 1: Esses registros / bits estão disponíveis em dispositivos PIC18 (L) F4XK22.

TABELA 14-4: REGISTROS DE CONFIGURAÇÃO ASSOCIADOS À CAPTURA


Registro
Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
na página

CONFIG3H MCLRE - P2BMX T3CMX HFOFST CCP3MX PBADEN CCP2MX 354


Lenda: - = Localização não implementada, lida como '0 '. Os bits sombreados não são usados pelo modo de captura.

DS41412B-page 180 Preliminares - 2010 Microchip Technology Inc.

Você também pode gostar