Microcontrolador Pic v4

download Microcontrolador Pic v4

of 108

Transcript of Microcontrolador Pic v4

  • MICROCONTROLADOR PIC18F4520Introduo a Circuitos MicrocontroladosProf. Srgio Eduardo Palmiere

  • Microcontrolador 18F4520Conceitos BsicosMicrocontroladoresCaractersticasProgramao AssemblyProgramao CImplementao Simulao

  • Literaturas Recomendadas

  • HISTRICObaco: Calculadora3500 AC.Autor: Desconhecido.Pascalina: Calculadora (Funcionamento Mecnico)1642Autor: Blaise PascalMquina de Diferena (Clculos Logartmicos)1822Autor: Charles Babbage

    Mquina Analtica(Funes Complexas e Logartmicas)1933 Autor: Ada Lovelace

  • HISTRICO1854 Teoria dos Circuitos Lgicos(lgebra de Boole ) - Lgica binria(Boole)Computador Mecnico(Censo Americano)Utilizava cartes perfuradosAutor: Hermman HollerithColossus:Mquina de Criptografia1939Autor: Alan TuringMARK IPrimeiro Computador (Eletromecnico)1944

  • ENIACENIAC (Electrical Numerical Integrator and Calculator)Computador Eletromecnico (Operaes aritmticas)1946 - USAComposto por:18000 vlvulas15000 relsProduzia 200kW de calorRealizava 5000 operaes de adio por minuto ou357 multiplicaes por segundoProgramao atravs de cartes perfuradosOcupava uma rea de 270 m2

  • TransistorDesenvolvido pelos pesquisadores da Bell Labs em dezembro de 1947.Funcionamento semelhante s vlvulas.No gera rudos, nem atrasos por aquecimento.Pode funcionar como amplificador de corrente ou chave liga/desliga.

    VlvulaTransistor

  • Circuitos Integrados (CIs)Componente que apresenta em sua constituio milhares ou milhes de transistores.Possibilitou o avano tecnolgico.CI em detalhes.

  • Tipos de Encapsulamento

  • ENIACIISegunda verso do computador ENIAC1960 - USASubstituiu as vlvulas por um Chip

  • HISTRICO

  • 1 Gerao1940-1952Operadoras de computadores, manipulando linguagem de mquina.2 Gerao1952-1964Os transistores substituem as vlvulas sendo mais potentes, mais rpidos, gerando menos calor, menor consumo e menor tamanho.Linguagem de montagem (Assembly).Linguagem de Alto Nvel (Cobol, Fortran, Algol).Armazenamento de dados: Fitas e tambores magnticos.

  • 3 Gerao1964-1971Circuitos integrados substituem os transistores.Multiprogramao em tempo real, modo interativo.Armazenamento de dados e, memrias semicondutoras e discos magnticos.1 Minicomputador (PDP 8 da DEC):Custo: U$ 18.000,00Peso: 300 kg.

  • 4 Gerao1971-1981Criao dos :MicroprocessadoresComputadores Pessoais pela Apple (PCs)Redes de computadoresNovas linguagens de programaoFloppy Disk (Disquete)

    Apple II (1977)IBM PC (1981)

  • 5 Gerao1981-2008Popularizao dos microcomputadores.Tecnologia VLSI (Alta Velocidade).Inteligncia Artificial.Maior Capacidade de processamento em menor involucro.

    6 Gerao2008 - Orion (Computador Quntico)Desenvolvido pela empresa Canadense D-WaveCapaz de processar 16kbit qunticos.

  • Sistemas NumricosDecimal: Representa 10 caracteres de 0 a 9.

    Binrio: Representa 2 caracteres 0 ou 1.2N Onde : 20=1, 21=2, 22=4, 23=8, 24=16 ...210=1024. 14 13 12 11 10 9 8 7 6 5 4 3 2 1 016384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2 1

    Octal: Representa 8 caracteres de 0 a 7. (No usado em sistemas microcontrolados.)

    Hexadecimal: Representa 16 caracteres de 0 a F.Onde: A=10, B=11, C=12, D=13, E=14, F=15.

  • Bases Nmricas

  • Operaes Lgicas e AritmticasOperaes AritmticasSoma SubtraoOperaes Lgicas

    MultiplicaoDivisoE LgicoOu LgicoOu-Exclusivo

  • CdigosBCD: Cdigo usado para representar nmeros decimais em binrio. Usado na comunicao de circuitos eletrnicos com perifricos.

  • Portas LgicasPorta E e No E Porta Ou e No Ou

  • Porta Ou Exclusivo Porta Inversora

  • Conceitos BsicosBit: Menor unidade lgica.Byte: Conjunto de 8 bits.Word: Conjunto de 16 bits.Nibble: Conjunto de 4 bits.Clock: Sinal de onda quadrada que fornece a sensibilidade de tempo do sistema lgico.Barramento: Canal de comunicao do microcontrolador.Barramento de Dados (Data Bus): Canal de comunicao de dados, permite a entrada ou sada de dados .Barramento de Endereo: Canal de comunicao interno no pic qe permite que uma posio de memria seja acessada atravs da combinao de 0s e 1s.Barramento de Controle: conjunto de linha que permite controles do tipo habilitao do C.I., habilitao de escrita/leitura, barramento de dados, I/O, etc.

  • Conceitos BsicosProgram Counter: o Contador de Instruo responsvel por armazenar o endereo da prxima instruo a ser executada.Pilha (Stack): o espao de Memria onde se localizam os endereos de memria onde ocorreram desvios no programa. Possui tamanho limitado de armazenamento.CPU: Unidade Central de Processamento (cerebro), responsvel por extrair, decodificar e executar as instrues.ULA: A Unidade Lgica e Aritmtica tem a funo de realizar operaes lgicas e aritmticas.Registradores: So pequenas unidades de memria para alocao temporria de dados.Acumulador: Registrador temporrio onde so realizadas as operaes lgicas e aritmticas.

  • Conceitos BsicosRegistradores de Uso Geral: Regio da memria de dados onde possvel armazenar variveis definidas pelo programador.Registradores Especiais SFRs: regio da memria e dados onde se encontram os registradores especiais utilizados para execuo do programa e processamento da ULA.Vetor de Reset: Posio de incio 0x0000h (PIC 18F) de endereo da memria de programa.Vetor de Interrupo: Posio 0x0004h (PIC 18F) de endereo da memria de programa para onde so desviados todos os processamentos de interrupo.Instruo: Sequncia de bits associada a alguma funo estabelecida no microcontrolador. String: Conjunto de caracteres.

  • Microprocessador X MicrocontroladorMicroprocessadores: Usados para processamentos complexos, possuem maior custo, necessitam de dispositivos externos e barramentos de comunicao externos. Aplicaes: Microcomputadores, aparelhos eletrnicos de uso domstico e equipamentos mdicos.

    Microcontroladores: Menor custo, possuem todos os perifricos necessrios em um nico chip, menor tamanho, utilizado em aplicaes de menor desempenho que no exijam processamentos complexos. Aplicaes: Automao industrial, residencial e predial, eletrodomsticos e brinquedos eletrnicos.

  • ArquiteturasArquiteturas:Von Neumann: Utiliza apenas um barramento para trafegar dados da memria de dados e de programa.Harvard: Possui barramentos distintos para a memria de dados e a memria de programa.

    Filosofias de Instrues:RISC: Reduced Instruction Set Computing.conjunto reduzido de instrues, formato fixo consome apenas um ciclo de clock para sua execuo.

    CISC: Complex Instruction Set Computing.conjunto maior de instrues, maior flexibilidade de programaopossui instrues pouco utilizadas ou no utilizadas, consome mais de um ciclo de clock para sua execuo.Von NeumannHarvard

  • Esquemtico MicrocomputadorDiagrama Microprocessador

  • Diagrama de um Microcontrolador

  • ULA detalhada.Diagrama em blocos da CPU.

  • MemriasClassificao:AcessoVolatilidadeEscrita/leitura ou apenas leituraTipo de Armazenamento

  • Caractersticas do Microcontrolador PICO PIC utiliza arquitetura Harvard com tecnologia RISC.O barramento de dados de 8 bits e o de endereo pode variar de 13 a 21 bits dependendo do modelo.

    Este tipo de arquitetura permite que, enquanto uma instruo executada, outra instruo seja buscada na memria, ou seja, um PIPELINE (sobreposio), o que torna o processamento mais rpido, permitindo que todas as instrues sejam executadas em um ciclo de mquina.

  • Pipeline x Ciclos de Mquina

  • Caractersticas da Famlia PICAs famlias de microcontroladores PIC so: 8 bits Famlia PIC10 Famlia PIC12 Famlia PIC14 e PIC17 Famlia PIC16 Famlia PIC18

    16 bits: Famlias PIC24F e PIC24H Famlias dsPIC30F e dsPIC33F 32 bitsPIC32

    Os componentes diferem entre si basicamente em:

    Quantidade de memria RAM Quantidade de memria EEPROM de dados (alguns no tm nada) Quantidade de memria Flash de programa Nmero de pinos (8,14,18,28,40, ...) Freqncia mxima de clock Perifricos

  • Encapsulamento do PIC

  • Caractersticas Eltricas do PIC 18F4520Temperatura de Trabalho: -40C at +125CTemperatura de Armazenamento: -65C at 150CTenso de Trabalho: 4.2 V a 5.5VTenso mxima no pino VDD (em relao ao VSS):- 0.3 V at 7.5VTenso mxima no pino MCRL (em relao ao VSS): 0 at 13.25VTenso mxima nos demais pinos (em relao ao VSS): -0.3V at (VDD + 0.3V)Dissipao mxima de energia:1.0WCorrente mxima e sada no pino VSS:300 mACorrente mxima de entrada no pino VDD:250 mACorrente mxima de entrada de um pino (quando em VSS):25 mACorrente mxima de sada de um pino (quando em VDD):25 mACorrente mxima de entrada/sadas nos PORTS:200 mA

  • PIC 18F452040 pinos75 Instrues36 portas configurveisMemria de programa flash de 32k (16384 bytes words)Memria de dados RAM de 1536 bytesMemria EEPROM de 256 bytes.Processamento de at 10 MIPS ( Milhes de instrues por segundo)Master synchronous serial PORT (MSSP) module.20 Interrupes disponveisComunicao Usart, SPI e I2C13 canais A/D de 10 bits4 Timers (1x8 bits e 3x16 bits)2 Mdulos CCP (Capture, Compare e PWM)Permite at 100 000 ciclos de escrita e leitura na memria de programa flashPermite 1.000.000 de ciclos de leitura e escrita na EEPROMReteno de dados na memria flash de at 40 anosDetector de Baixa Voltagem programvelTrs pinos de interrupo externa4 temporizadores/contadores (Timer0, Timer1, Timer2, Timer3)

    Pinagem

  • PinagemO PI18F4520 possui um total de 34 pinos de I/O divididos entre as PORTA, PORTB, PORTC, PORTD e PORTE.

    PORTA: 8 pinos fsicos intitulados de RA0 a RA7 que podem ser utilizados como I/O de uso geral ou como conversor analgico/ digital A/D, alm de possuir tambm a funo de deteco de baixa tenso (LVD), referncia analgica do A/D e contador externo. PORTB: 8 pinos intitulados de RB0 a RB7 configurveis como I/O de uso geral. Nesse port podemos trabalhar com trs interrupes externas, mdulo CCP e pinos de gravao e debugger. PORTC: 8 pinos intitulados de RC0 a RC7 configurveis como I/O de uso geral, sada do oscilador do timer, mdulo CCP, Clock e data para os modos SPI, I2C e USART. PORTD: 8 pinos intitulados de RC0 a RC7 que podem ser configurados como I/O de uso geral ou ser configurado como PSP para ter sada TTL (por exemplo: interfaceamento com microprocessadores). PORTE: podemos utiliz-lo como PORT de I/O de uso geral ou utilizar os pinos de WR e CS para acesso ao modo paralelo Slave Port (acesso a memria externa por exemplo).

  • Nomenclatura dos Pinos

  • Nomenclatura dos Pinos

  • Nomenclatura dos Pinos

  • Diagrama de Blocos

  • Ciclo de MquinaCKint = CKext / 4 onde: CKint = Clock interno; CKext = Clock externo;

    TCM = 1 / Ckint onde: CM = Tempo de Ciclo de Mquina;

    De maneira simplificada pode-se utilizar para clculo de ciclo de mquina a seguinte equao:

    TCM = 4 / Freq. Osc. onde: TCM = Tempo de Ciclo de Mquina;

    Freq. Osc. = Freqncia do Oscilador;

  • Acelerador de ClockObs: O PLL trabalha apenas com oscilador de 4 MHz ou 8MHz gerando velocidades de clock de at 32MHz.

  • Acelerador de Clock

  • Detalhes do PICO PIC 18F4520 permite instrues com 2 ou 4 bytes, apresentando 32Kbytes totais de memria correspondendo a 16.384 instrues.A pilha do PIC possui 31 nveis com 21 bits de tamanho, representando uma capacidade de gerenciamento de at 2M de memria de programa.Os registradores de uso geral permitem armazenar at 1.536 bytes de variveis.Possui 16 bancos de memria divididos em 256 bytes cada. Os endereos dos bancos so vistos a seguir:Banco 0: 000h at 0FFhBanco 1: 100h at 1FFhBanco 2: 200h at 2FFhBanco 3: 300h at 3FFhBanco 4: 400H at 4FFhBanco 5: 500h at 5FFhBanco 6: 600h at 6FFhBanco 7: 700h at 7FFh

    Banco 8: 800h at 8FFhBanco 9: 900h at 9FFhBanco 10: A00h at AFFhBanco 11: B00h at BFFhBanco 12: C00h at CFFhBanco 13: D00h at DFFhBanco 14: E00h at EFFhBanco 15: F00h at FFFh

  • BuffersPossibilitam o aumento da capacidade da corrente de sada.Isolam circuitos lgicos. Realizam converso de nveis lgicos.Podem ser do tipo:Inversor,No Inversor,Unidirecionais, Bidirecionais, Conversor de Nvel,ULN2803Transistor Darlington

  • Configuration Bits1: Oscilador: Configura o tipo de oscilador utilizado na qual se baseia a velocidade de operao do microcontrolador.

  • Configuration BitsChaveamento do Oscilador Interno/Externo:IESO = OFFChaveamento desligadoIESO = ONChaveamento ligado

    Power Up Timer: Um microcontrolador ao ser energizado demanda um tempo at que esteja totalmente estabilizado. Esta configurao garante que o microcontrolador aguardar um tempo de 72 ms para comear a operar normalmente.PWRT = OFFPower Up Timer DesligadoPWRT = ONPower Up Timer Ligado

  • Configuration BitsHabilitao do Brown Out Reset: Detecta uma baixa tenso (4 volts ou menos) que persistindo por mais de 100 s capaz de resetar o PIC.BOREN = OFFBrown Out Reset desabilitadoBOREN = ONBrown Out Reset habilitado por hardware e controlado por software.BOREN = NOSLPBrown Out Reset habilitado por hardware e desabilitado no modo SLEEP.BOREN = SDORDISBrown Out Reset habilitado por hardware.Tenso do do Brown Out Reset: Esta opo serve para definir um valor de tenso de referncia adequado para funcionamento do do Brown Out Reset.

    BORV = 0Valor MximoBORV = 1Valor IntermedirioBORV = 2Valor IntermedirioBORV = 3Valor Mnimo

  • Configuration BitsMaster Clear Enable: Define o pino 1 como I/O digital somente entrada ou Master Clear.MCLR = OFFMaster Clear desabilitadoMCLR = ONMaster Clear habilitadoWatchdog Timer: O Watchdog Timer serve para evitar travamentos por problemas de software. Ele um contador interno que deve ser zerado pela instruo CLRWDT antes de seu estouro e consequente reset do sistema. Isto garante que o sistema no fique travado, contudo a limpeza do Watchdog Timer deve acontecer numa frequncia mais rpida do que o seu estouro cuja velocidade pode ser configurada.

  • Configuration BitsHabilitao do Watchdog Timer:WDT = OFFWatchdog Timer desabilitado

    WDT = ONWatchdog Timer habilitado

    Postscaler do Watchdog Timer:

    WDTPS = 11:1WDTPS = 21:2WDTPS = 41:4WDTPS = 81:8WDTPS = 161:16WDTPS = 321:32WDTPS = 641:64WDTPS = 1281:128WDTPS = 2561:256WDTPS = 5121:512WDTPS = 10241:1024WDTPS = 20481:2048WDTPS = 40961:4096WDTPS = 81921:8192WDTPS = 163841:16384WDTPS = 327681:32768

  • Configuration BitsFail Safe Clock Monitor: Esta funo permite que o microcontrolador alterne para um clock secundrio em caso de problemas no clock primrio. O clock primrio constantemente monitorado.

    FCMEN = OFFSCM desligadoFCMEN = ONFSCM ligado

    Oscilador do Timer 1:LPT1OSC = OFFTimer 1 configurado como oscilador de consumo normal.LPT1OSC = ONTimer 1 configurado como oscilador de consumo baixo.

    Habilitao dos Canais A/D do PORTB:

    PBADEN = OFFPinos RB0 ao RB4 como I/O aps reset.PBADEN = ONPinos RB0 ao RB4 como analgico aps reset.

    MUX CCP2:CCP2MX = PORTEPino RB3 como CCP2CCP2MX = PORTCPino RC1 como CCP2

  • Configuration BitsReset por Stack Full/ Underflow: Permite que o micrtocontrolador seja resetado quando a pilha tiver estourado.

    STVREN = OFF Reset por Stack Full/ Underflow desabilitadoSTVREN = ON Reset por Stack Full/ Underflow habilitado

    Gravao em Baixa Tenso: Permite que o microcontrolador possa ser programado por uma tenso baixa 5 volts sem necessitar que uma tenso alta (13 volts) seja aplicada ao pino 1 MCLR, contudo o pino 38 estar dedicado ao modo de entrada do controle do programa no podendo operar como I/O. Esta funo possibilita que um pic possa gravar outro, ou mesmo efetuar um upgrade remotamente.LVP = OFFGravao em Baixa Tenso desabilitadaLVP = ONGravao em Baixa Tenso habilitada

  • Configuration BitsHabilitao do Set de Instruo no Modo Estendido: Habilita modo extendido de instruo adicionando mais 8 instrues as operaes de endereamento direto e indireto. XINST = OFFModo estendido desabilitadoXINST = ONModo estendido habilitado

    Modo de Depurao: Permite que o microcontrolador possa operar com debugadores de baixo custo. A habilitao desta opo ocasiona a perda de alguns recursos do microcontrolador, listados a seguir:Pinos B6 e RB7 no operam como I/O convencionais.Perde-se um nvel da pilha (20) para o sistema de emulao.Os endereos 7DC0h a 7FFFh da memria de programa no podem mais ser utilizados.Os endereos 5F4h a 5FFh da memria de dados no podem mais ser utilizados.

    DEBUG = OFFModo de Depurao desabilitadoDEBUG = ONModo de Depurao habilitado

  • Configuration BitsProtees: As protees servem para proteger a EEPROM interna contra escrita e leitura indevidas.

    Proteo de Cdigo no Bloco 0:CP0 = ONBloco 0(800h-1FFFh)CP0 = OFFBloco0(800h-1FFFh)Proteo de Cdigo no Bloco 1:CP1 = ONBloco 0(2000h-3FFFh)CP1 = OFFBloco0(2000h-3FFFh)Proteo de Cdigo no Bloco 2:CP2 = ONBloco 0(4000h-5FFFh)CP2 = OFFBloco0(4000h-5FFFh)Proteo de Cdigo no Bloco 3:CP3= ONBloco 0(6000h-7FFFh)CP3 = OFFBloco0(6000h-7FFFh)

    Proteo de Cdigo no Bloco Boot:CPB = ONBloco boot (0h-7FFh)CPB = OFFBloco boot (0h-7FFh)Proteo de Dados na EEPROM:CPD = ONDados da EEPROM protegidosCPD = OFFDados da EEPROM no protegidos

    Proteo de Escrita no Bloco 0:WRT0 = ONBloco 0 (800h-1FFFh)WRT0 = OFFBloco 0 (800h-1FFFh)Proteo de Escrita no Bloco 1:WRT1 = ONBloco 1 (2000h-3FFFh)WRT1 = OFFBloco 1 (2000h-3FFFh)

  • Configuration BitsProteo de Escrita no Bloco 2:WRT2 = ONBloco 2 (4000h-5FFFh)WRT2 = OFFBloco 2 (4000h-5FFFh)Proteo de Escrita no Bloco 3:WRT3= ONBloco 3 (6000h-7FFFh)WRT3 = OFFBloco 3 (6000h-7FFFh)Proteo de Escrita no Bloco Boot:WRTB = ONBloco boot (0h-7FFh)WRTB = OFFBloco boot (0h-7FFh)Proteo de Escrita na EEPROM:WRTD = ONDados da EEPROM protegidos contra escritaWRTD = OFFDados da EEPROM no protegidos contra escritaProteo de Leitura de Tabela no Bloco 0:EBTR0 = ONBloco 0 (800h 1FFFh)EBTR0 = OFFBloco 0 (800h 1FFFh)

    Proteo de Leitura de Tabela no Bloco 1:EBTR1 = ONBloco 1 (2000h-3FFFh)EBTR1 = OFFBloco 1 (2000h-3FFFh)Proteo de Leitura de Tabela no Bloco 2:EBTR2 = ONBloco 2 (4000h-5FFFh)EBTR2 = OFFBloco 2 (4000h-5FFFh)Proteo de Leitura de Tabela no Bloco 3:EBTR3= ONBloco 3 (6000h-7FFFh)EBTR3 = OFFBloco 3 (6000h-7FFFh)Proteo de Leitura de Tabela no Bloco Boot:EBTRB = ONBloco boot (0h-7FFh)EBTRB = OFFBloco boot (0h-7FFh)

  • Memria de Programa

  • Endereos de Memria Reservados as FSRs.

  • Registradores EspeciaisRegistradores de funes especiais possuem seus nomes e seus bits j definidos em arquivo, no sendo necessrio se preocupar com o endereo que estes ocupam na memria.Registrador OSSCONUsado para configurar as caractersticas do Circuito Oscilador.Bit 7: IDLEN (Idle Enable bit)1 = Idle mode quando acionada instruo SLEEP.0= Entra na funo SLEEP.

    Bit 6-4:IRCF2 IRCF0(Internal Oscillator Frequency Select bits)

    111 = 8MHz110 = 4MHz101 = 2MHz100 = 1MHz011= 500KHz 010 = 250KHz 001 = 125KHz 000 = 31KHz

    Bit 3: OSTS (Oscilator Start-Up Time-Out Status bit1 = OSTS expirado, acionado oscilador primrio.0 = OSTS acionado, Oscilador primrio indisponvel.

    Bit 2: IOFS INTOSC (Frequency Stable bit )1 = Frequncia INTOSC estvel0 = Frequncia INTOSC no estvel

    Bit 1: SCS1:SCS0 (System Clock Select bits)1x = Bloco oscilador externo01 = Oscilador secundrio (Timer 1)00 = Oscilador primrio

  • Estudo dos PORTsPORTA

  • Estudo dos PORTsPORTB

  • Estudo dos PORTsPORTC

  • Estudo dos PORTsPORTD

  • Estudo dos PORTsPORTE

  • O PIC 18F4520 permite trabalhar com at 20 interrupes diferentes com dois vetores de interrupo, um de alta prioridade e outro de baixa. Isto permite que possamos implementar uma interrupo dentro de outra. Interrupes

  • InterrupesInterrupo Externa: Gerada por um sinal externo aplicado aos pinos 33 (RB0), 34(RB1) ou 35 (RB2) quando configurados como entrada. Podem ser aplicadas para o reconhecimento de botes como uma parada de emergncia. A interrupo pode ser configurada para operar em borda de subida ou descida e gerar um flag de indicao.

    Interrupo do Timer 0: Ocorre toda vez que o contador TMR0 estoura. O Timer 0 um contador de que opera em 8 ou 16 bits utilizado para contagem de tempo.

    Interrupo do Timer 1: Ocorre toda vez que o contador TMR1 estoura. O TMR1 um contador de 16 bits.

    Interrupo do Timer 2:Ocorre toda vez que o contador TMR2 acrescido do Postscaler estoura. O TMR2 um contador de 8 bits que possui Prescaler para incrementar o registrador e Postscaler para gerar a interrupo.

    Interrupo do Timer 3: Ocorre toda vez que o contador TMR3 estoura. O TMR3 um contador de 16 bits.

  • InterrupesInterrupo de Transmisso e Recepo da USART: A interrupo da USART pode ser gerada pelo trmino da recepo de um dado ou pelo esvaziamento do buffer relacionado transmisso.

    Interrupo da Comunicao Serial (SPI ou I2C): Os modos de transmisso SPI ou I2C fazem parte do sistema Master Synchronous Serial Port (MSSP) que gera uma interrupo toda vez que um dado transmitido ou recebido por esta porta serial.

    Interrupo da Porta Paralela (PSP): Ocorre toda vez que uma operao de leitura ou escrita completada na porta paralela, Parallel Slave Port (PSP).

    Interrupo dos Conversores AD: Acontece toda vez que uma converso do tipo AD completada.

    Interrupo do CCP1 e CCP2: Associada a qualquer dos recursos do Capture, Compare e PWM 1 ou 2.

  • InterrupesInterrupo do Fail Save Clock Monitor (FSCM): Vinculada falha do oscilador principal.

    Interrupo de Coliso de Dados: Utilizada para informar o sistema de colises de dados na comunicao tipo I2C.

    Interrupo dos Comparadores: Vinculada a mudana de estado dos comparadores internos do PIC.

    Interrupo do High/Low Voltage Detector (HLVD): Informa ao programador se houve uma queda ou subida de tenso no pino de alimentao do PIC.

    Interrupo de Fim de Escrita na E2PROM/FLASH: Utilizada para informar o fim de uma rotina de escrita na memria interna.

  • I/OsOs pinos de I/O ou entrada e sada fazem a conexo com o mundo fsico, atravs de seu uso podemos controlar diversos perifricos como por exemplo um motor (desde que o projeto utilize as interfaces necessrias). O PIC 18F4520 dispe de 34 pinos de escrita e leitura divididos em portas chamadas PORTA, PORTB, PORTC, PORTD e PORTE. Com as seguintes caractersticas:

    PORTB, PORTC e PORTD com 8 pinos de I/O.PORTA com 6 pinos de I/O.PORTE com 4 pinos de I/O.Trs registradores para cada porta de I/O:PORTLATTRIS

  • I/OsImportante:

    Registradores PORT pertencem aos SFRs e armazenam os dados das portas paralelas (I/Os) do microcontrolador. Qualquer escrita realizada nestes registradores altera a sada do chip.

    Registradores TRIS so utilizados na configurao de cada pino como entrada ou sada, sendo que o nvel 1 equivale a entrada (input) e 0 equivale a sada (output).

    Registradores LAT so utilizados para leitura das sadas do LATCH do microcontrolador. Este LATCH se encontra antes do buffer de sada do pino.

  • I/OsAcionamento genrico das portas de I/O.

  • I/Os tipo TTL ou Schmitt Trigger

  • Interfaces de EntradaBoto Liga/DesligaInterface usando acopladorptico 4N25.

  • Interfaces de Sada

  • Interfaces de Sada

  • TIMERSTimer um contador/temporizador que pode operar com 8 ou 16 bits

    O PIC 18F4520 possui 4 temporizadores/contadores: Timer0, Timer1, Timer2, Timer3

    Timer 0

  • TIMER 0Modo 8 bitsModo 16 bits

  • TIMER 0

  • TIMER 0Configurao do Temporizador:

    Frmula:

    Tempo = Ciclo de Mquina x prescaler x [modo (8 ou 16 bits) valor de ajuste de contagem]

    Onde:Ciclo de Mquina = FOSC /4Prescaler = Valor do multiplicador de freqncia configurado nos bits TOPS0 TOPS2.Modo:8 bits = contagem de 0 a 255 (256)16 bits = contagem de 0 a 65535 (65536)

    Valor de Ajuste: Valor a ser subtrado para conseguir a contagem adequada.

  • TIMER 0Configurao do Temporizador:

    Exemplo: Deseja-se piscar um Led a cada 1 segundo. O PIC utiliza um cristal de 4 MHz.

    FOSC = 4/4 = 1 MHz.Prescaler = 1:16.Modo = 16 bits = 65536.Valor de ajuste = Modo - (T / Ciclo de Mquina x Prescaler ) = 65536 -(1000000 / 1us x 16) = 65536 62500 = 3036

    Tempo = Ciclo de Mquina x prescaler x [modo (8 ou 16 bits) valor de ajuste de contagem]

    Tempo = 1 us x 16 x (65536 3036) = 1000000 us ou 1 segundo

  • CCP (CAPTURE, COMPARE AND PWM)O PIC 18F4520 possui dois mdulos CCP (Capture, Compare e PWM).Cada mdulo possui um registrador de 16 bits que pode operar como:Registrador de Captura de 16 bits.Registrador de Comparao de 16 bits.Registrador PWMCada Mdulo CCP est associado com um registrador de controle CCPxCON e um registrador de dados CCPRx composto de dois registradores de 8 bits CCPRxL e CCPRxH.

  • CCP Os mdulos de CCP utilizam os Timers 1, 2 ou 3 dependendo do modo de seleo desejado. Os Timers 1 e 3 esto disponveis nos modos Captura e Comparao. O Timer 2 est disponvel no modo PWM.

  • Interao entre os Mdulos CCP1 e CCP2.

  • CCP1

  • CAPTURA

  • COMPARAO

  • PWM

  • CONVERSOR A/DO mdulo conversor A/D possui 13 entradas possibilitando uma converso com 10 bits de preciso.Este mdulo possui cinco registradores:Registrador de resultado alto (ADRESH)Registrador de resultado baixo (ADRESL)Registrador de controle 0 (ADCON0)Registrador de controle 1 (ADCON1)Registrador de controle 2 (ADCON2)

  • ADCON0

  • ADCON1

  • Comunicao USART (Universal Synchronous Asynchronous Receiver Transmitter)

  • Comunicao MSSP (Master Synchronous Serial Port)

  • AssemblyUma das primeiras linguagens de programao criadas. Considerada uma linguagem de baixo nvel, a linguagem mais prxima da linguagem de mquina. O PIC 18F4520 dispes de 75 instrues.

  • Glossrio AssemblyWORK (Acumulador / W): Registrador temporrio para as operaes da ULA. File (F/f) : Qualquer registrador ou posio de memria especfica. Utiliza-se F nos nomes de instrues e f nos argumentos.Literal: Um nmero qualquer escrito na forma decimal, hexadecimal ou binria. Utiliza-se L para representar instrues e k nos argumentos.Destino: Local de armazenamento do resultado da operao que pode ser um registrador F ou o acumulador W. Skip (S): Este comando significa pular, e usado para criar loops ou desvios. Set: Este comando significar setar um bit, isto torn-lo equivalente a um.Clear: Este comando significar resetar um bit, isto torn-lo equivalente a zero.Overflow: Referncia ao bit Overflow do registrador STATUS.Borrow: Referncia ao bit Borrow (ou vem 1 de uma operao de subtrao ) do registrador STATUS.Carry: Referncia ao bit Carry o(u vai um de uma operao de soma) do registrador STATUS.Toggle: Este comando significa inverter o estado de um bit.

  • Instruction Set

  • Instruction Set

  • Instruction Set

  • COMPILADORESCompiladores: Tradutores do software para linguagem de mquina.Passos para compilao1 Gerao codigo de mquina intermedirio.2 Ligao do cdigo intermedirio com as funes das bibliotecas.3 Montagem do cdigo efetivo transformando para linguagem de mquina.4Carregamento na memria do microcontrolador5 Depurao do cdigo para eliminar erros de cdigo como:Sintaxe, Execuo e Semntica.

  • Estrutura de Programa em Assembly

  • Estrutura de Programa em Assembly

  • FluxogramaFluxogramas so ferramentas que ajudam o programador a estruturar de maneira grfica uma sequncia lgica de atividades a serem implementadas no programa.

  • CondiesSeSe-No

  • CondiesSe-No-Se

  • CondiesCasoFaa-Enquanto

  • CondiesEnquantoPara

  • PLACA DE TESTES MULTIPIC

  • MULTIPICO Kit de Desenvolvimento Multipic Advanced fornecido pela empresa Smart Radio e possui como principais recursos:Programador USB ExternoLCD 16x2Teclado Matricial 4x3Conversor ADSerial RS 232PWMConector de Expanso para ligao de placas externas4 x Displays BCD1 x Rel 1 x Buzzer8 x leds para simulao

  • FIM

    **