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

Slides:



Advertisements
Apresentações semelhantes
Algoritmo e Programação
Advertisements

Introdução a Algoritmos
TÉCNICAS DE PROGRAMAÇÃO I
Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Desenvolvendo Algoritmos
INTRODUÇÃO – LOGICA E ALGORITMOS
Algoritmo e Programação
Meu primeiro programa em ARDUINO
Paradigmas de Linguagens Conceitos Básicos
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Algoritmos.
Tipos de dados, Variáveis, Expressões e Operadores
Introdução à Computação - Jorge Macêdo
Lógica de Programação Módulo II
INTRODUÇÃO À PROGRAMAÇÃO
Estruturas de Controle
LINGUAGEM ESTRUTURADA TURBO C
Lógica de Programação/ Algoritmos 2013
Introdução a Programação
Algoritmos e Estruturas de Dados I Construção de Algoritmos
Paradigmas de programação
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Lógica de Programação Introdução.
Introdução à Programação
PROGRAMAÇÃO I UNIDADE 1.
Fluxogramas e Pseudo-código
CEPMAT Curso Técnico em Informática
INTRODUÇÃO – LOGICA E ALGORITMOS
Representação de Algoritmos
Estrutura de dados, pseudocódigo
© 2003 Introdução à programaçãoComputadores e programação I Linguagens de programação Introdução ao C (continuação)
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação Versão: _01.
ENGENHARIA DE AUTOMAÇÃO INDUSTRIAL
Introdução a Programação
Algoritmos e Programação de Computadores
Algoritmos 1º Semestre Materia: Informática Profº: Cristiano.
Operadores Relacionais, Lógicos e comandos de condição
TÉCNICAS DE PROGRAMAÇÃO
Estrutura de Decisão e Repetição
2. Lógica de Programação Definição de Lógica Definição de Algoritmo
Faculdade Talentos Humanos - FACTHUS - Algoritmo I - Rogério Rodrigues
BC-0505 Processamento da Informação
Conceitos Básicos Luis Antonio Tavares
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
CH: 60h Créditos: 3 Prof Me. Tiago Araujo
Introdução a Algoritmos
Introdução à Linguagem C
Fábio de Oliveira Borges
Algoritmos Estruturados
Algoritmos e Estruturas de Dados I – Estruturas de Controle de Fluxo
Algoritmo e Programação
Linguagens de Programação
Introdução aos algoritmos de programação
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos Aquiles Burlamaqui UERN
Revisão LPG-I – Revisão de ICC Prof. Flavio Marcello
Fundamentos de linguagens de programação
Programação de Computadores - 1
Etapas : Algoritmo é uma sequência lógica de instruções que podem ser executadas. É importante destacar que qualquer tarefa que siga um certo padrão.
Linguagens de Programação
Algoritmos e Programação I
ALGORITMOS.
Exercícios Faça um algoritmos para trocar uma lampada queimada.
Algoritmo É uma descrição seqüencial ordenada dos passos que devem ser executados de forma lógica e clara, com a finalidade de facilitar a resolução de.
Linguagens de Programação
Algoritmos e Estruturas de Dados I - Introdução
Algoritmos e Programação I
1 Estruturas de Controle Algoritmos Algoritmos –Série de ações em uma ordem específica As ações executadas Ordem na qual as ações são executadas.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Transcrição da apresentação:

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

Pinagem do 16F628A (18)

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. char letra; letra = ‘a’;

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. 0 0 0 0 0 0 0 0

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. x 0 x x x x x x

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. x 1 x x x x x x

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.

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’. }

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.

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’.

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.

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

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.

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.

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

Formas de Representação de Algoritmos Descrição Narrativa Fluxograma Convencional Pseudocódigo, Linguagem Estruturada ou Portugol Fluxograma de Chapin

Descrição Narrativa representação dos algoritmos diretamente em linguagem natural (receita de bolo) Troca de um pneu furado: Afrouxar ligeiramente as porcas Suspender o carro Retirar as porcas e o pneu Colocar o pneu reserva Apertar as porcas Abaixar o carro Dar o aperto final nas porcas

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

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 ou retorno de subalgoritmo Decisão Fluxo da informação (dado)

Início N1, N2 Média  (N1 + N2) / 2 .V. Média>=7 Aprovado .F. Reprovado Fim

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.

Fluxograma de Chapin Criado por NED CHAPIN a partir dos trabalhos de NASSI & SHNEIDERMAN Leia(N1, N2) Média  (N1 + N2) / 2 Média >= 7 V F imprima(Aprovado) imprima(Reprovado)

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).

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.

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;

falsa verdadeira Condição B A 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. falsa verdadeira Condição B A

falsa Condição verdadeira repetição (loop) A 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 normalmente pela instrução seguinte a instrução enquanto. Se a condição for verdadeira o comando A é executado e ao seu término retorna-se ao teste da condição. Assim, o processo acima será repetido enquanto a condição testada for verdadeira. Quando esta for falsa, o fluxo de execução prosseguirá normalmente pelas instruções posteriores a instrução enquanto. falsa Condição verdadeira repetição (loop) A