Documente Academic
Documente Profesional
Documente Cultură
de Microcontroladores
Engenharia Eltrica/Computao
Microcontroladores e Microprocessadores
Fernando Rocha
Tpicos
Linguagens e Compiladores
Assistente de Criao de Programas (Wizard)
Linguagens e Compiladores
Assembly
MPLAB
C
MikroC, CCS PICC, Hitech PICC, MPLAB C18
Basic
MikroBasic
Diagrama de blocos
Flowcode
Linguagem C
Linguagem de programao de uso geral
desenvolvida no incio da dcada de 70.
Programao procedural
imperativo) .
(paradigma
Linguagem C
Linguagem C
Arquivo de cdigo (Source Code)
terminado com a extenso .c
contm a implementao do cdigo
compilado gerando um arquivo .o
Linguagem C
Comentrios:
Uma linha:
Bloco:
//comentario
/* comentario */
Cdigo executado
durante as
interrupes
Funo Principal
Ponto de partida
do programa
Linguagem C
Tipos de dados:
Toda informao que inserida num computador
armazenada em formato binrio
Cada tipo de informao contm uma quantidade
diferente de bits
Cada bit pode representar informaes diferentes,
mesmo dentro de uma mesma varivel
Default Type
short
int1
char
unsigned int8
int
int8
long
int16
long long
int32
float
float32
Tipo
Tamanho
Unsigned
int1
1 bit
0a1
int8
8 bit
0 a 255
int16
16 bit
0 a 65535
int32
32 bit
0 a 4294967295
float32
32 bit
Signed
N/A
-128 a 127
-32768 a 32767
-2147483648 a 2147483647
if (expr)
stmt-1;
[else
stmt-2;]
Switch
switch (cmd) {
case 0:printf("cmd 0");
break;
case 1:printf("cmd 1");
break;
default:printf("bad cmd");
break; }
for (i=1;i<=10;++i)
printf("%u\r\n",i);
While
while (get_rtcc()!=0)
putc('n');
Do-While
do {
putc(c=getc());
} while (c!=0);
O Loop Infinito
Os sistemas embarcados geralmente executam uma
mesma tarefa, de maneira repetitiva, durante todo o seu
funcionamento.
Cdigo principal colocado dentro de um loop infinito:
Linguagens e Compiladores
Compilador PICC da Empresa CCS
Programao em C com funes simplificada e
otimizadas para os perifricos do microcontrolador
PIC.
Power-Up Timer
Brown-Out Reset
Watchdog Timer
Porta de Reset
Configuraes de Hardware
output_high(pin)
output_low(pin)
output_toggle(pin)
input(pin)
Dvidas?
fernandorocha@logatti.edu.br