Microcontroladores pic

Disponível somente no TrabalhosFeitos
  • Páginas : 34 (8482 palavras )
  • Download(s) : 0
  • Publicado : 9 de maio de 2012
Ler documento completo
Amostra do texto
Linguagem “C” para microcontroladores pic – www.mecatronicadegaragem.blogspot.com

Linguagem ´C´
para
microcontroladores

PIC

Linguagem “C” para microcontroladores pic – www.mecatronicadegaragem.blogspot.com

Objetivo:
Iniciar o projetista no uso da linguagem C para sistemas dedicados baseados na
família PIC 16CXXX.

Metodologia:
O curso esta dividido em 3 partes:
Iniciação àLinguagem C
Implementação da CCS para a linha microchip
Exemplos práticos de hardware e software

Parte I - Iniciação à linguagem C
A principal vantagem de se usar linguagens de alto nível (no nosso caso a
linguagem C) esta na menor interação do projetista com o hardware, no que diz
respeito ao controle do mesmo (ajuste de bancos de registradores, seqüências de
inici- alização, ...).
Destaforma o projetista dedica seu tempo basicamente à lógica do problema e
não aos detalhes internos do chip.
Como exemplo vamos ver a seqüência de escrita na EEPROM do 16F84 (gravar
no endereço 20H o valor 12H, pág. 27 do livro):
Em assembler:

Em ‘C’

bcf
movlw
movwf
movlw
movwf
bsf
bcf
bsf
movlw
movwf
movlw
movwf
bsf

write_eeprom(0x20,0x12);

STATUS,RP0
20H
EEADR
12HEEDATA
STATUS,RP0
INTCON,GIE
EECON1,WREN
55H
EECON2
0AAH
EECON2
EECON1,WR

Linguagem “C” para microcontroladores pic –
www.mecatronicadegaragem.blogspot.com

I.1 - Modelo básico de um programa em C
Quatro elementos estão presentes em um programa C:
Comentários
Diretivas de compilação
Definições de dados
Blocos com instruções e funções
Modelo básico
#include
#fuses ......Diretivas de compilação

// comentário ocupando uma linha

Comentários

/* comentários entre ‘/ *’ e ‘* /’
podem ocupar mais de
uma linha
*/
char i , j ;
float Tempo;
void main()
{
instruções do programa principal
}
void delay()
{
instruções da função (rotina) delay
}

Variáveis

Linguagem “C” para microcontroladores pic – www.mecatronicadegaragem.blogspot.com

I.2 -Comentários
Comentários são informações anexadas ao programa fonte (*) que permitem ao
programador ou outros entenderem o significado do que esta sendo feito.
É boa prática comentar todas as linhas, pois após um certo tempo, nem mesmo
o criador do programa lembrará de tudo o que estava pensando no momento da
escrita.
O compilador ignora tudo que estiver definido como comentário
(*) O programafonte em C deve ter terminação “.C”
Exemplo: teste.c
Existem dois tipos de comentários:
Comentários que ocupam apenas 1 linha
Este tipo de comentário é iniciado com duas barras conjuntas:
//
Neste caso, tudo que estiver após as duas barras será ignorado pelo
compilador.
Exemplo:
x = x + 2;

// soma 2 à variável x

Comentários com múltiplas linhas
cia */.

Este tipo de comentário éiniciado com a seqüência /* e finalizado pela seqüên-

Neste caso, tudo que estiver ENTRE estas duas seqüências será ignorado pelo
compilador. Ideal para excluir temporariamente trechos de código.
Exemplo:
/*

x = x + 2;
tempo++;
a = SQRT(25);
x = 0;

*/

No exemplo acima, as linhas tempo++; e a=SQRT(25); serão ignoradas no
momento da compilação.

Linguagem “C” paramicrocontroladores pic – www.mecatronicadegaragem.blogspot.com

I.3 - Diretivas de compilação
São instruções para o compilador, e não para o programa que será gerado.
As diretivas informam, por exemplo, o processador para o qual o código deverá
ser gerado, o valor do clock que será usado pela cpu,..).
As diretivas sempre começam com ‘ # ’.
Um bom exemplo é a diretiva que inclui no processo de compilação asdefinições do chip.
#include
A terminação .H indica um Header File da linguagem C, ou seja, um cabeçalho.
Equivale ao P16F84.INC usado no assembler.

I.4 - Indicador de fim de instrução
O compilador C não é um compilador de linha, como o assembler.
O compilador C procura o sinal de que a instrução ou o bloco de instruções já
acabou.
Este sinal é o “ponto e virgula” para uma instrução...
tracking img