27
Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Embed Size (px)

Citation preview

Page 1: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Programação de PIC em C

Exposição das funções básicas paraprogramar microcontroladores PIC

Page 2: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Pinagem do 16F628A (18)

Page 3: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

DECLARAÇÃO DE VARIAVEIS• Para utilizar variáveis de controle no programa é

necessário indicar para o software o tipo de variável a ser utilizada. Os tipos básicos são mostrados a seguir:

• INT valor inteiro.

Ex.:

int x;

x = 5;• CHAR caractere.

Ex.:

char letra;

letra = ‘a’;

Page 4: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

FUNÇÕES PARA ESCRITA NOS PORT’S DE I/O

• OTPUT_Z(X) Onde ‘X’ é o valor em decimal dos pinos em

que se deseja executar a escrita e ‘Z’ é o nome da porta de i/o.

Ex.: output_b(255) => representa todos os pinos da porta B acionados.

B0 B1 B2 B3 B4 B5 B6 B7 1 1 1 1 1 1 1 1 output_b(0) => representa todos os pinos da

porta B desacionados. B0 B1 B2 B3 B4 B5 B6 B7 0 0 0 0 0 0 0 0

Page 5: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

• OUTPUT_LOW(Y) Utilizado quando deseja-se comandar um pino

separadamente. Onde ‘Y’ é o ‘valor’ do pino. Ex.: output_low(48) => representa a escrita de

nível lógico baixo no pino de saída B0. B0 B1 B2 B3 B4 B5 B6 B7 0 x x x x x x x output_low(49) => representa a escrita de nível

lógico baixo no pino de saída B1. B0 B1 B2 B3 B4 B5 B6 B7 x 0 x x x x x x

Page 6: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

• OUTPUT_HIGH(Y)

Utilizado quando deseja-se comandar um pino separadamente.

Onde ‘Y’ é o ‘valor’ do pino.

Ex.: output_high(48) => representa a escrita de nível lógico alto no pino de saída B0.

B0 B1 B2 B3 B4 B5 B6 B7

1 x x x x x x x

output_high(49) => representa a escrita de nível lógico alto no pino de saída B1.

B0 B1 B2 B3 B4 B5 B6 B7

x 1 x x x x x x

Page 7: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

FUNÇÕES PARA LEITURA DOS PORT’S DE I/O

• INPUT(X) Lê o estado lógico no pino especificado

por ‘X’. Ex.: Z = input(pin_b0) => armazena em z

o valor lógico contido no pino B0.• INPUT_Y( ) Lê o estado lógico da porta especificada

por ‘Y’. Ex.: Z = input_b( ) => armazena em z o

valor lógico contido nos oito pinos de entrada da porta B.

Page 8: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

EXEMPLO DE PROGRAMA PARA ASCENDER E APAGAR LED’S

#include <16f628a.h> //biblioteca do microcontrolador a ser utilizado.

#use delay(clock=4000000) //velocidade de clock do hardware.

void main() //função principal do programa.

{

output_b(255); //todos os pinos do port b em ‘1’.

delay_ms(1000); //conta um tempo de 1 segundo.

output_b(0); //todos os pinos do port b em ‘0’.

delay_ms(1000); //conta um tempo de 1 segundo.

}

Page 9: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

COMANDO DE DECISÃO• IF ( condição) // se (verdadeiro)

{ comandos // comandos caso condição seja verdadeira.

}

ELSE

{ comandos // comandos caso condição seja falsa.

}

* Condição pode ser qualquer operação que retorne verdadeiro ou falso.

Page 10: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

EXEMPLO DE PROGRAMA PARA DECISÃO

#include <16f628a.h> //biblioteca do microcontrolador a ser utilizado.

#use delay(clock=4000000) //velocidade de clock do hardware.

void main() //função principal do programa.

{

x = input(pin_a0);

if (x ==1)

{

output_b(15);

delay_ms(1000); //conta um tempo de 1 segundo.

}

else

{

output_b(0); //todos os pinos do port b em ‘0’.

delay_ms(1000); //conta um tempo de 1 segundo.

}

}

Page 11: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Problema

• Objeto da questão.• Um problema será uma pergunta (ou, situação)

de caráter geral a ser respondida (ou, resolvida).

• Um problema é descrito identificando-se:– quais são os possíveis dados (ou entradas);– quais são os possíveis resultados (ou saídas);– que condições (ou relações) devem ser satisfeitas

para que um particular resultado seja uma saída aceitável para uma certa entrada.

Page 12: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Lógica

• Trata da correção do pensamento, do raciocínio.

• Arte de pensar corretamente.

Givanildo é mais velho que Durvalino.

Durvalino é mais velho que Alzemiro.

Portanto, Givanildo é mais velho que Alzemiro

Page 13: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Algoritmo

• Algoritmo é uma seqüência de passos que visam atingir um objetivo determinado.

• Um algoritmo pode ser visto como uma seqüência de ações executáveis para a obtenção de uma solução para um determinado tipo de problema.

• Receita de bolo.

Page 14: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Programa

• O processamento de dados é feito pela execução de programas.

• Um programa é uma seqüência de instruções codificadas em uma linguagem de programação e para ser executado precisa ser armazenado na memória do computador.

• Programar é basicamente estruturar dados e construir algoritmos.

• Software, Sistemas de Computador.

Page 15: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Linguagem de Programação

• Software, através símbolos (convenções) permite exprimir de uma forma “natural”o raciocínio algorítmico.

• Linguagens Estruturadas– Pascal, Clipper, C, Cobol

• Linguagens Orientadas a Objetos– Delphi, C++, Java

Page 16: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Formas de Representação de Algoritmos

• Descrição Narrativa

• Fluxograma Convencional

• Pseudocódigo, Linguagem Estruturada ou Portugol

• Fluxograma de Chapin

Page 17: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Descrição Narrativa

• representação dos algoritmos diretamente em linguagem natural (receita de bolo)

Troca de um pneu furado:Afrouxar ligeiramente as porcasSuspender o carroRetirar as porcas e o pneuColocar o pneu reservaApertar as porcasAbaixar o carroDar o aperto final nas porcas

Page 18: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Fluxograma Convencional

• É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintas.

• detalhes físico da implementação do algoritmo

Page 19: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Simbologias Básica

Início e final do fluxograma

Operação de entrada de dados

Operação de saída de dados

Operações de atribuição e chamada ouretorno de subalgoritmo

Decisão

Fluxo da informação (dado)

Page 20: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Início

N1, N2

Média (N1 + N2) / 2

Média>=7

Reprovado

Aprovado

Fim

.V.

.F.

Page 21: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Pseudocódigo, Portugol

• assemelha-se bastante à forma em que os programas são escritos

Programa Aprovação;var N1, N2, Média: real;início leia(N1, N2); Média (N1 + N2) / 2; Se Média >= 7 Então Escreva(“Aprovado”) Senão Escreva(“Reprovado”);fim.

Page 22: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Fluxograma de Chapin

Leia(N1, N2)

Média (N1 + N2) / 2

Média >= 7

imprima(Aprovado) imprima(Reprovado)

V F

• Criado por NED CHAPIN a partir dos trabalhos de NASSI & SHNEIDERMAN

Page 23: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Método para Construção de Algoritmos• Ler atentamente o enunciado.• Retirar do enunciado a relação das entradas de

dados.• Definir a relação das saídas.• Determinar o que deve ser feito para

transformar entradas determinadas nas saídas especificadas

• Construir o algoritmo.• Executar o algoritmo (teste de mesa).

Page 24: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Desenvolvimento de Programas• De posse de um bom algoritmo, a tarefa

a seguir é expressá-lo em uma determinada linguagem de programação, envolvendo as seguintes etapas:– Implementação (refinamento e codificação);– Certificação (depuração e verificação);– Análise de eficiência;– Documentação.

Page 25: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

Seqüencial (ou composição)

• Na estrutura seqüencial os comandos são executados numa seqüência pré-estabelecida.

• Cada comando é executado somente após o término do comando anterior.

• início - fim

início

Comando 1;

Comando 2;

...

Comando N;

fim;

Page 26: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

verdadeira

A

Condiçãofalsa

B

se Condição então A senão B;

No caso da Condição avaliada ser verdadeira, o comando A é executado e, após seu término, o fluxo de execução prossegue pela próxima instrução após a instrução se.

Quando a Condição é falsa, o comando B é executado e o fluxo prossegue normalmente pela primeira instrução após a instrução se.

Page 27: Programação de PIC em C Exposição das funções básicas para programar microcontroladores PIC

verdadeira

A

Condiçãofalsa

repetição(loop)

enquanto Condição faça A;

Ao início da construção enquanto a Condição é testada. Se seu resultado for falso,então o comando no seu interior não é executado e a execução prossegue normalmentepela instrução seguinte a instrução enquanto.

Se a condição for verdadeira o comando A é executado e ao seu término retorna-se aoteste da condição. Assim, o processo acima será repetido enquanto a condição testadafor verdadeira. Quando esta for falsa, o fluxo de execução prosseguirá normalmentepelas instruções posteriores a instrução enquanto.