Slide do Microcontrolador Pic 16F628 - Aula1

Preview:

Citation preview

Microcontroladores PIC

André Luís Marques Marcato

andre.marcato@ufjf.edu.br

Leandro Mattos Braga

cebolinhajf@globo.com

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

Recommended