Escolar Documentos
Profissional Documentos
Cultura Documentos
PIC16F627A/628A/648A
Ficha de dados
•
A Microchip acredita que sua família de produtos é uma das famílias mais seguras de seu tipo no mercado hoje, quando usado da maneira pretendida e em condições
normais.
•
Existem métodos desonestos e possivelmente ilegais usados para violar o recurso de proteção do código. Todos esses métodos, até onde sabemos, requerem o
uso dos produtos Microchip de uma maneira fora das especificações operacionais contidas nas Folhas de Dados da Microchip. Muito provavelmente, a pessoa que faz
isso está envolvida em roubo de propriedade intelectual.
•
A Microchip está disposta a trabalhar com o cliente que está preocupado com a integridade de seu código.
•
Nem a Microchip nem qualquer outro fabricante de semicondutores podem garantir a segurança de seu código. A proteção do código não significa que estamos
garantindo o produto como “inquebrável”.
A proteção do código está em constante evolução. Nós da Microchip estamos comprometidos em melhorar continuamente os recursos de proteção de código de nossos
produtos. Tentativas de quebrar o recurso de proteção de código da Microchip podem ser uma violação da Lei de Direitos Autorais do Milênio Digital. Se tais atos
permitir o acesso não autorizado ao seu software ou outro trabalho protegido por direitos autorais, você pode ter o direito de processar judicialmente sob essa Lei.
INCLUINDO, MAS NÃO SE LIMITANDO À SUA CONDIÇÃO, da Microchip Technology Incorporated nos EUA
QUALIDADE, DESEMPENHO, COMERCIALIZAÇÃO OU
ADEQUAÇÃO AO PROPÓSITO. A Microchip se isenta de qualquer responsabilidade Analog-for-the-Digital Age, Application Maestro, CodeGuard, dsPICDEM,
decorrentes dessas informações e de seu uso. Uso de microchip dsPICDEM.net, dsPICworks, dsSPEAK, ECAN, ECONOMONITOR, FanSense,
dispositivos em aplicações de suporte de vida e/ou segurança está inteiramente à HI-TIDE, In-Circuit Serial Programming, ICSP, Mindi, MiWi, MPASM, MPLAB
risco do comprador, e o comprador concorda em defender, indenizar e Certified logo, MPLIB, MPLINK, mTouch, Octopus, Onscient Code Generation,
isenta a Microchip de todo e qualquer dano, reclamação, PICC, PICC-18, PICDEM, PICDEM.net, PICkit, PICtail, PIC32 logo, REAL ICE,
processos ou despesas resultantes de tal uso. Nenhuma licença é rfLAB, Select Mode, Total Endurance, TSHARC, UniWinDriver, WiperLock e
transmitida, implicitamente ou de outra forma, sob qualquer Microchip ZENA são marcas comerciais da Microchip Technology Incorporated nos EUA e
direito de propriedade intelectual. em outros países.
PIC16F627A/628A/648A
Microcontroladores CMOS de 8 bits baseados em flash de 18 pinos
com tecnologia nanoWatt
- 1 ÿA @ 2,0 V, típico
Características especiais do microcontrolador: • Corrente do oscilador do Timer1:
- Oscilador interno de precisão de 4 MHz calibrado de fábrica • Oscilador Interno de dupla velocidade:
para ±1% - Tempo de execução selecionável entre 4 MHz e
48 kHz
- Oscilador interno de 48 kHz de baixa potência
- Suporte de oscilador externo para cristais e ressonadores - 4 ÿs de despertar do sono, 3,0 V, típico
do oscilador • Ampla faixa de tensão de operação (2,0-5,5 V) • Timer1: temporizador/contador de 16 bits com cristal externo/
Programa
Memória de dados
Memória PCC Temporizadores
Dispositivo E/S Comparadores USART
Flash SRAM EEPROM (PWM) 8/16 bits
PIC16F627A/628A/648A
Diagramas de pinos
PDIP, SOIC
628A/
648A
27A/ RA2/AN2/VREF
RA3/AN3/CMP1
RA4/T0CKI/CMP2
2
3
1 18
17
16
RA1/AN1
RA0/YAN0
RA7/OSC1/CLKIN
RA5/MCLR/VPP 4 15 RA6/OSC2/CLKOUT
VSS 5 14 VDD
RB0/INT 6 13 RB7/T1OSI/PGD
PIC16F627A/
628A/
648A
RB1/RX/DT 7 12 RB6/T1OSO/T1CKI/PGC
RB2/TX/CK 8 11 RB5
RB3/CCP1 9 10 RB4/PGM
CLKOUT
OSC2/
RA6/ OSC1/
RA7/ YAN0 RA1/
CLKIN RA0/ AN1 VDD RB5 RB6/
T1OSO/
T1CKI/PGD VDD
T1OSI/
PGC RB7/ PGM
RB4/
AN3/
RA3/ T0CKI/
CMP2
CMP1 RA4/ VREF
AN2/
RA2/ RA1/
AN1 YAN0
RA0/
2019 11
12
13
14
15
16
17
18 NC NC
28 26
27 24 25 22
23
RA5/MCLR/VPP 1 21 RA7/OSC1/CLKIN
PIC16F627A/628A/648A NC 2 20 RA6/OSC2/CLKOUT
4
6
5
3
12 10
9
8
7 VSS 3 19 VDD
PIC16F627A/628A 18
NC 4 17 NC
VSS PIC16F648A
5 VDD
NC 6 9
8 16 RB7/T1OSI/PGD
11
10 13
12 14
RB0/INT 7 15 RB6/T1OSO/T1CKI/PGC
VSS VSS
NC NC
RB0/
INT
CCP1
RB3/ RB5
RB1/
RX/
DT RB2/
TX/
CK
VREF
AN2/
RA2/
CMP1
AN3/
RA3/ MCLR/
RA5/
VPP
PGM
RB4/
T0CKI/
CMP2
RA4/ CCP1
RB3/
RB1/
RX/
DT RB2/
TX/
CK
PIC16F627A/628A/648A
Índice
1.0 Descrição Geral ............................................. .................................................. .................................................. ......................... 7 2.0 PIC16F627A/628A/648A
Variedades de Dispositivos......... .................................................. .................................................. .............. 9 3.0 Visão geral da
arquitetura ................................... .................................................. .................................................. .............................. 11 4.0 Organização da
Memória ............... .................................................. .................................................. ......................................... 17 5.0 Portas de E/
S ............................................. .................................................. .................................................. ......................................... 33 6.0 Módulo
Temporizador0 ........ ............... .................................................. .................................................. .................................................. 47 7.0 Módulo
Timer1 ............................................. .................................................. .................................................. .................................. 50 8.0 Módulo
Temporizador2 ................. .................................................. .................................................. .................................................. ....... 54 9.0 Módulo de Captura/
Comparação/PWM (CCP) ....................... .................................................. .................................................. .... 57 10.0 Módulo
Comparador ............................................. .................................................. .................................................. ......................... 63 11.0 Módulo de Referência de
Tensão ....................... .................................. .................................................. .............................................. 69 12,0 Universais Módulo Transmissor Receptor
Assíncrono Síncrono (USART) ............................................. ......................... 73 13.0 Memória EEPROM de
Dados .............. .................................................. .................................................. ......................................... 91 14.0 Recursos especiais do
CPU ................................................. .................................................. .................................................. 97 15.0 Resumo do Conjunto de
Instruções................................................ .................................................. .................................................. ........... 117 16.0 Suporte ao
Desenvolvimento .............................. .................................................. .................................................. ....................... 1 31 17.0 Especificações
Elétricas ............................................. .................................................. .................................................. .......... 135 18.0 Gráficos e Tabelas de Características DC e
AC .............................. .................................................. ....................................... 151 19.0 Informações de
Embalagem ........ .................................................. .................................................. .................................................. 163 Apêndice A: Histórico de Revisão da Folha de
Dados ............................................. .................................................. ............................................. 171 Apêndice B: Dispositivo
Diferenças .................................................... .................................................. .................................................. .. 171 Apêndice C: Migrações de
dispositivos............................................. ... .................................................. .................................................. ........ 172 Apêndice D: Migrando de outros dispositivos
PIC® ........................ .................................................. ......................................... 172 O site da
Microchip . .................................................. .................................................. .................................................. .......... 173 Serviço de Notificação de Mudança do
Cliente .............................. .................................................. .................................................. ......... 173 Suporte ao
Cliente ........................................ .................................................. .................................................. ................................... 173 Resposta do
Leitor .................... .................................................. .................................................. .............. ......................................... 174 Produto Sistema de
identificação ........................................ .................................................. .................................................. ......... 179
Se você tiver dúvidas ou comentários sobre esta publicação, entre em contato com o Departamento de Comunicações de Marketing por e-mail em
docerrors@microchip.com ou envie por fax o Formulário de Resposta do Leitor no verso desta folha de dados para (480) 792-4150. Congratulamo-nos com
o seu feedback.
http://www.microchip.com
Você pode determinar a versão de uma folha de dados examinando seu número de literatura encontrado no canto inferior externo de qualquer página.
O último caractere do número da literatura é o número da versão (por exemplo, DS30000A é a versão A do documento DS30000).
Errata
Uma folha de errata, descrevendo pequenas diferenças operacionais da folha de dados e soluções recomendadas, pode existir para os dispositivos atuais. À
medida que os problemas do dispositivo/documentação se tornarem conhecidos por nós, publicaremos uma folha de errata. A errata especificará a revisão do
silício e a revisão do documento ao qual se aplica.
Para determinar se existe uma folha de errata para um determinado dispositivo, verifique com um dos seguintes: • Site
mundial da Microchip; http://www.microchip.com • Seu escritório de vendas local da Microchip (consulte a última página)
Ao entrar em contato com um escritório de vendas, especifique qual dispositivo, revisão de silício e folha de dados (inclua o número da literatura) que você está
usando.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
1.0 DESCRIÇÃO GERAL O modo HS é para cristais de alta velocidade. O modo EC
é para uma fonte de relógio externa.
Os PIC16F627A/628A/648A são baseados em Flash de 18 pinos
membros do versátil PIC16F627A/628A/648A O modo Sleep (Power-down) oferece economia de energia.
Os usuários podem acordar o chip do Sleep através de vários
família de microcontroladores CMOS de baixo custo e alto desempenho,
interrupções externas, interrupções internas e Resets.
totalmente estáticos, de 8 bits.
Um Watchdog Timer altamente confiável com seu próprio chip
Todos os microcontroladores PIC® empregam um avançado RISC
arquitetura. O PIC16F627A/628A/648A tem Oscilador RC fornece proteção contra bloqueio de software
acima.
recursos principais aprimorados, uma pilha profunda de oito níveis e
múltiplas fontes de interrupção internas e externas. o A Tabela 1-1 mostra os recursos do PIC16F627A/628A/
barramentos separados de instrução e dados da Harvard Família de microcontroladores de médio porte 648A.
arquitetura permitem uma palavra de instrução de 14 bits com
Um diagrama de blocos simplificado do PIC16F627A/628A/
os dados separados de 8 bits. A instrução em dois estágios 648A é mostrado na Figura 3-1.
pipeline permite que todas as instruções sejam executadas em um único
A série PIC16F627A/628A/648A se encaixa em aplicações
ciclo, exceto as ramificações do programa (que requerem dois
variando de carregadores de bateria a controle remoto de baixa potência
ciclos). Um total de 35 instruções (instrução reduzida
sensores. A tecnologia Flash torna a personalização
set) estão disponíveis, complementados por um grande registro
definir. programas de aplicação (níveis de detecção, geração de pulso,
temporizadores, etc.) extremamente rápidos e convenientes. o
Microcontroladores PIC16F627A/628A/648A normalmente pacotes compactos tornam este microcontrolador
alcançar uma compressão de código de 2:1 e uma velocidade de 4:1 série ideal para todas as aplicações com limitações de espaço.
melhoria em relação a outros microcontroladores de 8 bits em sua Baixo custo, baixo consumo de energia, alto desempenho, facilidade de uso
classe.
e flexibilidade de E/S tornam o PIC16F627A/628A/648A
Os dispositivos PIC16F627A/628A/648A têm muito versátil.
recursos para reduzir componentes externos, reduzindo assim
custo do sistema, aumentando a confiabilidade do sistema e reduzindo
1.1 Suporte ao Desenvolvimento
consumo de energia. A família PIC16F627A/628A/648A é suportada por um
Memória RAM Memória de dados 224 224 256 224 224 256
(bytes)
Dados EEPROM 128 128 256 128 128 256
Memória (bytes)
Módulo(s) de temporizador TMR0, TMR1, TMR0, TMR1, TMR0, TMR1, TMR0, TMR1, TMR0, TMR1, TMR0, TMR1,
TMR2 TMR2 TMR2 TMR2 TMR2 TMR2
Comparador(es) 2 2 2 2 2 2
Fontes de interrupção 10 10 10 10 10 10
Pinos de E/S 16 16 16 16 16 16
Características Faixa de tensão (Volts) 3,0-5,5 3,0-5,5 3,0-5,5 2,0-5,5 2,0-5,5 2,0-5,5
Todos os dispositivos da família PIC® possuem Power-on Reset, Watchdog Timer selecionável, proteção de código selecionável e alta capacidade de corrente de E/S.
Todos os dispositivos da família PIC16F627A/628A/648A usam programação serial com pino de clock RB6 e pino de dados RB7.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
2.0 PIC16F627A/628A/648A
VARIEDADES DE DISPOSITIVOS
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
3.0 VISÃO GERAL DA ARQUITETURA O PIC16F627A/628A/648A pode endereçar direta ou indiretamente
seus arquivos de registro ou memória de dados. Todos os registradores
O alto desempenho da família PIC16F627A/628A/648A pode ser de função especial (SFR), incluindo o contador de programa, são
atribuído a vários recursos arquitetônicos comumente encontrados em mapeados na memória de dados. Os PIC16F627A/628A/648A possuem
microprocessadores RISC. Para começar, o PIC16F627A/628A/648A um conjunto de instruções ortogonal (simétrico) que possibilita a
usa uma arquitetura Harvard na qual programa e dados são acessados realização de qualquer operação, em qualquer registro, utilizando
de memórias separadas usando barramentos separados. Isso melhora qualquer modo de endereçamento. Esta natureza simétrica e a falta de
a largura de banda em relação à arquitetura tradicional de Von 'situações ótimas especiais' tornam a programação com o PIC16F627A/
Neumann, onde o programa e os dados são buscados na mesma 628A/648A simples e eficiente. Além disso, a curva de aprendizado é
memória. Separar o programa e a memória de dados permite ainda que reduzida significativamente.
as instruções sejam dimensionadas de forma diferente da palavra de
dados de 8 bits. Os opcodes de instrução são de 14 bits, tornando
Os dispositivos PIC16F627A/628A/648A contêm uma ALU de 8 bits e
possível ter todas as instruções de uma única palavra. Um barramento
um registro de trabalho. A ULA é uma unidade aritmética de uso geral.
de acesso à memória de programa de 14 bits busca uma instrução de
Ele executa funções aritméticas e booleanas entre os dados no registro
14 bits em um único ciclo. Um pipeline de dois estágios sobrepõe a
de trabalho e qualquer arquivo de registro.
busca e a execução de instruções. Conseqüentemente, todas as
instruções (35) são executadas em um único ciclo (200 ns @ 20 MHz),
exceto para desvios de programa. A ULA tem 8 bits de largura e é capaz de operações de adição,
subtração, deslocamento e lógicas. Salvo menção em contrário, as
operações aritméticas são complemento de dois por natureza. Em
instruções de dois operandos, normalmente um operando é o registrador
A Tabela 3-1 lista os tamanhos de memória do dispositivo (Flash, Dados
de trabalho (registrador W). O outro operando é um registrador de
e EEPROM).
arquivo ou uma constante imediata. Em instruções de operando único,
o operando é o registrador W ou um registrador de arquivo.
TABELA 3-1: LISTA DE MEMÓRIA DO DISPOSITIVO
PIC16F627A/628A/648A
FIGURA 3-1: DIAGRAMA DE BLOCO
13 8
Barramento de dados
Contador de programas
Instantâneo
Programa
Memória BATER
Pilha de 8 níveis
Arquivo
Programa 14
9 TRAZ
Ônibus Endereço RAM (1)
3 MUX PORTB
Energizar
Cronômetro RB0/INT
RB1/RX/DT
Instrução Oscilador
RB2/TX/CK
Decodificar & Temporizador de inicialização
VAI RB3/CCP1
Ao controle
Ligar RB4/PGM
Redefinir 8
RB5
Cronometragem cão de guarda RB6/T1OSO/T1CKI/PGC
Geração Cronômetro W Reg
RB7/T1OSI/PGD
OSC1/CLKIN Apagão
OSC2/CLKOUT Redefinir
Baixa voltagem
Programação
PIC16F627A/628A/648A
PIC16F627A/628A/648A
TABELA 3-2: DESCRIÇÃO DA PINAGEM PIC16F627A/628A/648A (CONTINUAÇÃO)
Nome Tipo de entrada de função Tipo de saída Descrição
RB4/PGM RB4 TTL Porta de E/S bidirecional CMOS. Mudança de interrupção no pino.
Pode ser programado por software para pull-up
fraco interno.
PGM ST — Pino de entrada de programação de baixa tensão. Quando a
programação de baixa tensão está habilitada, a
mudança de interrupção no pino e o resistor de pull-
up fraco são desabilitados.
RB5 RB5 TTL Porta de E/S bidirecional CMOS. Mudança de interrupção no pino.
Pode ser programado por software para pull-up
fraco interno.
RB6/T1OSO/T1CKI/PGC RB6 TTL Porta de E/S bidirecional CMOS. Mudança de interrupção no pino.
Pode ser programado por software para pull-up
fraco interno.
T1OSO — Saída do oscilador XTAL Timer1
T1CKI ST — Entrada de relógio Timer1
PGC ST — Relógio de programação ICSP™
RB7/T1OSI/PGD RB7 TTL Porta de E/S bidirecional CMOS. Mudança de interrupção no pino.
Pode ser programado por software para pull-up
fraco interno.
T1OSI XTAL — Entrada do oscilador Timer1
PGD ST E/S de dados CMOS ICSP
PIC16F627A/628A/648A
3.1 Esquema/instrução de cronometragem 3.2 Fluxo de Instrução/Pipeline
Ciclo Um ciclo de instrução consiste em quatro ciclos Q (Q1, Q2,
A entrada de clock (pino RA7/OSC1/CLKIN) é Q3 e Q4). A busca e a execução da instrução são
dividido por quatro para gerar quatro pipeline de tal forma que a busca leva um ciclo de instrução
enquanto decodificar e executar recebe outra instrução
relógios de quadratura ou seja, Q1, Q2, Q3 e Q4.
Internamente, o Program Counter (PC) é incrementado ciclo. No entanto, devido ao pipeline, cada instrução
a cada Q1, a instrução é buscada no programa executa efetivamente em um ciclo. Se uma instrução
memória e travado no registrador de instruções em Q4. faz com que o contador do programa mude (por exemplo, GOTO)
A instrução é decodificada e executada durante o então são necessários dois ciclos para completar a instrução
após Q1 a Q4. Os relógios e instruções (Exemplo 3-1).
fluxo de execução é mostrado na Figura 3-2. Um ciclo de busca começa com o contador de programa
incrementando no primeiro trimestre.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
Q1
Q2 interno
Estágio
Q3 relógio
Q4
computador computador PC + 1 PC + 2
CLK OUT
Nota: Todas as instruções são de ciclo único, exceto para quaisquer ramificações do programa. Estes levam dois ciclos desde a busca
instrução é “liberada” do pipeline enquanto a nova instrução está sendo buscada e executada.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
4.0 ORGANIZAÇÃO DA MEMÓRIA 4.2 Organização da Memória de Dados
A memória de dados (Figura 4-2 e Figura 4-3) é
4.1 Organização da Memória do Programa dividido em quatro bancos, que contêm o General
Registros de Propósito (GPRs) e a Função Especial
O PIC16F627A/628A/648A tem um programa de 13 bits
Registros (SFR). Os SFRs estão localizados nos primeiros 32
contador capaz de endereçar um programa de 8K x 14
locais de cada banco. Existem propósitos gerais
espaço de memória. Apenas o primeiro 1K x 14 (0000h-03FFh)
Registradores implementados como RAM estática em cada banco.
para o PIC16F627A, 2K x 14 (0000h-07FFh) para o
A Tabela 4-1 lista o Registro de Uso Geral disponível
PIC16F628A e 4K x 14 (0000h-0FFFh) para o
em cada um dos quatro bancos.
PIC16F648A são implementados fisicamente. Acessando um
localização acima desses limites causará uma quebra no primeiro
TABELA 4-1: FIM GERAL ESTÁTICO
espaço de 1K x 14 (PIC16F627A),
Espaço 2K x 14 (PIC16F628A) ou espaço 4K x 14 REGISTROS DE RAM
(PIC16F648A). O vetor Reset está em 0000h e o PIC16F627A/628A PIC16F648A
o vetor de interrupção está em 0004h (Figura 4-1).
Banco0 20-7Fh 20-7Fh
0 0 0
1 0 1
Vetor de interrupção 0004 2 1 0
0005
Programa no chip 3 1 1
Memória
PIC16F627A, 4.2.1 REGISTRO DE PROPÓSITO GERAL
PIC16F628A e ARQUIVO
PIC16F648A
O arquivo de registro é organizado como 224 x 8 no
03FFh
PIC16F627A/628A e 256 x 8 no PIC16F648A.
Cada um é acessado direta ou indiretamente por meio de
Programa no chip
Memória o Registro de Seleção de Arquivo (FSR), Consulte a Seção 4.4
“Endereçamento Indireto, Registros INDF e FSR”.
PIC16F628A e
PIC16F648A
07FFh
Programa no chip
Memória
Apenas PIC16F648A
0FFFh
1FFFh
PIC16F627A/628A/648A
FIGURA 4-2: MAPA DE MEMÓRIA DE DADOS DO PIC16F627A E PIC16F628A
Arquivo
Endereço
Endereço indireto(1) 00h Endereço indireto(1) 80h Endereço indireto(1) 100h Endereço indireto(1) 180h
TMR0 01h OPÇÃO 81h TMR0 101h OPÇÃO 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
TRAZ 05h TRISA 85h 105h 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
07h 87h 107h 187h
08h 88h 108h 188h
09h 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18 Ms
PIR1 0Ch TORTA1 8 canais 10 canais 18 canais
1º EECON2(1) 9 Dh
1Eh 9Eh
PIC16F627A/628A/648A
FIGURA 4-3: MAPA DE MEMÓRIA DE DADOS DO PIC16F648A
Arquivo
Endereço
Endereço indireto(1) 00h Endereço indireto(1) 80h Endereço indireto(1) 100h Endereço indireto(1) 180h
TMR0 01h OPÇÃO 81h TMR0 101h OPÇÃO 181h
PCL 02h PCL 82h PCL 102h PCL 182h
STATUS 03h STATUS 83h STATUS 103h STATUS 183h
FSR 04h FSR 84h FSR 104h FSR 184h
TRAZ 05h TRISA 85h 105h 185h
PORTB 06h TRISB 86h PORTB 106h TRISB 186h
07h 87h 107h 187h
08h 88h 108h 188h
09h 89h 109h 189h
PCLATH 0Ah PCLATH 8Ah PCLATH 10Ah PCLATH 18Ah
INTCON 0Bh INTCON 8Bh INTCON 10Bh INTCON 18 Ms
PIR1 0Ch TORTA1 8 canais 10 canais 18 canais
1º EECON2(1) 9 Dh
1Eh 9Eh
PIC16F627A/628A/648A
4.2.2 REGISTROS DE FUNÇÕES ESPECIAIS
Banco 0
00h INC O endereçamento deste local usa o conteúdo do FSR para endereçar a memória de dados (não um registrador físico) xxxx xxxx 30
02h PCL Byte menos significativo do contador de programa (PC) 0000 0000 30
05h TRAZ RA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0 xxxx 0000 33
06h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xxxx 38
07h — —
— Não implementado
08h — —
— Não implementado
09h — —
— Não implementado
0Ah PCLATH — — ---0 0000 30
— Buffer de gravação para os 5 bits superiores do contador de programa
0Bh INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 26
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 28
0Dh — —
— Não implementado
0Eh TMR1L Registro de retenção para o byte menos significativo do registro TMR1 de 16 bits xxxx xxxx 50
0 Fh TMR1H Registro de retenção para o byte mais significativo do registro TMR1 de 16 bits xxxx xxxx 50
10h T1CON — — T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 50
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 54
13h — —
— Não implementado
14h — —
— Não implementado
15h CCPR1L Captura/Comparação/Registro PWM (LSB) xxxx xxxx 57
17h CCP1CON — — CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 57
18h RCSTA ESPANHA RX9 SREN ELES ACREDITAM ADEN FERR OERR RX9D 0000 000x 74
1 Sra — —
— Não implementado
— —
1 canal — Não implementado
1º — —
— Não implementado
1Eh — —
— Não implementado
1Fh CMCON C2OUT C1OUT C2INV C1INV CEI CM2 CM1 CM0 0000 0000 63
Legenda: - = Locais não implementados lidos como '0', u = inalterado, x = desconhecido, q = valor depende da condição, sombreado = não implementado
Nota 1: Para a condição de inicialização das tabelas de registros, consulte a Tabela 14-6 e a Tabela 14-7.
PIC16F627A/628A/648A
TABELA 4-4: SUMÁRIO DOS REGISTOS DE FUNÇÕES ESPECIAIS BANCO1
Valor ativado
Detalhes
Endereço Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR
Redefinir(1)
na página
Banco 1
80h INC O endereçamento deste local usa o conteúdo do FSR para endereçar a memória de dados (não um xxxx xxxx 30
registrador físico)
81h OPÇÃO RBPU INTEG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 25
82h PCL Byte menos significativo do contador de programa (PC) 0000 0000 30
85h TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 1111 1111 33
86h TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 38
87h — —
— Não implementado
88h — —
— Não implementado
89h — —
— Não implementado
8Ah PCLATH — — ---0 0000 30
— Buffer de gravação para os 5 bits superiores do contador de programa
8Bh INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 26
8 canais TORTA1 ISTO CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 27
8º — —
— Não implementado
8Fh — —
— Não implementado
90h — —
— Não implementado
91h — —
— Não implementado
92h PR2 Registro do Período do Timer2 1111 1111 54
93h — —
— Não implementado
94h — —
— Não implementado
95h — —
— Não implementado
96h — —
— Não implementado
97h — —
— Não implementado
98h TXT CSRC TX9 CHEN SINCRONIZAÇÃO - BRGH TRMT TX9D 0000 -010 73
9Eh — —
— Não implementado
9Fh VRCON VREN CEDO VRR — VR3 VR2 VR1 VR0 000- 0000 69
Legenda: - = Locais não implementados lidos como '0', u = inalterado, x = desconhecido, q = valor depende da condição, sombreado = não implementado
Nota 1: Para a condição de inicialização das tabelas de registros, consulte a Tabela 14-6 e a Tabela 14-7.
PIC16F627A/628A/648A
TABELA 4-5: SUMÁRIO DOS REGISTOS DE FUNÇÕES ESPECIAIS BANCO2
Valor ativado
Detalhes
Endereço Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR
Redefinir(1)
na página
Banco 2
100h INC O endereçamento deste local usa o conteúdo do FSR para endereçar a memória de dados (não um registrador físico) xxxx xxxx 30
102h PCL Byte menos significativo do contador de programa (PC) 0000 0000 30
105h — —
— Não implementado
106h PORTB RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0 xxxx xxxx 38
107h — —
— Não implementado
108h — —
— Não implementado
109h — —
— Não implementado
10Ah PCLATH — — — ---0 0000 30
Buffer de gravação para os 5 bits superiores do contador de programa
10Bh INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 26
— —
10 canais — Não implementado
10º — —
— Não implementado
10 Eh — —
— Não implementado
10Fh — —
— Não implementado
110h — —
— Não implementado
111h — —
— Não implementado
112h — —
— Não implementado
113h — —
— Não implementado
114h — —
— Não implementado
115h — —
— Não implementado
— —
116 horas — Não implementado
117h — —
— Não implementado
118h — —
— Não implementado
119h — —
— Não implementado
11Ah — —
— Não implementado
11Bh — —
— Não implementado
— —
11 canais — Não implementado
11 Dh — —
— Não implementado
11Eh — —
— Não implementado
11Fh — —
— Não implementado
Legenda: - = Locais não implementados lidos como '0', u = inalterado, x = desconhecido, q = valor depende da condição, sombreado = não implementado.
Nota 1: Para a condição de inicialização das tabelas de registros, consulte a Tabela 14-6 e a Tabela 14-7.
PIC16F627A/628A/648A
TABELA 4-6: BANCO DE RESUMO DOS REGISTOS DE FUNÇÕES ESPECIAIS 3
Valor ativado
Detalhes
Endereço Nome Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 POR
Redefinir(1)
na página
Banco 3
180h INC O endereçamento deste local usa o conteúdo do FSR para endereçar a memória de dados (não um registrador físico) xxxx xxxx 30
181h OPÇÃO RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 25
182h PCL Byte menos significativo do contador de programa (PC) 0000 0000 30
185h — —
— Não implementado
186h TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 38
187h — —
— Não implementado
188h — —
— Não implementado
189h — —
— Não implementado
18Ah PCLATH — — ---0 0000 30
— Buffer de gravação para os 5 bits superiores do contador de programa
18 Ms INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 26
— —
18 canais — Não implementado
18º — —
— Não implementado
18h — —
— Não implementado
18Fh — —
— Não implementado
190h — —
— Não implementado
191h — —
— Não implementado
192h — —
— Não implementado
193h — —
— Não implementado
194h — —
— Não implementado
195h — —
— Não implementado
— —
196 horas — Não implementado
197h — —
— Não implementado
198h — —
— Não implementado
199h — —
— Não implementado
19Ah — —
— Não implementado
19 Sra — —
— Não implementado
— —
19 canais — Não implementado
19 Dh — —
— Não implementado
19Eh — —
— Não implementado
19Fh — —
— Não implementado
Legenda: - = Locais não implementados lidos como '0', u = inalterado, x = desconhecido, q = valor depende da condição, sombreado = não implementado
Nota 1: Para a condição de inicialização das tabelas de registros, consulte a Tabela 14-6 e a Tabela 14-7.
PIC16F627A/628A/648A
4.2.2.1 Registro de Status Por exemplo, CLRF STATUS limpará os três
bits e defina o bit Z. Isso deixa o registro de status
O registro de Status, mostrado no Registro 4-1, contém o
como “000uu1uu” (onde u = inalterado).
estado aritmético da ULA; o status Redefinir e o
bits de seleção de banco para memória de dados (SRAM). Recomenda-se, portanto, que apenas BCF, BSF,
As instruções SWAPF e MOVWF são usadas para alterar o
O registrador de Status pode ser o destino de qualquer
Registro de status porque essas instruções não afetam
instrução, como qualquer outro registro. Se o registro de status
qualquer bit de status. Para outras instruções, não afetando
é o destino de uma instrução que afeta o Z,
Bits de status, consulte o “Resumo do Conjunto de Instruções”.
bits DC ou C, então a gravação nesses três bits é
Desativado. Esses bits são definidos ou apagados de acordo com o Nota: Os bits C e DC operam como um Borrow
lógica do dispositivo. Além disso, os bits TO e PD não são graváveis. e bit de empréstimo de dígitos, respectivamente, em
Portanto, o resultado de uma instrução com o subtração. Veja o SUBLW e o SUBWF
O registro de status como destino pode ser diferente de instruções para exemplos.
pretendido.
CADASTRO 4-1: STATUS – REGISTRO DE STATUS (ENDEREÇO: 03h, 83h, 103h, 183h)
R/W-0 R/W-0 R/W-0 R-1 R-1 L/Lx R/Lx R/Lx
pedaço 7 bit 0
pedaço 7 IRP: bit Register Bank Select (usado para endereçamento indireto)
1 = Banco 2, 3 (100h-1FFh)
0 = Banco 0, 1 (00h-FFh)
bocado 6-5 RP<1:0>: Bits de seleção do banco de registradores (usados para endereçamento direto)
00 = Banco 0 (00h-7Fh)
01 = banco 1 (80h-FFh)
10 = Banco 2 (100h-17Fh)
11 = Banco 3 (180h-1FFh)
bocado 4 PARA: bit de tempo limite
Nota: Para Empréstimo, a polaridade é invertida. Uma subtração é executada somando os dois
complemento do segundo operando. Para instruções de rotação (RRF, RLF), este bit é
carregado com o bit de ordem alta ou baixa do registrador de origem.
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
4.2.2.2 OPÇÃO Cadastro
Nota: Para obter uma atribuição de pré-escalonador 1:1 para
O registrador Option é um registrador legível e gravável,
TMR0, atribua o prescaler ao WDT
que contém vários bits de controle para configurar o
(PSA = 1). Consulte a Seção 6.3.1 “Mudança
Prescaler TMR0/WDT, a interrupção externa RB0/INT,
Atribuição do Pré-escalador”.
TMR0 e os pull-ups fracos em PORTB.
pedaço 7 bit 0
000 1: 2 1: 1
001 1: 4 1: 2
010 1:8 1: 4
011 1: 16 1:8
100 1: 32 1: 16
101 1: 64 1: 32
110 1: 128 1: 64
111 1: 256 1: 128
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
4.2.2.3 Registro INTCON
Nota: Os bits de flag de interrupção são definidos quando uma interrupção
O registrador INTCON é um registro legível e gravável
condição ocorre independentemente do estado de
registrador, que contém os vários bits de habilitação e sinalização
seu bit de habilitação correspondente ou o global
para todas as fontes de interrupção, exceto o módulo comparador.
bit de habilitação, GIE (INTCON<7>).
Consulte a Seção 4.2.2.4 “Registro PIE1” e
Seção 4.2.2.5 “Registro PIR1” para uma descrição de
os bits de habilitação e flag do comparador.
REGISTRO 4-3: INTCON – REGISTRO DE CONTROLE DE INTERRUPÇÃO (ENDEREÇO: 0Bh, 8Bh, 10Bh, 18Bh)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/Lx
pedaço 7 bit 0
1 = Quando pelo menos um dos pinos RB<7:4> muda de estado (deve ser apagado no software)
0 = Nenhum dos pinos RB<7:4> mudou de estado
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
4.2.2.4 Registro PIE1
pedaço 7 bit 0
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
4.2.2.5 Registro PIR1
Nota: Os bits de flag de interrupção são definidos quando uma interrupção
Este registrador contém bits de sinalização de interrupção. condição ocorre independentemente do estado de
seu bit de habilitação correspondente ou o global
bit de habilitação, GIE (INTCON<7>). Do utilizador
software deve garantir a
bits de sinalização de interrupção são limpos antes de
habilitando uma interrupção.
pedaço 7 bit 0
Modo de captura
1 = Ocorreu uma captura de registro TMR1 (deve ser apagada no software)
0 = Nenhuma captura de registro TMR1 ocorreu
Modo de comparação
1 = Ocorreu uma correspondência de comparação de registro TMR1 (deve ser apagada no software)
0 = Nenhuma correspondência de comparação de registro TMR1 ocorreu
Modo PWM
Não usado neste modo
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
4.2.2.6 Registro PCON
O registrador PCON contém bits de flag para diferenciar Nota: BOR é desconhecido no Power-on Reset. Isto
entre um Power-on Reset, um MCLR Reset externo, deve então ser definido pelo usuário e verificado
Reinicialização WDT ou Reinicialização Brown-out. em Reinicializações subsequentes para ver se BOR está
apagado, indicando que um brown-out
ocorreu. O bit de status BOR é um “não
cuidado” e não é necessariamente previsível se
o circuito de brown-out é desabilitado (por
limpando o bit BOREN no
Palavra de configuração).
pedaço 7 bit 0
0 = Ocorreu um Power-on Reset (deve ser definido no software após ocorrer um Power-on Reset)
bit 0 BOR: bit de status de reinicialização de brown-out
0 = Ocorreu um Brown-out Reset (deve ser definido no software após ocorrer um Brown-out Reset)
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
4.3 PCL e PCLATH A pilha funciona como um buffer circular. Isso significa que
depois que a pilha foi empurrada oito vezes, a nona
O Program Counter (PC) tem 13 bits de largura. O menor PUSH sobrescreve o valor que foi armazenado do
byte vem do registrador PCL, que é um primeiro PUSH. O décimo PUSH sobrescreve o segundo
e registro gravável. O byte alto (PC<12:8>) não é PUSH (e assim por diante).
diretamente legível ou gravável e vem do PCLATH.
Nota 1: Não há bits de status para indicar pilha
Em qualquer Reinicialização, o PC é limpo. A Figura 4-4 mostra o
condições de estouro ou estouro de pilha.
duas situações para carregar o PC. O exemplo superior
na Figura 4-4 mostra como o PC é carregado em um 2: Não há instruções/mnemônicos
PCL (PCLATH<4:0> ÿ PCH). O exemplo inferior em chamado PUSH ou POP. Estas são ações
A Figura 4-4 mostra como o PC é carregado durante uma CHAMADA que ocorrem a partir da execução do
ou instrução GOTO (PCLATH<4:3> ÿ PCH). LIGUE, DEVOLVA, RETLW e RETFIE
instruções, ou a vetorização para um
FIGURA 4-4: CARREGAMENTO DO PC EM endereço de interrupção.
SITUAÇÕES DIFERENTES
PCLATH
realmente acessa os dados apontados pelo File Select
Registo (FSR). Ler o próprio INDF indiretamente
PCH PCL produzir 00h. Escrevendo no registro INDF indiretamente
12 11 10 87 0 resulta em uma não operação (embora os bits de status possam ser
computador VAI, LIGUE
afetado). Um endereço efetivo de 9 bits é obtido por
concatenar o registrador FSR de 8 bits e o bit IRP
PCLATH<4:3> 11
2 (STATUS<7>), conforme mostrado na Figura 4-5.
Código de operação <10:0>
4.3.2 PILHA
PIC16F627A/628A/648A
FIGURA 4-5: ENDEREÇO DIRETO/INDIRETO PIC16F627A/628A/648A
Status Status
Registro Endereçamento direto Endereçamento indireto
Registro
RP1 RP0 6 do código de operação 0 IRP 7 Registro FSR 0
BATER
Arquivo
Registros
7Fh 1FFh
Banco 0 Banco 1 Banco 2 Banco 3
Observação: Para detalhes do mapa de memória, consulte a Figura 4-3, Figura 4-2 e Figura 4-1.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
5.0 PORTAS DE E/S Em um dos modos de comparador definidos pelo registrador
CMCON, os pinos RA3 e RA4 tornam-se saídas dos comparadores.
O PIC16F627A/628A/648A tem duas portas, PORTA e PORTB. Os bits TRISA<4:3> devem ser limpos para permitir que as saídas
Alguns pinos para essas portas de E/S são multiplexados com usem esta função.
funções alternativas para os recursos periféricos do dispositivo. Em
geral, quando um periférico está habilitado, esse pino não pode ser EXEMPLO 5-1: INICIALIZANDO PORTA
usado como um pino de E/S de uso geral.
PORTA CLRF ;Inicializa o
PORTA ;configurando ;latches de
dados de saída
5.1 Registos PORTA e TRISA MOVLW 0x07 ;Desligue comparadores e ;habilite pinos
MOVWF CMCON para I/O ;funções
PORTA é uma trava larga de 8 bits. RA4 é uma entrada Schmitt
Trigger e uma saída de dreno aberto. A porta RA4 é multiplexada BCF STATUS, RP1
com a entrada de clock T0CKI. RA5(1) é apenas uma entrada BSF STATUS, RP0 ;Selecionar Banco1 ;Valor
Schmitt Trigger e não possui drivers de saída. Todos os outros MOVLW 0x1F usado para inicializar ;direção de
pinos da porta RA possuem níveis de entrada Schmitt Trigger e dados ;Definir RA<4:0> como
MOVWF TRISA entradas ;TRISA<5> sempre ;ler como '1'.
drivers de saída CMOS completos. Todos os pinos possuem bits de
direção de dados (registros TRIS) que podem configurar esses
pinos como entrada ou saída.
Para Comparador
O TRISA controla a direção dos pinos RA, mesmo quando estão
sendo usados como entradas do comparador. O usuário deve
certificar-se de manter os pinos configurados como entradas ao usá-
los como entradas do comparador.
PIC16F627A/628A/648A
FIGURA 5-2: DIAGRAMA DE BLOCOS DE
PIN RA2/AN2/VREF
Dados
Ônibus
D Q
VDD
WR
TRAZ
CKQ
Trava de dados
D Q
Pino RA2
WR
TRISA
CKQ Modo de
VSS
entrada
Trinco TRIS
analógica (CMCON Reg.)
RD
TRISA Gatilho Schmitt
Buffer de entrada
Q D
DENTRO
RD PORTA
Para Comparador
CEDO
VREF
Dados
Modo Comparador = 110 (Reg. CMCON)
Ônibus
D Q VDD
Saída do Comparador
WR 1
TRAZ
CKQ
Trava de dados 0
D Q
Pino RA3
WR
TRISA Modo de
CKQ
entrada VSS
Trinco TRIS analógica (CMCON Reg.)
RD
TRISA Gatilho Schmitt
Buffer de entrada
Q D
DENTRO
RD PORTA
Para Comparador
PIC16F627A/628A/648A
FIGURA 5-4: DIAGRAMA DE BLOCO DO PIN RA4/T0CKI/CMP2
Dados Modo Comparador = 110 (Reg. CMCON)
Ônibus
D Q
WR Saída do Comparador
1
TRAZ
CKQ
Trava de dados 0
D Q
Pino RA4
WR N
TRISA
CKQ
Gatilho Schmitt
Buffer de entrada
RD TRISA
Q D
DENTRO
RD PORTA
De OSC1 OSC
O circuito
VDD
MCLRE (Bit de configuração) CLKOUT(ESCURO/4)
circuito 1
MCLR
Filtro MCLR D Q 0
WR
Modo de Gatilho Schmitt TRAZ
programa CK Q
Buffer de entrada
Detecção de alta tensão ESCURO =
Trava de
VSS
Dados 101, 111 (2)
RA5/MCLR/VPP
D Q
Dados WR
Ônibus
TRISA
VSS CK Q
Trinco TRIS
RD
TRISA Schmitt
Acionar
RD
Buffer de entrada
TRISA VSS ESCURO =
011, 100, 110 (1)
QD QD
DENTRO
DENTRO
RD RD PORTA
TRAZ
PIC16F627A/628A/648A
FIGURA 5-7: DIAGRAMA DE BLOCO DO PINO RA7/OSC1/CLKIN
Circuitos de relógio
VDD
Barramento de dados
D Q
Pino RA7/OSC1/CLKIN
PORTA WR
CKQ
Trava de dados
VSS
D Q
WR TRISA
CKQ
Trinco TRIS
RD TRISA
Q D
Gatilho Schmitt
Buffer de entrada
DENTRO
RD PORTA
PIC16F627A/628A/648A
TABELA 5-1: FUNÇÕES DA PORTA
Entrada Resultado
Nome Função Descrição
Modelo Modelo
05h PORTA RA7 RA6 RA5(1) RA4 RA3 RA2 RA1 RA0 xxxx 0000 qqqu 0000
85h TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 1111 1111 1111 1111
1Fh CMCON C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM0 0000 0000 0000 0000
9Fh VRCON VREN ANTECIPADO VRR — VR3 VR2 VR1 VR0 000- 0000 000- 0000
Legenda: - = Locais não implementados lidos como '0', u = inalterado, x = desconhecido, q = valor depende da condição. Células sombreadas
não são usados para PORTA.
PIC16F627A/628A/648A
5.2 Registros PORTB e TRISB O recurso de interrupção na alteração é recomendado para a operação de
ativação ao pressionar a tecla e operações em que PORTB é usado
PORTB é uma porta bidirecional de 8 bits de largura. O registrador de apenas para o recurso de interrupção na alteração. A sondagem de
direção de dados correspondente é TRISB. Um '1' no registrador TRISB PORTB não é recomendada ao usar o recurso de interrupção na alteração.
coloca o driver de saída correspondente em um modo de alta impedância.
Um '0' no registrador TRISB coloca o conteúdo da trava de saída no(s)
pino(s) selecionado(s).
FIGURA 5-8: DIAGRAMA DE BLOCOS DE
PIN RB0/INT
O PORTB é multiplexado com a interrupção externa, USART, módulo VDD
CCP e a entrada/saída do relógio TMR1. RBPU
As funções da porta padrão e as funções da porta alternativa são P Pull-up fraco
mostradas na Tabela 5-3. As funções de porta alternativas podem substituir VDD
a configuração do TRIS quando ativadas.
PIC16F627A/628A/648A
FIGURA 5-9: DIAGRAMA DE BLOCOS DE FIGURA 5-10: DIAGRAMA DE BLOCOS DE
PIN RB1/RX/DT PIN RB2/TX/CK
VDD VDD
RBPU Fraco RBPU Fraco
P Puxar para cima P Puxar para cima
ESPANHA ESPANHA
VDD VDD
Barramento de dados
0 Barramento de dados
0 RB2/
D Q RB1/ D Q
TX/CK
RX/DT
PORTA WR B PORTA WR B
CKQ CKQ
DQ DQ
WR TRISB WR TRISB
CKQ CKQ
TTL TTL
Q D QD
DENTRO DENTRO
PORTA RD B PORTA RD B
Schmitt Schmitt
Acionar Acionar
Nota 1: OE periférico (habilitação de saída) só está ativo se a seleção de Nota 1: OE periférico (habilitação de saída) só está ativo se a seleção de
periféricos estiver ativa. periféricos estiver ativa.
PIC16F627A/628A/648A
FIGURA 5-11: DIAGRAMA DE BLOCOS DE
PIN RB3/CCP1
VDD
RBPU Fraco
P Puxar para cima
CCP1CON
VDD
Saída do PCC
0
Barramento de dados
1 RB3/
D Q
PCC1
PORTA WR B
CKQ
DQ
WR TRISB
CKQ
Trinco TRIS
OE periférico (2)
TTL
RD TRISB Entrada
Amortecedor
QD
DENTRO
PORTA RD B
PCC em
Schmitt
Acionar
PIC16F627A/628A/648A
FIGURA 5-12: DIAGRAMA DE BLOCO DO PIN RB4/PGM
VDD
RBPU
P pull-up fraco
Barramento de dados
DQ VDD
PORTA WR B
CKQ
Trava de dados
RB4/PGM
DQ
WR TRISB
CKQ
VSS
Trinco TRIS
RD TRISB
PORTA RD B
Entrada PGM
Buffer
Schmitt
de
Acionar entrada TTL
Q D
DENTRO Q1
conjunto RBIF
De outro QD
RB<7:4> pinos
Q3
DENTRO
Nota: A programação de baixa tensão desabilita a interrupção na mudança e os pull-ups fracos no RB4.
PIC16F627A/628A/648A
FIGURA 5-13: DIAGRAMA DE BLOCO DO PINO RB5
VDD
RBPU
pull- VDD
P
up fraco
Barramento de dados
DQ
pino RB5
PORTA WR B
CKQ
Trava de dados
VSS
DQ
WR TRISB
CKQ
Trinco TRIS
Buffer
de
entrada TTL
RD TRISB
Q D
PORTA RD B
DENTRO Q1
conjunto RBIF
De outro Q D
RB<7:4> pinos
Q3
DENTRO
PIC16F627A/628A/648A
FIGURA 5-14: DIAGRAMA DE BLOCO DO PIN RB6/T1OSO/T1CKI/PGC
VDD
RBPU
P pull-up fraco
Barramento de dados
DQ
VDD
PORTA WR B
CKQ
Trava de dados
RB6/
DQ T1OSO/
T1CKI/
WR TRISB pino
CKQ PGC
VSS
Trinco TRIS
RD TRISB
T1OSCEN
Buffer
de
entrada TTL
PORTA RD B
Relógio TMR1
Schmitt
De RB7 Acionar
oscilador TMR1
Relógio de programação serial
Q D
DENTRO
Q1
conjunto RBIF
De outro Q D
RB<7:4> pinos
Q3
DENTRO
PIC16F627A/628A/648A
FIGURA 5-15: DIAGRAMA DE BLOCO DO PIN RB7/T1OSI/PGD
VDD
RBPU
P pull-up fraco
Para RB6
oscilador TMR1
VDD
Barramento de dados
DQ
PORTA WR B RB7/T1OSI/
CKQ
pino PGD
Trava de dados
D Q VSS
WR TRISB
CKQ
Trinco TRIS
RD TRISB
CENA T10
Buffer
PORTA RD B
de
entrada TTL
Schmitt
Acionar
Q D
DENTRO Q1
conjunto RBIF
De outro Q D
RB<7:4> pinos
Q3
DENTRO
PIC16F627A/628A/648A
TABELA 5-3: FUNÇÕES DA PORTA
Resultado
Nome Tipo de entrada de função Descrição
Modelo
RB0/INT RB0 TTL Porta de E/S bidirecional CMOS. Pode ser programado por software para pull-up
fraco interno.
INT ST - Interrupção externa
RB1/RX/DT RB1 TTL Porta de E/S bidirecional CMOS. Pode ser programado por software para pull-up
fraco interno.
RX ST — PIN de recepção USART
Valor ativado
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Todos os outros
POR
Reinicializações
06h, 106h PORTO RB7 RB6 RB5 RB4(1) RB3 RB2 RB1 RB0 xxxx xxxx uuuu uuuu
86h, 186h TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
81h, 181h OPÇÃO RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
Legenda: u = inalterado, x = desconhecido. As células sombreadas não são usadas para PORTB.
Nota 1: O bit de configuração do LVP define a funcionalidade do RB4.
PIC16F627A/628A/648A
5.3 Considerações de programação de E/S EXEMPLO 5-2: LER-MODIFICAR-GRAVAR
INSTRUÇÕES SOBRE UM
5.3.1 PORTAS DE E/S BIDIRECIONAIS E/S PORTO
Qualquer instrução que escreve opera internamente como uma leitura ;Configurações iniciais de PORT:PORTB<7:4> Entradas
; Saídas PORTB<3:0>
seguido por uma operação de gravação. O BCF e o BSF
;PORTB<7:6> tem pull-up externo e são
instruções, por exemplo, leia o registro no
;não conectado a outros circuitos
CPU, execute a operação de bit e escreva o resultado
;
de volta ao registro. Deve-se ter cuidado quando estes PORT trava PORT Pinos
;
instruções são aplicadas a uma porta com entradas e ---------- ----------
saídas definidas. Por exemplo, uma operação BSF no bit 5 STATUS BCF, RP0 ;
de PORTB fará com que todos os oito bits de PORTB sejam lidos BCF PORTB, 7 ;01pp pppp 11pp pppp
na CPU. Em seguida, a operação BSF ocorre em STATUS BSF, RP0 ;
bit 5 e PORTB são gravados nas travas de saída. Se BCF TRISB, 7 ;10pp pppp 11pp pppp
outro bit de PORTB é usado como um pino de E/S bidirecional BCF TRISB, 6 ;10pp pppp 10pp pppp
;
(por exemplo, bit 0) e é definido como uma entrada neste momento, o
;Observe que o usuário pode ter esperado o
sinal de entrada presente no próprio pino seria lido em
;os valores dos pinos devem ser 00pp pppp. O 2º BCF
a CPU e reescrito na trava de dados deste
;fez que RB7 fosse travado como o valor do pino
pin, substituindo o conteúdo anterior. Enquanto o pino
;(Alto).
permanece no modo de entrada, nenhum problema ocorre. No entanto,
se o bit 0 for alternado para o modo de saída mais tarde, o
5.3.2 OPERAÇÕES SUCESSIVAS EM E/S
o conteúdo da trava de dados pode agora ser desconhecido.
PORTOS
Ler um registrador de porta lê os valores da porta
A gravação real em uma porta de E/S acontece no final de
alfinetes. Gravar no registrador de porta grava o valor no
um ciclo de instrução, enquanto para leitura, os dados
trava da porta. Ao usar instruções de leitura-modificação-gravação
deve ser válido no início do ciclo de instrução
(ex. BCF, BSF, etc.) em uma porta, o valor dos pinos da porta
(Figura 5-16). Portanto, deve-se ter cuidado se um
é lido, a operação desejada é feita para este valor, e
write seguido por uma operação de leitura é realizado no
esse valor é então gravado na trava da porta.
mesma porta de E/S. A sequência de instruções deve ser
O Exemplo 5-2 mostra o efeito de duas instruções sequenciais de para permitir que a tensão do pino se estabilize (carga
leitura, modificação e gravação (ex., BCF, BSF, etc.) em um dependente) antes da próxima instrução, o que causa
porta de entrada/saída.
esse arquivo a ser lido na CPU, é executado. Caso contrário, o estado
Um pino emitindo ativamente um Low ou High não deve ser anterior desse pino pode ser lido
acionado a partir de dispositivos externos ao mesmo tempo para a CPU em vez do novo estado. Na dúvida, é
para alterar o nível neste pino (“wired-OR”, “wired AND”). As altas é melhor separar essas instruções com um NOP ou
correntes de saída resultantes podem danificar outra instrução não acessando esta porta de E/S.
o chip.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
computador computador PC + 1 PC + 2 PC + 3
Instrução PORTA MOVWF NOP NOP
MOVF PORTB, W
buscado Escreva para PORTB Leia para PORTB
Pino da porta
amostrado aqui
TPD
Executar Executar Executar
MOVWF MOVF NOP
PORTB PORTO, W.
Nota 1: Este exemplo mostra a gravação em PORTB seguida por uma leitura de PORTB.
2: Tempo de setup de dados = (0,25 TCY - TPD) onde TCY = ciclo de instrução e TPD = atraso de propagação do ciclo Q1 para saída válida.
Portanto, em frequências de clock mais altas, uma gravação seguida de uma leitura pode ser problemática.
PIC16F627A/628A/648A
6.0 MÓDULO DE TEMPORIZADOR0 6.2 Usando Timer0 com Relógio Externo
O temporizador/contador do módulo Timer0 possui os seguintes Quando uma entrada de relógio externa é usada para Timer0, ela
recursos: deve atender a certos requisitos. O requisito de relógio externo é
• temporizador/contador de 8 bits
devido à sincronização do relógio de fase interno (TOSC) . Além
disso, há um atraso no incremento real de Timer0 após a
• Capacidades de leitura/
sincronização.
gravação • Pré-escalador programável por software
de 8 bits • Seleção de relógio interno ou externo 6.2.1 RELÓGIO EXTERNO
• Interrupção no overflow de FFh a 00h • Seleção SINCRONIZAÇÃO
de borda para relógio externo Quando nenhum prescaler é usado, a entrada de clock externa é a
mesma que a saída do prescaler. A sincronização de T0CKI com os
A Figura 6-1 é um diagrama de blocos simplificado do módulo
Timer0. Informações adicionais estão disponíveis no “PIC® relógios de fase internos é realizada pela amostragem da saída do
pré-escalador nos ciclos Q2 e Q4 dos relógios de fase internos
Manual de referência da família MCU de médio porte” (DS33023).
(Figura 6-1). Portanto, é necessário que T0CKI seja alto por pelo
O modo temporizador é selecionado limpando o bit T0CS menos 2TOSC (e um pequeno atraso RC de 20 ns) e baixo por pelo
(OPTION<5>). No modo Timer, o valor do registrador TMR0 será menos 2TOSC (e um pequeno atraso RC de 20 ns). Consulte a
incrementado a cada ciclo de instrução (sem prescaler). Se o especificação elétrica do dispositivo desejado.
registrador TMR0 for escrito, o incremento é inibido pelos dois ciclos
seguintes. O usuário pode contornar isso escrevendo um valor
ajustado no registro TMR0.
Quando um pré-escalador é usado, a entrada de clock externa é
dividida pelo pré-escalador do tipo contador de ondulação assíncrono
O modo contador é selecionado configurando o bit T0CS. Neste para que a saída do pré-escalador seja simétrica.
modo, o valor do registro TMR0 será incrementado em cada borda Para que o relógio externo atenda ao requisito de amostragem, o
ascendente ou descendente do pino RA4/T0CKI/CMP2. contador de ondulação deve ser levado em consideração. Portanto,
A borda de incremento é determinada pelo bit de controle da borda é necessário que T0CKI tenha um período de pelo menos 4TOSC (e
de origem (T0SE) (OPTION<4>). Apagar o bit T0SE seleciona a um pequeno atraso RC de 40 ns) dividido pelo valor do prescaler. O
borda de subida. Restrições na entrada de relógio externo são único requisito no tempo alto e baixo do T0CKI é que eles não violem
discutidas em detalhes na Seção 6.2 “Usando Timer0 com Relógio o requisito mínimo de largura de pulso de 10 ns. Consulte os
Externo”. parâmetros 40, 41 e 42 na especificação elétrica do dispositivo
O prescaler é compartilhado entre o módulo Timer0 e o Watchdog desejado. Consulte a Tabela 17-8.
Timer. A atribuição do prescaler é controlada em software pelo bit
de controle PSA (OPTION<3>). Limpar o bit PSA atribuirá o prescaler
ao Timer0. O prescaler não é legível ou gravável. Quando o prescaler
é atribuído ao módulo Timer0, os valores de prescale de 1:2, 1:4,...,
1:256 são selecionáveis. A seção 6.3 “Timer0 Prescaler” detalha a
operação do prescaler.
PIC16F627A/628A/648A
6.3 Temporizador0 Pré-escalonador Os bits PSA e PS<2:0> (OPTION<3:0>) determinam a
atribuição do prescaler e a proporção do prescale.
Um contador de 8 bits está disponível como prescaler
para o módulo Timer0 ou como postscaler para o Quando atribuída ao módulo Timer0, todas as instruções
Watchdog Timer. Uma atribuição de prescaler para o escritas no registrador TMR0 (por exemplo, CLRF 1,
módulo Timer0 significa que não há postscaler para o MOVWF 1, BSF 1, x....etc.) limparão o prescaler. Quando
Watchdog Timer e vice-versa. atribuída ao WDT, uma instrução CLRWDT limpará o
prescaler junto com o Watchdog Timer. O prescaler não
é legível ou gravável.
8
0
pino 1 SINCRONIZAÇÃO
1
T0CKI 2 TMR0 Reg
0 Ciclos
T0SE
T0CS
Defina o bit de
Fonte de Relógio TMR1 PSA sinalização T0IF no estouro
0
Pós-escalador WDT/
8
PSA
1
WDT
Tempo esgotado
0
PSA
PIC16F627A/628A/648A
6.3.1 COMUTANDO O PRÉ-CALADOR Para alterar o prescaler do WDT para o Timer0
ATRIBUIÇÃO módulo, use a sequência mostrada no Exemplo 6-2. este
precaução deve ser tomada mesmo se o WDT estiver desabilitado.
A atribuição do pré-escalador está totalmente sob software
controle (ou seja, pode ser alterado "on-the-fly" durante
EXEMPLO 6-2: TROCA DO PRÉ-CALLER
execução do programa). Use as sequências de instruções
mostrado no Exemplo 6-1 ao alterar o prescaler (WDT ÿ TEMPORIZADOR0)
atribuição de Timer0 para WDT, para evitar uma CLRWDT ;Limpar WDT e ;prescaler
Reinicialização do dispositivo não intencional.
BSF ESTADO, RP0
MOVLW b'xxxx0xxx' ;Selecione TMR0, novo ;valor
EXEMPLO 6-1: TROCA DO PRÉ-CALLER
de pré-escala e
(TIMER0 ÿ WDT) ;fonte do relógio
BCF ESTADO, RP0 ;Pular se já estiver MOVWF OPTION_REG
;Banco 0 BCF ESTADO, RP0
CLRWDT ;Limpar WDT
CLRF TMR0 ;Limpar TMR0 e
;Pré-escalonador
BSF ESTADO, RP0 ;Banco 1
MOVLW '00101111'b ;Estas 3 linhas ;(5, 6,
7)
MOVWF OPTION_REG ; são necessários apenas
;se desejar PS<2:0>
;são
CLRWDT ;000 ou 001
MOVLW '00101xxx'b ;Defina Postscaler para
MOVWF OPTION_REG ;taxa WDT desejada
BCF ESTADO, RP0 ;Voltar ao Banco 0
Valor ativado
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Todos os outros
POR
Reinicializações
01h, 101h TMR0 Timer0 Registro do Módulo xxxx xxxx uuuu uuuu
0Bh, 8Bh,
INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
81h, 181h OPÇÃO(2) RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
85h TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 1111 1111 1111 1111
Legenda: - = Locais não implementados, lidos como '0', u = inalterado, x = desconhecido. As células sombreadas não são usadas para Timer0.
Nota 1: A opção é referida por OPTION_REG no software MPLAB® IDE.
PIC16F627A/628A/648A
7.0 MÓDULO DE TEMPORIZADOR1 No modo Timer, o valor do par de registradores TMR1
incrementa a cada ciclo de instrução. No modo Contador,
O módulo Timer1 é um temporizador/contador de 16 bits que consiste incrementos em cada borda de subida do clock externo
de dois registradores de 8 bits (TMR1H e TMR1L) que são entrada.
legível e gravável. O par de registradores TMR1
Timer1 pode ser ativado/desativado configurando/limpando
(TMR1H:TMR1L) aumenta de 0000h a FFFFh
bit de controle TMR1ON (T1CON<0>).
e rola para 0000h. A interrupção do Timer1, se
habilitado, é gerado no estouro do registrador TMR1 O Timer1 também possui uma “entrada de reset” interna. Esta redefinição
par que trava o bit de flag de interrupção TMR1IF pode ser gerado pelo módulo CCP (Seção 9.0
(PIR1<0>). Esta interrupção pode ser habilitada/desabilitada por “Capturar/Comparar/PWM (CCP) Módulo").
configurando/apagando o bit de habilitação de interrupção do Timer1 TMR1IE O registro 7-1 mostra o registro de controle do Timer1.
(PIE1 <0>). Para o PIC16F627A/628A/648A, quando o Timer1
Timer1 pode operar em um dos dois modos: oscilador está habilitado (T1OSCEN está definido), o RB7/
Pinos T1OSI/PGD e RB6/T1OSO/T1CKI/PGC
• Como um temporizador
tornam-se entradas. Ou seja, o valor TRISB<7:6> é
• Como contador
ignorado.
O modo de operação é determinado pela seleção do relógio
bit, TMR1CS (T1CON<1>).
pedaço 7 bit 0
Nota 1: O inversor oscilador e o resistor de feedback são desligados para eliminar o consumo de energia.
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
7.1 Funcionamento do Timer1 no Modo Timer 7.2.1 TEMPO DE ENTRADA DE RELÓGIO EXTERNO
PARA CONTADOR SINCRONIZADO
O modo temporizador é selecionado limpando o bit TMR1CS
MODO
(T1CON<1>). Neste modo, o relógio de entrada para o
temporizador é FOSC/4. O bit de controle de sincronização Quando uma entrada de relógio externa é usada para Timer1 no
T1SYNC (T1CON<2>) não tem efeito, pois o relógio interno está modo Synchronized Counter, ela deve atender a certos requisitos.
sempre sincronizado. O requisito de relógio externo é devido à sincronização do relógio
de fase interno (TOSC) . Além disso, há um atraso no incremento
real do valor do par de registradores TMR1 após a sincronização.
7.2 Operação do Timer1 no Modo de Contador
Sincronizado
Quando o prescaler é 1:1, a entrada do clock externo é igual à
O modo contador é selecionado configurando o bit TMR1CS. saída do prescaler. A sincronização de T1CKI com os relógios de
Neste modo, o valor do par de registradores TMR1 é incrementado fase internos é realizada por amostragem da saída do pré-
a cada flanco ascendente da entrada de clock no pino RB7/T1OSI/ escalador nos ciclos Q2 e Q4 dos relógios de fase internos.
PGD quando o bit T1OSCEN é ativado ou no pino RB6/T1OSO/ Portanto, é necessário que T1CKI seja alto por pelo menos 2
T1CKI/PGC quando o bit T1OSCEN é apagado.
TOSC (e um pequeno atraso RC de 20 ns) e baixo por pelo menos
Se T1SYNC for desenergizado, a entrada do relógio externo será 2 TOSC (e um pequeno atraso RC de 20 ns). Consulte a Tabela
sincronizada com os relógios de fase internos. A sincronização é 17-8 na Seção de Especificações Elétricas, parâmetros de tempo
feita após a etapa de prescaler. O estágio de prescaler é um 45, 46 e 47.
contador de ondulação assíncrono.
Nesta configuração, durante o modo Sleep, o valor do par de Quando um pré-escalador diferente de 1:1 é usado, a entrada do
registradores TMR1 não será incrementado mesmo que o relógio relógio externo é dividida pelo pré-escalador do tipo contador de
externo esteja presente, pois o circuito de sincronização está ondulação assíncrono para que a saída do pré-escalador seja
desligado. O prescaler, no entanto, continuará a incrementar. simétrica. Para que o relógio externo atenda ao requisito de
amostragem, o contador de ondulação deve ser levado em
consideração. Portanto, é necessário que T1CKI tenha um período
de pelo menos 4 TOSC (e um pequeno atraso RC de 40 ns)
dividido pelo valor do prescaler. O único requisito no tempo alto e
baixo do T1CKI é que eles não violem os requisitos mínimos de
largura de pulso de 10 ns). Consulte as especificações elétricas
apropriadas na Tabela 17-8, parâmetros 45, 46 e 47.
TMR1IF ativado
Transbordar Sincronizado
TMR1 0
Entrada de relógio
TMR1H TMR1L
1
TMR1ON
T1SYNC
T1OSC
RB6/T1OSO/T1CKI/PGC 1
Sincronizar
Pré-
T1OSCEN ESCURO/4
escalador 1, 2, 4, 8 a
Permitir interno 0
RB7/T1OSI/PGD Oscilador(1) Relógio 2
Entrada de sono
T1CKPS<1:0>
TMR1CS
Nota 1: Quando o bit T1OSCEN é apagado, o inversor e o resistor de realimentação são desligados. Isso elimina o dreno de energia.
PIC16F627A/628A/648A
7.3 Operação do Timer1 no EXEMPLO 7-1: LENDO UM 16 BITS GRÁTIS
Modo Contador Assíncrono TEMPORIZADOR EM EXECUÇÃO
Nota: No modo Contador Assíncrono, Timer1 ; TMR1L pode ter rolado entre o ; leitura dos bytes alto e baixo. Leitura
PIC16F627A/628A/648A
7.4 Temporizador1 Oscilador 7,5 Redefinindo o temporizador1 usando um CCP
Valor ativado
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 todos os outros
POR
Reinicializações
0Bh, 8Bh, INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 FEIE CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8 canais TORTA1 OLHO CMIE RCIE ESSA — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
0Eh Registro de retenção TMR1L para o byte menos significativo do registro TMR1 de 16 bits xxxx xxxx uuuu uuuu
0 Fh Registro de retenção TMR1H para o byte mais significativo do registro TMR1 de 16 bits xxxx xxxx uuuu uuuu
10h T1CON — — T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 --uuuuuu
Lenda: x = desconhecido, u = inalterado, - = não implementado lido como '0'. As células sombreadas não são usadas pelo módulo Timer1.
PIC16F627A/628A/648A
8.0 MÓDULO DO TEMPORIZADOR 2 8.1 Timer2 Prescaler e Postscaler
Timer2 é um temporizador de 8 bits com um prescaler e um Os contadores do pré-escalador e pós-escalador são apagados
postscaler. Pode ser usado como base de tempo PWM para o modo quando ocorre uma das seguintes situações:
PWM do módulo CCP. O registro TMR2 é legível e gravável, e é • uma gravação no registrador TMR2
apagado em qualquer reinicialização do dispositivo.
• uma gravação no registrador T2CON
• qualquer reset de dispositivo (Power-on Reset, MCLR Reset,
O clock de entrada (FOSC/4) possui uma opção de pré-escala de Redefinição do temporizador do watchdog ou redefinição de Brown-out)
1:1, 1:4 ou 1:16, selecionada pelos bits de controle T2CKPS<1:0>
O registrador TMR2 não é apagado quando T2CON é escrito.
(T2CON<1:0>).
Pós-escalador
2
Comparador
1:1 a 1:16 EQ
T2CKPS<1:0>
4
PR2 Reg
TOUTPS <3:0>
PIC16F627A/628A/648A
REGISTRO 8-1: T2CON – REGISTRO DE CONTROLE TIMER2 (ENDEREÇO: 12h)
U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0
pedaço 7 bit 0
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
0Bh, 8Bh, INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8 canais TORTA1 ISTO CMIE RCIE ESSA — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 -000 0000
Lenda: x = desconhecido, u = inalterado, - = não implementado lido como '0'. As células sombreadas não são usadas pelo módulo Timer2.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
9.0 CAPTURA/COMPARAÇÃO/PWM TABELA 9-1: MODO CCP - TEMPORIZADOR
RECURSO
(CCP) MÓDULO
Modo PCC Recurso de temporizador
O módulo CCP (Capturar/Comparar/PWM) contém um
Registro de 16 bits que pode operar como um Capture de 16 bits Capturar Temporizador1
Módulo CCP1
pedaço 7 bit 0
Modo de captura
Não usado
Modo de comparação
Não usado
Modo PWM
Esses bits são os dois LSbs do ciclo de trabalho PWM. Os oito MSbs são encontrados no CCPRxL.
pouco 3-0 CCP1M<3:0>: bits de seleção do modo CCPx
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
9.1 Modo de captura 9.1.4 PRÉ-CALALADOR CCP
No modo Capture, CCPR1H:CCPR1L captura o valor de 16 bits Existem quatro configurações de prescaler, especificadas pelos
bits CCP1M<3:0>. Sempre que o módulo CCP é desligado ou o
do registrador TMR1 quando ocorre um evento no pino RB3/
CCP1. Um evento é definido como: módulo CCP não está no modo Capture, o contador do prescaler
é apagado. Isso significa que qualquer Reinicialização limpará o
• Cada borda de descida
contador do prescaler.
• Cada borda de subida
Alternar de um prescaler de captura para outro pode gerar uma
• Cada 4ª borda de subida
interrupção. Além disso, o contador do prescaler não será
• Cada 16ª borda de subida apagado, portanto, a primeira captura pode ser de um prescaler
Um evento é selecionado pelos bits de controle CCP1M<3:0> diferente de zero. O Exemplo 9-1 mostra o método recomendado
(CCP1CON<3:0>). Quando uma captura é feita, o bit de flag de para alternar entre prescalers de captura. Este exemplo também
solicitação de interrupção CCP1IF (PIR1<2>) é definido. Deve limpa o contador do prescaler e não irá gerar a interrupção
ser limpo no software. Caso ocorra outra captura antes da leitura “falsa”.
do valor no registro CCPR1, o antigo valor capturado será
perdido. EXEMPLO 9-1: MUDANÇA ENTRE
CAPTURA DE PRÉ-ESCALADORES
9.1.1 CONFIGURAÇÃO DO PIN CCP
CLRF CCP1CON ;Desliga o módulo CCP
No modo de Captura, o pino RB3/CCP1 deve ser configurado MOVLW NEW_CAPT_PS ;Carrega o W reg com ; o novo pré-
como entrada configurando o bit TRISB<3>. escalador; valor de modo e CCP
LIGADO
Nota: Se o RB3/CCP1 estiver configurado como uma saída, MOVWF CCP1CON ;Carrega CCP1CON com isso ; valor
uma gravação na porta pode causar uma condição
de captura.
CCP1CON<3:0>
Perguntas
FIGURA 9-2: MODO COMPARAR
BLOCO DE OPERAÇÃO
DIAGRAMA
9.1.2 SELEÇÃO DO MODO TIMER1
O Timer1 deve estar funcionando no modo Timer ou no modo Definir bit de sinalização CCP1IF
modo de operação.
PIC16F627A/628A/648A
9.2.1 CONFIGURAÇÃO DO PIN CCP 9.2.4 GATILHO DE EVENTO ESPECIAL
O usuário deve configurar o pino RB3/CCP1 como Neste modo (CCP1M<3:0>=1011), é gerado um trigger de hardware
saída limpando o bit TRISB<3>. interno, que pode ser usado para iniciar
uma ação. Consulte o Registro 9-1.
Nota: A limpeza do registro CCP1CON forçará
o RB3/CCP1 compara a trava de saída com A saída de disparo de evento especial do CCP ocorre
o nível baixo padrão. Estes não são os dados imediatamente após uma partida entre o TMR1H,
robusto. Par de registradores TMR1L e registrador CCPR1H, CCPR1L
par. O par de registradores TMR1H, TMR1L não é resetado até
9.2.2 SELEÇÃO DO MODO TIMER1 a próxima borda de subida do relógio TMR1. Isso permite que o
par de registradores CCPR1 para ser efetivamente um registrador
O Timer1 deve estar funcionando no modo Timer ou no modo
de período programável de 16 bits para Timer1. O evento especial
Synchronized Counter se o módulo CCP estiver usando o
a saída do acionador também inicia uma conversão A/D fornecida
recurso de comparação. No modo Contador Assíncrono, o
que o módulo A/D está habilitado.
a operação de comparação pode não funcionar.
Nota: Removendo a condição de correspondência alterando o
9.2.3 MODO DE INTERRUPÇÃO DO SOFTWARE conteúdo do CCPR1H, CCPR1L
Quando a geração de interrupção de software é escolhida, o CCP1 par de registradores entre a borda do clock que
pino não é afetado. Somente uma interrupção CCP é gerada (se gera o acionador de evento especial e
ativado). a borda do clock que gera o TMR1
A reinicialização impedirá a reinicialização de
ocorrendo.
0Bh, 8Bh, INTCON GIE COMO T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8 canais TORTA1
EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
86h, 186h TRISB PORTB Registro de Direção de Dados 1111 1111 1111 1111
0Eh Registro de retenção TMR1L para o byte menos significativo do registro TMR1 de 16 bits xxxx xxxx uuuu uuuu
0 Fh Registro de retenção TMR1H para o byte mais significativo do registro TMR1 de 16 bits xxxx xxxx uuuu uuuu
10h T1CON — — T1CKPS1 T1CKPS0 T1OSCEN T1SYNC TMR1CS TMR1ON --00 0000 --uuuuuu
17h CCP1CON — — CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 --00 0000
Lenda: x = desconhecido, u = inalterado, - = não implementado lido como '0'. As células sombreadas não são usadas pelo Capture e Timer1.
PIC16F627A/628A/648A
9.3 Modo PWM Uma saída PWM (Figura 9-4) tem uma base de tempo (período)
e um tempo que a saída permanece alta (ciclo de trabalho). o
No modo Pulse Width Modulation (PWM), o pino CCP1 frequência do PWM é o inverso do período
produz uma saída PWM de resolução de até 10 bits. Desde (frequência = 1/período).
o pino CCP1 é multiplexado com a trava de dados PORTB,
o bit TRISB<3> deve ser limpo para fazer o CCP1
FIGURA 9-4: SAÍDA PWM
pin uma saída.
Ciclo de trabalho
A Figura 9-3 mostra um diagrama de blocos simplificado do
Módulo CCP em modo PWM.
TMR2 = PR2
CCPR1L
seguinte fórmula:
PIC16F627A/628A/648A
9.3.2 CICLO DE SERVIÇO PWM Resolução máxima de PWM (bits) para um determinado PWM
frequência:
O ciclo de trabalho PWM é especificado escrevendo para o
registrador CCPR1L e aos bits CCP1CON<5:4>. Acima Sombrio
ÿÿ
para resolução de 10 bits está disponível: o CCPR1L contém PWM × Pré-escalador------------
registro -------------------------------------------------
FPWM TMR2
ÿ ÿ
Resolução =
os oito MSbs e o CCP1CON<5:4> contém o -------------------------------------------------- -------------------------- pedaços
log(2)
dois LSb. Este valor de 10 bits é representado por
CCPR1L:CCP1CON<5:4>. A equação a seguir é
usado para calcular o ciclo de trabalho PWM no tempo:
Nota: Se o valor do ciclo de trabalho PWM for maior que
Ciclo de trabalho PWM = o período PWM, o pino CCP1 não será
limpo.
Frequência PWM 1,22 kHz 4,88 kHz 19,53 kHz 78,12 kHz 156,3 kHz 208,3 kHz
Valor em
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 todos os outros
POR
Reinicializações
0Bh, 8Bh, INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8 canais TORTA1 ISTO CMIE RCIE ESSA — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
86h, 186h TRISB TRISB7 TRISB6 TRISB5 TRISB4 TRISB3 TRISB2 TRISB1 TRISB0 1111 1111 1111 1111
92h PR2 Registro de Período do Módulo Timer2 1111 1111 1111 1111
12h T2CON — TOUTPS3 TOUTPS2 TOUTPS1 TOUTPS0 TMR2ON T2CKPS1 T2CKPS0 -000 0000 uuuu uuuu
17h CCP1CON — — CCP1X CCP1Y CCP1M3 CCP1M2 CCP1M1 CCP1M0 --00 0000 --00 0000
Lenda: x = desconhecido, u = inalterado, - = não implementado lido como '0'. As células sombreadas não são usadas por PWM e Timer2.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
10.0 MÓDULO COMPARADOR O registro CMCON, mostrado no Registro 10-1, controla
os multiplexadores de entrada e saída do comparador. Um bloco
O módulo comparador contém dois diagrama do comparador é mostrado na Figura 10-1.
comparadores. As entradas para os comparadores são
multiplexado com os pinos RA0 a RA3. O chip
Referência de Tensão (Seção 11.0 “Referência de Tensão
Module”) também pode ser uma entrada para os comparadores.
pedaço 7 bit 0
Quando C2INV = 1:
1 = C2 VIN+ < C2 VIN
0 = C2 VIN+ > C2 VIN
Quando C1INV = 1:
1 = C1 VIN+ < C1 VIN
0 = C1 VIN+ > C1 VIN
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
10.1 Configuração do Comparador Se o modo Comparador for alterado, o comparador
o nível de saída pode não ser válido para o modo especificado
Existem oito modos de operação para o atraso de mudança mostrado na Tabela 17-2.
comparadores. O registrador CMCON é usado para selecionar
o modo. A Figura 10-1 mostra os oito possíveis Nota 1: as interrupções do comparador devem ser desabilitadas
modos. O registrador TRISA controla a direção dos dados durante uma mudança no modo Comparador,
dos pinos comparadores para cada modo. caso contrário, uma falsa interrupção pode ocorrer.
Comparadores desativados
Reinicialização de Comparadores (Valor Padrão POR)
CM<2:0> = 111
CM<2:0> = 000
D VENHA
RA0/YAN0
UMA VENHA
RA0/YAN0
D VIN+ C1 Desligado (ler como '0')
C1 Desligado (ler como '0') RA3/AN3/CMP1
RA3/AN3/CMP1 UMA VIN+
D VENHA
UMA VENHA RA1/AN1
RA1/AN1
D VIN+ C2 Desligado (ler como '0')
VIN+ C2 Desligado (ler como '0') RA2/AN2/VREF
RA2/AN2/VREF UMA
VSS
UMA
RA1/AN1
CEI = 0 VENHA
De VREF
Módulo
Dois Comparadores de Referência Comuns Dois Comparadores de Referência Comum com Saídas
CM<2:0> = 011 CM<2:0> = 110
UMA VENHA
UMA VENHA RA0/YAN0
RA0/YAN0
C1 C1VOUT
D VIN+
VIN+ C1 C1VOUT RA3/AN3/CMP1
D
RA3/AN3/CMP1
UMA VENHA
UMA
RA1/AN1
VENHA
RA1/AN1
VIN+ C2 C2VOUT
C2VOUT RA2/AN2/VREF
UMA
VIN+ C2
RA2/AN2/VREF UMA
D VENHA
RA0/YAN0 RA0/YAN0
UMA
CEI = 0 VENHA
D VIN+ C1 Desligado (ler como '0')
RA3/AN3/CMP1 RA3/AN3/CMP1
UMA CEI = 1
C1 C1VOUT
VIN+
VSS
A = Entrada Analógica, a porta lê zeros sempre. D = Entrada Digital. CIS (CMCON<3>) é a chave de entrada do comparador.
PIC16F627A/628A/648A
O exemplo de código no Exemplo 10-1 descreve as etapas FIGURA 10-2: COMPARADOR ÚNICO
necessário para configurar o módulo Comparador. RA3 e
RA4 são configurados como saída digital. RA0 e RA1 são VIN+ +
configurado como entradas V- e RA2 como entrada V+ para Resultado
–
ambos comparadores. VENHA
a saída digital. Quando a entrada analógica em VIN+ é menor referência de tensão gerada internamente para o
do que a entrada analógica VIN-, a saída do comparador comparadores. Seção 11.0 “Referência de tensão
é um nível baixo digital. Quando a entrada analógica em VIN+ é Módulo”, contém uma descrição detalhada da tensão
maior que a entrada analógica VIN-, a saída do Módulo de referência que fornece este sinal. o
comparador é um alto nível digital. As áreas sombreadas de sinal de referência interno é usado quando os comparadores
a saída do comparador na Figura 10-2 representa estão no modo CM<2:0> = 010 (Figura 10-1). Nisso
a incerteza devido a deslocamentos de entrada e tempo de resposta. modo, a referência de tensão interna é aplicada ao
Um sinal de referência externo ou interno pode ser usado O tempo de resposta é o tempo mínimo, após selecionar um
dependendo do modo de operação do comparador. o nova tensão de referência ou fonte de entrada, antes do
sinal analógico que está presente no VIN- é comparado ao saída do comparador deve ter um nível válido. Se o interno
é ajustado de acordo (Figura 10-2). referência de tensão deve ser considerada ao usar o
saídas do comparador. Caso contrário, o atraso máximo de
os comparadores devem ser usados (Tabela 17-2, página 142).
PIC16F627A/628A/648A
10.5 Saídas do Comparador
As saídas do comparador são lidas através do registrador
CMCON. Esses bits são somente leitura. As saídas do comparador
também podem ser enviadas diretamente para os pinos de E/S
RA3 e RA4. Quando CM<2:0> = 110 ou 001, os multiplexadores
no caminho de saída dos pinos RA3 e RA4/T0CK1/CMP2 serão
alternados e a saída de cada pino será a saída não sincronizada
do comparador. A incerteza de cada um dos comparadores está
relacionada à tensão de compensação de entrada e ao tempo de
resposta fornecido nas especificações. A Figura 10-3 mostra o
diagrama de blocos de saída do comparador.
CnINV
Para RA3/AN3/CMP1 ou
Q3
DENTRO
RD CMCON
DENTRO Q1
CL
De outro comparador
Redefinir
PIC16F627A/628A/648A
10.6 Interrupções do Comparador 10.7 Operação do Comparador Durante o Sono
O sinalizador de interrupção do comparador é definido sempre que houver
uma alteração no valor de saída de qualquer comparador. Quando um comparador está ativo e o dispositivo é colocado no modo
O software precisará manter informações sobre o status dos bits de saída,
Sleep, o comparador permanece ativo e a interrupção é funcional se
conforme lido do CMCON<7:6>, para determinar a mudança real que habilitada. Esta interrupção acordará o dispositivo do modo de suspensão
ocorreu. O bit CMIF, PIR1<6>, é o sinalizador de interrupção do comparador. quando ativado.
Enquanto o comparador estiver ligado, ocorrerão correntes Sleep mais altas
O bit CMIF deve ser redefinido limpando '0'. Como também é possível do que as mostradas na especificação de corrente de desligamento. Cada
escrever um '1' neste registrador, uma interrupção simulada pode ser iniciada. comparador que estiver operacional consumirá corrente adicional conforme
mostrado nas especificações do comparador. Para minimizar o consumo de
O bit CMIE (PIE1<6>) e o bit PEIE (INTCON<6>) devem ser definidos para energia no modo Sleep, desligue os comparadores, CM<2:0> = 111, antes
habilitar a interrupção. Além disso, o bit GIE também deve ser definido. Se de entrar em Sleep. Se o dispositivo acordar da suspensão, o conteúdo do
algum desses bits estiver limpo, a interrupção não está habilitada, embora o registro CMCON não será afetado.
O usuário, na rotina de serviço de interrupção, pode limpar a interrupção da analógicas. A corrente do dispositivo é minimizada quando as entradas
PIC16F627A/628A/648A
FIGURA 10-4: MODO DE ENTRADA ANALÓGICA
VDD
VT = 0,6 V RIC
RS < 10 K
AIN
CIN VAZAMENTO
E VT = 0,6 V ±500 nA
5 pF
VSS
Legenda: CPI = Capacitância de entrada
VT = Tensão Limiar
ILEAKAGE = Corrente de fuga no pino
RIC = Resistência de interconexão
RS = Impedância da fonte
E = Tensão Analógica
1Fh CMCON C2OUT C1OUT C2INV C1NV CIS CM2 CM1 CM0 0000 0000 0000 0000
0Bh, 8Bh,
INTCON GIE ASSIM T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
85h TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 1111 1111 1111 1111
Legenda: x = Desconhecido, u = Inalterado, - = Não implementado, lido como '0'
PIC16F627A/628A/648A
11,0 MÓDULO DE REFERÊNCIA DE TENSÃO As equações usadas para calcular a saída do
O módulo de referência de tensão são os seguintes:
se VRR = 1:
O módulo Voltage Reference consiste em um conector de 16 taps
RV<3:0>
rede de resistores em escada que fornece uma referência de tensão VREF = × DD
---------------------- DENTRO
24
selecionável. A escada do resistor é segmentada para fornecer duas
faixas de valores de VREF e tem um desligamento se VRR = 0:
função para conservar energia quando a referência não é
1
sendo usado. O registrador VRCON controla a operação da referência = ÿ
VREF VDD × --ÿ RV<3:0>
+ DENTRO ----------------------
× DD
conforme mostrado na Figura 11-1. o ÿ 4ÿ 32
O módulo Voltage Reference pode produzir 16 referência está configurada para uma tensão de saída de 1,25V
com VDD = 5,0V.
níveis de tensão para cada faixa.
pedaço 7 bit 0
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
FIGURA 11-1: DIAGRAMA DE BLOCOS DE REFERÊNCIA DE TENSÃO
VDD 16 Estágios
VREN
8R R R R R
8R VRR
VSS VSS
VR3
VREF 16-1 Mux Analógico (De VRCON<3:0>)
VR0
O pino RA2 pode ser usado como uma saída D/A simples com
11.2 Precisão/Erro de Referência de Tensão capacidade de acionamento limitada. Devido à movimentação limitada
capacidade, um buffer deve ser usado em conjunto com o
A gama completa de VSS a VDD não pode ser realizada devido a
Saída do módulo de referência de tensão para conexões externas
a construção do módulo. Os transistores do
ao VREF. A Figura 11-2 mostra um exemplo de buffer
superior e inferior da rede escada do resistor
técnica.
(Figura 11-1) evite que VREF se aproxime de VSS ou VDD.
O módulo Voltage Reference é derivado de VDD e
portanto, a saída VREF muda com flutuações na
VDD. A precisão absoluta testada do módulo Voltage Reference
pode ser encontrada na Tabela 17-3.
PIC16F627A/628A/648A
FIGURA 11-2: EXEMPLO DE BUFFER DE SAÍDA DE REFERÊNCIA DE TENSÃO
VREF +
Módulo Saída VREF
Tensão
Referência
Resultado
Impedância
9Fh VRCON VREN ANTECIPADO VRR — VR3 VR2 VR1 VR0 000- 0000 000- 0000
1Fh CMCON C2OUT C1OUT C2INV C1INV CIS CM2 CM1 CM0 0000 0000 0000 0000
85h TRISA TRISA7 TRISA6 TRISA5 TRISA4 TRISA3 TRISA2 TRISA1 TRISA0 1111 1111 1111 1111
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
12.0 TRANSMISSOR RECEPTOR SÍNCRONO A USART pode ser configurada nos seguintes modos:
pedaço 7 bit 0
Modo assíncrono
Não se importe
Modo síncrono
1 = Modo Master (Relógio gerado internamente do BRG)
0 = modo escravo (relógio de fonte externa)
bocado 6 TX9: bit de habilitação de transmissão de 9 bits
1 = Transmissão habilitada
0 = Transmissão desabilitada
1 = modo síncrono
0 = modo assíncrono
parte 3 Não implementado: Leia como '0'
parte 2 BRGH: Bit de seleção de alta taxa de transmissão
Modo assíncrono
1 = Alta velocidade
0 = Baixa velocidade
Modo síncrono
Não usado neste modo
1 = TSR vazio
0 = TSR cheio
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
CADASTRO 12-2: RCSTA – RECEBER STATUS E CONTROLAR REGISTRO (ENDEREÇO: 18h)
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R-0 R-0 Rx
pedaço 7 bit 0
(Configura os pinos RB1/RX/DT e RB2/TX/CK como pinos de porta serial quando os bits TRISB<2:1> são definidos)
1 = porta serial habilitada
0 = Porta serial desabilitada
bocado 6 RX9: bit de habilitação de recepção de 9 bits
Modo assíncrono:
Não se importe
Modo assíncrono:
1 = Habilita a recepção contínua
0 = Desativa a recepção contínua
Modo síncrono:
1 = Habilita a recepção contínua até que o bit de habilitação CREN seja apagado (CREN substitui SREN)
0 = Desativa a recepção contínua
0 = Desativa a detecção de endereço, todos os bytes são recebidos e o nono bit pode ser usado como bit de paridade
Modo assíncrono de 8 bits (RX9 = 0):
Não usado neste modo
Modo síncrono
Não usado neste modo
1 = Erro de enquadramento (pode ser atualizado lendo o registro RCREG e receber o próximo byte válido)
0 = Sem erro de enquadramento
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
12.1 Gerador de taxa de transmissão EQUAÇÃO 12-1: CÁLCULO DE BAUD
BRGH = 0
Pode ser vantajoso usar a alta taxa de transmissão
SINC = 0 (BRGH = 1) mesmo para clocks de transmissão mais lentos. Isto é
porque a equação FOSC/(16(X + 1)) pode reduzir o
erro de taxa de transmissão em alguns casos.
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
Lenda: x = desconhecido, - = não implementado lido como '0'. As células sombreadas não são usadas para o BRG.
PIC16F627A/628A/648A
TABELA 12-3: TAXAS DE BAUD PARA MODO SÍNCRONO
19.2 19,53 +1,73% 255 19.23 +0,16% 207 19.23 +0,16% 129
PIC16F627A/628A/648A
TABELA 12-4: TAXAS DE BAUD PARA MODO ASSÍNCRONO (BRGH = 0)
ESCURO = 20 MHz SPBRG 16MHz SPBRG 10MHz SPBRG
BAUD
valor valor valor
TAXA (K) ERRO KBAUD ERRO KBAUD
(decimal) (decimal) ERRO KBAUD (decimal)
1.2 1.221 +1,73% 255 1.202 +0,16% 207 1.202 +0,16% 129
PIC16F627A/628A/648A
TABELA 12-5: TAXAS DE BAUD PARA MODO ASSÍNCRONO (BRGH = 1)
ESCURO = 20 MHz SPBRG 16MHz SPBRG 10MHz SPBRG
BAUD
valor valor valor
TAXA (K) ERRO KBAUD ERRO KBAUD
(decimal) (decimal) ERRO KBAUD (decimal)
PIC16F627A/628A/648A
12.2 Modo Assíncrono USART A transmissão é habilitada configurando o bit de habilitação TXEN
(TXSTA<5>). A transmissão real não ocorrerá até que o registrador TXREG
Neste modo, o USART usa o formato padrão sem retorno a zero (NRZ)
tenha sido carregado com dados e o Gerador de Taxa de Transmissão
(um bit de início, oito ou nove bits de dados e um bit de parada). O formato (BRG) tenha produzido um relógio de deslocamento (Figura 12-1). A
de dados mais comum é de 8 bits. Um gerador de taxa de transmissão de 8 transmissão também pode ser iniciada carregando primeiro o registrador
bits dedicado é usado para derivar frequências de taxa de transmissão do TXREG e depois configurando o bit de habilitação TXEN. Normalmente,
oscilador. A USART transmite e recebe primeiro o LSb. O transmissor e o quando a transmissão é iniciada, o registrador TSR está vazio, portanto, uma
receptor da USART são funcionalmente independentes, mas usam o mesmo
transferência para o registrador TXREG resultará em uma transferência
formato de dados e taxa de transmissão. O gerador de taxa de transmissão imediata para o TSR, resultando em um TXREG vazio. Uma transferência
produz um clock x16 ou x64 da taxa de deslocamento de bits, dependendo consecutiva é assim possível (Figura 12-3). Apagar o bit de habilitação TXEN
do bit BRGH (TXSTA<2>). A paridade não é suportada pelo hardware, mas durante uma transmissão fará com que a transmissão seja abortada e
pode ser implementada em software (e armazenada como o nono bit de reinicializará o transmissor. Como resultado, o pino RB2/TX/CK reverterá
dados). O modo assíncrono é interrompido durante a suspensão. para alta impedância.
• Gerador de taxa de transmissão para o registrador TSR (se o TSR estiver vazio). Nesse caso, um nono bit
de dados incorreto pode ser carregado no registrador TSR.
• Circuito de Amostragem
Assíncrono
PIC16F627A/628A/648A
FIGURA 12-1: DIAGRAMA DE BLOCO DE TRANSMISSÃO USART
Barramento de dados
TXIF
Registro TXREG
ESSA
8
MSb LSb
²²²
0 Buffer de
(8)
pinos e controle
registro TSR pino RB2/TX/CK
Interromper
TRMT ESPANHA
SPBRG
TX9
Gerador de taxa de transmissão
TX9D
RB2/TX/CK (pino)
Bit de início bit 0 pedaço 1 pouco 7/8
Parar bit
Palavra 1
Bit TXIF
(sinalizador vazio reg.
buffer de transmissão)
Palavra 1
Bit TRMT
Transmissão Reg.
(Transmit shift reg.
flag vazio)
PIC16F627A/628A/648A
FIGURA 12-3: TRANSMISSÃO ASSÍNCRONA (COSTAS COM COSTAS)
RB2/TX/CK (pino)
Bit de início bit 0 pedaço 1 pouco 7/8 Bit de início bit 0
bit TXIF Parar bit
Palavra 1 Palavra 2
(interromper a bandeira reg.)
Valor ativado
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 todos os outros
POR
Reinicializações
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
19h Registro de Dados de Transmissão TXREG USART 0000 0000 0000 0000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
PIC16F627A/628A/648A
12.2.2 RECEPTOR ASSÍNCRONO USART registrador de buffer duplo (ou seja, é um FIFO de duas
profundidades). É possível que dois bytes de dados sejam
recebidos e transferidos para o RCREG FIFO e um terceiro byte
O diagrama de blocos do receptor é mostrado na Figura 12-4.
comece a se deslocar para o registrador RSR. Na detecção do bit
Os dados são recebidos no pino RB1/RX/DT e acionam o bloco
Stop do terceiro byte, se o registrador RCREG ainda estiver cheio,
de recuperação de dados. O bloco de recuperação de dados é na
então o bit de erro de overrun OERR (RCSTA<1>) será definido.
verdade um shifter de alta velocidade operando a x16 vezes a A palavra no RSR será perdida. O registrador RCREG pode ser
taxa de transmissão, enquanto o shifter serial de recepção principal
lido duas vezes para recuperar os dois bytes no FIFO. O bit de
opera na taxa de bits ou em FOSC. overrun OERR deve ser apagado no software. Isso é feito
Quando o modo Assíncrono é selecionado, a recepção é habilitada redefinindo a lógica de recepção (o CREN é limpo e, em seguida,
configurando o bit CREN (RCSTA<4>). definido). Se o bit OERR estiver definido, as transferências do
O coração do receptor é o Receiver (serial) Shift Register (RSR). registrador RSR para o registrador RCREG são inibidas, portanto,
Após a amostragem do bit de parada, os dados recebidos no RSR é essencial limpar o bit de erro OERR, se estiver ativado.
são transferidos para o registrador RCREG (se estiver vazio). Se O bit de erro de enquadramento FERR (RCSTA<2>) é definido se
um bit de parada for detectado como limpo. O bit FERR e o 9º bit
a transferência estiver completa, o bit de flag RCIF (PIR1<5>) é
definido. A interrupção real pode ser habilitada/desabilitada de recepção são armazenados em buffer da mesma forma que os
configurando/apagando o bit de habilitação RCIE (PIE1<5>). O bit dados de recepção. A leitura do RCREG carregará os bits RX9D
de sinalização RCIF é um bit somente leitura, que é limpo pelo e FERR com novos valores, portanto é essencial que o usuário
hardware. Ele é apagado quando o registrador RCREG foi lido e leia o registro RCSTA antes de ler o registro RCREG para não
perder as informações antigas de FERR e RX9D.
está vazio. O RCREG é um
SPBRG
÷ 64
MSb registro RSR LSb
ou
÷ 16
Gerador de taxa de transmissão Parar (8) 7 ••• 1 0 Iniciar
RB1/RX/DT
Buffer de Dados
pinos e controle RX9
Recuperação
ESPANHA
RX9 Permitir
ADEN Carga de
Receber
RX9
Amortecedor
ADEN
RSR<8> 8
RCIF
Interromper Barramento de dados
RCIE
PIC16F627A/628A/648A
FIGURA 12-5: RECEPÇÃO ASSÍNCRONA COM DETECÇÃO DE ENDEREÇO
Começar Começar
RB1/RX/DT (Pino)
pedaço bit 0 bit 1 bocado 8 Pare pedaço bit 0 bit 8 Parar
pedaço pedaço
Registro de buffer
RCREG
RCIF
(interromper bandeira)
'1' '1'
ADEN = 1
(Correspondência de endereços
Permitir)
Observação: Este diagrama de tempo mostra um byte de dados seguido por um byte de endereço. O byte de dados não é lido no RCREG
(Receive Buffer) porque ADEN = 1 e bit 8 = 0.
Começar Começar
RB1/RX/DT (pino)
pedaço bit 0 bit 1 bocado 8 Pare pedaço bit 0 bit 8 Parar
pedaço pedaço
Registro de buffer
RCREG
RCIF
(Bandeira de interrupção)
'1' '1'
ADEN = 1
(Correspondência de endereços
Permitir)
Observação: Este diagrama de tempo mostra um byte de endereço seguido por um byte de dados. O byte de dados não é lido no RCREG
(buffer de recepção) porque ADEN não foi atualizado (ainda = 1) e bit 8 = 0.
FIGURA 12-7: RECEPÇÃO ASSÍNCRONA COM BYTE DE ENDEREÇO PRIMEIRO SEGUIDO POR
BYTE DE DADOS VÁLIDOS
Começar Começar
RB1/RX/DT (pino)
pedaço bit 0 bit 1 bocado 8 Pare pedaço bit 0 bit 8 Parar
pedaço pedaço
Mudança de RCV
Registro
Registro de buffer
RCREG
RCIF
(Bandeira de interrupção)
ADEN
(Correspondência de endereços
Permitir)
Observação: Este diagrama de tempo mostra um byte de endereço seguido por um byte de dados. O byte de dados é lido no RCREG
(Receive Buffer) porque o ADEN foi atualizado após uma correspondência de endereço e foi limpo para '0', então o conteúdo
do Receive Shift Register (RSR) são lidos no Receive Buffer, independentemente do valor do bit 8.
PIC16F627A/628A/648A
Siga estas etapas ao configurar um Assíncrono
Recepção:
1. TRISB<1> e TRISB<2> devem ser definidos para
'1' para configurar o RB1/RX/DT e RB2/TX/CK
pinos como entradas. Acionamento de saída, quando necessário, é
controlados pelos circuitos periféricos.
2. Inicialize o registro SPBRG para o
taxa de transmissão. Se uma taxa de transmissão de alta velocidade for desejada,
Valor ativado
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 todos os outros
POR
Reinicializações
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
1Ah Registro de Dados de Recebimento RCREG USART 0000 0000 0000 0000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
99h Registro do Gerador de Taxa de Transmissão SPBRG 0000 0000 0000 0000
Legenda: x = desconhecido, - = locais não implementados lidos como '0'. As células sombreadas não são usadas para recepção assíncrona.
PIC16F627A/628A/648A
12.3 Função de Detecção de Endereço USART O bit ADEN só terá efeito quando o receptor estiver configurado no modo
9 bits (RX9 = 1). Quando ADEN está desabilitado (= 0), todos os bytes de
12.3.1 USART RECEPTOR DE 9 BITS COM DETECÇÃO DE dados são recebidos e o 9º bit pode ser usado como bit de paridade.
ENDEREÇO
Quando o bit RX9 é definido no registrador RCSTA, 9 bits são recebidos e O diagrama de blocos de recepção é mostrado na Figura 12-4.
o nono bit é colocado no bit RX9D do registrador RCSTA. O módulo USART A recepção é habilitada configurando o bit CREN (RCSTA<4>).
possui uma provisão especial para comunicação multiprocessador.
A comunicação multiprocessador é habilitada configurando o bit ADEN 12.3.1.1 Configurando o modo de 9 bits com endereço
(RCSTA<3>) junto com o bit RX9. A porta está agora programada de tal Detectar
forma que quando o último bit é recebido, o conteúdo do Receive Shift
Siga estas etapas ao configurar o Assíncrono
Register (RSR) é transferido para o buffer de recepção, o nono bit do RSR
Recepção com Detecção de Endereço Habilitada:
(RSR<8>) é transferido para RX9D, e o interrupção de recepção é definida
se e somente se RSR<8> = 1. Esse recurso pode ser usado em um sistema 1. TRISB<1> e TRISB<2> devem ser configurados para '1' para
Um processador mestre pretende transmitir um bloco de dados para um 2. Inicialize o registrador SPBRG para a taxa de transmissão apropriada.
dos muitos escravos. Ele deve primeiro enviar um byte de endereço que Se desejar uma taxa de transmissão de alta velocidade, defina o
bit BRGH.
identifica o escravo de destino. Um byte de endereço é identificado
definindo o nono bit (RSR<8>) como '1' (em vez de '0' para um byte de 3. Habilite a comunicação assíncrona configurando ou apagando o bit
dados). Se os bits ADEN e RX9 estiverem configurados no registrador SYNC e configurando o bit SPEN.
RCSTA do escravo, habilitando a comunicação multiprocessador, todos os 4. Se as interrupções forem desejadas, defina o bit de habilitação
bytes de dados serão ignorados. Entretanto, se o nono bit recebido for RCIE.
igual a '1', indicando que o byte recebido é um endereço, o escravo será 5. Configure o bit RX9 para habilitar a recepção de 9 bits.
interrompido e o conteúdo do registrador RSR será transferido para o
6. Configure ADEN para habilitar a detecção de endereço.
buffer de recepção. Isso permite que o escravo seja interrompido apenas
7. Habilite a recepção configurando o bit de habilitação CREN ou SREN.
por endereços, para que o escravo possa examinar o byte recebido para
ver se está sendo endereçado. O escravo endereçado então limpará seu
bit ADEN e se preparará para receber bytes de dados do mestre. 8. O bit de sinalização RCIF será definido quando a recepção for
concluída e uma interrupção será gerada se o bit de habilitação
RCIE for definido.
para o registrador RSR, o byte de dados anterior será perdido. CREN se já estiver definido.
Valor ativado
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 todos os outros
POR
Reinicializações
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
1Ah RCREG USART Receber Registro de Dados 0000 0000 0000 0000
8 canais PIE1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
Legenda: x = desconhecido, - = locais não implementados lidos como '0'. As células sombreadas não são usadas para assíncronas
recepção.
PIC16F627A/628A/648A
12.4 Modo Mestre Síncrono Apagar o bit de habilitação TXEN durante uma transmissão fará com
USART que a transmissão seja abortada e reinicializará o transmissor. Os
pinos DT e CK reverterão para alta impedância. Se o bit CREN ou o
No modo Synchronous Master, os dados são transmitidos de forma bit SREN for definido durante uma transmissão, a transmissão é
half-duplex (ou seja, transmissão e recepção não ocorrem ao mesmo abortada e o pino DT reverte para um estado de alta impedância
tempo). Ao transmitir dados, a recepção é inibida e vice-versa. O (para uma recepção).
modo síncrono é inserido configurando o bit SYNC (TXSTA<4>). O pino CK permanecerá como saída se o bit CSRC estiver definido
Além disso, o bit de habilitação SPEN (RCSTA<7>) é definido para (relógio interno). A lógica do transmissor, no entanto, não é redefinida,
configurar os pinos de E/S RB2/TX/CK e RB1/RX/DT para as linhas embora esteja desconectada dos pinos. Para reinicializar o
CK (clock) e DT (dados), respectivamente. O modo Master indica transmissor, o usuário deve limpar o bit TXEN.
que o processador transmite o clock master na linha CK. O modo Se o bit SREN estiver definido (para interromper uma transmissão
Master é inserido configurando o bit CSRC (TXSTA<7>). em andamento e receber uma única palavra), depois que a única
palavra for recebida, o bit SREN será apagado e a porta serial voltará
a transmitir, pois o bit TXEN ainda está definido.
A linha DT mudará imediatamente do modo de recepção de alta
12.4.1 TRANSMISSÃO MESTRA SÍNCRONA USART impedância para transmitir e começar a dirigir. Para evitar isso, o bit
TXEN deve ser apagado.
O diagrama de blocos do transmissor USART é mostrado na Figura Para selecionar a transmissão de 9 bits, o bit TX9 (TXSTA<6>) deve
12-1. O coração do transmissor é o Transmit (serial) Shift Register ser definido e o nono bit deve ser escrito no bit TX9D (TXSTA<0>).
(TSR). O registrador de deslocamento obtém seus dados do O nono bit deve ser escrito antes de escrever os dados de 8 bits no
registrador de buffer de transmissão de leitura/gravação, TXREG. O registrador TXREG. Isso ocorre porque uma gravação de dados no
registrador TXREG é carregado com dados no software. O registrador TXREG pode resultar em uma transferência imediata dos dados para
TSR não é carregado até que o último bit tenha sido transmitido do o registrador TSR (se o TSR estiver vazio). Se o TSR estava vazio e
carregamento anterior. Assim que o último bit é transmitido, o TSR é o TXREG foi escrito antes de escrever o “novo” TX9D, o valor
carregado com novos dados do TXREG (se disponível). Uma vez “presente” do bit TX9D é carregado.
que o registrador TXREG transfere os dados para o registrador TSR
(ocorre em um Tcycle), o TXREG fica vazio e o bit de interrupção,
Siga estas etapas ao configurar um Synchronous
TXIF (PIR1<4>) é definido. A interrupção pode ser habilitada/ Transmissão principal:
desabilitada configurando/apagando o bit de habilitação TXIE
1. TRISB<1> e TRISB<2> devem ser configurados para '1' para
(PIE1<4>). O bit de sinalização TXIF será definido independentemente
do estado do bit de habilitação TXIE e não pode ser apagado no configurar os pinos RB1/RX/DT e RB2/TX/CK como
software. Ele será redefinido somente quando novos dados forem entradas. O acionamento de saída, quando necessário, é
carregados no registro TXREG. Enquanto o bit de flag TXIF indica o controlado pelo circuito periférico.
status do registrador TXREG, outro bit TRMT (TXSTA<1>) mostra o 2. Inicialize o registro SPBRG para a taxa de transmissão
status do registrador TSR. apropriada (Seção 12.1 “Gerador de taxa de transmissão
USART (BRG)”).
TRMT é um bit somente leitura que é definido quando o TSR está 3. Habilite a porta serial mestre síncrona configurando os bits
vazio. Nenhuma lógica de interrupção está vinculada a esse bit, SYNC, SPEN e CSRC.
portanto, o usuário deve pesquisar esse bit para determinar se o
4. Se as interrupções forem desejadas, defina o bit de habilitação
registrador TSR está vazio. O TSR não é mapeado na memória de ESSA.
dados, portanto, não está disponível para o usuário.
5. Se a transmissão de 9 bits for desejada, defina o bit TX9.
A transmissão é habilitada configurando o bit de habilitação TXEN
6. Habilite a transmissão configurando o bit TXEN.
(TXSTA<5>). A transmissão real não ocorrerá até que o registro
7. Se a transmissão de 9 bits for selecionada, o nono bit deve ser
TXREG tenha sido carregado com dados.
carregado no bit TX9D.
O primeiro bit de dados será deslocado na próxima borda de subida
disponível do clock na linha CK. A saída de dados é estável em 8. Inicie cada transmissão carregando dados no registrador
torno da borda descendente do clock síncrono (Figura 12-8). A TXREG.
transmissão também pode ser iniciada carregando primeiro o
registrador TXREG e depois definindo o bit TXEN (Figura 12-9). Isto
é vantajoso quando taxas de transmissão lentas são selecionadas,
pois o BRG é mantido em Reset quando os bits TXEN, CREN e
SREN estão limpos. A configuração do bit de habilitação TXEN
iniciará o BRG, criando um relógio de deslocamento imediatamente.
Normalmente, quando a transmissão é iniciada, o registrador TSR
está vazio, então uma transferência para o registrador TXREG
resultará em uma transferência imediata para o TSR resultando em
um TXREG vazio. Transferências consecutivas são possíveis.
PIC16F627A/628A/648A
TABELA 12-9: REGISTROS ASSOCIADOS À TRANSMISSÃO MESTRA SÍNCRONA
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
19h Registro de Dados de Transmissão TXREG USART 0000 0000 0000 0000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
Legenda: x = desconhecido, - = não implementado, lido como '0'. As células sombreadas não são usadas para transmissão mestre síncrona.
Palavra 1 Palavra 2
pino RB2/TX/CK
Escrever para
TXREG Reg
TRMT
bit TRMT
'1' '1'
bit TXEN
Observação: Modo mestre de sincronização; SPBRG = 0. Transmissão contínua de duas palavras de 8 bits.
pino RB2/TX/CK
Escrever para
TXREG Reg
bit TXIF
bit TRMT
bit TXEN
PIC16F627A/628A/648A
12.4.2 RECEPÇÃO MASTER SÍNCRONA USART Siga estas etapas ao configurar um Synchronous
Recepção Mestre:
1. TRISB<1> e TRISB<2> devem ser definidos para
Uma vez selecionado o modo Síncrono, a recepção é
habilitado configurando o bit de habilitação SREN '1' para configurar o RB1/RX/DT e RB2/TX/CK
(RCSTA<5>) ou habilita o bit CREN (RCSTA<4>). Os dados são pinos como entradas. Acionamento de saída, quando necessário, é
redefinido pelo hardware. Neste caso, é reiniciado quando o 7. Se for necessária uma única recepção, defina o bit SREN.
O registrador RCREG foi lido e está vazio. o Para recepção contínua, defina o bit CREN.
RCREG é um registrador de buffer duplo (ou seja, é um FIFO de duas 8. O bit sinalizador de interrupção RCIF será definido quando a recepção
profundidades). É possível que dois bytes de dados sejam está completo e uma interrupção será gerada se
recebido e transferido para o RCREG FIFO e um habilitar bit RCIE foi definido.
terceiro byte para começar a mudar para o registrador RSR. No 9. Leia o registro RCSTA para obter o nono bit (se
clock do último bit do terceiro byte, se o RCREG habilitado) e determine se ocorreu algum erro
o registrador ainda está cheio, então estouro o bit de erro OERR durante a recepção.
(RCSTA<1>) está definido. A palavra no RSR será perdida.
10. Leia os dados recebidos de 8 bits lendo o
O registrador RCREG pode ser lido duas vezes para recuperar o
registro RCREG.
dois bytes no FIFO. O bit OERR deve ser limpo em
11. Se ocorrer um erro OERR, limpe o erro
software (limpando o bit CREN). Se o bit OERR estiver definido,
bit de limpeza CREN.
transferências do RSR para o RCREG são inibidas, então
é essencial limpar o bit OERR se estiver definido. O 9º
o bit de recebimento é armazenado em buffer da mesma forma que o bit de recebimento
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
1Ah RCREG USART Receber Registro de Dados 0000 0000 0000 0000
8 canais TORTA1 EPIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE -000 0000 -000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
Legenda: x = desconhecido, - = não implementado lido como '0'. As células sombreadas não são usadas para recepção mestre síncrona.
PIC16F627A/628A/648A
FIGURA 12-10: RECEPÇÃO SÍNCRONA (MODO MASTER, SREN)
pino RB1/RX/DT bit 0 pedaço 1 parte 2 parte 3 bocado 4 pedaço 5 bocado 6 pedaço 7
pino RB2/TX/CK
Escrever para
Bit SREN
bit SREN
'0' '0'
bit CREN
bit RCIF
(Interromper)
Ler
RXREG
Observação: O diagrama de temporização demonstra o modo Sync Master com bit SREN = 1 e bit BRG = 0.
12.5 Modo escravo síncrono USART Siga estas etapas ao configurar um Synchronous
Transmissão Escrava:
O modo escravo síncrono difere do modo mestre
1. TRISB<1> e TRISB<2> devem ser definidos para
no fato de que o relógio de mudança é fornecido externamente em
'1' para configurar o RB1/RX/DT e RB2/TX/CK
o pino RB2/TX/CK (em vez de ser fornecido internamente
pinos como entradas. Acionamento de saída, quando necessário, é
no modo Mestre). Isso permite que o dispositivo transfira ou
controlados pelos circuitos periféricos.
receber dados enquanto estiver no modo Sleep. O modo escravo é
inserido limpando o bit CSRC (TXSTA<7>). 2. Habilite a porta serial escrava síncrona
bits de configuração SYNC e SPEN e bit de limpeza
12.5.1 TRANSMISSÃO DE ESCRAVO SÍNCRONO CSRC.
A operação do mestre e escravo síncrono 4. Se as interrupções forem desejadas, defina o bit de habilitação
ESSA.
modos são idênticos, exceto no caso do Sleep
modo. 5. Se a transmissão de 9 bits for desejada, defina o bit TX9.
Se duas palavras forem gravadas no TXREG e, em seguida, o 6. Habilite a transmissão definindo o bit de habilitação
CHEN.
instrução SLEEP for executada, ocorrerá o seguinte:
7. Se a transmissão de 9 bits for selecionada, o nono bit
a) A primeira palavra será imediatamente transferida para o
deve ser carregado no bit TX9D.
TSR registrar e transmitir.
8. Inicie a transmissão carregando dados no TXREG
b) A segunda palavra permanecerá no registrador TXREG. c) O
registro.
bit de sinalização TXIF não será definido. d) Quando a primeira
palavra for deslocada do TSR,
o registrador TXREG irá transferir o segundo
palavra para o TSR e o bit de flag TXIF agora será
definir.
PIC16F627A/628A/648A
12.5.2 RECEPÇÃO SÍNCRONA DE ESCRAVO USART Siga estas etapas ao configurar um Synchronous
Recepção de Escravos:
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
19h Registro de Dados de Transmissão TXREG USART 0000 0000 0000 0000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
Legenda: x = desconhecido, - = não implementado lido como '0'. As células sombreadas não são usadas para transmissão síncrona de escravo.
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
18h RCSTA SPEN RX9 SREN CREN ADEN FERR OERR RX9D 0000 000x 0000 000x
1Ah RCREG USART Receber Registro de Dados 0000 0000 0000 0000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
98h TXSTA CSRC TX9 TXEN SYNC — BRGH TRMT TX9D 0000 -010 0000 -010
Registro do Gerador de Taxa de Baud 99h SPBRG 0000 0000 0000 0000
Legenda: x = desconhecido, - = não implementado lido como '0'. As células sombreadas não são usadas para recepção síncrona de escravos.
PIC16F627A/628A/648A
13.0 MEMÓRIA EEPROM DE DADOS A memória de dados EEPROM permite leitura e escrita de bytes.
Uma escrita de byte apaga automaticamente a localização e
A memória de dados EEPROM é legível e gravável grava os novos dados (apagar antes de gravar). A EEPROM
durante a operação normal ( faixa VDD completa ). Esta memória a memória de dados é classificada para altos ciclos de apagamento/gravação. o
não é mapeado diretamente no espaço do arquivo de registro. Em vez de o tempo de gravação é controlado por um temporizador no chip. A escrita
é endereçada indiretamente através da Função Especial tempo irá variar com a tensão e temperatura, bem como
Registros (SFR). Existem quatro SFRs usados para ler de chip para chip. Consulte as especificações AC para
e escrever esta memória. Esses registros são: limites exatos.
• EECON1
Quando o dispositivo está protegido por código, a CPU pode
• EECON2 (Não é um registro implementado fisicamente) continue a ler e escrever na memória EEPROM de dados. UMA
• EDATA programador do dispositivo não pode mais acessar esta memória.
• EEADR Informações adicionais sobre os dados EEPROM são
EEDATA contém os dados de 8 bits para leitura/gravação e EEADR disponível no PIC® Mid-Range Reference Manual
(DS33023).
contém o endereço da localização da EEPROM que está sendo
acessado. Os dispositivos PIC16F627A/628A têm 128 bytes
de dados EEPROM com uma faixa de endereços de 0h a
7Fh. O dispositivo PIC16F648A possui 256 bytes de dados
EEPROM com faixa de endereços de 0h a FFh.
pedaço 7 bit 0
pouco 7-0 EEDATn: Valor do byte para escrever ou ler da localização da memória EEPROM de dados.
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
pedaço 7 bit 0
pedaço 7 PIC16F627A/628A
Endereço não implementado: deve ser definido como '0'
PIC16F648A
EEADR: definido como '1' especifica os 128 principais locais (128-255) da operação de leitura/gravação de EEPROM
pouco 6-0 EEADR: Especifica um dos 128 locais de operação de leitura/gravação de EEPROM
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
13.1 EEADR 13.2 Registros EECON1 e EECON2
O registrador PIC16F648A EEADR endereça 256 EECON1 é o registrador de controle com quatro bits de baixa ordem
bytes de dados EEPROM. Todos os oito bits do registrador implementado fisicamente. Os quatro bits superiores não existem e são
(EEADR<7:0>) são obrigatórios. lidos como '0's.
pedaço 7 bit 0
1 = inicia um ciclo de gravação. (O bit é apagado pelo hardware assim que a gravação estiver completa. O bit WR só pode ser
definido (não apagado) no software.
0 = Ciclo de gravação nos dados EEPROM está completo
bit 0 RD: bit de controle de leitura
1 = Inicia uma leitura de EEPROM (a leitura leva um ciclo. RD é apagado em hardware. O bit RD só pode ser definido (não
apagado) em software).
0 = Não inicia uma leitura de EEPROM
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = Bit está definido '0' = Bit é apagado x = Bit é desconhecido
PIC16F627A/628A/648A
13.3 Lendo a Memória de Dados Na conclusão do ciclo de escrita, o bit WR é
desmarcado no hardware e o EE Write Complete
EEPROM
O bit de sinalização de interrupção (EEIF) é definido. O usuário pode tanto
Para ler um local de memória de dados, o usuário deve escrever o habilite esta interrupção ou pesquise este bit. O bit EEIF no
endereço para o registrador EEADR e, em seguida, defina o bit de controle Os registros PIR1 devem ser apagados por software.
RD (EECON1<0>). Os dados estão disponíveis, no próprio
próximo ciclo, no registrador EEDATA; portanto pode ser
13.5 Verificação de Gravação
leia na próxima instrução. EEDATA manterá esse valor
até outra leitura ou até que seja escrito pelo usuário Dependendo da aplicação, uma boa programação
(durante uma operação de gravação). prática pode ditar que o valor gravado nos Dados
A EEPROM deve ser verificada (Exemplo 13-3) para o
EXEMPLO 13-1: LEITURA DE EEPROM DE DADOS valor desejado a ser escrito. Isso deve ser usado em
PIC16F627A/628A/648A
13.7 Usando a EEPROM de Dados Uma rotina simples de atualização de EEPROM de dados é mostrada em
Exemplo 13-4.
A EEPROM de dados é uma alta resistência, byte
array endereçável que foi otimizado para o armazenamento Nota: Se a EEPROM de dados for usada apenas para armazenar
de informações que mudam frequentemente (por exemplo, constantes e/ou dados que raramente mudam,
variáveis ou outros dados que são atualizados com frequência). Quando uma atualização de matriz provavelmente não é necessária. Ver
PIC16F627A/628A/648A
13.8 Operação de EEPROM de Dados
Durante o Code-Protect
Legenda: x = desconhecido, u = inalterado, - = não implementado lido como '0', q = valor depende da condição.
As células sombreadas não são usadas pela EEPROM de dados.
Nota 1: EECON2 não é um registrador físico.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
14.0 CARACTERÍSTICAS ESPECIAIS DA CPU 14.1 Bits de Configuração
Os bits de configuração podem ser programados (lidos como '0') ou deixados
não programados (lidos como '1') para selecionar várias configurações do
Circuitos especiais para lidar com as necessidades de aplicações em tempo
dispositivo. Esses bits são mapeados no local de memória do programa 2007h.
real são o que diferencia um microcontrolador de outros processadores. A
família PIC16F627A/628A/648A possui uma série de recursos destinados a
maximizar a confiabilidade do sistema, minimizar o custo através da eliminação O usuário notará que o endereço 2007h está além do espaço de memória do
de componentes externos, fornecer modos de operação de economia de programa do usuário. Na verdade, ele pertence ao espaço de memória de
energia e oferecer proteção de código. configuração especial (2000h-3FFFh), que pode ser acessado apenas durante
a programação. Consulte “Especificação de programação de memória
Estes são: EEPROM PIC16F627A/ 628A/ 648A” (DS41196) para obter informações
adicionais.
1. Seleção OSC
2. Redefinir
7. Interrupções 8.
9. Dormir 10.
externos.
PIC16F627A/628A/648A
REGISTRO 14-1: CONFIG – REGISTRO DE PALAVRAS DE CONFIGURAÇÃO
pedaço 13 bit 0
parte 13: CP: Bit de proteção de código de memória de programa flash (2)
(PIC16F648A)
1 = Proteção de código desligada
0 = 0000h a 0FFFh protegido por código
(PIC16F628A)
1 = Proteção de código desligada
0 = 0000h a 07FFh protegido por código
(PIC16F627A)
1 = Proteção de código desligada
0 = 0000h a 03FFh protegido por código
111 = oscilador RC: função CLKOUT no pino RA6/OSC2/CLKOUT, resistor e capacitor em RA7/OSC1/CLKIN
110 = oscilador RC: função I/O no pino RA6/OSC2/CLKOUT, resistor e capacitor em RA7/OSC1/CLKIN
101 = oscilador INTOSC: função CLKOUT no pino RA6/OSC2/CLKOUT, função I/O em RA7/OSC1/CLKIN
100 = oscilador INTOSC: função I/O no pino RA6/OSC2/CLKOUT, função I/O no pino RA7/OSC1/CLKIN
011 = EC: função I/O no pino RA6/OSC2/CLKOUT, CLKIN em RA7/OSC1/CLKIN
010 = oscilador HS: cristal/ressonador de alta velocidade em RA6/OSC2/CLKOUT e RA7/OSC1/CLKIN
001 = oscilador XT: Cristal/ressonador em RA6/OSC2/CLKOUT e RA7/OSC1/CLKIN
000 = oscilador LP: Cristal de baixa potência em RA6/OSC2/CLKOUT e RA7/OSC1/CLKIN
Nota 1: Habilitar Brown-out Reset não habilita automaticamente o Power-up Timer (PWRT) da mesma forma que nos dispositivos PIC16F627/628.
2: O esquema de proteção de código mudou do esquema de proteção de código usado nos dispositivos PIC16F627/628. o
toda a memória do programa Flash precisa ser apagada em massa para definir o bit CP, desativando a proteção do código. Consulte “Especificação
de programação de memória EEPROM PIC16F627A/ 628A/ 648A” (DS41196) para obter detalhes.
3: Toda a EEPROM de dados precisa ser apagada em massa para definir o bit CPD, desativando a proteção do código. Consulte “PIC16F627A/
Especificação de programação de memória EEPROM 628A/ 648A” (DS41196) para obter detalhes.
4: Quando o MCLR é ativado no modo INTOSC, o oscilador de clock interno é desabilitado.
Lenda:
R = bit legível W = bit gravável U = bit não implementado, lido como '0'
-n = Valor em POR '1' = bit está definido '0' = bit é limpo x = bit é desconhecido
PIC16F627A/628A/648A
14.2 Configurações do oscilador TABELA 14-1: SELEÇÃO DE CAPACITOR PARA
RESSONADORES CERÂMICOS
14.2.1 TIPOS DE OSCILADOR
Modo Frequencia OSC1(C1) OSC2(C2)
O PIC16F627A/628A/648A pode ser operado em oito
XT 455 kHz 22-100 pF 22-100 pF
diferentes opções de oscilador. O usuário pode programar três
2,0 MHz 15-68 pF 15-68 pF
bits de configuração (FOSC2 a FOSC0) para selecionar
4,0 MHz 15-68 pF 15-68 pF
um destes oito modos:
HS 8,0 MHz 10-68 pF 10-68 pF
• LP Cristal de baixa potência
16,0 MHz 10-22 pF 10-22 pF
• XT Cristal/Ressonador
Nota: A capacitância mais alta aumenta a estabilidade
• Cristal/Ressonador de Alta Velocidade HS
do oscilador, mas também aumenta a
• Resistor/Capacitor Externo RC (2 modos) tempo de inicialização. Esses valores são para o projeto
• Oscilador de precisão interna INTOSC (2 modos) apenas orientação. Como cada ressonador tem
• Entrada de Relógio Externo EC suas próprias características, o usuário deve
consulte o fabricante do ressonador para
14.2.2 OSCILADOR DE CRISTAL / CERÂMICA valores apropriados de componentes externos.
RESSONADORES
PIC16F627A/628A/648A
14.2.3 OSCILADOR DE CRISTAL EXTERNO FIGURA 14-3: SÉRIE EXTERNA
O CIRCUITO CRISTAL RESSONANTE
CIRCUITO OSCILADOR
Pode ser usado um oscilador pré-empacotado ou um simples
circuito oscilador com portas TTL pode ser construído.
Os osciladores pré-embalados fornecem uma ampla O outro
alcance e melhor estabilidade. Um cristal bem projetado 330 Kÿ 330 Kÿ Dispositivos
CRISTAL RESSONANTE
14.2.5 RELÓGIO EXTERNO
CIRCUITO OSCILADOR
Para aplicações onde um relógio já está disponível
+5V em outros lugares, os usuários podem dirigir diretamente o PIC16F627A/
O outro
Dispositivos 628A/648A desde que esta fonte de clock externa atenda
10K os requisitos de temporização AC/DC listados na Seção 17.6
4,7 mil 74AS04 PIC16F627A/628A/648A
“Diagramas de temporização e especificações”. Figura 14-4
74AS04 CLKIN abaixo mostra como um circuito de clock externo deve ser
configurado.
C1 C2 Relógio de RA7/OSC1/CLKIN
ramal sistema
PIC16F627A/628A/648A
A Figura 14-3 mostra um circuito oscilador ressonante em série.
Este circuito também é projetado para usar os fundamentos RA6 RA6/OSC2/CLKOUT
frequência do cristal. O inversor realiza uma rotação de 180°
deslocamento de fase em um circuito oscilador ressonante em série. o
Resistores de 330 kÿ fornecem o feedback negativo para polarizar
os inversores em sua região linear.
PIC16F627A/628A/648A
14.2.6 OSCILADOR RC 14.2.8 RECURSO ESPECIAL: DUPLA VELOCIDADE
Para aplicações em que a sincronização precisa não é um requisito, a
MODOS DE OSCILADOR
opção de oscilador RC está disponível. A operação e a funcionalidade do Um modo de oscilador de velocidade dupla programável por software é
oscilador RC dependem de várias variáveis. A frequência do oscilador RC fornecido quando o PIC16F627A/628A/648A é configurado no modo de
é uma função de: oscilador INTOSC. Este recurso permite que os usuários alternem
dinamicamente a velocidade do oscilador entre 4 MHz e 48 kHz nominal
no modo INTOSC. Os aplicativos que exigem economia de energia de
• Tensão de alimentação
baixa corrente, mas não toleram colocar a peça em suspensão, podem
• Valores de resistor (REXT) e capacitor (CEXT) • Temperatura
usar esse modo.
de operação
VDD
PIC16F627A/628A/648A
14.3 Redefinir
O PIC16F627A/628A/648A diferencia entre vários tipos de Reset:
CERTO
RA7/OSC1/ interno
CLKIN
Relógio
a) Power-on Reset (POR) b) MCLR
CEXT Reset durante operação normal c) MCLR Reset durante
VSS Sleep d) WDT Reset (operação normal) e) WDT wake-
up (Sleep) f) Brown-out Reset (BOR)
ESCURO/4
RA6/OSC2/CLKOUT
O PIC16F627A/628A/648A pode ser configurado para fornecer um sinal Um diagrama de blocos simplificado do circuito Reset no chip é mostrado
de clock out programando a Palavra de Configuração. A frequência do na Figura 14-6.
oscilador, dividida por 4, pode ser usada para fins de teste ou para
O caminho MCLR Reset possui um filtro de ruído para detectar e ignorar
sincronizar outras lógicas.
pequenos pulsos. Consulte a Tabela 17-7 para especificação de largura
de pulso.
PIC16F627A/628A/648A
FIGURA 14-6: DIAGRAMA DE BLOCOS SIMPLIFICADO DO CIRCUITO DE REINICIALIZAÇÃO NO CHIP
Externo
Redefinir
WDT WDT
Módulo Tempo esgotado
Redefinir
Aumento de VDD
Detectar
Reinicialização ao ligar
VDD
Apagão
S Q
Redefinir
BOREN
OST/PWRT
OST
Chip_Reset
Contador de ondulação de 10 bits
R Q
OSC1 /
CLKIN
Alfinete
PWRT
No chip(1)
OSC Contador de ondulação de 10 bits
Ativar OST
PIC16F627A/628A/648A
14.4 Power-on Reset (POR), Power-up 14.4.3 TEMPORIZADOR DE INICIALIZAÇÃO DO OSCILADOR
Timer (OST) e Brown-out Reset O OST fornece um atraso de 1024 ciclos do oscilador (da entrada
(BOR) OSC1) após o término do atraso PWRT. A execução do programa
não será iniciada até que o tempo limite do OST seja concluído. Isso
14.4.1 REINICIALIZAÇÃO DE LIGAÇÃO (POR) garante que o oscilador ou ressonador de cristal tenha iniciado e
estabilizado.
O POR on-chip mantém a peça em Reset até que um aumento de
VDD seja detectado (na faixa de 1,2-1,7V). É necessário um tempo O tempo limite OST é invocado apenas para os modos XT, LP e HS
máximo de subida para VDD . Consulte a Seção 17.0 e apenas na reinicialização ao ligar ou no despertar da suspensão.
“Especificações Elétricas” para obter detalhes. Consulte a Tabela 17-7.
VDD
VBOR
ÿ TBOR
interno
72ms
Redefinir
VDD
VBOR
interno <72 ms
72ms
Redefinir
VDD
VBOR
interno
72ms
Redefinir
PIC16F627A/628A/648A
14.4.5 SEQUÊNCIA DE TEMPO LIMITE 14.4.6 STATUS DE CONTROLE DE POTÊNCIA (PCON)
REGISTRO
Ao ligar, a sequência de tempo limite é a seguinte: Primeiro
O tempo limite do PWRT é invocado depois que o POR expira. Então O registrador PCON/Status, PCON (endereço 8Eh), tem
OST está ativado. O tempo total de espera varia de acordo com dois bits.
configuração do oscilador e status do bit PWRTE. Por
Bit 0 é BOR (Reinicialização de Brown-out). BOR é desconhecido em
exemplo, no modo RC com o bit PWRTE definido (PWRT
Reinicialização de inicialização. Em seguida, deve ser definido pelo usuário e
desativado), não haverá tempo limite. Figura 14-8,
verificado nas redefinições subsequentes para ver se BOR = 0
A Figura 14-11 e a Figura 14-12 representam o tempo limite
indicando que ocorreu um blecaute. O BOR
sequências.
O bit de status é um “não me importo” e não é necessariamente
Como os tempos de espera ocorrem a partir do pulso POR, se MCLR previsível se o circuito de brown-out estiver desabilitado (por
for mantido baixo por tempo suficiente, o tempo limite expirará. Então configurando o bit BOREN = 0 na palavra de configuração).
trazer MCLR alto começará a execução imediatamente
Bit 1 é POR (Power-on Reset). É um '0' ao ligar
(veja a Figura 14-11). Isso é útil para fins de teste Redefinido e não afetado de outra forma. O usuário deve escrever um
ou para sincronizar mais de um PIC16F627A/628A/
'1' para este bit após um Power-on Reset. Com um
Dispositivo 648A operando em paralelo.
subsequente Reset se POR for '0', indicará que um
A Tabela 14-6 mostra as condições de reinicialização para alguns Power-on Reset deve ter ocorrido (VDD pode ter
registradores especiais, enquanto a Tabela 14-7 mostra o Reset foi muito baixo).
condições para todos os registros.
PIC16F627A/628A/648A
TABELA 14-5: RESUMO DOS REGISTROS ASSOCIADOS A REINICIALIZAÇÃO DE BROWN-OUT
Valor em todos
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 os outros
POR Reset
Reinicializações(1)
03h, 83h, ESTADO IRP RP1 RPO PARA PD A PARTIR DE DC C 0001 1xxx 000q quuu
103h, 183h
8Eh PCON — — — — OSCF — BOR BOR ---- 1-0x ---- u-uq
Lenda: x = desconhecido, u = inalterado, - = não implementado lido como '0', q = valor depende da condição.
As células sombreadas não são usadas pelo Brown-out Reset.
Nota 1: Outras reinicializações (sem inicialização) incluem reinicialização de MCLR, reinicialização de brown-out e reinicialização do temporizador de watchdog durante a operação normal.
PIC16F627A/628A/648A
TABELA 14-7: CONDIÇÃO DE INICIALIZAÇÃO PARA REGISTRO
Dentro
— xxxx xxxx uuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuu
100h, 180h
TMR0 01h, 101h xxxx xxxx uuuuuuuuuuuuuuuuuuuuuu uuuuuuuuuuuuuuuuuuuuuu
104h, 184h
TRAZ 05h xxxx 0000 xxxx 0000 uuuuuuuuuuuuuuuuuuuuuu
Legenda: u = inalterado, x = desconhecido, - = bit não implementado, lido como '0', q = valor depende da condição.
Nota 1: Se o VDD ficar muito baixo, o Power-on Reset será ativado e os registros serão afetados de forma diferente.
2: Um ou mais bits em INTCON e PIR1 serão afetados (para despertar).
3: Quando o despertar é devido a uma interrupção e o bit GIE está definido, o PC é carregado com o vetor de interrupção (0004h).
4: Consulte a Tabela 14-6 para Redefinir o valor para condição específica.
5: Se Reset foi devido a brown-out, então bit 0 = 0. Todos os outros Resets causarão bit 0 = u.
6: Redefinir para '--00 0000' em um Brown-out Reset (BOR).
7: Periféricos gerando interrupções para despertar do Sleep irão alterar os bits resultantes nos registradores associados.
PIC16F627A/628A/648A
FIGURA 14-8: SEQUÊNCIA DE TEMPO LIMITE NA LIGAÇÃO (MCLR NÃO LIGADO A VDD): CASE
VDD
MCLR
POR interno
TPWRT
Redefinição interna
FIGURA 14-9: SEQUÊNCIA DE TEMPO LIMITE NA LIGAÇÃO (MCLR NÃO LIGADO A VDD): CASO 2
VDD
MCLR
POR interno
TPWRT
Redefinição interna
VDD
MCLR
POR interno
TPWRT
Redefinição interna
PIC16F627A/628A/648A
FIGURA 14-11: LIGAÇÃO EXTERNA FIGURA 14-13: ESCURECIMENTO EXTERNO
Q1
D R MCLR
PIC16F627A/628A/648A
R1 R2
40k
PIC16F627A/628A/648A
MCLR
VDD VDD
33k
10k MCLR
40k PIC16F627A/628A/648A
PIC16F627A/628A/648A
14.5 Interrupções Quando uma interrupção é respondida, o GIE é limpo para desabilitar
qualquer outra interrupção, o endereço de retorno é inserido na pilha e o
O PIC16F627A/628A/648A possui 10 fontes de interrupção:
PC é carregado com 0004h.
Uma vez na rotina de serviço de interrupção, a(s) fonte(s) da interrupção
• Interrupção externa RB0/INT • pode(m) ser determinada pelo polling dos bits de sinalização de interrupção.
Interrupção de estouro de TMR0 • O(s) bit(s) do sinalizador de interrupção deve(m) ser apagado(s) no
software antes de reativar as interrupções para evitar interrupções
Interrupções de alteração de PORTB (pinos RB<7:4>) •
recursivas RB0/INT.
Interrupção do comparador • Interrupção de USART TX •
Para eventos de interrupção externos, como o pino INT ou interrupção de
Interrupção de USART RX • Interrupção de CCP • Interrupção
alteração PORTB, a latência da interrupção será de três ou quatro ciclos
de estouro de TMR1 • Interrupção de correspondência TMR2
de instrução. A latência exata depende de quando o evento de interrupção
• Interrupção de EEPROM de dados ocorre (Figura 14-15).
A latência é a mesma para instruções de um ou dois ciclos.
Uma vez na rotina de serviço de interrupção, a(s) fonte(s) da interrupção
pode(m) ser determinada pelo polling dos bits de sinalização de
interrupção. O(s) bit(s) de sinalização de interrupção deve(m) ser
O registrador de controle de interrupção (INTCON) registra solicitações de apagado(s) no software antes de reativar as interrupções para evitar
interrupção individuais em bits de sinalização. Ele também possui bits de múltiplas solicitações de interrupção.
habilitação de interrupção individual e global.
Nota 1: Os bits de flag de interrupção individuais são definidos
Um bit de habilitação de interrupção global, GIE (INTCON<7>) habilita (se
independentemente do status do bit de máscara
definido) todas as interrupções não mascaradas ou desabilita (se
correspondente ou do bit GIE.
desmarcado) todas as interrupções. Interrupções individuais podem ser
2: Quando uma instrução que limpa o bit GIE é executada,
desabilitadas através de seus bits de habilitação correspondentes no
registrador INTCON. GIE é apagado em Reset. quaisquer interrupções que estavam pendentes para
execução no próximo ciclo são ignoradas. A CPU
A instrução “return-from-interrupt”, RETFIE, sai da rotina de interrupção e
executará um NOP no ciclo imediatamente após a
energiza o bit GIE, que reativa as interrupções RB0/INT.
instrução que limpa o bit GIE. As interrupções que foram
ignoradas ainda estão pendentes para serem atendidas
A interrupção do pino INT, a interrupção de mudança de porta RB e os quando o bit GIE é definido novamente.
sinalizadores de interrupção de estouro TMR0 estão contidos no registro
INTCON.
TMR1IF T0IF
Despertar (se estiver no modo de suspensão)(1)
TMR1IE T0IE
TMR2IF INTF
TMR2IE NÃO
CCP1IF RBIF
CCP1IE RBIE Interrupção para CPU
CMIF
CMIE
ASSIM
TXIF
ESSA
RCIF
RCIE
GIE
EEIF
ISTO
Nota 1: Alguns periféricos dependem do relógio do sistema para operação. Como o relógio do sistema está suspenso durante a
suspensão, apenas os periféricos que não dependem do relógio do sistema despertarão a parte da suspensão. Consulte
a Seção 14.8.1 “Despertar do sono”.
PIC16F627A/628A/648A
14.5.1 INTERRUPÇÃO RB0/INT 14.5.3 INTERRUPÇÃO DA PORTA
A interrupção externa no pino RB0/INT é acionada por borda; Uma alteração de entrada em PORTB <7:4> define o RBIF
aumentando se o bit INTEDG (OPTION<6>) estiver definido, ou (INTCON<0>) bit. A interrupção pode ser habilitada/desabilitada
caindo, se o bit INTEDG estiver limpo. Quando uma aresta válida definindo/limpando o bit RBIE (INTCON<3>). Por
aparece no pino RB0/INT, o bit INTF operação de PORTB (Seção 5.2 “PORTB e TRISB
(INTCON<1>) está definido. Esta interrupção pode ser desabilitada por Registros”).
limpando o bit de controle INTE (INTCON<4>). O INTF
Nota: Se ocorrer uma mudança no pino de E/S
bit deve ser apagado em software no serviço de interrupção
quando a operação de leitura está sendo executada
rotina antes de reativar esta interrupção. O RB0/INT
(começa durante o ciclo Q2 e termina antes
interrupção pode acordar o processador da suspensão, se o
o início do ciclo Q3), então o RBIF
O bit INTE foi definido antes de entrar em suspensão. O Estado de
sinalizador de interrupção pode não ser definido.
o bit GIE decide se o processador
ramifica para o vetor de interrupção após o despertar. Ver
14.5.4 INTERRUPÇÃO DO COMPARADOR
Seção 14.8 “Modo de desligamento (suspensão)” para detalhes
em Sleep, e a Figura 14-17 para o tempo de despertar do Consulte a Seção 10.6 "Interrupções do Comparador" para
Dormir através da interrupção RB0/INT. descrição completa das interrupções do comparador.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
(3)
CLK OUT
(4)
pino INT
(1)
(1) (5)
Sinalizador INTF Interromper latência (2)
(INTCON<1>)
bit GIE
(INTCON<7>)
Fluxo de instruções
Instrução
—
Buscado Inst (PC) Inst (PC + 1) Inst (0004h) Inst (0005h)
Instrução
Inst (PC - 1) Inst (PC) Ciclo fictício Ciclo fictício Inst (0004h)
Executado
PIC16F627A/628A/648A
TABELA 14-8: RESUMO DOS REGISTROS DE INTERRUPÇÃO
Valor em todos
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 os outros
POR Reset
Reinicializações(1)
0Bh, 8Bh, INTCON GIE COMO T0IE NÃO RBIE T0IF INTF RBIF 0000 000x 0000 000u
10Bh, 18Bh
0Ch PIR1 EEIF CMIF RCIF TXIF — CCP1IF TMR2IF TMR1IF 0000 -000 0000 -000
8 canais TORTA1 EEIE CMIE RCIE TXIE — CCP1IE TMR2IE TMR1IE 0000 -000 0000 -000
Nota 1: Outros Resets (sem Power-up) incluem Reset MCLR, Reset Brown-out e Reset do Temporizador Watchdog durante
Operação.
EXEMPLO 14-1: SALVAR O STATUS sem pré-escalador). Os intervalos de tempo variam com
temperatura, VDD e variações de processo de peça para
E W REGISTRA-SE EM
(consulte Especificações DC, Tabela 17-7). Se forem desejados
BATER
períodos de tempo mais longos, um postscaler com uma proporção de divisão
MOVWF W_TEMP ;copia W para registro temporário, ;pode
de até 1:128 pode ser atribuído ao WDT sob
estar em qualquer banco
controle de software escrevendo no registrador OPTION. Desta forma,
SWAPF STATUS,W ;swap status a ser salvo ;no W
períodos de tempo limite de até 2,3 segundos podem ser realizados.
BCF STATUS,RP0 ;muda para banco 0 ;independente As instruções CLRWDT e SLEEP limpam o WDT
da corrente e o postscaler, se atribuído ao WDT, e evitar
;banco que ele atinja o tempo limite e gere uma reinicialização do dispositivo.
MOVWF STATUS_TEMP ;salva status no banco 0
;registro O bit TO no registrador de status será apagado após um
: Tempo limite do Watchdog Timer.
:(ISR)
: 14.7.2 CONSIDERAÇÕES DE PROGRAMAÇÃO
DO WDT
SWAPF STATUS_TEMP,W;trocar registro STATUS_TEMP
Também deve ser levado em conta que, no pior caso,
;para W, define o banco para condições (VDD = Min., Temperatura = Max., max.
original prescaler WDT) pode demorar vários segundos até que um
;Estado O tempo limite do WDT ocorre.
ESTADO DO MOVWF ;mover W para STATUS ;registrar
PIC16F627A/628A/648A
FIGURA 14-16: DIAGRAMA DE BLOCO DE TEMPORIZADOR DE WATCHDOG
0
M
Pós-escalador WDT/
DENTRO
Pré-escalador TMR0
cão de guarda X
Cronômetro
1
8
8 a 1 MUX PS<2:0>
PSA 3
WDT
Ativar bit
O TMR0
(Figura 6-1)
0 1
MUX PSA
WDT
Tempo esgotado
Valor em
Valor ativado
Nome do endereço Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 todos os outros
POR Reset
Reinicializações
2007h CONFIG LVP BOREN MCLRE FOSC2 PWRTE WDTE FOSC1 FOSC0 uuuu uuuu uuuu uuuu
81h, 181h OPÇÃO RBPU INTEDG T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
Legenda: x = desconhecido, u = inalterado, - = não implementado lido como '0', q = valor depende da condição.
Nota: As células sombreadas não são usadas pelo Watchdog Timer.
14.8 Modo de Desligamento (Repouso) Para o menor consumo de corrente neste modo, todas as E/S
os pinos devem estar em VDD ou VSS sem
O modo Power-down é inserido executando um circuito puxando corrente do pino de E/S e do
Instrução de SONO.
comparadores, e VREF deve ser desabilitado. Pinos de E/S
Se habilitado, o Watchdog Timer será apagado, mas que são entradas de alta impedância devem ser puxadas para alto
continua funcionando, o bit PD no registrador de Status é ou baixa externamente para evitar correntes de comutação causadas por
apagado, o bit TO é definido e o driver do oscilador é entradas flutuantes. A entrada T0CKI também deve estar em VDD
desligado. As portas de E/S mantêm o status que tinham, ou VSS para menor consumo de corrente. o
antes de SLEEP ser executado (condução alta, baixa ou alta contribuição de on chip pull-ups no PORTB deve ser
impedância). considerado.
PIC16F627A/628A/648A
14.8.1 DESPERTAR DO SONO Quando a instrução SLEEP está sendo executada, a próxima instrução (PC +
1) é pré-buscada. Para que o dispositivo acorde através de um evento de
O dispositivo pode acordar da suspensão por meio de um dos seguintes
interrupção, o bit de habilitação de interrupção correspondente deve ser
eventos:
definido (habilitado). O despertar é independente do estado do bit GIE. Se o
1. Entrada de reinicialização externa no pino MCLR 2. bit GIE estiver limpo (desabilitado), o dispositivo continua a execução na
Ativação do temporizador Watchdog (se o WDT estiver ativado) instrução após a instrução SLEEP. Se o bit GIE estiver setado (habilitado), o
dispositivo executa a instrução após a instrução SLEEP e então desvia para o
3. Interrupção do pino RB0/INT, mudança de porta RB ou qualquer
interrupção periférica que esteja ativa em Sleep. endereço de interrupção (0004h). Nos casos em que a execução da instrução
após SLEEP não for desejável, o usuário deve ter um NOP após a instrução
O primeiro evento causará um reset do dispositivo. Os dois últimos eventos
SLEEP.
são considerados uma continuação da execução do programa. Os bits TO e
PD no registrador de Status podem ser usados para determinar a causa do
Reset do dispositivo.
Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4
OSC1
CLKOUT(4) TOST(1,2)
pino INT
Sinalizador INTF
(Nota 2)
bit GIE
Processador em
(INTCON<7>)
Dorme
Fluxo de instruções
Instrução
Buscado Inst(PC) = Dormir Inst(PC + 1) Inst(PC + 2) Inst(0004h) Inst(0005h)
Instrução
Executado Inst(PC - 1) Dorme Inst(PC + 1) Ciclo fictício Ciclo fictício Inst(0004h)
4: CLKOUT não está disponível nestes modos de oscilador, mas é mostrado aqui para referência de tempo.
Com o bit Code-Protect apagado (Code-Protect ativado), o conteúdo dos locais Quatro locais de memória (2000h-2003h) são designados como locais de ID
de memória do programa é lido como '0'. Consulte “Especificação de do usuário onde o usuário pode armazenar a soma de verificação ou outros
programação de memória EEPROM PIC16F627A/ 628A/ 648A” números de identificação de código. Esses locais não são acessíveis durante
PIC16F627A/628A/648A
14.11 In-Circuit Serial Programming™ 14.12 Programação de Baixa Tensão
(ICSP™) O bit LVP da Palavra de Configuração, habilita a programação de
Os microcontroladores PIC16F627A/628A/648A podem ser baixa tensão. Este modo permite que o microcontrolador seja
programados em série enquanto estiverem no circuito de aplicação final. programado via ICSP utilizando apenas uma fonte de 5V. Este
Isso é feito simplesmente com duas linhas para clock e dados, e modo elimina a necessidade de colocar VIHH no pino MCLR. O
três outras linhas para alimentação, terra e tensão de programação. bit LVP é normalmente apagado para '1', o que permite a
Isso permite que os clientes fabriquem placas com dispositivos programação de baixa tensão. Neste modo, o pino RB4/PGM é
não programados e depois programem o microcontrolador antes dedicado à função de programação e deixa de ser um pino de E/S
de enviar o produto. Isso também permite que o firmware mais de uso geral. O dispositivo entrará no modo de programação
recente ou o firmware personalizado seja programado. quando um '1' for colocado no pino RB4/PGM. O modo de
programação de alta tensão ainda está disponível colocando VIHH
no pino MCLR.
O dispositivo é colocado no modo Program/Verify mantendo os
pinos RB6 e RB7 baixos enquanto eleva o pino MCLR (VPP) de
VIL para VIHH. Consulte “Especificação de programação de Nota 1: Enquanto estiver neste modo, o pino RB4 não pode
memória EEPROM PIC16F627A/ 628A/ 648A” (DS41196) para mais ser usado como um pino de E/S de uso geral.
obter detalhes. RB6 torna-se o relógio de programação e RB7
torna-se os dados de programação. Ambos RB6 e RB7 são
2: VDD deve ser 5,0V +10% durante as operações de
entradas Schmitt Trigger neste modo.
apagamento.
Ao normal
Conexões
Externo
Conector PIC16F627A/628A/648A
Sinais
+5V VDD
0V VSS
VPP RA5/MCLR/VPP
CLK RB6/PGC
VDD
Ao normal
Conexões
PIC16F627A/628A/648A
14.13 Depurador em Circuito
Como a depuração no circuito requer a perda de clock, dados e
pinos MCLR, o desenvolvimento MPLAB® ICD 2 com um dispositivo
de 18 pinos não é prático. Um dispositivo PIC16F648A-ICD especial
de 28 pinos é usado com o MPLAB ICD 2 para fornecer pinos de
clock, dados e MCLR separados e libera todos os pinos normalmente
disponíveis para o usuário. A depuração de todas as três versões do
PIC16F627A/628A/648A é suportada pelo PIC16F648A-ICD.
Pilha 1 nível
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
15.0 RESUMO DO CONJUNTO DE INSTRUÇÕES O conjunto de instruções é altamente ortogonal e agrupado
em três categorias básicas:
Cada instrução PIC16F627A/628A/648A é uma instrução de 14 bits
• Operações orientadas a bytes
palavra dividida em um OPCODE que especifica o
tipo de instrução e um ou mais operandos que • Operações orientadas a bits
a esse registro.
FIGURA 15-1: FORMATO GERAL PARA
Por exemplo, uma instrução “clrf PORTB” lerá INSTRUÇÕES
PORTB, limpe todos os bits de dados e escreva o resultado
de volta para PORTB. Este exemplo teria o resultado não intencional Operações de registro de arquivo orientadas a byte
13 8 76 0
de que a condição que define o sinalizador RBIF
CÓDIGO DE OPERAÇÃO d f (arquivo #)
seria limpo para pinos configurados como entradas e
usando o recurso de interrupção na mudança do PORTB. d = 0 para destino W
d = 1 para destino f
TABELA 15-1: CAMPO OPCODE f = endereço de registro de arquivo de 7 bits
DESCRIÇÕES
Operações de registro de arquivo orientadas a bits
13 10 9 76 0
Campo Descrição
CÓDIGO DE OPERAÇÃO
b (BIT #) f (arquivo #)
f Endereço do arquivo de registro (0x00 a 0x7F)
Dentro
Registro de trabalho (acumulador) b = endereço de bits de 3 bits
b Endereço de bit dentro de um registro de arquivo de 8 bits f = endereço de registro de arquivo de 7 bits
PIC16F627A/628A/648A
TABELA 15-2: CONJUNTO DE INSTRUÇÕES PIC16F627A/628A/648A
RLF f, Girar para a esquerda f através de Carregar 1 00 1101 dfff dff ffffffff C 1, 2
RRF df, Girar para a direita f através do transporte 1 00 1100 C 1, 2
SUBWF df, Subtraia W de f 1 00 0010 dfff dff ffffffff C,DC,Z 1, 2
SWAPF df, Trocar petiscos em f 1 00 1110 1, 2
XORWF df, d Exclusivo OU W com f 1 00 0110 dfff ffff A PARTIR DE
1, 2
OPERAÇÕES DE REGISTRO DE ARQUIVO ORIENTADO A BIT
Nota 1: Quando um registrador de E/S é modificado em função dele mesmo (por exemplo, MOVF PORTB, 1), o valor utilizado será aquele valor presente nos próprios pinos.
Por exemplo, se a trava de dados for '1' para um pino configurado como entrada e for baixado por um dispositivo externo, os dados serão escritos de volta com
um '0'.
2: Se esta instrução for executada no registrador TMR0 (e, quando aplicável, d = 1), o prescaler será zerado se atribuído ao
Módulo Timer0.
3: Se Program Counter (PC) for modificado ou um teste condicional for verdadeiro, a instrução requer dois ciclos. O segundo ciclo é executado
como NOP.
PIC16F627A/628A/648A
15.2 Descrições das Instruções
ADDW Adicione Literal e W ANDLW E Literal com W
Ciclos: 1 Ciclos: 1
PIC16F627A/628A/648A
Descrição: O bit 'b' no registrador 'f' é apagado. Descrição: Se o bit 'b' no registrador 'f' for '0', a próxima
Palavras: 1 instrução será ignorada.
Se o bit 'b' for '0', então a próxima
Ciclos: 1
instrução buscada durante a execução
Exemplo BCF REG1, 7 da instrução atual é descartada e um
NOP é executado, tornando-a uma instrução
Antes da Instrução
REG1 = 0xC7 de dois ciclos.
Após a Instrução
REG1 = 0x47 Palavras: 1
Ciclos: 1(2)
Operandos: 0 ÿ f ÿ 127 •
0ÿbÿ7
Antes da Instrução
Operação: 1 ÿ (f<b>) PC = endereço AQUI
Após a Instrução
Status Afetado: Nenhum
se REG<1> = 0,
Codificação: 01 01bb melhor amiga ffff
PC = endereço VERDADEIRO
Ciclos: 1
Antes da Instrução
REG1 = 0x0A
Após a Instrução
REG1 = 0x8A
PIC16F627A/628A/648A
Codificação: 10 0kkkkkkkkkkkk
Descrição: Se o bit 'b' no registrador 'f' for '1', a
próxima instrução será ignorada. Descrição: Chamar sub-rotina. Primeiro, o
Se o bit 'b' for '1', então a próxima endereço de retorno (PC + 1) é colocado
instrução buscada durante a execução na pilha. O endereço imediato de onze
da instrução atual é descartada e um bits é carregado nos bits do PC <10:0>.
NOP é executado, tornando-a uma Os bits superiores do PC são carregados
instrução de dois ciclos. do PCLATH. CALL é uma instrução de
dois ciclos.
Palavras: 1
Palavras: 1
Ciclos: 1(2)
Ciclos: 2
Exemplo AQUI BTFSS REG1
FALSO VÁ PARA PROCESS_CODE Exemplo AQUI LIGUE PARA LÁ
VERDADE •
Antes da Instrução
•
• PC = Endereço AQUI
Após a Instrução
Antes da Instrução
PC = Endereço LÁ
PC = endereço AQUI
TOS = Endereço AQUI+1
Após a Instrução
se BANDEIRA<1> = 0,
PC = endereço FALSO
CLRF Limpar f
se BANDEIRA<1> = 1,
PC = endereço VERDADEIRO
Sintaxe: [ label ] CLRF f
Operandos: 0 ÿ f ÿ 127
Status Afetado: Z
Palavras: 1
Ciclos: 1
Antes da Instrução
REG1 = 0x5A
Após a Instrução
REG1 = 0x00
A PARTIR DE =1
PIC16F627A/628A/648A
Descrição: O registrador W é apagado. O bit zero (Z) está Descrição: O conteúdo do registrador 'f' é
definido. complementado. Se 'd' for '0', o
Palavras: 1 resultado será armazenado em W. Se
'd' for '1', o resultado será armazenado
Ciclos: 1
de volta no registrador 'f'.
Exemplo CLRW
Palavras: 1
Antes da Instrução 1
Ciclos:
W = 0x5A
Exemplo COMF REG1, 0
Após a Instrução
W = 0x00 Antes da Instrução
Z=1 REG1 = 0x13
Após a Instrução
REG1 = 0x13
W = 0xEC
CLRWDT
Antes da Instrução
Exemplo
CNT = 0x01
Antes da Instrução Z=0
contador WDT = ? Após a Instrução
Após a Instrução CNT = 0x00
contador WDT = 0x00 Z=1
Pré-escalador WDT = 0
PARA = 1
PD =1
PIC16F627A/628A/648A
Ciclos: 1(2)
Antes da Instrução
computador = endereço AQUI
Após a Instrução
REG1 = REG1 - 1
se REG1 = 0,
PC = endereço CONTINUAR
se REG1 ÿ 0,
PC = endereço AQUI+1
PIC16F627A/628A/648A
Antes da Instrução
PC = endereço AQUI
Após a Instrução
REG1 = REG1 + 1
se CNT = 0,
PC = endereço CONTINUAR
se REG1ÿ 0,
PC = endereço AQUI +1
PIC16F627A/628A/648A
Descrição: O conteúdo do registrador W é OR'ed Descrição: O literal de oito bits 'k' é carregado no
com o literal de oito bits 'k'. O resultado registrador W. O “não se importa” será
é colocado no registrador W. montado como '0's.
Palavras: 1
Palavras: 1
Ciclos: 1
Ciclos: 1
Exemplo MOVLW 0x5A
Exemplo IORLW 0x35
Após a Instrução
Antes da Instrução W = 0x5A
W = 0x9A
Após a Instrução
W = 0xBF
Z=0
PIC16F627A/628A/648A
Operandos: Nenhum
Operandos: Nenhum
Palavras: 1
Ciclos: 2
Exemplo RETFIE
Após interrupção
PC = TOS
GI = 1
PIC16F627A/628A/648A
RETIRAR Retorno com Literal em W RLF Girar para a esquerda f através de Carregar
Palavras: 1 C REGISTRO F
Ciclos: 2
Palavras: 1
Exemplo CALL TABLE;W contém a tabela
;valor de compensação Ciclos: 1
• ;W agora tem valor de tabela
Exemplo RLF REG1, 0
•
• Antes da Instrução
TABELA
ADDWF PC;W = deslocamento REG1=1110 0110
RETLW k1;Iniciar tabela C=0
RETLW k2; Após a Instrução
• REG1=1110 0110
• W = 1100 1100
• C=1
RETLW kn; Fim da mesa
Antes da Instrução
W = 0x07
Após a Instrução
W = valor de k8
Operandos: Nenhum
Operação: TOS ÿ PC
Palavras: 1
Ciclos: 2
Exemplo RETORNA
Após interrupção
PC = TOS
PIC16F627A/628A/648A
Ciclos: 1 W=1
C =?
Exemplo RRF REG1, 0
Após a Instrução
Antes da Instrução
REG1 = 1110 0110 W=1
C=0 C = 1; resultado é positivo
Após a Instrução Antes da Instrução
Exemplo 2:
REG1 = 1110 0110
W=2
W = 0111 0011
C=?
C=0
Após a Instrução
W=0
DORME C = 1; resultado é zero
Palavras: 1
Ciclos: 1
Exemplo: DORME
PIC16F627A/628A/648A
Ciclos: 1 Ciclos: 1
SUBWF REG1, 1 SWAPF REG1, 0
Exemplo 1: Exemplo
Antes da Instrução Antes da Instrução
Operandos: 5ÿfÿ7
Exemplo 2: Antes da Instrução
Operação: (W) ÿ registro TRIS f;
REG1 = 2
Status Afetado: Nenhum
W=2
00 0000 0110 0ff
C =? Codificação:
diretamente.
Exemplo 3: Antes da Instrução Palavras: 1
REG1 = 1 Ciclos: 1
W=2
Exemplo
C =?
Para manter a compatibilidade
Após a Instrução
ascendente com futuros produtos
REG1 = 0xFF PIC® MCU, não use esta instrução.
W=2
C = 0; resultado é negativo
= DC = 0
A PARTIR DE
PIC16F627A/628A/648A
Após a Instrução
REG1 = 0x1A
W = 0xB5
PIC16F627A/628A/648A
16.0 SUPORTE AO DESENVOLVIMENTO 16.1 Software do Ambiente de
Desenvolvimento Integrado MPLAB
Os microcontroladores PIC® e os controladores de sinal digital dsPIC®
são suportados com uma gama completa de ferramentas de O software MPLAB IDE traz uma facilidade de desenvolvimento de
desenvolvimento de software e hardware: software nunca vista no mercado de microcontroladores de 8/16/32 bits.
O MPLAB IDE é um aplicativo baseado no sistema operacional Windows®
• Ambiente de desenvolvimento integrado
- Software MPLAB® IDE • que contém:
- Ligador de Objetos MPLINKTM/ editor completo com contexto codificado por cores
PIC16F627A/628A/648A
16.2 Compiladores MPLAB C para várias famílias 16.5 Vinculador de Objetos MPLINK/
de dispositivos Bibliotecário de Objetos MPLIB
Os sistemas de desenvolvimento de código MPLAB C Compiler são O MPLINK Object Linker combina objetos relocáveis criados pelo MPASM
compiladores ANSI C completos para as famílias de microcontroladores Assembler e pelo MPLAB C18 C Compiler. Ele pode vincular objetos
PIC18, PIC24 e PIC32 da Microchip e as famílias dsPIC30 e dsPIC33 de relocáveis de bibliotecas pré-compiladas, usando diretivas de um script
controladores de sinal digital. Esses compiladores fornecem recursos de vinculador.
integração poderosos, otimização de código superior e facilidade de
Para facilitar a depuração no nível da fonte, os compiladores fornecem 16.6 Montador, Linker e Bibliotecário MPLAB
informações de símbolo que são otimizadas para o depurador MPLAB IDE. para Várias Famílias de Dispositivos
O MPASM Assembler é um montador de macro universal completo para criar um arquivo executável. As características notáveis do montador
MCUs PIC10/12/16/18. incluem:
uso de memória e referência de símbolos, arquivos LST absolutos que Suporte para dados de ponto fixo e ponto flutuante • Interface de
contêm linhas de origem e código de máquina gerado e arquivos COFF linha de comando
para depuração. • Conjunto de diretivas ricas
de origem multiuso
PIC16F627A/628A/648A
16.7 Simulador de Software MPLAB SIM 16.9 Sistema de depuração em circuito
O Simulador de Software MPLAB SIM permite MPLAB ICD 3
desenvolvimento em um ambiente hospedado por PC, simulando os MPLAB ICD 3 In-Circuit Debugger System é o hardware de alta
PIC MCUs e dsPIC® DSCs em uma instrução velocidade mais econômico da Micro chip
nível. Em qualquer instrução, as áreas de dados podem ser depurador/programador para Microchip Flash Digital Signal Controller
examinados ou modificados e os estímulos podem ser aplicados a partir (DSC) e microcontrolador (MCU)
um controlador de estímulo abrangente. Os registros podem ser dispositivos. Ele depura e programa microcontroladores PIC® Flash e
registrados em arquivos para análise posterior em tempo de execução. O traço dsPIC® DSCs com a interface gráfica de usuário poderosa e fácil de
buffer e display do analisador lógico estendem o poder de usar do MPLAB Integrated
o simulador para registrar e rastrear a execução do programa, Ambiente de Desenvolvimento (IDE).
ações em E/S, na maioria dos periféricos e registradores internos.
A sonda MPLAB ICD 3 In-Circuit Debugger é conectada ao PC do
O Simulador de Software MPLAB SIM suporta totalmente engenheiro de projeto usando um
depuração simbólica usando os compiladores MPLAB C, interface USB 2.0 e está conectado ao destino com um
e as Montadoras MPASM e MPLAB. O simulador de software oferece
conector compatível com o MPLAB ICD 2 ou MPLAB
a flexibilidade de desenvolver e Sistemas REAL ICE (RJ-11). O MPLAB ICD 3 suporta todos os
código de depuração fora do ambiente do laboratório de hardware, Cabeçalhos MPLAB ICD 2.
tornando-o um software excelente e econômico
ferramenta de desenvolvimento.
16.10 PICkit 3 In-Circuit Debugger/
16.8 MPLAB REAL ICE In-Circuit Programador e
PICkit 3 Debug Express
Sistema emulador
O MPLAB PICkit 3 permite depuração e programação de
O sistema emulador em circuito MPLAB REAL ICE é
microcontroladores PIC® e dsPIC® Flash em um
O emulador de alta velocidade da próxima geração da Microchip para
ponto de preço mais acessível usando o poderoso gráfico
Dispositivos Microchip Flash DSC e MCU. Ele depura e
interface de usuário do Desenvolvimento Integrado MPLAB
programa PIC® Flash MCUs e dsPIC® Flash DSCs
Ambiente (IDE). O MPLAB PICkit 3 está conectado
com a interface gráfica de usuário poderosa e fácil de usar do
para o PC do engenheiro de design usando um USB de velocidade total
o Ambiente de Desenvolvimento Integrado MPLAB (IDE),
interface e pode ser conectado ao destino através de um
incluído em cada kit.
Conector de depuração de microchip (RJ-11) (compatível com
O emulador está conectado ao PC do engenheiro de design MPLAB ICD 3 e MPLAB REAL ICE). O conector
usando uma interface USB 2.0 de alta velocidade e está conectado usa dois pinos de E/S do dispositivo e a linha de reinicialização para
ao destino com um conector compatível com sistemas de depuração implementar a depuração no circuito e o In-Circuit Serial Pro gramming™.
de circuito (RJ11) ou com o novo sinal diferencial de baixa tensão de
alta velocidade e tolerante a ruído
O PICkit 3 Debug Express inclui o PICkit 3, demo
(LVDS) interligação (CAT5).
placa e microcontrolador, cabos de conexão e CDROM
O emulador pode ser atualizado em campo por meio de firmware futuro com guia do usuário, lições, tutorial, compilador e
downloads no IDE MPLAB. Nos próximos lançamentos de Software MPLAB IDE.
MPLAB IDE, novos dispositivos serão suportados e novos
recursos serão adicionados. MPLAB REAL ICE oferece vantagens
significativas sobre emuladores competitivos, incluindo
baixo custo, emulação de velocidade total, variável de tempo de execução
relógios, análise de traços, pontos de interrupção complexos, uma
interface de sonda robusta e cabos de interconexão longos (até três
metros).
PIC16F627A/628A/648A
16.11 Programador/depurador 16.13 Quadros de Demonstração/
de desenvolvimento PICkit 2 Desenvolvimento, Kits de
e PICkit 2 Debug Express Avaliação e Kits Iniciais
O Programador/Depurador de Desenvolvimento PICkit™ 2 é uma Uma ampla variedade de placas de demonstração,
ferramenta de desenvolvimento de baixo custo com uma interface desenvolvimento e avaliação para vários PIC MCUs e dsPIC
fácil de usar para programação e depuração das famílias de DSCs permite o desenvolvimento rápido de aplicativos em
microcontroladores Flash da Microchip. A interface de sistemas totalmente funcionais. A maioria das placas inclui áreas
programação Windows® com todos os recursos suporta famílias de prototipagem para adicionar circuitos personalizados e fornecer
de linha de base (PIC10F, PIC12F5xx, PIC16F5xx), midrange firmware de aplicativo e código-fonte para exame e modificação.
(PIC12F6xx, PIC16F), PIC18F, PIC24, dsPIC30, dsPIC33 e
As placas suportam uma variedade de recursos, incluindo LEDs,
PIC32 de microcontroladores de 8 bits, 16 bits e 32 bits, e muitos
sensores de temperatura, interruptores, alto-falantes, interfaces
produtos Microchip Serial EEPROM. Com o poderoso Ambiente
RS-232, displays LCD, potenciômetros e memória EEPROM
de Desenvolvimento Integrado (IDE) MPLAB da Microchip, o
adicional.
PICkit™ 2 permite a depuração no circuito na maioria dos
microcontroladores PIC®. In-Circuit-Debugging executa, As placas de demonstração e desenvolvimento podem ser usadas
interrompe e executa etapas únicas do programa enquanto o em ambientes de ensino, para prototipagem de circuitos
microcontrolador PIC está embutido no aplicativo. Quando parado personalizados e para aprender sobre várias aplicações de
em um ponto de interrupção, os registros de arquivo podem ser microcontroladores.
examinados e modificados. Além da série de circuitos da placa de demonstração/
O PICkit 2 Debug Express inclui o PICkit 2, placa de demonstração desenvolvimento PICDEM™ e dsPICDEM™, a Microchip possui
uma linha de kits de avaliação e software de demonstração para
e microcontrolador, cabos de conexão e CDROM com guia do
usuário, lições, tutorial, compilador e software MPLAB IDE. projeto de filtro analógico, ICs de segurança KEELOQ® , CAN,
IrDA®, gerenciamento de bateria PowerSmart, avaliação
SEEVAL® sistema, Sigma-Delta ADC, sensor de vazão e muito
mais.
16.12 Programador de Dispositivo MPLAB PM3
Também estão disponíveis kits iniciais que contêm tudo o que é
O programador de dispositivo MPLAB PM3 é um programador de necessário para experimentar o dispositivo especificado. Isso
dispositivo universal compatível com CE com verificação de geralmente inclui um único aplicativo e capacidade de depuração,
tensão programável em VDDMIN e VDDMAX para máxima tudo em uma placa.
confiabilidade. Possui um grande display LCD (128 x 64) para
Consulte a página web da Microchip (www.microchip.com) para
menus e mensagens de erro e um conjunto de soquete destacável
obter a lista completa de kits de demonstração, desenvolvimento
modular para suportar vários tipos de pacotes. O conjunto de
e avaliação.
cabos ICSP™ está incluído como item padrão. No modo Stand-
Alone, o MPLAB PM3 Device Programmer pode ler, verificar e
programar dispositivos PIC sem uma conexão com o PC. Ele
também pode definir a proteção de código neste modo. O MPLAB
PM3 conecta-se ao PC host através de um cabo RS-232 ou USB.
PIC16F627A/628A/648A
17.0 ESPECIFICAÇÕES ELÉTRICAS
† AVISO: Estresses acima daqueles listados em “Classificações Máximas Absolutas” podem causar danos permanentes ao dispositivo.
Esta é apenas uma classificação de estresse e a operação funcional do dispositivo nessas ou quaisquer outras condições acima das
indicadas nas listas de operação desta especificação não está implícita. A exposição a condições de classificação máxima por longos
períodos pode afetar a confiabilidade do dispositivo.
Observação: Picos de tensão abaixo de VSS no pino MCLR, induzindo correntes maiores que 80 mA, podem causar travamento.
Assim, um resistor em série de 50-100 ÿ deve ser usado ao aplicar um nível “baixo” ao pino MCLR, em vez de puxar esse
pino diretamente para o VSS.
PIC16F627A/628A/648A
FIGURA 17-1: PIC16F627A/628A/648A GRÁFICO DE TENSÃO-FREQUÊNCIA, -40°C ÿ TA ÿ +125°C
6,0
5,5
5,0
4,5
VDD
(VOLTS)
4,0
3,5
3,0
2,5
0 4 10 20 25
FREQUÊNCIA (MHz)
5,5
5,0
4,5
VDD
(VOLTS)
4,0
3,5
3,0
2,5
2,0
0 4 10 20 25
FREQUÊNCIA (MHz)
PIC16F627A/628A/648A
17.1 Características DC: PIC16F627A/628A/648A (Industrial, Estendido)
PIC16LF627A/628A/648A (Industrial)
PIC16LF627A/628A/648A Condições Operacionais Padrão (salvo indicação em contrário)
(Industrial) Temperatura de operação -40°C ÿ Ta ÿ +85°C para indústria
Parâmetro
Característica/Dispositivo Sym Mín. Modelo† Unidades máximas Condições
Não.
D003 VPOR VDD Tensão Inicial — VSS — V Consulte a Seção 14.4 “Energia
para garantir Power-on Reset em Reset (POR), Power-up
Temporizador (PWRT), oscilador
Temporizador de inicialização (OST) e
Reinicialização de Brown-out
D004 Taxa de Aumento SVDD VDD 0,05* — — V/ms Consulte a Seção 14.4 “Energia
para garantir Power-on Reset em Reset (POR), Power-up
Temporizador (PWRT), oscilador
Temporizador de inicialização (OST) e
Reinicialização de Brown-out (BOR)”
em Power-on Reset para
detalhes
Legenda: As linhas apenas com dados do dispositivo de tensão padrão são sombreadas para melhorar a legibilidade.
*
Esses parâmetros são caracterizados mas não testados.
† Os dados na coluna “Typ” estão a 5,0 V, 25°C, salvo indicação em contrário. Esses parâmetros são para orientação de projeto
apenas e não são testados.
Nota 1: Este é o limite para o qual o VDD pode ser reduzido no modo Sleep sem perder dados de RAM.
PIC16F627A/628A/648A
17.2 Características DC: PIC16F627A/628A/648A (Industrial)
PIC16LF627A/628A/648A (Industrial)
Condições
Parâmetro Dispositivo LF e F
Unidades Mín.† Tipo Máx.
Não. Características VDD Observação
— 44 68 5,0
LF — 34 55 2.0 Corrente VREF
D024 LF/F — 50 75 3,0
— 80 110 ÿA 2,0 5,0
LF - 1,2 ÿA 2,2 ÿA 2,9 2.0 T1OSC Corrente
D025 LF/F - 1,3 ÿA 3,0
- 1,8 5,0
Nota 1: A corrente “ÿ” é a corrente adicional consumida quando este periférico é habilitado. Esta corrente deve ser
adicionada à medição de base IDD ou IPD . Os valores máximos devem ser usados ao calcular o consumo
total de corrente.
PIC16F627A/628A/648A
17.3 Características DC: PIC16F627A/628A/648A (Estendido)
CARACTERÍSTICAS DC
Condições Operacionais Padrão (salvo indicação em contrário)
Temperatura de operação -40°C ÿ Ta ÿ +125°C para prolongado
Condições
Parâmetro
Não.
Características do dispositivo Mín.† Tipo Máx. Unidades
VDD Observação
—
MHz
D012E
— 0,710 1,1 mA 5,0 XT Modo Oscilador
—
— 565 785 ÿA 3,0 FOSC = 4 MHz
D012AE
— 0,895 1,3 mA 5,0 INTOSC
— — 2,5 2,9 mA 4,5 FOSC = 20 MHz
D013E
— 2,75 3,5 mA 5,0 HS Modo oscilador
Nota 1: A corrente “ÿ” é a corrente adicional consumida quando este periférico é habilitado. Esta corrente deve ser
adicionada à medição de base IDD ou IPD . Os valores máximos devem ser usados ao calcular o consumo
total de corrente.
PIC16F627A/628A/648A
17.4 Características DC: PIC16F627A/628A/648A (Industrial, Estendido)
PIC16LF627A/628A/648A (Industrial)
Param.
Sim Característica/Dispositivo Mín. Tipo† Unidade máxima Condições
Não.
Portas de
D030 E/S com buffer TTL VSS — 0,8 DENTRO VDD = 4,5V a 5,5V caso
VSS — 0,15 VDD DENTRO contrário
D031 VSS — 0,2 VDD
com entrada Schmitt Trigger(4) DENTRO
VSS — 0,6
OSC1 (em LP e XT) DENTRO
Portas de
D040 E/S com buffer TTL 2,0 V — VDD DENTRO VDD = 4,5V a 5,5V caso
.25 VDD + 0,8 V 0,8 — VDD DENTRO contrário
D041 VDD 0,8 VDD — VDD
com entrada Schmitt Trigger(4) DENTRO
D043A — VDD
OSC1 (no modo RC) DENTRO
(Nota 1)
D043B OSC1 (no modo HS) VDD DENTRO
D070 Corrente de pull-up fraca IPURB PORTB 50 200 400 ÿA VDD = 5,0 V, VPIN = VSS
D090 — —
Portas de E/S (Exceto RA4(4) )VDD – 0,7 DENTRO
IOH = -3,0 mA, VDD = 4,5 V, -40° a +85°C IOH = -2,5 mA,
VDD - 0,7 — — DENTRO
VDD = 4,5 V, +85° a +125°C
D150 — — 8,5*
Alta Tensão de Dreno Aberto VOD V RA4 pino PIC16F627A/628A/648A,
PIC16LF627A/628A/648A
D100* COSC2 — — 15
pino OSC2 pF Nos modos XT, HS e LP, quando o relógio externo é
usado para acionar o OSC1.
D101* CIO — — 50
Todos os pinos de E/S/OSC2 (no modo RC) pF
*
Esses parâmetros são caracterizados mas não testados.
† Os dados na coluna “Typ” estão em 5,0V, 25°C, salvo indicação em contrário. Esses parâmetros são apenas para orientação do projeto e não são testados.
Nota 1: Na configuração do oscilador RC, o pino OSC1 é uma entrada Schmitt Trigger. Não é recomendado que o PIC16F627A/628A/648A
ser acionado com clock externo em modo RC.
2: A corrente de fuga no pino MCLR é fortemente dependente do nível de tensão aplicado. Os níveis especificados representam condições normais de operação. A corrente de
fuga mais alta pode ser medida em diferentes tensões de entrada.
3: A corrente negativa é definida como saindo do pino.
4: Inclui OSC1 e OSC2 quando configurados como pinos de E/S, CLKIN ou CLKOUT.
PIC16F627A/628A/648A
TABELA 17-1: Características DC: PIC16F627A/628A/648A (Industrial, Estendido)
PIC16LF627A/628A/648A (Industrial)
Condições Operacionais Padrão (salvo indicação em contrário)
Temperatura de operação -40°C ÿ TA ÿ +85°C para uso industrial e
CARACTERÍSTICAS DC -40°C ÿ TA ÿ +125°C para prolongado
Nº do parâmetro
Sim Característica Mín. Modelo† Unidades máximas Condições
† Os dados na coluna “Typ” estão em 5,0V, 25°C, salvo indicação em contrário. Esses parâmetros são apenas para orientação do projeto e não são testados.
Nota 1: Consulte a Seção 13.7 “Usando a EEPROM de dados” para uma discussão mais detalhada sobre a EEPROM de dados
resistência.
PIC16F627A/628A/648A
TABELA 17-2: ESPECIFICAÇÕES DO COMPARADOR
Condições de operação: 2,0 V < VDD < 5,5 V , -40°C < TA < +125°C, salvo indicação em contrário.
Parâmetro
Características Sym Min Modelo Máx. Unidades Comentários
Não.
Nota 1: Tempo de resposta medido com uma entrada do comparador em (VDD – 1,5)/2, enquanto a outra entrada transita de
VSS para VDD.
Condições de operação: 2,0 V < VDD < 5,5 V , -40°C < TA < +125°C, salvo indicação em contrário.
Especificação
Características Sim Mín. Tipo Máx. de Unidades Comentários
Não.
Nota 1: Tempo de acomodação medido enquanto VRR = 1 e VR<3:0> transita de '0000' para '1111'.
2: Quando VDD está entre 2,0V e 3,0V, os níveis de tensão de saída VREF em RA2 descritos pelo
equação: [VDD/2 ± (3 – VDD)/2] pode fazer com que a Precisão Absoluta (VRAA) do sinal de saída VREF em RA2 seja maior
do que o valor máx.
PIC16F627A/628A/648A
17.5 Simbologia do Parâmetro de Temporização
Os símbolos dos parâmetros de tempo foram criados com um dos seguintes formatos:
1. TppS2ppS
2. TppS
T
F Frequência T Tempo
pp
k CLK OUT osc OSC1
mc MCLR
F Cair P Período
H Alto R Subir
EU
eu Baixo A PARTIR DE
Alta Impedância
VDD/2
RL
CL CL
Alfinete Alfinete
VSS VSS
RL = 464ÿ
PIC16F627A/628A/648A
17.6 Diagramas e Especificações de Temporização
Q4 Q1 Q2 Q3 Q4 Q1
OSC1
1 33
4 4
2
CLK OUT
Nº do
Sim Característica Tipo mín.† Unidades máximas Condições
parâmetro
PIC16F627A/628A/648A
TABELA 17-5: PARÂMETROS DO OSCILADOR INTERNO DE PRECISÃO
Nº do
Sim Característica Mín. Tipo Máx. de Unidades Condições
parâmetro
Q4 Q1 Q2 Q3
OSC1
11
10
22
CLK OUT 23
13 12
19 18
14 16
Pino de E/S
(entrada)
17 15
Pino de E/S
Valor antigo Novo valor
(resultado)
20, 21
PIC16F627A/628A/648A
TABELA 17-6: REQUISITOS DE TEMPORIZAÇÃO DE CLKOUT E E/S
Nº do
Característica Sim Mín. Typ† Max Units
parâmetro
VDD
MCLR
30
interno
POR
33
PWRT
Tempo esgotado
32
OST
Tempo esgotado
interno
Redefinir
cão de guarda
Cronômetro
Redefinir
31
34 34
Pinos de E/S
PIC16F627A/628A/648A
FIGURA 17-7: TEMPO DE REINICIALIZAÇÃO DO BROWNOUT
VDD VBOR
35
Parâmetro
Sim Característica Mín. Modelo† Unidades máximas Condições
Não.
30 Largura de pulso TMCL MCLR (baixa) 2000 — — ns VDD = 5V, -40°C a +85°C
31 Período de tempo limite do temporizador do watchdog TWDT 7* 18 33* ms VDD = 5V, -40°C a +85°C
(Sem pré-escalador)
32 Período do temporizador de inicialização de oscilação TOST — 1024 TOSC — —TOSC = período OSC1
33 Período do temporizador de inicialização do TPWRT 28* 72 132* ms VDD = 5V, -40°C a +85°C
† Os dados na coluna “Typ” estão em 5,0V, 25°C, salvo indicação em contrário. Esses parâmetros são apenas para orientação do projeto e são
não testado.
RA4/T0CKI/CMP2
40 41
42
RB6/T1OSO/T1CKI/PGC
45 46
47 48
TMR0 OU
TMR1
PIC16F627A/628A/648A
TABELA 17-8: REQUISITOS DE RELÓGIO EXTERNO DE TIMER0 E TIMER1
Param
Sim Característica Mín. Typ† Condições de Unidades Máximas
No.
20 ou TCY + 40*
N
PIC16F627A/628A/648A
FIGURA 17-9: CAPTURAR/COMPARAR/HORÁRIOS PWM
RB3/CCP1
(MODO DE CAPTURA)
50 51
52
RB3/CCP1
53 54
Param
Sim Característica Mín. Typ† Condições de Unidades Máximas
No.
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
18.0 GRÁFICOS E TABELAS DE CARACTERÍSTICAS DC E AC
Os gráficos e tabelas fornecidos nesta seção são para orientação de projeto e não são testados.
Em alguns gráficos ou tabelas, os dados apresentados estão fora da faixa de operação especificada (ou seja, fora do VDD especificado
variar). Isto é apenas para informação e os dispositivos são garantidos para operar corretamente apenas dentro do intervalo especificado.
Os dados apresentados nesta seção são um resumo estatístico dos dados coletados em unidades de diferentes lotes durante um período
de amostras de tempo e matriz. 'Típico' representa a média da distribuição a 25°C. 'Max' ou 'Min' representa
(média + 3ÿ) ou (média - 3ÿ), respectivamente, onde ÿ é o desvio padrão, em toda a faixa de temperatura.
FIGURA 18-1: LINHA DE BASE TÍPICA IPD vs. VDD (-40°C A 25°C)
160
140
120
100
I(nA)
PD
80
60
-40°C 0°C
40
+25°C
20
0
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
PIC16F627A/628A/648A
FIGURA 18-2: LINHA DE BASE TÍPICA IPD vs. VDD (85°C)
300
280
260
240
220
200
I(nA)
PD
+85°C
180
160
140
120
100
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
FIGURA 18-3: CORRENTE DE LINHA DE BASE TÍPICA IPD vs. VDD (125°C)
2.4
2.2
2,0
1,8
( µA)
IPD
+125°C
1,6
1,4
1.2
1,0
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
PIC16F627A/628A/648A
FIGURA 18-4: BOR TÍPICO IPD vs. VDD
40
38
36
34
32 125°C
µA)
85°C
30 25°C
DPI
(
0°C
28 -40°C
26
24
22
20
4,5 4.6 4.7 4,8 4.9 5,0 5.1 5.2 5.3 5.4 5,5
VDD (Volts)
30
25
20
125°C
85°C
15 25°C
( µA)
IPD
0°C
-40°C
10
0
2 2,5 3 3,5 4 4,5 5 5,5
VDD (Volts)
PIC16F627A/628A/648A
FIGURA 18-6: TÍPICO VREF IPD vs. VDD
100
90
80
70
125°C
85°C
60 25°C
( µA)
IPD
0°C
-40°C
50
40
30
20
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
16
14
12
10
125°C
85°C
( µA)
IPD 8 25°C
0°C
-40°C
6
0
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
PIC16F627A/628A/648A
FIGURA 18-8: AVERAGE IPD_TIMER1
(uA)
IPD
3 -40C
0C
25C
85C
125
0
2 2,5 3 3,5 4 4,5 5 5,5
VDD (V)
FIGURA 18-9: FREQUÊNCIA TÍPICA DO OSCILADOR INTERNO vs. TEMPERATURA VDD = 5 VOLTS
5,0%
4,0%
3,0%
2,0%
1,0%
0,0%
-1,0%
calibração
Mudança
alvo
(%)
de
do
-2,0%
-3,0%
-4,0%
-5,0%
-40 25 85 125
Temperatura (ºC)
PIC16F627A/628A/648A
FIGURA 18-10: FREQUÊNCIA TÍPICA DO OSCILADOR INTERNO vs. TEMPERATURA VDD = 3 VOLTS
5,0%
4,0%
3,0%
2,0%
1,0%
calibração
Mudança
alvo
(%)
de
do
0,0%
-1,0%
-2,0%
-3,0%
-4,0%
-5,0%
-40 25 85 125
Temperatura (ºC)
FIGURA 18-11: FREQUÊNCIA TÍPICA DO OSCILADOR INTERNO vs. TEMPERATURA VDD = 2 VOLTS
5,0%
4,0%
3,0%
2,0%
1,0%
calibração
Mudança
alvo
(%)
de
do
0,0%
-1,0%
-2,0%
-3,0%
-4,0%
-5,0%
-40 25 85 125
Temperatura (ºC)
PIC16F627A/628A/648A
FIGURA 18-12: DESVIO TÍPICO DO OSCILADOR INTERNO vs. VDD A 25°C - MODO DE 4 MHz
5,0%
4,0%
3,0%
2,0%
1,0%
0,0%
calibração
Mudança
alvo
(%)
de
do
-1,0%
-2,0%
-3,0%
-4,0%
-5,0%
2 2,5 3 3,5 4 4,5 5 5,5
VDD (V)
FIGURA 18-13: FREQUÊNCIA TÍPICA DO OSCILADOR INTERNO vs. TEMPERATURA VDD = -40°C A 85°C
5,0%
4,0%
3,0%
2,0%
1,0%
calibração
Mudança
alvo
(%)
de
do
0,0%
-1,0%
-2,0%
-3,0%
-4,0%
-5,0%
2 2,5 3 3,5 4 4,5 5 5,5
VDD (V)
PIC16F627A/628A/648A
FIGURA 18-14: OSCILADOR INTERNO IDD vs. VDD - MODO DE 4 MHz
85 C 25 C Média -40ºC
1,40
1,20
1,00
I(mA)
DD 0,80
0,60
0,40
0,20
0,00
2 2,5 3 3,5 4 4,5 5 5,5
VDD (V)
FIGURA 18-15: FREQUÊNCIA TÍPICA DO OSCILADOR INTERNO vs. VDD A 25°C - MODO LENTO
60
55
50
45
Frequência
oscilador
(kHz)
do
40
35
30
2 2,5 3 3,5 4 4,5 5 5,5
VDD (V)
PIC16F627A/628A/648A
FIGURA 18-16: OSCILADOR INTERNO IDD vs. VDD – MODO LENTO
85°C Média de 25 C -40ºC
180
160
140
120
100
( µA)
IPD
80
60
40
20
0
2 2,5 3 3,5 4 4,5 5 5,5
VDD (V)
FIGURA 18-17: CORRENTE DE FORNECIMENTO (IDD vs. VDD, FOSC = 1 MHz (MODO OSCILADOR XT)
500
450
400
350
125°C
µA)
85°C
300
25°C
DPI
(
0°C
250 -40°C
200
150
100
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
PIC16F627A/628A/648A
FIGURA 18-18: CORRENTE DE FORNECIMENTO (IDD vs. VDD, FOSC = 4 MHz (MODO OSCILADOR XT)
1000
900
800
700
125°C
µA)
85°C
600 25°C
DPI
(
0°C
-40°C
500
400
300
200
2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5
VDD (Volts)
FIGURA 18-19: CORRENTE DE SUPRIMENTO (IDD) vs. VDD, FOSC = 20 MHz (MODO OSCILADOR HS)
4,0
3,5
125°C
85°C
I(mA)
DD 3,0 25°C
0°C
-40°C
2,5
2,0
4,5 4.6 4.7 4,8 4.9 5,0 5.1 5.2 5.3 5.4 5,5
VDD (Volts)
PIC16F627A/628A/648A
FIGURA 18-20: PERÍODO TÍPICO DE WDT vs. VDD (-40°C A +125°C)
50
45
40
35 -40
30 0
25 25
Tempo
(mS)
20 85
15 125
10
5
0
2 2,5 3 3,5 4 4,5 5 5,5
VDD(V)
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
19.0 INFORMAÇÕES DA EMBALAGEM
XXXXXXXXXXXXXXX PIC16F627A
XXXXXXXXXXXXXXX -I/P e3
YYWNNNN 0410017
XXXXXXXXXXXX PIC16F628A
XXXXXXXXXXXX -E/SO e3
XXXXXXXXXXXX
0410017
YYWNNNN
XXXXXXXXX PIC16F648A
XXXXXXXXX -I/SS e3
YYWNNNN 0410017
XXXXXXXX 16F628A
XXXXXXXX -I/ML e3
YYWNNNN 0410017
Nota: Caso o número de peça do Microchip completo não possa ser marcado em uma linha,
ele será transferido para a próxima linha, limitando assim o número de caracteres
disponíveis para informações específicas do cliente.
PIC16F627A/628A/648A
NOTA 1
E1
1 23
UMA A2
eu c
A1
b1
b e eB
6 e! 7,8.
'! 9'&! 7 7: ;
7"')% ! 7 <
& 1,
= =
& &
## 4 4!! -
1! & &
= =
*, 1
PIC16F627A/628A/648A
3 & ' !& "&&255*** & 4#* !( '54 !! & 4 % & &#&
'
E1
NOTA 1
123
e
b
uma
h
h
c
Phi
UMA
A2
b
A1 eu
L1
6 e! 99 . .
'! 9'&! 7 7: ;
7"')% ! 7 <
& 1,
: 8& = =
?
## 4 4!! = =
& # %% + =
-
: > #& . - 1,
## 4 > #& . 1,
: 9& 1,
, '% @ & UMA
=
3e9e 9 =
3& & 9 .3
B
3& =
<B
9# 4!! =
--
9# > #& ) - =
B B
# %& =
B B
# %& 1 && ' =
*, 1
PIC16F627A/628A/648A
PIC16F627A/628A/648A
3 & ' !& "& &&255*** ' 4#* !( '54 !!& 4 %& &#&
E1
NOTA 1
12
e
c
UMA
A2
Phi
A1
L1 eu
6 e! 99 . .
'! 9'&! 7 7: ;
7"')% ! 7
& ? 1,
: 8& = =
## 4 4!! ? <
& # %% = =
B B
3& <B
9# > #& ) =
-<
!" # $ % &"' (
)"& '"!& ) &#*& & &#
'! ! #. # & "# ' # % ! &"! ! #%! &"! ! ! & $#''! #
- '! #& .0
1,2 1! '! 0,32% & $& " ! * * & "& & !
'! (
"!" * & "& & (
% %'& " !!
*, 1
PIC16F627A/628A/648A
) - . 3 *&''( $ , / 0 121 -.
/*
3 & ' !& "& &&255*** ' 4#* !( '54 !!& 4 %& &#&
D D2
EXPOR
ALMOFADA
b
E2
2 2
1
1 K
N N
NOTA 1 eu
UMA
A3 A1
6 e! 99 . .
'! 9'&! 7 7: ;
7"')% ! 7 <
& ? 1,
: 8& <
& # %%
,& & 4!! - .3
: > #& . ? 1,
.$! # # > #& . -? -
: 9 & ? 1,
.$! # # 9 & -? -
,& & > #& ) - - -
,& &9 & 9
,& & & .$! ## C = =
!" # $ % &"' (
)"& '"!& ) &#*& & &#
4 ! ! *! " & #
- '! #& .0
1,2 1! '! 0,32% & $& " ! * * & "& & !
'! (
"!" * & "& & (
% %'& " !!
*, 1
PIC16F627A/628A/648A
) -. $ , / 0 121 -.
3 *&'' ( /*
3 & ' !& "& &&255*** ' 4#* !( '54 !!& 4 %& &#&
PIC16F627A/628A/648A
NOTAS:
PIC16F627A/628A/648A
APÊNDICE A: FOLHA DE DADOS APÊNDICE B: DISPOSITIVO
HISTÓRICO DE REVISÃO DIFERENÇAS
As diferenças entre os dispositivos PIC16F627A/628A/648A listados
Revisão A
nesta folha de dados são mostradas na Tabela B-1.
Esta é uma nova folha de dados.
TABELA B-1: DIFERENÇAS DO DISPOSITIVO
Revisão B
Memória
Diagrama de pinos QFN de 28 pinos
Dispositivo
revisado Figura 5-4 Diagrama de bloco Instantâneo BATER EEPROM
Revisado Registro 7-1 TMR1ON Revisado Programa Dados Dados
Exemplo 13-4 Dados Atualizar EEPROM Rotina Revisada Conjunto PIC16F627A 1024 x 14 224 x 8 128 x 8
de instruções SUBWF, Exemplo 1 Revisado DC Características 17-2
e 17-3 Tabelas revisadas 17- 4 e 17-6 Tabela corrigida e numeração PIC16F628A 2048 x 14 224 x 8 128 x 8
da Figura na Seção 17.0 PIC16F648A 4096 x 14 256 x 8 256 x 8
Revisão C
Revisões gerais por toda parte. Revisões da Seção 14.0 – Recursos
Especiais da CPU. Seção 18, gráficos modificados.
Revisão D
Revise o Exemplo 13-2, Gravação de Dados na
EEPROM Revise as Seções 17.2, Param No. D020 e 17.3, Param
No. D020E Revise os gráficos da Seção 18.0
Revisão E
Seção 19.0 Informações de embalagem: Desenhos de embalagem
substituídos e nota adicionada.
Revisão F (03/2007)
Desenhos de Pacotes Substituídos (Rev. AM); Substituída a Seção
de Suporte ao Desenvolvimento; Sistema de identificação do produto
revisado.
Revisão G (10/2009)
Pacote QFN de 28 derivações corrigido na Seção 19.1.
PIC16F627A/628A/648A
APÊNDICE C: MIGRAÇÕES DE DISPOSITIVOS APÊNDICE D: MIGRAÇÃO DE
OUTRAS FOTOS®
Esta seção descreve as diferenças de especificações funcionais e
DISPOSITIVOS
elétricas ao migrar entre dispositivos funcionalmente semelhantes.
(como de um PIC16F627 para um PIC16F627A).
Isso discute alguns dos problemas na migração de outros dispositivos
PIC MCU para a família de dispositivos PIC16F627A/628A/648A.
PIC16F627A/628A/648A
O SITE DO MICROCHIP SUPORTE AO CLIENTE
A Microchip fornece suporte online através do nosso site WWW em Os usuários de produtos Microchip podem receber assistência
www.microchip.com. Este site é usado como um meio através de vários canais:
para tornar arquivos e informações facilmente disponíveis para
• Distribuidor ou Representante
clientes. Acessível usando sua Internet favorita
• Escritório de vendas local
navegador, o site contém o seguinte
em formação: • Engenheiro de Aplicação de Campo (FAE)
• Suporte técnico
• Suporte ao Produto - Folhas de dados e erratas,
notas de aplicativos e programas de amostra, recursos de • Linha de Informação de Sistemas de Desenvolvimento
design, guias do usuário e documentos de suporte de Os clientes devem entrar em contato com seu distribuidor,
hardware, versões de software mais recentes e software representante ou engenheiro de aplicação de campo (FAE) para
arquivado Apoio, suporte. Os escritórios de vendas locais também estão disponíveis para ajudar
• Suporte Técnico Geral - Perguntas Frequentes clientes. Uma lista de escritórios de vendas e locais é
Perguntas (FAQ), solicitações de suporte técnico, grupos incluído no verso deste documento.
de discussão on-line, lista de membros do programa de O suporte técnico está disponível através do site
consultores da Microchip em: http://support.microchip.com
• Business of Microchip – Seletor de produtos e guias de
pedidos, últimos comunicados de imprensa da Microchip,
lista de seminários e eventos, listas de
Escritórios de vendas de microchip, distribuidores e
representantes de fábrica
PIC16F627A/628A/648A
RESPOSTA DO LEITOR
É nossa intenção fornecer a você a melhor documentação possível para garantir o uso bem-sucedido do seu produto Microchip. Se você
deseja fornecer seus comentários sobre organização, clareza, assunto e maneiras pelas quais nossa documentação
pode atendê-lo melhor, envie seus comentários por FAX para o Gerente de Publicações Técnicas em (480) 792-4150.
Liste as informações a seguir e use este esboço para nos fornecer seus comentários sobre este documento.
Para:
Gerente de Publicações Técnicas Total de páginas enviadas ________
RE: Resposta do Leitor
De nome
Companhia
Endereço
Perguntas:
3. Você considera a organização deste documento fácil de seguir? Se não, por quê?
5. Que exclusões do documento podem ser feitas sem afetar a utilidade geral?
PIC16F627A/628A/648A
ÍNDICE Bits CCP2X:CCP2Y ............................................. ...... 57
Esquema de Cronometragem/Ciclo de Instrução ....................... 15
UMA CLRF Instrução................................................. .............. 121 Instrução
DE ANÚNCIOS
CLRW .................................... .................................. 122 Instrução
Gatilho de Evento Especial (CCP).................................. 59 CLRWDT ....................... ......................................... 122 Registro
Classificações Máximas Absolutas . ............................................. 135 CMCON........ .................................................. ...... 63 Exemplos de
Instrução ADDLW .. .................................................. ....... 119 Instrução Código
ADDWF ........................................ ................... 119 Instrução Rotina de atualização de EEPROM de dados ..............................
ANDLW .................................... .............................. 119 Instrução 94 Proteção de código ........... .................................................. ... 113
ANDWF ................ ......................................... 119 Visão geral da Instrução COMF................................................ .......... 122 Diagramas
arquitetura .... .................................................. .. 11 Montador MPASM de Blocos Comparadores Modos de Operação de E/
Montador ............................................. ....... 132 S ....................... ................... 64 Saída do Comparador
Modificada ................... ... 66 Módulo
Comparador .......................................... ........ 63
B Configuração ....................................... ....................... 64
Erro de taxa de transmissão ............................................. ................... Interrupções .............................. .......................................... 67
75 Fórmula da taxa de transmissão ................................... ......................... Operação...... .................................................. ............ 65
75 Instrução BCF .......... .................................................. .. 120 Referência .................................. ......................... 65 Comparar
Diagramas de Blocos Comparador I/O Modos de (Módulo CCP) ............ ......................................... 58 Diagrama
Operação ........................................ ... 64 Saída do Comparador de Blocos ......... .................................................. ... 58 Configuração
Modificada .............................. 66 Portas de E/S dos pinos do CCP ........................................ ....... 59 Registros
CCPR1H:CCPR1L ........................ 58 Interrupção de
software ........................................................ ......... 59 Acionador
Pino RB0/INT ............................................. .......... 38 pinos de Evento Especial ........................................ .......... 59 Seleção
RB1/RX/DT ....................... ................... 39 Pino RB2/TX/ do Modo Temporizador ................................. ........... 59
CK .................... ......................... 39 Pino RB3/ Registrador CONFIG .................................. ......................... 98
CCP1 ................... ................... 40 pinos RB4/ Bits de Configuração ......................... .................................... 97
PGM ................... ........................................ 41 pinos Operação do Cristal.... .................................................. .......... 99
RB5...... .................................................. ....... 42 RB6/ Serviço de Notificação de Mudança do Cliente .................. 173 Serviço
T1OSO/T1CKI Pino .................................... .. 43 Pino RB7/ de Notificação do Cliente .. ....................................... 173 Suporte ao
T1OSI ............................................. ........ 44 Modo de Cliente......... .................................................. .... 173
oscilador RC ........................................ .......... 101 USART
Receber .................................. ......................... 82 USART
Transmissão ....................... ......................... 80 bits D
BRGH .......... .................................................. .............. 75 Memória EEPROM de dados ............................................. ....... 91
Reinicialização de Brown-Out (BOR) .............. ....................... 103 Registro EECON1 ........................................ .............. 91
Instrução BSF ........................ ......................... ........................ 120 Registro EECON2 ................................... ......................... 91
Instrução BTFSC ........................ ......................... 120 BTFSS Operação durante a proteção do código ........................ ..... 95
Instrução ......... .................................................. . 121 Leitura .............................................. ......................... 93 Proteção
contra gravação espúria......... ......................... 93
C Usando ......................... .................................................. 94
Compiladores Verificação de Gravação ............................................. .......... 93
C MPLAB C18 ............................................. ............... 132 Gravando para .................................. .......................................
Instrução de CHAMADA .............................. ......................... 121 93 Organização da Memória de Dados......... .........................................
Captura (Módulo CCP) ............ ....................................... 58 Diagrama 17 Instrução DECF ..... .................................................. ....... 122
de Blocos.... .................................................. ....... 58 Configuração Instrução DECFSZ ........................................ .......... 123 Suporte ao
do Pino CCP ....................................... ......... 58 Registros Desenvolvimento .................................. .................. ......... 131
CCPR1H:CCPR1L................................. .. 58 Alterando entre os Diferenças do dispositivo ....................................... ......................... 171
pré-escaladores de captura ........ 58 Pré- Migrações de dispositivos ......................... ................................... 172
escaladores ............... .................................................. 58 Modos do oscilador de velocidade dupla ........ .................................... 101
Interrupção de software ............................................. ........ 58
Seleção do Modo Timer1 ........................................ ......... 58 E
57
PIC16F627A/628A/648A
EU
Endereço de internet ................................................ ............... 173 Captura de
Portas de E/S ............................................. .............................. 33 Fontes de Interrupção Concluída (CCP) ....................... ......... 58 Comparação
Bidirecional ............... ......................................... 46 Bloco Diagramas Completa (CCP) ....................... ............... 59 Combinação de TMR2 para
PR2 (PWM) ....................... ............ 60
Pino RB0/INT ............................................. .......... 38 Pino RB1/ Interrupções ......................................... ......................................... 109
RX/DT ........................ .........39 Pino RB2/TX/ Interrupções, Habilitar Bits CCP1 Habilitar (Bit CCP1IE) .......................................
CK ........................ ..............................39 Pino RB3/ 58 Interrupções, Bits de Sinalização Sinalizador CCP1 (Bit
PIC16F627A/628A/648A
Q Entrada de relógio externo ............................................. .... 51
Relógio Q ............................................. ......................... 61 Temporização de Entrada de Relógio Externo ........................
52 Oscilador................................................. .........................
Dispositivos de Produção de Retorno Rápido (QTP) ........ .............. 9
53 Pré-escalonador .................................. ......................... 51,
R 53 Reinicializando o Temporizador1 ........... .........................................
Oscilador RC.............................................................. ......................... 53 Reinicializando os Registros do
101 Diagrama de Blocos do Modo Oscilador Timer1 . ....................................... 53 Gatilho de Evento
RC ....................... .................................... 101 Resposta do Especial (CCP) .... ......................... 59 Modo de Contador
Sincronizado ............ ......................... 51 Modo
Leitor ........... .................................................. 174 Registra
Temporizador ......... .......................................... 51
CCP1CON (Operação CCP) ....................................... 57 CMCON
TMR1H ..... .................................................. ................ 52
(Comparador Configuração)....................... 63 CONFIG
TMR1L................................ ......................................... 52 Diagrama
(Palavra de Configuração)................ ................... 98 EECON1
(Registro de Controle EEPROM 1) ................... 92 INTCON de Blocos do Temporizador2 ...... .................................................. ....
54 Pós-escalonador.................................................. .......................
(Controle de interrupção)......................... 26 Mapas
PIC16F627A .. .............................................. 18, 19 54 Registro PR2 ............................................. ......... 54 Pré-
PIC16F628A ............................................. 18, 19 OPTION_REG escalonador .............................. ......................... 54, 61 Módulo
Temporizador2............ ............................................. 54 Saída
(Opção) ................................... ... 25 PCON (Controle de
Potência) ........................................ ...... 29 PIE1 TMR2. .................................................. ............ 54 Interrupção
(Peripheral Interrupt Enable 1) ....................... 27 PIR1 de Partida de TMR2 para PR2 ........................ ..... 60
(Peripheral Interrupt Register 1) . .......... ............. 28 Diagramas de Temporização
Timer0 ........................................ .................................. 147
Situação .................................. ....................................... 24
Temporizador 1 ................................. .................................................. .
Controle do Temporizador T1CON1)...... ......................... 50
Controle T2CON Temporizador2)....... ......................................... 147 Receptor Assíncrono USART .................................. 83
PIC16F627A/628A/648A
Transmissão Síncrona do Escravo ....................................... 89
DENTRO
Configuração de
referência de tensão ............................................. ................
69 Módulo de Referência de Tensão .............................. ........... 69
Dentro
PIC16F627A/628A/648A
SISTEMA DE IDENTIFICAÇÃO DO PRODUTO
Para encomendar ou obter informações, por exemplo, sobre preços ou entrega, consulte a fábrica ou o escritório de vendas indicado.
Pacote: P = PDIP
SO = SOIC (Asa de Gaivota, corpo de 7,50 mm)
SS = SSOP (5,30 mm
ML = QFN (28 Leads)
26/03/09