Escolar Documentos
Profissional Documentos
Cultura Documentos
PIC16F877A
O microcontrolador PIC16F877A é um dos microcontroladores mais renomados da indústria.
Este microcontrolador é muito conveniente de usar, a codificação ou programação deste controlador também é mais fácil.
Uma das principais vantagens é que pode ser escrita e apagada o maior número de vezes possível, pois utiliza a tecnologia de
memória FLASH.
Tem um número total de 40 pinos e há 33 pinos para entrada e saída.
O PIC16F877A é usado em muitos projetos de microcontroladores pic. PIC16F877A também tem muita aplicação em circuitos
eletrônicos digitais.
Um EEPROM também é apresentado nele, o que torna possível armazenar algumas das informações permanentemente, como
códigos de transmissor e frequências de receptor e alguns outros dados relacionados.
O custo deste controlador é baixo e seu manuseio também é fácil.
É flexível e pode ser usado em áreas onde os microcontroladores nunca foram usados antes, como em aplicações de
microprocessadores e funções de temporizador, etc.
Tem um conjunto menor de 35 instruções.
Ele pode operar até 20MHz de frequência.
A tensão de operação está entre 4,2 volts à 5,5 volts.
Se você fornecer tensão superior a 5,5 volts, poderá ser danificado permanentemente.
Não possui oscilador interno como outros PIC18F46K22, PIC18F4550.
A corrente máxima que cada PORT pode receber ou fonte é de cerca de 100mA.
Portanto, o limite de corrente para cada pino GPIO do PIC16F877A é de 10 mili amperes.
Está disponível em quatro embalagens IC, como PDIP de 40 pinos PLCC de 44 pinos, TQFP de 44 pinos, QFN de 44
pinos
CONTEUDO
CONFIGURAÇÃO DE PIN E DESCRIÇÃO DO microcontrolador PIC16F877A
COMO PROGRAMAR AS PORTAS DE ENTRADA E SAÍDA
Compilador para microcontrolador PIC16F877A
Principais características do microcontrolador PIC16F877A
CÓDIGO PARA ACENDER UM ÚNICO LED/LED PISCANDO
Diagrama de circuito para piscar LED COM PIC16F877A
Pino 2: RA0/AN0
PORTA consiste em 6 pinos, do pino 2 ao pino 7, todos eles são pinos de entrada/saída bidirecionais.
O pino 2 é o primeiro pino desta porta.
Este pino também pode ser usado como um pino analógico AN0.
É construído em conversor analógico para digital.
Pino 3: RA1/AN1
Esta pode ser a entrada analógica 1.
Pino 4: RA2/AN2/Vref-
Também pode atuar como entrada analógica 2.
Ou tensão de referência analógica negativa pode ser dada a ele.
Pino 5: RA3/AN3/Vref+
Pode atuar como entrada analógica 3.
Ou pode atuar como tensão de referência positiva analógica.
Pino 6: RA0/T0CKI
Para timer 0 este pino pode atuar como pino de entrada do relógio, o tipo de saída é dreno aberto.
Pino 7: RA5/SS/AN4
Esta pode ser a entrada analógica 4.
NOTA:
Todos os pinos possuem múltiplas funcionalidades.
Como os pinos PORTC podem ser usados como pinos de entrada digital, pinos de saída digital, para comunicação UART,
comunicação I2C.
Mas podemos usar uma função de cada porta de cada vez ou você deve programá-la de forma inteligente para poder alternar entre
diferentes funcionalidades.
Como quando você precisa de um pino para ler o sinal analógico, defina-o para fins analógicos e depois mude para outras funções,
como saída digital, etc.
Para iniciantes, sugerimos usar um pino para funcionalidade única e você pode usar o modo multifuncional, uma vez que você
torne-se um especialista em programação.
Agora a porta atuará como a porta de saída e podemos enviar qualquer valor na saída, como
FF representa todos os 1s em binário, ou seja, FF=11111111, agora todos os pinos da porta b estão altos.
Se conectarmos LEDs em todos os pinos, todos eles começarão a brilhar nessa condição.
Se quisermos negar os valores da porta b, podemos usar a instrução:
Comunicação I2C
O PIC16F877A também suporta comunicação I2C e possui um módulo para comunicação I2C.
Os pinos 18/RC3 e 23/RC4 são pinos SCL e SDA, respectivamente.
SCL é uma linha de relógio serial e SDA é uma linha de dados serial.
O tutorial de comunicação I2C ajudará você a entender melhor.
Interrupções
As interrupções têm aplicações maravilhosas no campo de sistemas embarcados.
Se você não sabe sobre interrupções, sugiro que você compreenda completamente sobre elas, você não obterá comando sobre a
programação incorporada delas.
O microcontrolador PIC16F877A fornece 8 tipos de interrupções: Interrupções externas, interrupções de temporizador,
interrupções de mudança de estado PORT, interrupção UART, I2C, interrupções PWM.
Você pode ler este guia sobre interrupções do microcontrolador PIC para obter informações adicionais.
Módulo comparador
Possui um módulo comparador composto por dois comparadores.
Eles são usados para comparação de sinais analógicos semelhantes aos comparadores em circuitos eletrônicos.
Os pinos de entrada para esses comparadores são RA0, RA1, RA2 e RA3 e a saída pode ser medida através de RA4 e RA5.
Watchdog timer:
WDT é um oscilador separado no chip que funciona livremente.
É um oscilador separado do OSC1/CLKI.
O WDT também funcionará mesmo se o dispositivo estiver no modo de suspensão.
Ele é usado para acordar o dispositivo do modo de suspensão e também para gerar a reinicialização do temporizador do
watchdog.
Modo de suspensão
PIC16F877A também fornece operação em modo de suspensão.
Neste modo, o dispositivo opera com potência muito baixa.
Todos os periféricos consomem uma quantidade mínima de corrente.
Introdução e recursos do microcontrolador PIC16F877A Página 5 de 8
Acorde do modo de suspensão a partir de recursos de interrupções como interrupção de timer1, interrupção de uart, operação
de conclusão de gravação de EEPROM e muitos outros.
Detecção de brown out
Também possui um circuito de detecção de brown out que detecta a queda significativa na tensão da fonte de alimentação.
Se a tensão de alimentação cair de um certo limite, ele irá gerar um sinal de interrupção.
Este bit de configuração (BODEN) é usado para desabilitar ou habilitar este circuito.
Reinicialização de brown out:
Esta opção reinicializa o dispositivo após a detecção de sinal de interrupção de brown out do sinal BODEN, se a tensão de
alimentação ficar abaixo do limite por mais de 100 microssegundos.
Proteção de código programável, reset Brown out ocorrerá e o dispositivo permanecerá resetado até que a tensão suba para
seu valor nominal.
O dispositivo verifica a voltagem a cada 72ms.
Se você está apenas começando com a programação de microcontroladores PIC, você pode verificar este tutorial no Mikro C para
PIC:
Escrevendo seu primeiro programa usando Mikro C para compilador de imagens
Programação de microcontrolador Pic em c usando Mikro c para pic
Este código é usado para alternar o número do pino PORTC zero com o atraso de quinhentos milissegundos.
Dentro da função main esta linha inicializa o RB0 como pino de saída digital.
Projete este circuito no proteus. Conecte os pinos com a fonte, terra e oscilador conforme explicado na seção de
descrição dos pinos.
Conecte o oscilador de 8 MHz com OSCI e OSC2 através de dois capacitores de 22 pico farad.
Forneça 5 volts ao pino de reset através do resistor de 10k ohm. O resistor não é mostrado na simulação, mas você deve
conectar o resistor enquanto faz o circuito praticamente.
Um LED é conectado no pino 33 RB0, um resistor é usado para limitar a corrente e evitar que o LED queime. Escreva e
compile o programa em mikro C pro.
Grave o microcontrolador com o arquivo hexadecimal clicando duas vezes no controlador no proteus e execute o circuito
com sucesso. melhor maneira de aprender qualquer microcontrolador é verificar sua folha de dados.
Introdução e recursos do microcontrolador PIC16F877A Página 7 de 8
Pic kit3 é um programador famoso usado para fazer upload de código para chips de microchip, Como programar usando
Pic kit3 é uma boa fonte para ler.
<Download do DataSheet PIC16F877A>