Beruflich Dokumente
Kultur Dokumente
Bibliografia Básica
David José de Souza, “Desbravando o PIC”, 6a
Edição, Editora Érica
Fábio Pereira, “Microcontroladores PIC –
Técnicas Avançadas”, Editora Érica
3
Estrutura da Apresentação
Introdução Gravando o PIC
Memórias Programação
Interrupções Recursos Avançados
PIC16F628 Timer, CCP, PWM,
Comparadores, Tensão
Registradores Especiais Ajustável, USART
Set de Instruções Hardware Avançado
Hardware Projetos e Muita Prática !
A Arquitetura Havard e a
4
Filosofia RISC
Os microcontroladores PIC apresentam arquitetura
Havard.
1 barramento para dados (8 bits) e outro para instruções (12, 14
ou 16 bits)
RISC
Maior parte dos microcontroladores tradicionais
apresentam arquitetura tipo Von-Neumann.
1 único barramento para dados e instruções (8 bits)
CISC
Alguns Exemplos de Cada
5
Família da Microchip
6
Ciclos de Máquina
16F628A
Microcontrolador de 18 pinos
Até 16 portas configuráveis como entrada ou saída
2 Osciladores internos (4MHz ou 37kHz)
10 Interrupções Disponíveis
Timers, Externa, Mudança de Estado, EEPROM, USART e
Comparador
Memória de prog. FLASH (2048 “words” – 14 bits)
EEPROM interna de 128 bytes
RAM interna de 224 bytes
Special Features:
Features CCP, Comparador Interno e USART
Programação com 14 bits e 35 instruções
9
Pinagem
10
Nomenclatura
16 I/Os separados em dois grupos denominados
PORTAS (Porta A e Porta B, ou melhor, port A e
port B)
port A: RA0; RA1 ... RA7
Idem para port B
V
DD (5V) e VSS (GND)
11
Função
dos
Pinos(2)
13
Características Elétricas
Temperatura de trabalho: -40oC até +125oC
Tensão de Trabalho (em relação a Vss): 3.0V a 5.5V
Voltagem máxima no pino VDD (em relação ao VSS): -0.3V até +6.5V
Voltagem máxima no pino MCLR (em relação ao VSS): -0.3V até +14V
Voltagem máxima nos demais pinos (em relação ao VSS): -0.3V até (VDD+0.3V)
Dissipação máxima de potência: 800mW
Corrente máxima de saída do pino VSS: 300mA
Corrente máxima de entrada no pino VDD: 250mA
Corrente máxima de a saída de um pino (qdo em VSS) : 25mA
Corrente máxima de saída de um pino (qdo em VDD): 25mA
Correntes máximas de entrada e saída (PORTB + PORTB): 200mA
14
Introdução às Memórias
Memória de Programa
Vetor de Reset
Vetor de Interrupção
Pilha (Stack)
Memória de Dados
Registradores Especiais
Registradores de Uso Geral
EEPROM
15
Memória de Programa
ROM do Tipo Máscara (CR)
OTP: PROM (C)
EPROM: Janelados (JW para DIP e CL para
PLCC)
Flash (F)
16
Memória de Programa
A capacidade máxima da série 16 é de 8kword (8192)
divididos em blocos de 2kword (2048)
16F628 tem 2kword, portanto somente 1 página de
memória
Endereço Final da primeira página
1FFh para dispositivos com 512 words
3FFh para dispositivos com 1kword
7FFh para dispositivos com 2kword
Mecanismo de paginação é transparente ao usuário.
Atenção somente para comandos de desvio (CALL,
GOTO)
Memória de Programa
17
Série 16
18
de Dados
21
EEPROM
Utiliza os registradores EEADR e EEDATA que controlam
leitura e escrita da EEPROM interna
O controle é feito pelos registradores EECON1 e EECON2
Módulo CCP
3 registradores (CCP1COM, CCPR1H e CCPR1L)
Módulo Voltagem de Referência
VRCON
Gera voltagem de referência através de malha R2R interna
Endereçamento Indireto
FSR (apontador)
INDF (espelho do apontador)
24
Registrador W
Pode ser utilizado como destino de diversas operações aritméticas
e lógicas
Não está mapeado na memória RAM
É utilizado principalmente como ponte entre os registradores “ f ”,
pois não é possível trocar dados diretamente entre eles
A instrução MOVF copia a informação do registrador “ f ” para W
A instrução MOVWF copia a informação do registrador W para “
f”
25
Contador de Programa - PC
PC – Program Counter
Aponta sempre para a próxima instrução a ser
executada pela CPU
Série 16 – PC tem largura de 13 bits
PCLATH (1)
PCLATH (2)
Modo 3 – Execução de
CALL
Modo 4 – RETURN,
RETLW, RETFIE
28
Pilha (Stack)
Introdução às Interrupções
Serve para interromper o programa imediatamente
Em função da interrupção solicitada uma atitude pode ser tomada
instantaneamente
Após uma interrupção, o programa é interrompido, e uma função
específica (definida pelo programador é executada)
Tipos: Timer(3); Externa; Mudança de Estado; Fim de Escrita na
EEPROM; Comparador; USAR; Módulo CCP
Nos PICs todas as interrupções são mascaráveis
Latência: Atraso entre o instante de ocorrência de um evento de
interrupção e o efetivo desvio para o vetor de interrupções (nos
PICs o endereço 0x0004)
Síncronas: Três ciclos de instruções
Assíncronas: De 3 a 3,75 ciclos de instruções
30
Set de Instruções
Work: Registrador W (temporário)
File: Registrador (posição de memória). “ F ” nos nomes das instruções e “ f ”
nos seus argumentos
Literal: Um número qualquer. “ L ” nos nomes das instruções e “ k ” nos seus
argumentos
Destino: Local onde deve ser armazenado o destino das operações. Dois
possíveis F ou W
Bit: Um bit específico dentro de um byte. “ B ” nos nomes das instruções e “ b
” nos seus argumentos
Teste: Funções que são utilizadas para testar um bit apresentam a letra “ T ”
Skip: Pulo. Letra “ S ”
Set: Setar um bit, colocá-lo em 1. Letra “ S ”
Clear: Refere-se ao clear de um bit, colocá-lo em zero. Letra “ C ”
Zero: Algumas instruções geram desvios qdo o resultado da operação é zero.
Letra Z.
32
Osciladores
O PIC16F628 tem dois osciladores internos
Típico: 4MHz, tipo RC, precisão entre 1 e 5% dependendo das condições de tensão
e temperatura
Quando for utilizado oscilador externo 1 ou 2 I/Os serão perdidos
Oscilador Externo Híbrido ou Circuitos de Oscilação
Oscilador Externo Tipo RC:
Ressoador (ou Ressonador
36
Cerâmico)
37