Slide do Microcontrolador Pic 16F628 - Aula1
Transcript of Slide do Microcontrolador Pic 16F628 - Aula1
Microcontroladores PIC
André Luís Marques Marcato
Leandro Mattos Braga
2
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
Memórias
Interrupções
PIC16F628
Registradores Especiais
Set de Instruções
Hardware
Gravando o PIC
Programação
Recursos Avançados Timer, CCP, PWM,
Comparadores, Tensão Ajustável, USART
Hardware Avançado
Projetos e Muita Prática !
4
A Arquitetura Havard e a 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
5
Alguns Exemplos de Cada Família da Microchip
6
Estruturação Interna – 16F628
7
Ciclos de Máquina
Divide clock por quatro, formando as fases Q1, Q2, Q3 e Q4
PIPELINE: Busca a informação em um ciclo e a executa no próximo
Para um clock de 4MHz, cada instrução é executada 1s, desde que não afete o Program Counter
8
Principais Características do PIC 16F628A
Microcontrolador de 18 pinosAté 16 portas configuráveis como entrada ou saída2 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 bytesRAM interna de 224 bytesSpecial FeaturesSpecial Features: CCP, Comparador Interno e USARTProgramaçã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 Prestar atenção nos pinos de múltiplas funções VDD (5V) e VSS (GND)
11
Função dos Pinos (1)
12
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óriaEndereç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)
17
Memória de Programa Série 16
18
Memória de Programa da 16F628
19
Memória de Dados (ou RAM)
SFR (Special Function Register): Registradores de Funções Especiais. Muitas vezes referenciados pela letra “ f ”GPR (General Purpose Registers): Registradores de Propósito GeralDevido a forma de implementação das funções o endereçamento é limitado a 7 bits (128 registradores). A filosofia de paginação é utilizada. Existem diversos bancos de 128 posições. O acesso ao banco é feito pelo registrador de STATUS: RP0 e RP1Alguns registradores são espelhados
20
Memória de Dados
21
Os Registradores Especiais(1)
STATUS: Está relacionado às operações matemáticas. Indica estouro dos registradores (C-Carry e DC-Digit Carry) e resultados iguais a zeroPCON: Função mais utilizada é que configura freqüência do oscilador interno 37KHz ou 4MHz OPTION_REG: Configura o funcionamento dos registradores internosPORTx: Lê e escreve informações nos pinos externos do PICTRISx: Define direção de funcionamento de cada pino da porta (se entrada ou saída)
22
Os Registradores Especiais(2)
INTCON: Interrupções Especiais e chave geral Chave Geral: GIE Timer 0, Interrupção Externa e Mudança de Estado
PIR1 e PIE: Gerencia interrupções dos periféricos EEPROM, Comparadores, USART, CCP, Timer 1 e 2
TMR0 e TMR2: É o Timer 0 e 2 respectivamente Contador de 8 bits Seu incremento pode ser automático (CLK) ou por um sinal externo
(Timer 0)
TMR1L e TMR1H: É o Timer 1 Contador de 16 bits
23
Os Registradores Especiais(3)
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 É dividido em dois registradores básicos: PCL e PCH PCL é acessado diretamente PCH é acessado indiretamente por PCLATH
26
Relacionamento entre PC, PCL e PCLATH (1)
Modo 1Modo 1 – Execução de uma instrução que tem como destino o registrador PCL
Modo 2Modo 2 – Execução de uma instrução GOTO
27
Relacionamento entre PC, PCL e PCLATH(2)
Modo 3Modo 3 – Execução de CALL
Modo 4Modo 4 – RETURN, RETLW, RETFIE
28
Pilha (Stack)
Não está localizada na área de memória RAM
Tamanho: 8 posições de 13 bits
LIFO (Last In First Out) Circular
Não há instruções para manipular diretamente a pilha
Não permite armazenamento de dados, apenas endereços
29
Introdução às Interrupções
Serve para interromper o programa imediatamenteEm função da interrupção solicitada uma atitude pode ser tomada instantaneamenteApó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 CCPNos PICs todas as interrupções são mascaráveisLatê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
Funcionamento das Interrupções
Três Sinais Importantes: GIE – Global
Interrupt Enable
Controle Específico de Cada Interrupção
Flag de Interrupção
31
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 argumentosLiteral: Um número qualquer. “ L ” nos nomes das instruções e “ k ” nos seus argumentosDestino: Local onde deve ser armazenado o destino das operações. Dois possíveis F ou WBit: Um bit específico dentro de um byte. “ B ” nos nomes das instruções e “ b ” nos seus argumentosTeste: 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
Operações com Registradores
33
Operações com Literais
34
Operações com Bits e Controles
35
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:
36
Ressoador (ou Ressonador Cerâmico)
37
Oscilador Externo - Cristal
38
Power-On Reset (POR)
Quando o Master Clear Reset Externo não está habilitado. POR interno.
Caso o Master Clear Reset Externo está habilitado será necessário hardware complementar