Você está na página 1de 35

Microcontroladores PIC

Andr Lus Marques Marcato andre.marcato@ufjf.edu.br Leandro Mattos Braga cebolinhajf@globo.com Luis Claudio Gamba Lopes gamboa@labsel.ufjf.br Rogrio Marques Trindade rogeriomt@labsel.ufjf.br
1

Bibliografia Bsica
!

David Jos de Souza, Desbravando o PIC, 6a Edio, Editora rica Fbio Pereira, Microcontroladores PIC Tcnicas Avanadas, Editora rica

Estrutura da Apresentao
! Introduo ! PIC16F628 ! Hardware ! Registradores

Especiais ! Set de Instrues


3

A Arquitetura Havard e a Filosofia RISC


!

Os microcontroladores PIC apresentam arquitetura Havard.


" Um

barramento para dados (8 bits) e outro para instrues (12, 14 ou 16 bits) " RISC
!

Maior parte dos microcontroladores tradicionais apresentam arquitetura tipo Von-Neumann.


" Barramento " CISC

nico para dados e instrues (8 bits)

Alguns Exemplos de Cada Famlia da Microchip

Ciclos de Mquina
PIPELINE: Busca a informao em um ciclo e a executa no prximo O PIC em estudo divide o clock de entrada por 4. Para um clock de 4MHz, cada instruo executada 1s, desde que no afete o Program Counter

Estrutura Interna 16F628

Principais Caractersticas do PIC 16F628


! ! ! !

! ! ! ! !

Microcontrolador de 18 pinos At 16 portas configurveis como entrada ou sada 2 Osciladores internos (4MHz ou 37kHz) 10 Interrupes Disponveis " Timers, Externa, Mudana de Estado, EEPROM, USART e Comparador Memria de programa. FLASH (2K words 14 bits) EEPROM interna de 128 bytes RAM interna de 224 bytes Hardwares especiais: CCP, Comparador Interno e USART Programao com 14 bits e 35 instrues
8

Pinagem

Nomenclatura
!

16 I/Os separados em dois grupos denominados PORTAS (port A e port B) "port A: RA0; RA1 ... RA7 "Idem para port B "Pinos de mltiplas funes "VDD (5V) e VSS (GND)
10

Descrio dos Pinos (1)

11

Descrio dos Pinos(2)

12

Caractersticas Eltricas
! ! ! ! ! ! ! ! ! ! !

Temperatura de trabalho: -40oC at +125oC Tenso de Trabalho (em relao a Vss): 3.0V a 5.5V Voltagem mxima no pino VDD (em relao ao VSS): -0.3V at +6.5V Voltagem mxima no pino MCLR (em relao ao VSS): -0.3V at +14V Voltagem mxima nos demais pinos (em relao ao VSS): -0.3V at (VDD+0.3V) Dissipao mxima de potncia: 800mW Corrente mxima de sada do pino VSS: 300mA Corrente mxima de entrada no pino VDD: 250mA Corrente mxima de a sada de um pino (qdo em VSS) : 25mA Corrente mxima de sada de um pino (qdo em VDD): 25mA Correntes mximas de entrada e sada (PORTA + PORTB): 200mA
13

Introduo s Memrias
!

Memria de Programa
" Vetor

de Reset " Vetor de Interrupo " Pilha (Stack)


!

Memria de Dados
" Registradores

Especiais " Registradores de Uso Geral


!

EEPROM
14

Memria de Programa
ROM do Tipo Mscara (CR) ! OTP: PROM (C) ! EPROM: Janelados (JW para DIP e CL para PLCC) ! Flash (F)
!

15

Memria de Programa
! ! !

A capacidade mxima da srie 16 de 8kword (8192) divididos em blocos de 2kword (2048) 16F628 tem 2kword, portanto somente 1 pgina de memria Endereo Final da primeira pgina
" 1FFh

para dispositivos com 512 words " 3FFh para dispositivos com 1kword " 7FFh para dispositivos com 2kword
!

Mecanismo de paginao transparente ao usurio. Ateno somente para comandos de desvio (CALL, GOTO)
16

Memria de Programa srie 16

17

Memria de programa do PIC16F628

18

Memria de Dados (ou RAM)


!

! !

SFR (Special Function Register): Registradores de Funes Especiais. Muitas vezes referenciados pela letra f GPR (General Purpose Registers): Registradores de Propsito Geral Devido a forma de implementao das funes o endereamento limitado a 7 bits (128 registradores). A filosofia de paginao utilizada. Existem diversos bancos de 128 posies. O acesso ao banco controlado pelo registrador de STATUS: RP0 e RP1 Alguns registradores so espelhados 19

Memria de Dados

20

Os Registradores Especiais(1)
!

! ! ! !

STATUS: Est relacionado s operaes matemticas. Indica estouro dos registradores (C-Carry e DC-Digit Carry) e resultados iguais a zero PCON: Funo mais utilizada que configura freqncia do oscilador interno 37KHz ou 4MHz OPTION_REG: Configura o funcionamento dos registradores internos PORTx: L e escreve informaes nos pinos externos do PIC TRISx: Define direo de funcionamento de cada pino da porta (se entrada ou sada)
21

Os Registradores Especiais(2)
!

INTCON: Interrupes Especiais e chave geral


" Chave

Geral: GIE " Timer 0, Interrupo Externa e Mudana de Estado


! !

PIR1 e PIE: Gerencia interrupes dos perifricos


" EEPROM,

Comparadores, USART, CCP, Timer 1 e 2

TMR0 e TMR2: So os Timers 0 e 2 respectivamente


" Contadores

de 8 bits " Seu incremento pode ser automtico (CLK) ou por um sinal externo (Timer 0)
!

TMR1L e TMR1H: So os registradores do Timer 1


" Contador

de 16 bits
22

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
! !

Mdulo CCP
"3

registradores (CCP1COM, CCPR1H e CCPR1L)

Mdulo Voltagem de Referncia


" VRCON " Gera

voltagem de referncia atravs de malha R2R interna

Endereamento Indireto
" FSR

(apontador) " INDF (espelho do apontador)

23

Registrador W
! ! !

! !

Pode ser utilizado como destino de diversas operaes aritmticas e lgicas No est mapeado na memria RAM utilizado principalmente como ponte entre os registradores f , pois no possvel trocar dados diretamente entre eles A instruo MOVF copia a informao do registrador f para W A instruo MOVWF copia a informao do registrador W para f
24

Contador de Programa - PC
!

PC Program Counter
" Aponta

sempre para a prxima instruo a ser executada pela CPU " Srie 16 PC tem largura de 13 bits " dividido em dois registradores bsicos: PCL e PCH " PCL acessado diretamente " PCH acessado indiretamente por PCLATH
25

Relacionamento entre PC, PCL (1) e PCLATH


Modo 1 Execuo de uma instruo que tem como destino o registrador PCL

Modo 2 Execuo de uma instruo GOTO

26

Relacionamento entre PC, PCL (2) e PCLATH


Modo 3 Execuo de CALL

Modo 4 RETURN, RETLW, RETFIE

27

Pilha (Stack)

No est localizada na rea de memria RAM Tamanho: 8 posies de 13 bits LIFO (Last In First Out) Circular No h instrues para manipular diretamente a pilha No permite armazenamento de dados, apenas endereos
28

Set de Instrues
! ! ! ! ! ! ! ! ! !

Work: Registrador W (temporrio) File: Registrador (posio de memria). F nos nomes das instrues e f nos seus argumentos Literal: Um nmero qualquer. L nos nomes das instrues e k nos seus argumentos Destino: Local onde deve ser armazenado o destino das operaes. Dois possveis F ou W Bit: Um bit especfico dentro de um byte. B nos nomes das instrues e b nos seus argumentos Teste: Funes que so 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 instrues geram desvios quando o resultado da operao zero. Letra Z.

29

Operaes com Registradores

30

Operaes com Literais

31

Operaes com Bits e Controles

32

Osciladores
!

O PIC16F628 tem dois osciladores internos


"

Tpico: 4MHz, tipo RC, preciso entre 1 e 5% dependendo das condies de tenso e temperatura

! ! !

Quando for utilizado oscilador externo 1 ou 2 I/Os sero perdidos Oscilador Externo Hbrido ou Circuitos de Oscilao Oscilador Externo Tipo RC:

33

Ressoador (Ressonador Cermico)

34

Oscilador Externo - Cristal

35