Linguagem C para microcontroladores

Linguagem C para microcontroladores

(Parte 1 de 8)

Linguagem ´C´ para microcontroladores

Introdução

VIDAL Projetos Personalizados Eng. Vidal Pereira da Silva Júnior

Linguagem C para microcontroladores PIC Parte I - Iniciação à linguagem C

VIDALVIDAL Projetos Personalizados - (011) - 6451 - 8994 / 9378 - 0101 - w.vidal.com.br

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:

wIniciação à Linguagem C wImplementação da CCS para a linha microchip wExemplos práticos de hardware e software

Parte I - Iniciação à linguagem C

inicialização,).

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

Desta forma 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 STATUS,RP0 write_eeprom(0x20,0x12); movlw 20H movwf EEADR movlw 12H movwf EEDATA bsf STATUS,RP0 bcf INTCON,GIE bsf EECON1,WREN movlw 55H movwf EECON2 movlw 0AAH movwf EECON2 bsf EECON1,WR

Linguagem C para microcontroladores PIC Parte I - Iniciação à linguagem C

VIDALVIDAL Projetos Personalizados - (011) - 6451 - 8994 / 9378 - 0101 - w.vidal.com.br 2

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

#include <>Diretivas de compilação
#fuses

Modelo básico // comentário ocupando uma linhaComentários

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

Linguagem C para microcontroladores PIC Parte I - Iniciação à linguagem C

VIDALVIDAL Projetos Personalizados - (011) - 6451 - 8994 / 9378 - 0101 - w.vidal.com.br 3

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 programa fonte 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

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

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 para microcontroladores PIC Parte I - Iniciação à linguagem C

VIDALVIDAL Projetos Personalizados - (011) - 6451 - 8994 / 9378 - 0101 - w.vidal.com.br 4

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 as definições do chip.

#include <16F84.H>

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.

(Parte 1 de 8)

Comentários