Académique Documents
Professionnel Documents
Culture Documents
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
barramento para dados (8 bits) e outro para instrues (12, 14 ou 16 bits) " RISC
!
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
! ! ! ! !
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
11
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
Memria de Dados
" Registradores
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
17
18
! !
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)
!
de 8 bits " Seu incremento pode ser automtico (CLK) ou por um sinal externo (Timer 0)
!
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
Endereamento Indireto
" FSR
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
26
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
30
31
32
Osciladores
!
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
34
35