Upload
igor-mar
View
250
Download
0
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