Como a linguagem C é a mais fácil de se aprender, eu decidi explicá-la aqui em varios artigos com o titulo "Linguagem C para PIC's" , mas aí você, meu amigo leitor, vai perguntar: Por que não faz uma apostila? Aí eu respondo, se eu fizesse uma apostila como é que você iria tirar suas dúvidas? Por isso estou começando esta sequencia de artigos. Sinta-se livre para perguntar o que quiser.
Pronto? Então vamos lá...
Na programação em linguagem C, há 4 componentes que sempre estarão presentes no programa:
● Diretivas de compilação
● Definiçãoes de dados
● Instruções e funções
● Comentários
Diretivas de Compilação
São as instruções que você dá ao compilador (programa que é usado no computador para criar o programa para o pic), como por exemplo dizer ao compilador qual PIC você quer usar. Obs: Toda diretiva deve obrigatóriamente ter um "#" antes da instrução.
Vamos ver então as principais diretivas: #include e #fuses
#include
Ex.:

#include diz ao compilador para incluir no programa um arquivo externo.
Pronto? Então vamos lá...
Na programação em linguagem C, há 4 componentes que sempre estarão presentes no programa:
● Diretivas de compilação
● Definiçãoes de dados
● Instruções e funções
● Comentários
Vamos ver então as principais diretivas: #include e #fuses
#include
Ex.:

<.......> são separadores que indicam que ali está endereço do local onde o arquivo está.
16f628A.h é o nome do arquivo neste caso o arquivo com as definições do PIC.
Obs: Este primeiro #include deve contar em todo programa pois ele contém a definições básicas do PIC.
#fuses
Ex.:

Abaixo encontram-se as explicações necessárias:
#fuses são fusíveis, ou seja, varíaveis de ajustes do PIC. Cada linha contém uma configuração para o PIC, o exemplo acima se refere ao PIC 16F628A. Outros PIC's podem ter menos #fuses.
WatchDog Timer é um temporizador automático que dá um reset no sistema, caso haja um erro interno.
INTRC_IO é a definição do tipo de oscilador.
Há outros tipos de osciladores:
HS(oscilador de alta velocidade com frequencia menor que 4MHz),
LP(oscilador de baixa potência menor que 200KHz),
XT(oscilador à cristal com frequência menor ou igual a 4MHz),
INTRC(oscilador interno).
PUT é um comando para o PIC aguardar um tempo de 72ms (72 microssegundos), para evitar que ele comece a funcionar com a tensão desestabilizada. O oposto deste comando é NOPUT.
NOPROTECT e NOCPD são instruções para o compilador codificar o programa evitando assim a cópia, artifício utilizado nas indústrias. O oposto destes comandos são PROTECT e CPD
BROWNOUT é o comando para resetar o PIC caso a tensão seja menor que 4,5V. O oposto é NOBROWNOUT.
Master Clear é um reset externo. No caso do PIC 16F628A é o pino 4.
NOLVP existem alguns gravadores de PIC (explicarei mais tarde como funcionam) que trabalham com tensões da ordem de alguns volts, como a maioria dos gravadores comuns (caseiros ou não) trabalham com tensões um pouco mais elevadas (5 a 13V) este comando acaba por ser inútil por isso está desabilitado. O oposto é LVP
Este é o método "rústico" para as configurações pois na prática isso é mais fácil, como veremos na hora de criar o nosso primeiro programa e como nada sem uma boa estrutura se mantém, optei por explicar isto primeiro.
Bom pessoal, aqui acaba a parte 1 desta "apostila", assim que a parte 2 for publicada eu editarei esta parte visando a continuidade desta "apostila".
Antes de dar por encerrado este artigo, aí vai alguns links necessários para a continuação deste estudo:
Proteus 7.8 - É um simulador de circuitos de extrema importância e será muito útil.
PIC C Compiler CCS - É um compilador para linguagem C, igualmente necessário e útil.
São dois programas que serão necessários, caso você não tenha baixe-os é de graça.
Pessoal este artigo acaba aqui, caso você tenha alguma dúvida, sugestão ou tenha encontrado um erro, a área de comentários serve para isso deixe sua mensagem lá.
Até breve.
16f628A.h é o nome do arquivo neste caso o arquivo com as definições do PIC.
Obs: Este primeiro #include deve contar em todo programa pois ele contém a definições básicas do PIC.
#fuses
Ex.:

Abaixo encontram-se as explicações necessárias:
#fuses são fusíveis, ou seja, varíaveis de ajustes do PIC. Cada linha contém uma configuração para o PIC, o exemplo acima se refere ao PIC 16F628A. Outros PIC's podem ter menos #fuses.
WatchDog Timer é um temporizador automático que dá um reset no sistema, caso haja um erro interno.
INTRC_IO é a definição do tipo de oscilador.
Há outros tipos de osciladores:
HS(oscilador de alta velocidade com frequencia menor que 4MHz),
LP(oscilador de baixa potência menor que 200KHz),
XT(oscilador à cristal com frequência menor ou igual a 4MHz),
INTRC(oscilador interno).
PUT é um comando para o PIC aguardar um tempo de 72ms (72 microssegundos), para evitar que ele comece a funcionar com a tensão desestabilizada. O oposto deste comando é NOPUT.
NOPROTECT e NOCPD são instruções para o compilador codificar o programa evitando assim a cópia, artifício utilizado nas indústrias. O oposto destes comandos são PROTECT e CPD
BROWNOUT é o comando para resetar o PIC caso a tensão seja menor que 4,5V. O oposto é NOBROWNOUT.
Master Clear é um reset externo. No caso do PIC 16F628A é o pino 4.
NOLVP existem alguns gravadores de PIC (explicarei mais tarde como funcionam) que trabalham com tensões da ordem de alguns volts, como a maioria dos gravadores comuns (caseiros ou não) trabalham com tensões um pouco mais elevadas (5 a 13V) este comando acaba por ser inútil por isso está desabilitado. O oposto é LVP
Este é o método "rústico" para as configurações pois na prática isso é mais fácil, como veremos na hora de criar o nosso primeiro programa e como nada sem uma boa estrutura se mantém, optei por explicar isto primeiro.
Bom pessoal, aqui acaba a parte 1 desta "apostila", assim que a parte 2 for publicada eu editarei esta parte visando a continuidade desta "apostila".
Antes de dar por encerrado este artigo, aí vai alguns links necessários para a continuação deste estudo:
Proteus 7.8 - É um simulador de circuitos de extrema importância e será muito útil.
PIC C Compiler CCS - É um compilador para linguagem C, igualmente necessário e útil.
São dois programas que serão necessários, caso você não tenha baixe-os é de graça.
Pessoal este artigo acaba aqui, caso você tenha alguma dúvida, sugestão ou tenha encontrado um erro, a área de comentários serve para isso deixe sua mensagem lá.
Até breve.
Vlw amigo, belo post!
ResponderExcluir