conhecendo o hardware do pic18f452

30
Centro de Tecnologia Microgenios - Todos os direitos reservados Clique aqui para Imprimir o doc umento Conhecendo o Hardware do PIC18F452 1.0 O PIC18F452 1.1 Tipos de Capsulamentos 1.2 Estrutura Interna do PIC18F452 1.3 Descrição das funções dos pinos do PIC18F452 Memória do PIC18F452 1.0 Tipos de Memórias 1.1 Memória de Programa 1.2 Memória de dados - EEPROM 1.3 Memória de dados - RAM Osciladores o 1.0 O clock o 1.1 Osciladores: Cristal e Ressonador o 1.2 Cristal de Oscilação RC o 1.3 Modo HSPLL o 1.4 Ciclos de Máquina o 1.5 Reset o Bits configurations 1.0 Os bits de configuração 1.1 FOSC (frequêncy Oscilator) 1.2 OSCSEN (SYSTEM CLOCK SWITCH BIT) 1.3 PWRTEN (SYSTEM CLOCK SWITCH BIT) 1.4 BROWN-Out 1.5 BOREN 1.7 WDTEN - Watchdog Timer Enable (cão de guarda) 1.8 Watchdog Postscale Select Bit

Upload: francisco-josivan

Post on 13-Sep-2015

29 views

Category:

Documents


2 download

DESCRIPTION

Parte 04

TRANSCRIPT

  • Centro de Tecnologia Microgenios - Todos os direitos reservados

    Clique aqui para Imprimir o doc umento

    Conhecendo o Hardware do PIC18F452

    1.0 O PIC18F452 1.1 Tipos de Capsulamentos 1.2 Estrutura Interna do PIC18F452 1.3 Descrio das funes dos pinos do PIC18F452

    Memria do PIC18F452

    1.0 Tipos de Memrias 1.1 Memria de Programa 1.2 Memria de dados - EEPROM 1.3 Memria de dados - RAM

    Osciladores o 1.0 O clock o 1.1 Osciladores: Cristal e Ressonador o 1.2 Cristal de Oscilao RC o 1.3 Modo HSPLL o 1.4 Ciclos de Mquina o 1.5 Reset

    o Bits configurations 1.0 Os bits de configurao 1.1 FOSC (frequncy Oscilator) 1.2 OSCSEN (SYSTEM CLOCK SWITCH BIT) 1.3 PWRTEN (SYSTEM CLOCK SWITCH BIT) 1.4 BROWN-Out 1.5 BOREN 1.7 WDTEN - Watchdog Timer Enable (co de guarda) 1.8 Watchdog Postscale Select Bit

  • 1.9 CCP2MX 2.0 BKBUG (debug) 2.1 LVP (Low Voltagem Programming) 2.2 STVREN (Stack Full/Underflow Reset Enable Bit)

    O PIC18F452

    O PIC18F452 um microcontrolador que possui memria do tipo FLASH, que nos representa uma grande facilidade em desenvolvimentos de projetos e prottipos pois no requer apag-lo atravs de luz-ultravioleta como as verses antigas que utilizavam EEPROM.

    O PIC18F452 um microcontrolador com tecnologia CMOS (baixssimo consumo) fabricado pela empresa Microchip Technology.

    Veja em seguida as principais caractersticas do PIC18F452

    microcontrolador de 40 pinos; memria de programa FLASH de 32K ( 16384 bytes

    words) memria de dados RAM de 1536 bytes; memria EEPROM de 256 byte; Processamento de at 10MIPS (milhes de

    instrues por sergundo) quatro temporizadores internos (um de 8 bits e 3 de

    16 bits) (TIMER0, TIMER1, TIMER2, TIMER3) 2 canais capture/compare/PWM - mdulo CCP Master synchronous Serial Port (MSSP) module. Unhaced Usart 8 canais A/D de 10 bits; Detector de baixa voltagem programvel

  • Permite at 100 000 ciclos de escrita e leitura na memria de programa Flash

    permite 1 000 000 ciclos de leitura e escrita na E2PROM

    Reteno de dados na Flash de 40 anos Watchdog timer com oscilador prprio e programvel trs pinos de interrrupo externa. INT0, INT1, INT2

    voltar para o topo da pgina

    Tipos de encapsulamentos: As primeiras verses do PIC eram baseadas em encapsulamentos do tipo DIP40, hoje os dipositivos de 40 pinos ainda so muito comuns, porm de

    acordo com a aplicao e os perifricos internos presentes no Chip eles podem ser encontrados em diversos encapsulamentos como:

    DIP Dual In-line Pin PLCC Leadless Chip Carrier. TQFP

  • Nosso estudo ser baseado em microcontroladores com o encapsulamento DIP (Dual In-line Pin), devido a facilidade de utilizao e disponibilidade no mercado, porm no h grandes dificuldades para se migrar para outros encapsulamentos, basta analisar um pouco o datasheet do microcontrolador.

    voltar para o topo da pgina

    Estrutura interna do PIC18F452

  • voltar para o topo da pgina

    Descrio das funes dos pinos do PIC18F452 O PIC18F452 possui no total de 33 pinos de I/O divididos entre as PORTA, PORTB, PORTC, PORTD e PORTE. PORTA: encontramos 7 pinos fsicos intitulados de RA0 a RA6 que podem ser utilizados como I/O de uso geral ou como conversor analgico/ digital A/D, (com excesso de RA4), alm de possuir tambm a funo de deteco de baixa tenso (LVD), referncia analgica do A/D e contador externo. PORTB: encontramos 8 pinos intitulado 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: encontramos 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 UART. PORTD: encontramos 8 pinos intitulado de RC0 a RC7 que pode ser configurado como I/O de uso geral ou ser configurado como PSP para ter sada TTL (por exemplo: interfaciamento 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). Abaixo segue com detalhes a funo de cada pino do microcontrolador PIC18F452.

    Pino (DIP)

    Funo Tipo Descrio

    1 /MCLR/VPP entrada - entrada

    Entrada do RESET externo. Pino de habilitao de alta voltagem ICSP

    13 OSC1 /CLK1 entrada entrada do cristal oscilador / entrada do clock externo

    14 OSC2 / CLK1/ RA6 sada - sada - I/O

    sada do cristal oscilador / entrada do clock exteno / entrada e sada de uso geral

    2 RA0 / AN0 I/O - entrada

    entrada e sada de uso geral / entrada do conversor AD0

    3 RA1 / AN1 I/O - entrada

    entrada e sada de uso geral / entrada do conversor AD1

    4 RA2 / AN2 /Vref- I/O - entrada -

    entrada e sada de uso geral/ entrada do conversor AD2 / entrada de referncia

  • entrada baixa do A/D

    5 RA3 / AN3 / Vref+ I/O - entrada - entrada

    entrada e sada de uso geral / entrada do conversor AD3 / entrada de referncia Alta do A/D

    6 RA4 / T0CKI I/O - entrada - entrada

    entrada e sada de uso geral / entrada de clock timer0

    7 RA5/AN4/SS/LVDIN

    I/O - entrada - entrada -entrada

    entrada e sada de uso geral / entrada do conversor AD4 / entrada de seleo SPI, detector de baixa voltagem.

    33 RB0 / INT0 I/O - entrada

    entrada e sada de uso geral / interrupo externa 0

    34 RB1 / INT1 I/O - entrada

    entrada e sada de uso geral / interrupo externa 1

    35 RB2 / INT2 I/O - entrada

    entrada e sada de uso geral / interrupo externa 2

    36 RB3 / CCP2** I/O - I/O entrada e sada de uso geral / mdulo CCP2 (multiplexado com RB3 )

    37 RB4 I/O entrada e sada de uso geral / pino de interrupo por mudana de nvel

    38 RB5/PGM I/O - I/O entrada e sada de uso geral (interrupo por mudana de estado) / pino de habilitao ICSP baixa voltagem

    39 RB6 / PGC I/O - I/O entrada e sada de uso geral (interrupo por mudana de estado) / pino ICSP In-Circuit Debugger

    40 RB7 / PGD I/O - I/O entrada e sada de uso geral (interrupo por mudana de estado) / pino ICSP In-Circuit Debugger

    15 RC0/T10S0/T1CKI I/O - sada - entrada

    entrada e sada de uso geral / sada do 2 oscilador /Contador externo Timer 1

    16 RC1 / T10SI / CCP2**

    I/O - entrada -sada

    entrada e sada de uso geral / entrada 2 oscilador / mdulo CCP2 (multiplexado com RB3 )

    17 RC2/CCP1 I/O - I/O entrada e sada de uso geral / mdulo CCP1

    18 RC3/SCK/SCL I/O - I/O - I/O

    entrada e sada de uso geral / entrada e sada do clock serial para o modo SPI / entrada e sada do clock serial para o modo I2C

    23 RC4/SDI/SDA I/O - entrada - I/O

    entrada e sada de uso geral / entrada de dados SPI / entrada e sada de dados I2C

    24 RC5/SD0 I/O - sada entrada e sada de uso geral / sada de dados SPI

    25 RC6/TX/CK I/O - sada - entrada e sada de uso geral / canal de

  • I/O transmisso UART / clock de sincronismo UART

    26 RC7/RX/DT I/O - entrada - I/O

    entrada e sada de uso geral / canal de recepo UART / clock de sincronismo UART

    19 RD0/PSP0 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    20 RD1/PSP1 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    21 RD2/PSP2 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    22 RD3/PSP3 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    27 RD4/PSP4 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    28 RD5/PSP5 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    29 RD6/PSP6 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    30 RD7/PSP7 I/O - I/O entrada e sada de uso geral / porta de comunicao paralela

    8 RE0/RD/AN5 I/O entrada e sada de uso geral / controle de leitura do port paralelo / entrada analgica AD5

    9 RE1/WR/AN6 I/O entrada e sada de uso geral / controle de escrita do port paralelo / entrada analgica AD6

    10 RE2/CS/AN7 I/O entrada e sada de uso geral / controle de seleo do port paralelo / entrada analgica AD7

    12 , 31

    GND alimentao negativo

    11, 32

    VCC alimentao positivo

    Tipos de Memrias

    No PIC18F452 encontramos trs tipos de memrias:

    Memria de Programa - FLASH Memria de dados - RAM Memria de dados EEPROM

  • Como ns sabemos, memria de programa (ROM, EPROM, FLASH) do tipo no voltil, ou seja, podemos desenergizar nosso sistema microcontrolado e ele no perder o programa gravado.

    Nosso microcontrolador estudado possui internamente 32Kbyte de memria de programa e possui um barramento de programa de 16 bits. Alm disso, existem 21 bits para endereamento da memria de programa, o que permite que at 2 Mbyte sejam endereados pelo microcontrolador da familia PIC18F.

    voltar para o topo da pgina

    Memria de Programa

    A memria de programa utilizada em nosso microcontrolador do tipo FLASH (sufixo "F") que permite ser gravada/apagada no minimo 1000 vezes. Este tipo de memria utilizada ideal para ser utilizada em desenvolvimento de projetos e at mesmo em produtos finais.

  • Memria de Programa FLASH do PIC18F442

    Podemos perceber que a memria de programa do PIC18F452 inicia-se no endereo 0000h e atinge o valor mximo de 7FFFH, ou seja , 32767K byte (32Kbyte).

    Nota:

    No podemos confundir de forma alguma memria de programa e memria de dados. Sabemos que memria de programa onde nosso programa estar gravado, enquanto memria de dados onde os valores de nossas variveis sero salvas temporariamente.

    O endereo inicial 0000h chamado de vetor de reset. A instruo de programa que estiver nesse endereo de memria ser a primeira a ser executada pelo processador do PIC. Sempre que energizarmos ou resetarmos o microcontrolador, o contador de programa PC apontar sempre para este primeiro endereo da memria.

    Em seguida temos os endereos 0008h e 0018h. Estes endereos so chamados de vetores de interrupo. (veremos mais adiante em nosso curso sobre esses vetores de interrupo).

    Em seguida temos os endereos 0008h e 0018h. Estes endereos so chamados de vetores de interrupo. (veremos mais adiante em nosso curso sobre esses vetores de interrupo).

    Vamos exemplificar um processo de gravao na memria de programa do PIC.

    Acompanhe o programa exemplo de programa abaixo:

    /Este programa tem por funo alterar o estado dos 8 pinos do PORTB do PIC em intervalos de 1 segundo.

    void main() { TRISB = 0; // configura o portB como sada PORTB = 0x00; // coloca zero em todos os pinos do portB do { PORTB = 0xFF; // coloca um em todos os pinos do portB Delay_ms(1000); // delay de 1 segundo (1000 ms) PORTB = 0x00; // Coloca zero em todos os pinos do portB Delay_ms(1000); // delay de 1 segundo } while(1);

    }

    Ao compilarmos o programa acima com o mikroC teremos como resultado o seguinte cdigo de mquina (descrito somente algumas linhas do cdigo gerado;

  • A partir da imagem acima, podemos verificar os valores que sero gravados na memria de programa aps gravao do programa exemplo acima. Esses valores so teis para o programador experiente, pois permite visualizar e acompanhar a execuo por completo da compilao dos arquivos.

    Nota: Os cdigos em assembly visualizado na figura acima foi gerado pelo compilador mikroC aps a compilao de um programa escrito em C.

    voltar para o topo da pgina

  • Memria de dados - EEPROM

    Como estudamos anteriormente, sabemos que as memrias do tipo EEPROM so muito parecidos com a memria RAM, sua diferena que as distingue devido ao fato da memria EEPROM no "perder" as informaes salvas quando a desenergizarmos. Podemos salvar nesta memria dados no volteis durante o decorrer da execuo de nosso programa.

    O PIC18F452 possui internamente 256 byte de memria de dados EEPROM.

    O endereo inicial da memria de dados EEPROM 0 e seu ltimo endereo FFh. Estudaremos atravs de comandos como escrever e ler dados nessa memria de programa nas unidades seguintes.

    voltar para o topo da pgina

    Memria de dados - RAM

    Chegamos a um assunto de grande importncia no estudo referente ao nosso microcontrolador PIC, neste tpico apresentaremos toda a estrutura de memria de dados RAM. Aprenderemos a trabalhar com ela e tambm onde esto localizados os botes que ligam/desligam, configuram e controlam os perifricos internos do PIC, ou seja, os SFR (Registradores de Funes Especiais).

    A memria de dados RAM dividida em dois grupos: os chamados GPR (Registradores de Propsito Geral) e os SFR ( Registradores de Funes Especiais).

    Os GFR tem a funo de armazenar dados de uso geral que utilizamos e criamos durante a execuo do nosso programa. Podemos guardar nesse

  • regio da memria RAM dados volteis de variveis, tabelas, constantes, entre outras.

    Os SFR's a parte principal do microcontrolador, nesta rea da memria RAM que esto armazenados todo o setup de funcionamento do PIC. Apartir desses registradores podemos configurar o modo de trabalho dos timers/counters, USART, conversores analgicos digitais, etc.

    O PIC18F452 em estudo possui internamente 1536 bytes de memria de dados RAM.

    O banco de memria RAM da famlia 18F dividido em 16 bancos que contm 256 bytes de memria. Os 6 primeiros bancos so a regio dos GPR's, e o ltimo banco so dos SFR's. Acompanhe a figura abaixo:

  • Vamos examinar o mapa de registradores dos SFR's. (endereo F80h FFFh)

    Os SFRs so registradores de funes especiais responsveis pela configurao dos modos de trabalhos do PIC. Atravs da configurao desses registradores especiais, podemos tambm monitorar o status do microcontrolador em determinados momentos e situaes. Estudaremos a funo desses registradores quando estivermos trabalhando com projetos, pois dessa maneira ficar mais claro seu funcionamento e aplicaes.

    O Clock

  • Todo microcontrolador requer um circuito de oscilao pois quem d o sinal de "partida" e "sincronismo" para qualquer atividade interna da chip. A freqncia de operao de oscilao um dos agentes que determinam a velocidade de execuo das instrues do microcontrolador.

    O PIC18F452 pode funcionar com diversas fontes de osciladores:

    1. LP low-power cristal 2. XT cristal ou ressonador 3. HS High-Speed cristal (cristal de alta velocidade) ou

    ressonador 4. HS + PLL High-Speed cristal ou ressonador com PLL habilitada 5. RC Resistor / Capacitor externo 6. RCIO Resistor / Capacitor externo com pino de I/O 7. EC Clock externo 8. ECIO Clock exteno com pino de I/O

    voltar para o topo da pgina

    Osciladores: Cristal e Ressonador

    Para utilizarmos cristal ou ressonadores em nosso chip, devemos conect-lo da seguinte maneira:

    Figura 01 - clock gerado a partir de um cristal de quartzo

    Nota: Quando projetamos um dispositivo, a regra colocar o oscilador to perto quanto possvel do microcontrolador, de modo a evitar qualquer interferncia nas linhas que ligam o oscilador ao

    microcontrolador.

  • Note que existe dois capacitores ligados em paralelo com o cristal. O valor desses capacitores variam de acordo com a frquencia do cristal utilizado. Abaixo segue uma tabela apresentando os valores dos capacitores:

    Tipo de oscilador

    Freqncia do cristal

    Valores tipicos para o capacitor

    C1 C2

    LP (cristal de baixa

    freqncia)

    32kHz 33pF 33pF

    200KHz 15pF 15pF

    XT (cristal)

    200KHz 22-

    68pF 22-

    68pF

    1.0MHz 15pF 15pF

    4.0MHz 15pF 15pF

    HS (cristal de alta

    freqncia)

    4.0MHz 15pF 15pF

    8.0 MHz 15-

    33pF 15-

    33pF

    20.0MHz 15-

    33pF 15-

    33pF

    25MHz 15-

    33pF 15-

    33pF

    cristal de quartzo

    Ressonador cermico

    Os ressonadores cermicos so comercializados em dois tipos: com dois terminais e com trs terminais. Os mais utilizados so os ressonadores com trs terminais pois no precisam de capacitores externos. O ressonador com dois terminais obedecem a ligao da figura 01, enquanto no de trs o pino central deve ser aterrado. segue abaixo o esquema de ligao do ressonador com trs terminais:

  • Os ressonadores cermicos uma segunda opo. No to barato quanto um RC mas bem mais estvel e preciso.

    Nota: Antes de gravarmos um programa no microcontrolador PIC devemos "queimar" os fusivel de configurao informando qual o

    tipo de oscilador estamos utilizando em nosso hardware.

    Nos projetos do nosso curso iremos utilizar cristal de quartzo de 4MHz pois garantimos maior preciso nas rotinas de tempo nas execues das instrues.

    voltar para o topo da pgina

    Circuito de Oscilao RC

    Este o tipo de oscilador mais simples que existe e tambm o mais barato, mas, por outro lado, o menos preciso, variando muito a tenso de trabalho, temperatura e tolerncias. O circuito RC deve ser ligado conforme a figura abaixo:

    voltar para o topo da pgina

    Modo HSPLL

    HSPLL na verdade um modo em que podemos multiplicar o valor da freqncia de entrada do cristal oscilador por 4. ideal para ambientes em que o dispositivo no pode gerar EMI (interferncia Eletromagntica). Este modo deve ser habilitado nos "fusveis de configuraes" no momento em que formos gravar o chip.

  • Por exemplo:

    Caso venhamos conectar ao PIC um cristal de 10 MHz entre os pinos OSC1 e OSC2 e ativarmos o modo HSPLL no momento em que gravarmos o chip, o PIC passa a operar a 40 MHz, executando as instrues internas em 10MHz (10 MIPS - milhes de instrues por segundo), pois a frequncia real de operao do seu microcontrolador : Fosc / 4.

    Para representar os bits de configurao de nosso microcontrolador, iremos utilizar um software gratuito de gravao de microcontroladores PIC disponvel na internet, chamado WinPIC800. (www.winpic800.com).

    Nota: No programa Winpic800 podemos definir o tipo de oscilador utilizado no PIC atravs do seguinte setup:

    voltar para o topo da pgina

    Os bits de configurao (fusveis)

    Os microcontroladores PIC possui internamente regies de memrias no volteis que so resposveis por determinar o modo de trabalho do chip. So chamados de bits de configurao ou fusveis. de grande importncia que venhamos entender o funcionamento desses bits, caso contrrio teremos srios problemas no funcionamento do nosso projeto.

    Os bits de configurao do PIC esto armazenados em uma rea reservada do PIC.

    Mapa dos bits de configurao do PIC18F452

    Internamente no microcontrolador, encontramos 8 registradores de 16bits, divididos em duas partes: Byte alto e Byte Baixo, e so responsveis pela configurao geral do PIC. Esta regio de

  • memria no acessivel durante a execuo do programa, mas somente podemos configura-l no momento da gravao do chip.

    Apresentamos a seguir uma tabela com a descrio de todos os bits de configurao do PIC18F452:

    Oscilador

    RC, EC, LP, XT, HS, HS-PLL, RC-SOC2 com RA6, EC-OSC2 com RA6

    oscilador switch enable

    habilitado ou desabilitado

    power up timer habilitado ou desabilitado

    brown out detect habilitado ou desabilitado

    brown out voltage

    watchdog timer

    2.5V, 2.7V, 4.5V ou 4.7V

    habilitado ou desabilitado

    watchdog postscaler 1:1 , 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, ou 1:128

    ccp2mx pino RC1 ou RB3

    stack overflow enable habilitado ou desabilitado

    low voltage program habilitado ou desabilitado

    code protect 0x0200 a habilitado ou

  • 0x1FFF desabilitado

    code protect 0X2000 a 0X3FFF

    habilitado ou desabilitado

    code protect 0X4000 a 0X5FFF

    habilitado ou desabilitado

    code protect 0X6000 a 0X7FFF

    habilitado ou desabilitado

    data ee read protect habilitado ou desabilitado

    code protect boot habilitado ou desabilitado

    Table write protect 0x2000 a 0x1FFF

    habilitado ou desabilitado

    Table write protect 0x2000 a 0x3FFF

    habilitado ou desabilitado

    Table write protect 0x4000 a 0x5FFF

    habilitado ou desabilitado

    Table write protect 0x6000 a 0x7FFF

    habilitado ou desabilitado

    data ee write protect habilitado ou desabilitado

    table write protect boot

    habilitado ou desabilitado

    config write protect habilitado ou desabilitado

    Table read protect 0x0200 a 0x1FFF

    habilitado ou desabilitado

    Table read protect 0x2000 a 0x3FFF

    habilitado ou desabilitado

    Table read protect 0x4000 a 0x5FFF

    habilitado ou desabilitado

    Table read protect 0x6000 a 0x7FFF

    habilitado ou desabilitado

    Table read protect boot

    habilitado ou desabilitado

    No WinPIC800, programa de gravao de microcontroladores PIC utilizado no kit PICGenios da Microgenios, podemos visualizar e configurar os bits de configurao antes de gravarmos o programa no PIC.

  • Podemos configurar os bits de configurao de duas maneiras:

    Atravs do mikroC, no momento ou no decorrer da elaborao do projeto

    Atravs do programa de gravao do PIC (WinPIC800, IC-Prog, etc)

    A melhor maneira de configurar os bits de configurao no momento de criao do programa no compilador, pois uma vez configurado esses bits, no precisaremos reconfigura-los a cada compilao de nos programa.

    Configurando os bits de configurao do PIC

    FOSC (frequncy Oscilator)

    Atravs dessa opo podemos configurar o tipo de clock com o qual o microcontrolador ir operar. As fontes de clock que podem ser selecionadas so:

  • Oscilador externo RC, com RA6 configurado como pino de saida de clock;

    Oscilador HS com PLL ativo - multiplica o valor da frequncia de oscilao por 4;

    Oscilador do tipo EC, utilizando o pino RA6 como saida de clock (Fosc/4);

    Oscilador EC Utilizando o pino RA6 como I/O

  • Oscilador HS, XT, LP

    OSCSEN (SYSTEM CLOCK SWITCH BIT)

    Atravs desse bit de configurao, podemos selecionar o modo de acionamento do oscilador do PIC. Caso venhamos a selecionar este bit, a frequncia de oscilao passa a ser gerada internamente pelo TIMER1, caso contrrio, o oscilador selecionado FOSC.

    Obs: Caso desejemos utilizar o oscilador interno do PIC, devemos selecionar este bit de configurao e configurar o TIMER1 para trabalhar como oscilador para o clock (basta habilitar o T1OSCSEN do TIMER1), caso no venhamos a programar o TIMER1 corretamente, automaticamente o bit de configurao do OSCSEN ser desabilitado.

    voltar para o topo da pagina

    PWRTEN (SYSTEM CLOCK SWITCH BIT)

    A travs desse bit, podemos configurar o modo POWER para o acionamento do PIC, quando este bit estiver acionado o modo POWER-UP TIMER estar habilitado. O temporizadore de power-up pode seu utilizado para fazer com que o chip permanea em reset por aproximadamente 72ms aps o chip ter sido ligado. E deve ser utilizado para garantir a estabilizao da fonte de energia no projeto.

    voltar para o topo da pagina

    BROWN-OUT voltage

  • O detector de brown-out utilizado para provocar o reset da CPU no caso de a tenso de alimentao cair abaixo de um determinado limite. Uma vez que a tenso retorne ao seu valor nominal, o circuito de reset liberado e o programa reiniciado. No PIC18F452 podemos selecionar 4 tipos de tenses para o BROWN-OUT: 2.0V, 2.7V, 4.2V ou 4.5V.

    voltar para o topo da pagina

    BROWN-OUT detect

    Podemos habilitar ou desabilitar o detector de brown-out, basta selecionar o bit de configurao caso desejemos habilitar o brown-out.

    voltar para o topo da pagina

    WDTEN - Watchdog Timer Enable (co de guarda)

    O watchdog timer ou co de guarda um sistema interno ao microcontrolador que evita que o programa pare em um determinado ponto. Imagine que voc desenvolveu uma aplicao e que por um erro de software em certo momento o seu programa pra (entra em loop infinito). Caso o watchdog dog no seja resetado em tempos em tempos ele ir "estourar", ou seja, chegar ao final da sua contagem fazendo com que o microcontrolador resete e reinicie todo o processo. Para habilitar o Watchdog marque o bit WDTEN. (basta deixar em ON).

    voltar para o topo da pagina

    Watchdog Postscale Select Bit

    O tempo minimo para estouro do watchdog de 18 ms, porm podemos estender esse tempo atravs do postscale. Com essa funo podemos multiplicar o tempo mnimo de 18 ms com os seguintes multiplicadores do prescaler: 1:1; 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128.

    voltar para o topo da pagina

    CCP2 MX

    Podemos atravs desse bit definir se queremos multiplexar o mdulo CCP2 com o pino RC1 (CCP2MX = 0) com o pino RB3 (CCP2MX = 1)

    voltar para o topo da pagina

  • BKBUG (debug)

    Atravs desse bit , podemos habilitar o modo DEBUGGER no PIC. Nesse modo possivel emular um programa no prprio projeto eletrnico. Emular consiste no processo de junto com o computador, testar passo a passo o funcionamento do programa que est rodando no microcontrolador. Se esta opo estiver ativa, os pinos de gravao RB6 e RB7 deixam de funcionar como I/O's; caso contrrio, o funcionamento desses pinos fica normal. Faz necessrios a utilizao de equipamentos de debugao fornecidos pela Microchip, ou outras empresas para realizar esta operao.

    voltar para o topo da pagina

    LVP (Low Voltagem Programming)

    Quando o PIC gravado, acionado uma tenso de 12Vcc no pino MCLR. Se a opo LVP estiver ativa, para gravar o PIC basta ter nivel lgico 1 no pino RA5. Esta opo ideal para aplicaes em campo onde dificil encontrar tenses de 12V disponvel em determinados equipamentos.

    voltar para o topo da pagina

    STVREN (Stack Overflow Reset Enable Bit)

    O PIC18F452 possui internamente 31 endereos de pilha. Quando habilitamos esse bit STVREN, toda vez que ultrapassarmos o limete da pilha (ocorrer overflow) o microcontrolador ser resetado.

    voltar para o topo da pagina

    rea de Protees contra leitura e escrita

    Code Protect 0x0200 a 0x1FFF Caso este bit esteja habilitado, protege contra leitura a memria de programa de 0x0200 a 0x1FFF.

    Code Protect 0x2000 a 0x3FFF Caso este bit esteja habilitado, protege contra leitura a memria de programa de 0x2000 a 0x3FFF.

    Code Protect 0x4000 a 0x5FFF

  • Caso este bit esteja habilitado, protege contra leitura a memria de programa de 0x4000 a 0x5FFF.

    Code Protect 0x6000 a 0x7FFF Caso este bit esteja habilitado, protege contra leitura a memria de programa de 0x6000 a 0x7FFF.

    Data EE Read Protect Caso este bit esteja habilitado, protege contra leitura os 256 bytes da memria EEPROM (memria no voltil).

    Code Protect Boot Caso este bit esteja habilitado, protege contra leitura a regio de memria Boot (rea da memria de programa) 0x0000 at 0x0FF0.

    Table Write Protect 0x0200 a 0x1FFF Caso este bit esteja habilitado, protege a memria de programa contra escrtita por tabela no endereo especificado.

    Table Write Protect 0x2000 a 0x3FFF Caso este bit esteja habilitado, protege a memria de programa contra escrtita por tabela no endereo especificado.

    Table Write Protect 0x4000 a 0x5FFF Caso este bit esteja habilitado, protege a memria de programa contra escrtita por tabela no endereo especificado.

    Table Write Protect 0x6000 a 0x7FFF Caso este bit esteja habilitado, protege a memria de programa contra escrtita por tabela no endereo especificado.

    Data Write Protect Caso este bit esteja habilitado, protege contra escrita os 256 bytes da memria EEPROM (memria no voltil).

    Table Write Protect Boot Caso este bit esteja habilitado, protege contra escrtita por tabela a rea de boot.

    Config Write Protect

  • Caso este bit esteja habilitado, protege contra escrita a rea de configurao do microcontrolador.

    Table Read Protect 0x0200 a 0x1FFF Caso este bit esteja habilitado, protege a memria de programa contra leitura por tabela no endereo especificado.

    Table Read Protect 0x2000 a 0x3FFF

    Caso este bit esteja habilitado, protege a memria de programa contra leitura por tabela no endereo especificado.

    Table Read Protect 0x4000 a 0x5FFF

    Caso este bit esteja habilitado, protege a memria de programa contra leitura por tabela no endereo especificado.

    Table Read Protect 0x6000 a 0x7FFF

    Caso este bit esteja habilitado, protege a memria de programa contra leitura por tabela no endereo especificado.

    Ciclos de mquina

    A contagem de tempo no medida diretamente pela freqncia de oscilao do cristal e sim atravs do que chamamos de CICLO DE MQUINA.

    Internamente no microcontroladores PIC a freqncia do cristal dividida por 4, o que nos resulta que a freqncia real de trabalho :

    freqncia de trabalho real = freqncia oscilador / 4

    Concluimos ento que: a cada 1 cliclo de mquina corresponde a 4 pulsos do oscilador.

    Para exemplificar vamos supor que temos conectado ao microcontrolador um cristal de quartzo de 8MHz. Qual a freqncia real de execuo das instrues do nosso microcontrolador?

    muito simples, acompanhe:

    Sabemos que a freqncia do cristal utilizado de 4 MHz, e que cada instruo leva exatamente 1 ciclo de mquina para ser executada; Basta dividir o valor do cristal por 4 para sabermos o valor real de trabalho do PIC.

    freqncia de trabalho real = 8MHz / 4 => 2MHz

  • Concluimos ento que nosso microcontrolador PIC com cristal de 8MHz esta trabalhando efetivamente a 2MHz, ou seja , cada instruo de programa leva

    0,5 us para ser executada.

    Nota: Temos que lembrar que nosso microcontrolador em estudo pode operar com cristal oscilador de at 40MHz, disso nos resulta em 10MHz a freqncia mxima de trabalho permitida por esse chip.

    Freqncia de trabalho real = 40MHz / 4 => 10MHz

    voltar para o topo da pgina

    Reset

    Sempre que ligamos ou energizamos nosso circuito microcontrolado interessante que o PIC seja resetado, para isso necessria a insero de um circuito eletrnico bem simples, mas capaz de realizar esse procedimento que costumamos chamar de POWER ON RESET.

    Alm disso interessante que exista um boto para que o usurio possa reiniciar o sistema sempre que for necessrio (reset manual), a seguir indicamos um exemplo de circuito para o reset.

    Os PICs possuem diversos tipos de reset:

    POR - Power On Reset - o reset que ocorre quando o chip ligado. Reset do MCLR durante a operao normal Reset do MCLR durante o modo SLEEP Reset do watchdog durante operao normal Reset do detector de Brown-out (BOR) Instruo de Reset Reset por estouro de Pilha - Stack Overflow

    voltar para o topo da pgina

    Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programao em C

  • Microgenios 1998 - 2007. Todos os direitos reservados. proibido cpia parcial ou integral desse material sem prvio aviso. Maiores informaes: [email protected]