A maior rede de estudos do Brasil

Grátis
85 pág.
Apostila.PIC16F877.CCS

Pré-visualização | Página 6 de 23

de um microcontrolador. 
 
 
Como fazer a escolha certa? 
 
 Ok, você é novato e tomou a decisão de se aventurar em trabalhar com os 
microcontroladores. Parabéns pela sua escolha! No entanto, não é tão fácil escolher o 
correto microcontrolador, como pode parecer. O problema não é um número limitado de 
dispositivos, mas o oposto! 
 Antes de começar a projetar um dispositivo baseado no microcontrolador, pense 
o seguinte: quantas linhas de entrada/saída eu preciso para a operação? Deve realizar 
algumas operações além de simplesmente acionar relés? Será que preciso de algum 
módulo especializado, tal como comunicação serial, etc. Um conversor A/D? Quando 
você cria uma imagem clara do que você precisa, o intervalo de selecção é bastante 
reduzido e é hora de pensar em preços. 
 Se você pensar em todas essas coisas pela primeira vez, então, tudo parece um 
pouco confuso. Primeiro, selecione o fabricante, ou seja, a família do microcontrolador. 
Estude um modelo específico. Saiba quanto você precisa, não entre em detalhes. 
Resolva um problema específico por vez. Em seguida, você vai perceber que 
aprendendo um modelo daquela família, você estará apto a trabalhar com qualquer outro 
modelo. 
 Os microcontroladores PIC, desenvolvidos pela Microchip Technology 
provavelmente são a melhor escolha para iniciantes. 
Curso – Microcontroladores PIC e Linguagem C 
Prof. Fagner de Araujo Pereira 
 20
 
 
O Microcontrolador 
PIC 16F877 
 
 O PIC16F877 é um produto bem conhecido da Microchip. Ele possui todos os 
componentes que os microcontroladores modernos normalmente têm. Por seu baixo preço, 
ampla gama de aplicações de alta qualidade e fácil acesso, é uma solução ideal em aplicações 
como o controle de diferentes processos na indústria, dispositivos de controle de máquinas, a 
medição de valores de tensão, etc. Algumas de suas principais características estão listadas 
abaixo. 
 
 
3.1 Introdução 
 
 O PIC16F877 é um microcontrolador que teve suas origens no ano de 1965, 
quando a companhia GI (General Instruments), formou a Divisão de Microeletrônica. 
Na década de 70, a GI criou um dos primeiros processadores de 16 bits, chamado 
CP16000. Como este microprocessador tinha uma certa deficiência no processamento 
de entradas/saídas, a GI projetou e construiu um Controlador de Interface Periférica (em 
inglês, Peripheral Interface Controller, ou PIC). Este controlador foi projetado tendo 
em vista a rapidez, pois devia processar as operações de E/S de uma máquina de 16 bits, 
e tinha um conjunto de instruções muito pequeno. O CP16000 não teve muito sucesso, 
porém o PIC evoluiu para a arquitetura PIC16C5x. Como era disponível somente nas 
versões em ROM, permaneceu como uma boa solução para grandes usuários, que 
podiam encomendar diretamente da fábrica um grande volume de circuitos já pré-
programados. 
 Na década de 80, a divisão de microeletrônica da GI foi reestruturada e se 
transformou na GI Microeletrônica, uma empresa subsidiária. Esta empresa foi vendida 
para investidores e transformada na Arizona Microchip Technology, dedicada 
especificamente ao desenvolvimento de produtos utilizados em sistemas dedicados. 
 Como parte desta estratégia, grande esforço da companhia foi direcionado ao 
desenvolvimento de várias versões do PIC, sendo que a versão com EEPROM (eprom 
apagável eletricamente) é a mais indicada para o desenvolvimento rápido de aplicações, 
devido ao baixo custo do sistema de desenvolvimento necessário e do hardware de 
processamento. 
 O dispositivo mais flexível disponível hoje da série PIC de 14 bits de palavra de 
controle, e que ao mesmo tempo reúne um conjunto de características adequadas ao uso 
em pequenas séries de produtos e estudo de microcontroladores é o PIC16F877A. Na 
Capítulo 3 
Curso – Microcontroladores PIC e Linguagem C 
Prof. Fagner de Araujo Pereira 
 21
figura 3.1 pode-se ver o encapsulamento DIP de 40 pinos, um dos encapsulamentos 
disponíveis para esse microcontrolador. 
 Como o microcontrolador PIC16F877A se utiliza da arquitetura Harvard, isto 
possibilita que as palavras de instruções tenham um número de bits (14 bits de 
comprimento) diferente do tamanho da palavra de dados (8 bits para este 
microcontrolador). Com este tamanho de palavra de instrução é possível codificar todas 
as instruções, com exceção dos desvios para outras posições de programas, como 
instruções de uma única palavra, resultando em uma grande velocidade de execução, 
como 200ns para a versão de 20Mhz. 
 
Figura 3.1 – Microcontrolador PIC 16F877A com encapsulamento DIP de 40 pinos. 
 
 Estes dispositivos podem endereçar direta e indiretamente seus arquivos de 
registros ou memória de dados. O conjunto de instruções foi projetado de tal forma que 
se pode realizar qualquer operação em qualquer registro utilizando qualquer modo de 
endereçamento. 
 A unidade lógica aritmética do PIC16F877 pode realizar operações de adição, 
subtração, deslocamento e operações lógicas. 
 Os microcontroladores da série PIC16F877 são dispositivos computacionais 
extremamente adequados para experimentação e pequenos projetos. Devido ao seu 
baixo custo e facilidade de programação, podem ser empregados em aplicações onde até 
recentemente se utilizavam componentes discretos, como por exemplo, os 
temporizadores e controladores de temperatura, adicionando novas funções até então 
não implementadas devido a complexidade do circuito necessário. 
 O projeto com microcontroladores traz uma diferença fundamental de paradigma 
para o projetista de circuitos. Ao invés de um bem sortido estoque de componentes 
discretos que realizam várias funções diferentes cada um, e de um conceito de projeto 
que consiste em interligar estas diferentes funções de forma que o sistema como um 
todo tenha o comportamento adequado, utilizamos agora praticamente um mesmo tipo 
de hardware para todas as aplicações. A diferença de funcionalidade fica por conta do 
software. Alterações de funcionalidade podem ser feitas, em grande parte das vezes, 
através da modificação apenas do software, sem ser necessária alteração do hardware. 
 Os microcontroladores da série PIC16F87X são máquinas RISC. Isto significa 
que são máquinas com um reduzido conjunto de instruções. Para ser exato, são apenas 
35 instruções para serem compreendidas, cada uma ocupando uma palavra (14 bits ). 
 O PIC16F877 possui as seguintes características básicas: 
• 5 conjuntos de portas de entrada e saída (total de 33 entradas/saídas); 
• Conversor analógico/digital de 10 bits de resolução e 8 canais de entrada; 
• Periférico de comunicação paralela e serial (USART e MSSP); 
Curso – Microcontroladores PIC e Linguagem C 
Prof. Fagner de Araujo Pereira 
 22
• 2 Módulos CCP (Comparação, Captura e PWM); 
• 3 Timers (1 de 16 bits e 2 de 8 bits); 
• Watchdog timer (temporizador especial). 
 Na figura 3.2 temos uma representação da arquitetura interna do PIC16F877, ou 
seja, uma representação da forma como os recursos estão ligados internamente no chip. 
 
 
 
Figura 3.2 – Arquitetura interna do PIC microcontrolador PIC 16F877. 
 
 Na figura 3.3 temos a descrição dos pinos no encapsulamento. Observe que 
alguns pinos apresentam mais de uma função. Isso significa que o projetista deve 
escolher qual a função que o pino vai assumir quando estiver fazendo a sua 
programação. A descrição de cada pino do microcontrolador é mostrada na tabela que 
segue: 
 
 
Figura 3.3 – Pinagem do microcontrolador PIC 16F877. 
Curso – Microcontroladores PIC e Linguagem C 
Prof. Fagner de Araujo Pereira 
 23
 
 
Curso – Microcontroladores PIC e Linguagem C 
Prof. Fagner de Araujo Pereira 
 24
 A fim de que o microcontrolador funcione adequadamente é necessário fornecer: 
 
• Alimentação elétrica; 
• Sinal de reset, e 
• Sinal de clock. 
 
 Mesmo que o PIC16F877

Crie agora seu perfil grátis para visualizar sem restrições.