5
Como fazer piscar dois LED’s utilizando PIC 16F877A simulando o circuito no PROTEUS. Características básicas do PIC 16f877:  33 pinos de I/O;  08 k de memória de programa FLASH;  368 bytes de memória RAM;  256 bytes de memória EEPROM;  Velocidade máxima de trabalho de 20 MHz;  Watchdog timer (WDT);  03 Timers;  08 Canais A/D de 10 bits;  01 USART síncrona / assíncrona;  Porta paralela escrava (PSP);  Porta serial síncrona SSP, SPI e I2C; Para entendermos melhor o micro controlador 16F877, faremos um pequeno exemplo para ligar e desligar dois LED’s. Isto é sufi ciente para quem nunca programou um micro controlador. Para este estudo será necessário um bom conhecimento em linguagem C, possuir o PROTEUS instalado, e o compilador PCW-C. O micro controlador 16F877A: PROTEUS REAL  As figuras acima mostram todos os pinos do PIC, com seus respe ctivos nomes / funções. Os pinos RA0 a RA5 estão associados a porta “A” e assim sucessivamente. Cada um destes pinos pode ser usado como entrada ou saída

Pic 16f877a (Piscar Dois Leds)

Embed Size (px)

Citation preview

7/23/2019 Pic 16f877a (Piscar Dois Leds)

http://slidepdf.com/reader/full/pic-16f877a-piscar-dois-leds 1/5

Como fazer piscar dois LED’s utilizando PIC 16F877A

simulando o circuito no PROTEUS.

Características básicas do PIC 16f877:

  33 pinos de I/O;

  08 k de memória de programa FLASH;

  368 bytes de memória RAM;

  256 bytes de memória EEPROM;

  Velocidade máxima de trabalho de 20 MHz;

  Watchdog timer (WDT);

  03 Timers;

  08 Canais A/D de 10 bits;

  01 USART síncrona / assíncrona;

  Porta paralela escrava (PSP);

  Porta serial síncrona SSP, SPI e I2C;

Para entendermos melhor o micro controlador 16F877, faremos um pequeno

exemplo para ligar e desligar dois LED’s. Isto é suficiente para quem nunca

programou um micro controlador.

Para este estudo será necessário um bom conhecimento em linguagem C,

possuir o PROTEUS instalado, e o compilador PCW-C.

O micro controlador 16F877A:

PROTEUS REAL

 As figuras acima mostram todos os pinos do PIC, com seus respectivos nomes

/ funções. Os pinos RA0 a RA5 estão associados a porta “A” e assim

sucessivamente. Cada um destes pinos pode ser usado como entrada ou saída

7/23/2019 Pic 16f877a (Piscar Dois Leds)

http://slidepdf.com/reader/full/pic-16f877a-piscar-dois-leds 2/5

e são definidos na programação. Observe que a maioria dos pinos tem mais de

uma função.

Para montar o circuito no PROTEUS precisaremos dos seguintes materiais:

  PIC16F877A;  Crystal;

  Capacitor genérico;

  Led Green;

  Led Red;

 A montagem no PROTEUS:

Observem que os capacitores C1 e C2 são ligados em paralelo com o Crystal,

estes capacitores podem assumir valores de 15 a 33 pF, e este circuito serve

para dar estabilidade o PIC, e o Crystal tem um clock de 4 MHz.

7/23/2019 Pic 16f877a (Piscar Dois Leds)

http://slidepdf.com/reader/full/pic-16f877a-piscar-dois-leds 3/5

O Código no PCW C fica:

#include <16F877A.h> //inclui o arquivo cabeçalho usado para trabalhar com o PIC  

#fuses XT,NOPUT,NOWDT,NOBROWNOUT,NOLVP //Esta diretiva define quais fusíveis internos do PIC são configurados. Os parâmetros são armazenadosno arquivo .HEX e são usados somente na hora da gravação. São: XT (oscilador a crystal<=4 MHz)  – NOPUT (no power up timer)(temporizador de power desligado)  – NOWDT (no watch dogtimer)desligado.(Se travar, o programa não é resetado.)  – NOBROWNOUT (Reset por queda de tensãodesabilitado)  – NOLVP (programação em baixa tensão desabilitada)

#use delay (clock=4000000) //Define o valor do relógio do PIC, este valor deve ser igual ao valor do cristal ou do ressonador externo.

#define L1 PIN_B1#define L2 PIN_B2 //define os pinos que serão utilizados no PIC  

Void Main () //define a função geral do programa {

While (True) //função enquanto {

Output_HIGH(L1); //Saída Ligada L1=PIN_B1 

delay_ms(250); //ligado durante 250 ms Output_LOW(L1); //Saída desligada L1=PIN_B1 delay_ms(250); //desligado durante 250 ms Output_HIGH(L2); //Saída Ligada L1=PIN_B1 

delay_ms(250); //ligado durante 250 ms 

Output_LOW(L2); //Saída desligada L1=PIN_B1

 delay_ms(250); //desligado durante 250 ms }

}

7/23/2019 Pic 16f877a (Piscar Dois Leds)

http://slidepdf.com/reader/full/pic-16f877a-piscar-dois-leds 4/5

 

 Após escrito o programa compile-o

Observe que os arquivos de saída (output files:) existe um arquivo HEX, este é o arquivo que

nos interessa.

Já no PROTEUS um duplo clique no PIC abrirá esta janela:

No desenho da pasta da janela do edit componente, informe o endereço do arquivo em HEX

7/23/2019 Pic 16f877a (Piscar Dois Leds)

http://slidepdf.com/reader/full/pic-16f877a-piscar-dois-leds 5/5

No campo processor clock frequency: digite 4MHz, e clique em OK.

 Agora é só apertar o botão play do PROTEUS e Olhar seus LED’s Piscarem.