Escolar Documentos
Profissional Documentos
Cultura Documentos
Revisão da Linguagem C
• Arduino ?
• ATMEL ?
• PIC ?
• ARM ?
Histórico
• Assembly:
• Baixo nível
• Conjunto de instruções limitado ao
conjunto de instruções do processador
utilizado
• Muito trabalho de programação
• Programas muito extensos e
complexos
• Fluxo muitas vezes difícil de ser
seguido
Histórico
PASCAL e C
• Microcontrolador
• São sistemas computacionais completos, com memória, dispositivos de
I/O, A/D, entre outros
• Possibilita a construção de sistemas quase sem nenhum hardware extra
• Possuem capacidade de processamento limitada
• Estrutura de Hardware não pode ser mudada
• Microprocessadores
• É necessário incluir todos os periféricos
• Flexibilidade de configuração de hardware
• Custo maior
• Maior capacidade de processamento
Microprocessador x Microcontrolador
Arquitetura interna
• Arquitetura Harvard
• 40 pinos
• EEPROM
• UART
• SPI
• I2C
• CCP
• 14 Canais de A/D
Programação do PIC
• PCW HD
• MPLAB
• Micro C
• CCS
• XC8
• ...
• PICKIT3
Simulação do PIC
PROTEUS
Principais Estruturas da Linguagem C
Estrutura de decisão
𝒊𝒇 aninhado
+ de uma condição em um 𝒊𝒇
Principais Estruturas da Linguagem C
Principais Estruturas da Linguagem C
Principais Estruturas da Linguagem C
Principais Estruturas da Linguagem C
Diretivas de Compilação:
#include<...>
#fuses .....
Declarações Globais:
#define BITS 8
int8 var1
Declaração das funções:
void soma(int8 a, int8 b)
Estrutura de um programa em
linguagem C
Definições Locais:
int16 var
float a
Instruções:
x=a+b;
if(a==b)
Diretivas de Compilação
• Inclusão de bibliotecas
• Podem ser bibliotecas prontas ou criadas pelo usuário (*.h, *.c)
• Exemplo
#include <16F887.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP, NOMCLR
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
Declarações Globais
#define BITS 8
𝒂 = 𝒂 + 𝑩𝑰𝑻𝑺; //é o mesmo que fazer 𝒂 = 𝒂 + 𝟖;
• Exemplo:
void change_settings(void)
{
a=b+c;
}
Declarações das funções – prototipação -
Interrupções
#INT_EXT
void exemplo(void)
{
int1 sinaliza_interrupt=0;
sinaliza_interrupt=1;
}
Definições Locais
void main(void)
{
int1 a=0;
int8 b;
if(condição)
{
…..
}
for(condição)
{
c = a+b;
}
….
}
Generalidades linguagem C
Exemplo: /* Engenharia
Elétrica
URI 2020 */
ou //engenharia elétrica
Generalidades linguagem C
Operadores
Compilador