38
Microcontroladores PIC André Luís Marques Marcato [email protected] Leandro Mattos Braga [email protected]

Slide do Microcontrolador Pic 16F628 - Aula1

  • Upload
    nando

  • View
    2.858

  • Download
    9

Embed Size (px)

Citation preview

Page 1: Slide do Microcontrolador Pic 16F628 - Aula1

Microcontroladores PIC

André Luís Marques Marcato

[email protected]

Leandro Mattos Braga

[email protected]

Page 2: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 3: Slide do Microcontrolador Pic 16F628 - Aula1

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 !

Page 4: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 5: Slide do Microcontrolador Pic 16F628 - Aula1

5

Alguns Exemplos de Cada Família da Microchip

Page 6: Slide do Microcontrolador Pic 16F628 - Aula1

6

Estruturação Interna – 16F628

Page 7: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 8: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 9: Slide do Microcontrolador Pic 16F628 - Aula1

9

Pinagem

Page 10: Slide do Microcontrolador Pic 16F628 - Aula1

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)

Page 11: Slide do Microcontrolador Pic 16F628 - Aula1

11

Função dos Pinos (1)

Page 12: Slide do Microcontrolador Pic 16F628 - Aula1

12

Função dos

Pinos(2)

Page 13: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 14: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 15: Slide do Microcontrolador Pic 16F628 - Aula1

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)

Page 16: Slide do Microcontrolador Pic 16F628 - Aula1

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)

Page 17: Slide do Microcontrolador Pic 16F628 - Aula1

17

Memória de Programa Série 16

Page 18: Slide do Microcontrolador Pic 16F628 - Aula1

18

Memória de Programa da 16F628

Page 19: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 20: Slide do Microcontrolador Pic 16F628 - Aula1

20

Memória de Dados

Page 21: Slide do Microcontrolador Pic 16F628 - Aula1

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)

Page 22: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 23: Slide do Microcontrolador Pic 16F628 - Aula1

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)

Page 24: Slide do Microcontrolador Pic 16F628 - Aula1

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 ”

Page 25: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 26: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 27: Slide do Microcontrolador Pic 16F628 - Aula1

27

Relacionamento entre PC, PCL e PCLATH(2)

Modo 3Modo 3 – Execução de CALL

Modo 4Modo 4 – RETURN, RETLW, RETFIE

Page 28: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 29: Slide do Microcontrolador Pic 16F628 - Aula1

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

Page 30: Slide do Microcontrolador Pic 16F628 - Aula1

30

Funcionamento das Interrupções

Três Sinais Importantes: GIE – Global

Interrupt Enable

Controle Específico de Cada Interrupção

Flag de Interrupção

Page 31: Slide do Microcontrolador Pic 16F628 - Aula1

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.

Page 32: Slide do Microcontrolador Pic 16F628 - Aula1

32

Operações com Registradores

Page 33: Slide do Microcontrolador Pic 16F628 - Aula1

33

Operações com Literais

Page 34: Slide do Microcontrolador Pic 16F628 - Aula1

34

Operações com Bits e Controles

Page 35: Slide do Microcontrolador Pic 16F628 - Aula1

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:

Page 36: Slide do Microcontrolador Pic 16F628 - Aula1

36

Ressoador (ou Ressonador Cerâmico)

Page 37: Slide do Microcontrolador Pic 16F628 - Aula1

37

Oscilador Externo - Cristal

Page 38: Slide do Microcontrolador Pic 16F628 - Aula1

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