Buscar

04_CparaPIC

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação C para PIC
Guilherme Luiz Moritz1
1 DAELT - Universidade Tecnológica Federal do Paraná
7 de maio de 2014
Moritz, G.L. Programação C para PIC
Motivação
Porque programar microcontroladores em C?
Moritz, G.L. Programação C para PIC
Vantagens do C
Linguagem estruturada→ modularização
Muito próxima da máquina→ nível médio
Manipulação direta de recursos do microprocessador
Moritz, G.L. Programação C para PIC
Programando um Microcontrolador
Moritz, G.L. Programação C para PIC
Compiladores C para PIC
C18→ www.microchip.com.br
HI-TECH→ www.htsoft.com
CCS→ www.ccsinfo.com
IAR→ www.iar.com
MikroC→ www.mikroe.com
Moritz, G.L. Programação C para PIC
Revisão
Revisão de C com foco em Microcontroladores
Moritz, G.L. Programação C para PIC
Etapas de um programa em C
Moritz, G.L. Programação C para PIC
Estrutura de um programa em C
As palavras reservadas do MikroC são case insensitive,
enquanto o C é case sensitive
Moritz, G.L. Programação C para PIC
Representações numéricas em C
int contador;
contador = 123; //decimal
contador = 0b1111011; //binário
contador = 0x7B; //hexadecimal
contador = 0173; //octal
unsigned char texto[18] = "Guilherme - ET76H"; //string
char chr = ’G’; //modo char
Moritz, G.L. Programação C para PIC
Tipos de Dados
Atentar para o fato de cada arquitetura apresentar
tamanhos diferentes!
Moritz, G.L. Programação C para PIC
Operadores em C
Moritz, G.L. Programação C para PIC
Controle de Fluxo
char valor = PORTA; //a variável valor recebe o valor de PORTA
if(valor == 0xAA) //Se o valor lido for 0xAA
{
PORTB.B0 = 1; //Executa se Verdadeiro
}
else
{
PORTB.B0 = 0; // Executa se Falso
}
Moritz, G.L. Programação C para PIC
Controle de Fluxo
char chr = PORTA;
switch(chr)
{
case ’A’:
{
PORTB.B0 = 1;
break;
}
case ’B’:
{
PORTB.B1 = 1;
break;
}
default:
{
PORTB.B2 = 1;
}
}
Moritz, G.L. Programação C para PIC
Controle de Fluxo
while(1) //loop infinito
{
PORTB.B1 = 1; //RB.1 aceso
delay_ms(1000); //aguarda 1s
PORTB.B1 = 0; //RB.1 apagado
}
do
{
PORTB.B1 = 1; //RB.1 aceso
delay_ms(1000); //aguarda 1s
PORTB.B1 = 0; //RB.1 apagado
}(while PORTB.P0 == 0); //loop condicional
Moritz, G.L. Programação C para PIC
Controle de Fluxo
char fonte[8] = "bolotas";
char destino[8];
for(int i=0;i<8;i++)
{
PORTB = fonte[i];
while(PORTA.B0==1);
}
Moritz, G.L. Programação C para PIC
Matrizes, Arrays e Funções
char calendar[12] = {31, 28, 31, 30,31,30,31,30,31,31,30,31,30,31};
int valores[12];
int matriz[3][2];
char msg[]="Microcontroladores - UTFPR";
char in[255];
Funções:
tipo_de_retorno nome_da_funcao (tipo argumento1, tipo argumento2,...)
{
(comandos)
return ...;
}
Moritz, G.L. Programação C para PIC
Assembly inline
Porque usar assembly inline?
char valor = 100;
asm
{
LOOP
bsf PORTB,0 //set pino RB0, ou seja = 1
nop
bcf PORTB,0 //reset pino RB0, ou seja = 0
...
}
Moritz, G.L. Programação C para PIC
Libraries do MikroC
http://www.mikroe.com/mikroc/pic/libraries/
Moritz, G.L. Programação C para PIC
	Programação C
	Introdução ao C
	Revisão de C com foco em Microcontroladores

Outros materiais