resumo linguagem c para microcontroladores pic usando mikroc

24
Linguagem C Resumo da linguagem C com foco em desenvolvimento para microcontroladores PIC baseado na IDE MikroC for PIC Por : Fábio B. de Souza

Upload: fabio-souza

Post on 27-May-2015

15.078 views

Category:

Technology


22 download

DESCRIPTION

Breve resumo sobre linguagem C com foco no compilador mikro C

TRANSCRIPT

Page 1: Resumo linguagem c para microcontroladores PIC usando MikroC

Linguagem CResumo da linguagem C com foco em desenvolvimento para

microcontroladores PIC baseado na IDE MikroC for PIC

Por : Fábio B. de Souza

Page 2: Resumo linguagem c para microcontroladores PIC usando MikroC

Porque usar linguagem C?

•Características:

•Estruturada;•Alto nível (comparada ao Assembly);•Facilidade de acesso ao hardware;•Portabilidade;•Curva de aprendizagem reduzida; •Reutilização de código;

Page 3: Resumo linguagem c para microcontroladores PIC usando MikroC

Estrutura básica de um programa em C para microcontroladoresvoid main() {

//inicializações de hardware e software

while(1) //loop infinito

{

/*tarefas a serem executadas

pelo microcontrolador durante

o funcionamento */

}

}

Page 4: Resumo linguagem c para microcontroladores PIC usando MikroC

Comentários

São Utilizados para:◦ Documentação do software;◦ Exclusão de linhas durante a compilação.

Comentários de linha simples:

//este é um comentário de linha simples

Comentários de Múltiplas linhas:

/*este é um comentário de múltiplas linhas

*/

Page 5: Resumo linguagem c para microcontroladores PIC usando MikroC

Representação numérica

• Decimal:• valorDecimal = 125;

• Binário:• PORTA=0b11010011;

• Hexadecimal:• valor_hexa = 0xA4;

• Octal:• valorOctal=075;

• Caracter:• valorCarcter = ‘A’;

Page 6: Resumo linguagem c para microcontroladores PIC usando MikroC

Tipos de Dados

TIPO RESPRESENTA

char caracteres

int inteiros

float e doublevalores com casas decimais

(ponto flutuante)

void nulos

Page 7: Resumo linguagem c para microcontroladores PIC usando MikroC

Modificadores de tipos

Modificador modificação

signed Sinalizado

Unsigned Não sinalizado

Short Inteiro menor que o padrão

Log Inteiro maior que o padrão

Page 8: Resumo linguagem c para microcontroladores PIC usando MikroC

Tipos de dados no MikroCTipos inteiros: TIPO Tamanho Range

bit 1–bit 0 or 1

sbit 1–bit 0 or 1

(unsigned) char 1 byte 0 .. 255

signed char 1 byte - 128 .. 127

(signed) short (int) 1 byte - 128 .. 127

unsigned short (int) 1 byte 0 .. 255

(signed) int 2 byte -32768 .. 32767

unsigned (int) 2 byte 0 .. 65535

(signed) long (int) 4 byte -2147483648 .. 2147483647

unsigned long (int) 4byte 0 .. 4294967295

Page 9: Resumo linguagem c para microcontroladores PIC usando MikroC

Tipos de dados no MikroCTipo de ponto flutuante:

Tipo Tamanho Range

float 4 byte -1.5 * 1045 .. +3.4 * 1038

double 4 byte -1.5 * 1045 .. +3.4 * 1038

long double 4 byte -1.5 * 1045 .. +3.4 * 1038

Page 10: Resumo linguagem c para microcontroladores PIC usando MikroC

Declaração de Variáveis

Um variável é declarada da seguinte forma:

<qualificador> + <tipo de dado> + <nome da variável> + <valor>;

Obs.: onde o valor pode ou não ser inicializado.

Exemplos: unsigned int valor = 12345;int contador;short y;

Page 11: Resumo linguagem c para microcontroladores PIC usando MikroC

Variável local

• É declarada dentro de um bloco de instruções, é só pode se acessada dentro deste bloco.

• Exemplo:int delay()

{

int valor1 =5;

int valor2 =7;

return(valor1+valor2)/2;

}

Page 12: Resumo linguagem c para microcontroladores PIC usando MikroC

Variável global• É declarada fora de bloco de função e pode ser acessada por todas as funções e blocos de instruções.

• Exemplo:

int valor1 =5;

int valor2 =7;

int media()

{

return(valor1+valor2)/2;

}

int soma()

{

return(valor1+valor2)/

}

Page 13: Resumo linguagem c para microcontroladores PIC usando MikroC

Operadores Aritméticos

• Realizam operações matemáticas:

OPERADOR AÇÃO

+ Adição

- Subtração

* Multiplicação

/ Divisão

% Resto de divisão inteira

++ Incremento

-- Decremento

Page 14: Resumo linguagem c para microcontroladores PIC usando MikroC

Operadores Relacionais

• Usados em testes condicionais para determinar relações entre dados.

OPERADOR AÇÃO

> Maior que

>= Maior ou igual que

< Menor que

<= Menor ou igual que

== Igual a

!= Diferente de

Page 15: Resumo linguagem c para microcontroladores PIC usando MikroC

Operadores lógicos

• São usados para realizar testes booleanos entre elementos em um teste condicional

OPERADOR AÇÃO

&& AND (E)

|| OR (OU)

! NOT (NÃO)

Page 16: Resumo linguagem c para microcontroladores PIC usando MikroC

Operadores lógicos bit a bit

• São utilizados para operações lógicas entre elementos ou variáveis.

OPERADOR AÇÃO

& AND(E)

| OR(OU)

^ XOR (OU EXCLUSIVO)

~ NOT (NÃO)

>> Deslocamento à direita

<< Deslocamento à esquerda

Page 17: Resumo linguagem c para microcontroladores PIC usando MikroC

Associação de operadores

• Abreviação entre a operação e atribuição

Forma expandida Forma reduzida

x = x + y x += y

x = x - y x -= y

x = x * y x *= y

x = x / y x /= y

x = x % y x %= y

x = x & y x &= y

x = x | y x |= y

x = x ^ y x ^= y

x = x << y x <<= y

x = x >> y x >>= y

Page 18: Resumo linguagem c para microcontroladores PIC usando MikroC

if

• Utilizada para executar um comando ou bloco de comandos no casode uma determinada condição ser avaliada como verdadeira.

• Forma geral:• if(condição) comando;

• Exemplo:• if(temperatura < setPoint) RELE = 1;

Page 19: Resumo linguagem c para microcontroladores PIC usando MikroC

if - else

• Utilizado quando há a necessidade de tomar uma ação caso a condição for avaliada como falsa.

if (condição)

comandoA;

else

comandoB;

Exemplo:

if (temperatura < setpoint)

rele = 1;

else

rele = 0;

Page 20: Resumo linguagem c para microcontroladores PIC usando MikroC

if - else

• Para executar um bloco de códigos dentro da declaração if- else:

if(condição){comandoA1; //bloco de código para a condição verdadeiracomandoaA2; ...comandoAn;

}else{comandoB1; //bloco de código para a condição falsacomandoB2; ...comandoBn;

}

Page 21: Resumo linguagem c para microcontroladores PIC usando MikroC

switch

• É utilizado para a realização de comparações sucessivas de uma forma elegante, clara eeficiente.

switch(variável)

{

case constante1:

comandoA;

. . .

break;

case constante2:

comandoB;

. . .

break;

. . .

. . .

default:

comandoX;

}

Page 22: Resumo linguagem c para microcontroladores PIC usando MikroC

for Forma geral:

for( inicialização;condição;incremento) comando;

Ou

for( inicialização;condição;incremento)

{

Comando1;

Comando2;

. . .

ComandoN;

}

onde:• inicialização: essa seção conterá uma inicialização para a variável;• condição: que interromperá o laço• incremento: operação a cada iteração

Page 23: Resumo linguagem c para microcontroladores PIC usando MikroC

while

• Repete um comando ou um conjunto de instruções enquanto umacondição for avaliada como verdadeira.

• Forma geral:while(condição)

{

comando1;

comando2;

...

comandoN;

}

Page 24: Resumo linguagem c para microcontroladores PIC usando MikroC

do-while

• Este laço é uma variação do comando WHILE, sendo que neste caso o comando será executado antes de testa se a condição é verdadeira.

• Forma geral:do

{

comandoA;

comandoB;

...

comandoN;

} while (condição);