MICROCONTROLADORES PIC - TEORIA E PRÁTICA - PIC16F84 (adaptável a PIC16F6xx)



Em 2002/2003 publiquei na revista Mecatrônica Fácil (agora não mais distribuída) uma série bastante "prática" sobre os microcontroladores PIC. A idéia era mostrar como controlar uma série de itens utilizando um microcontrolador PIC (PWM, motor de passo, servos, LCD, etc). A série também trouxe uma boa teoria, mas sem aquela coisa "pesada" encontradas na maioria dos livros.

Naquela época usei o microcontrolador PIC16F84A, hoje considerado um "dinossauro" por muitos usuários e até mesmo pela própria Microchip (empresa fabricante) que recomenda o uso de outros microcontroladores "mais novos e compatíveis" da linha PIC (família 16F).

Um outro detalhe bastante interessante sobre esta série é que na época usei a linguagem de programação Assembly (Assembler é compilador!). Para os que começam agora no mundo dos microcontroladores PIC, o uso desta linguagem é bastante interessante, pois permite um real conhecimento a respeito do microcontrolador.

Como sei que muitos que estão iniciando agora precisam de alguma informação (toda é sempre bem vinda), pensei em inserir está antiga série aqui em meu site. Sei que o microcontrolador em questão quase não é mais visto nas lojas e quando se consegue achá-lo seu custo é muito maior que um PIC16F628A, por exemplo, que pode ser considerado um "compatível" com o PIC16F84A, já que é o mais utilizado por estudantes e hobistas. Como a Microchip manteve entre os microcontroladores da família 16F uma boa compatibilidade com relação ao pin-out (quando estes tem o mesmo número de pinos) e também no conjunto de instruções que é basicamente o mesmo, as adaptações para rodar os programas feitos para o PIC16F84A num PIC16F628A serão mínimas.

Se você não tem um PIC16F84A e deseja utilizar um mais recente como o PIC16F628A, basta fazer as adaptações sugeridas 
abaixo nos programas.

Troque as linhas em vermelho pelas linhas em verde,  como segue:


    radix dec        ;padrao->valores decimal
    include <P16F84A.INC>    ;inclue arquivo
    __CONFIG _CP_OFF & _PWRTE_OFF &  _WDT_OFF & _XT_OSC  ;configura bits
 
PICRES         equ     0x00    ;endereço de reset
PICINT          equ     0x04    ;endereço de interrupções
PICRAM        equ     0x0C    ;endereço da RAM



    radix dec                    ;padrao->valores decimal se nao informado outro
    include <P16F628A.INC>        ;inclue arquivo
 
  __CONFIG _LVP_OFF & _MCLRE_OFF & _BODEN_OFF & _LVP_OFF & _CP_OFF & _PWRTE_OFF &  _WDT_OFF & _XT_OSC  ;configura bits

PICRES       equ 0x00
PICRAM      equ 0x20
PICINT        equ 0x04


Feitas as devidas adaptações os programas irão rodar no "novo" microcontrolador sem maiores problemas.

Agora que já disse o necessário para as adaptações, vamos as partes dessa série divididas em "teoria" e "prática".

Teoria - PIC16F84

Registradores e I/Os
Reset, Clock, Alimentação e set de instruções
Interrupções - o que é isso?
- Compiladores C, BASIC e PASCAL  
Prática - PIC16F84

PWM com PIC via software
Controle de servos com PIC
Controle de motores de passo com PIC
Controle de displays de 7 segmentos com PIC
Varredura de teclados matriciais com PIC
Controle de display's LCD com PIC



Copyright deste conteúdo reservado para Márcio José Soares e protegido pela Lei de Direitos Autorais LEI N° 9.610, de 19 de Fevereiro de 1998. É estritamente proibida a reprodução total ou parcial do conteúdo desta página em outros pontos da internet, livros ou outros tipos de publicações comerciais ou não, sem a prévia autorização por escrito do autor.