Sistemas Microcontrolados



Documentos relacionados
MC102 Algoritmos e programação de computadores Aula 3: Variáveis

Algoritmos e Programação

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Linguagens de Programação

Programação Básica em Arduino Aula 2

Resumo da Introdução de Prática de Programação com C. A Linguagem C

2. Constantes e Variáveis

Comunicação USB com o PIC Vitor Amadeu Souza Parte II vitor@cerne-tec.com.br

1. Introdução. 2. Compiladores 3. A Linguagem C do CCS Bibliografia. Teresina C vs Assembly

Tipo de Dados em Linguagem C

Sintaxe Básica de Java Parte 1

Conceitos Básicos de C

Programas simples em C

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Programação: Tipos, Variáveis e Expressões

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Variáveis e Comandos de Atribuição

INF 1005 Programação I

Introdução a C Tipos de Dados Variáveis Operadores

Capítulo 2. Fundamentos de Java

Revisão C++ - Parte 1

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

INF 1005 Programação I

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Programação de Computadores - I. Profª Beatriz Profº Israel

O COMPUTADOR. Introdução à Computação

Linguagens de Programação

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

TEM VÁRIOS ESTADOS: 0V,0.1V,3V,3.3V,4V,5V,10V, ETC.

01/08/2011 PROGRAMAÇÃO EM LINGUAGEM C. Histórico

Revisão Linguagem C Parte 1

Sistemas Embarcados Programação Embarcada

Linguagem C para Microcontroladores

Primeiro Curso de Programação em C 3 a Edição

Programação em linguagem C EA870 - FEEC - Unicamp

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Capítulo 2: Introdução à Linguagem C

Introdução à Programação

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Sistemas Embarcados:

2 Orientação a objetos na prática

INTRODUÇÃO À LINGUAGEM C++

Programando em C++ Histórico da Linguagem C

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Algoritmos e Programação Estruturada

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Convertendo Algoritmos para a Linguagem C

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Representação de Dados (inteiros não negativos)

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

Curso de Linguagem C

A Linguagem Java. Alberto Costa Neto DComp - UFS

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Arquitetura de Sistemas Digitais (FTL066) Instruções: Linguagem do Computador Segunda Lista de Exercícios

Programação em C++: Introdução

Linguagem de Programação C

Programação Estruturada I

Componentes da linguagem C++

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Linguagem de Programação I

Italo Valcy

Exemplos de Programas em C para o 8051 para o compilador crossware EEL Prof. Raimes Moraes

Estrutura de um programa em linguagem C

Descrição e análise da implementação em Assembly MIPS da função itoa

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

Algoritmo e Técnica de Programação - Linguagem C

LINGUAGEM C. Estrutura básica de um programa

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Roteiro 1: Dados, variáveis, operadores e precedência

Linguagem de Programação em C

Conceitos de Linguagens de Programação

Programação em BASIC para o PIC Vitor Amadeu Souza

UNIVERSIDADE FEDERAL DO PARANÁ

Slides_Java_1 !"$ % & $ ' ' Output: Run java. Compile javac. Name of program. Must be the same as name of file. Java source code.

JSP - ORIENTADO A OBJETOS

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira

Curso Prático de C++

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Tabela ASCII de caracteres de controle

Algoritmos e Programação _ Departamento de Informática

Conversão de Tipos e Arrays

Estruturas de Controle em c#

Introdução à Linguagem C

INTRODUÇÃO OBJECT PASCAL/DELPHI

Curso de C: uma breve introdução

Capítulo 3 Aula 8. Representação Numérica. Aritmética Computacional Representação Numérica

Transcrição:

Sistemas Microcontrolados Aula 4: Programação em C para PIC Marco Jose da Silva mdasilva@utfpr.edu.br Compiladores C para PICs C18 HI-TECH CCS IAR MikroC http://www.microchip.com/ http://www.htsoft.com/ http://www.ccsinfo.com/ http://www.iar.com/ http://www.mikroe.com/ Próximos Slides: Rápida revisão da linguagem C Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 2

Etapas de gravação no uc Program written in C Compiled Program (Assembly) HEX (PIC Executable) Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 3 Compilador MikroC /* --------------------------------------------------- Estrutura básica de um programa em C ------------------------------------------------------ */ char quad (char a); // declaração de função void main(void) char temp; // declaração de variável Trisb=0x00; Portb=0x0F; Delay_ms(100); PORTB = quad(portb); Comentários /* xxx */ Função Principal /* --------- Funções auxiliares ------------------------ */ char quad (char a) return a*a; MikroC é case insensitive PortB=PORTB=portb Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 4

Representação numérica Decimal: Contador=125; Binário: Portb=0b11010011; Hexadecimal: Variável1=0xA4; Octal: Teste=075; // zero no início String: Unsigned char *texto= Sistemas uc"; // aspas Caracter: Usart_write('A'); // 'plicks' -> converte caracter 'A' em 8 bits ASCII Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 5 Tipos de Dados Dado: int char float, double void Tipo: Números inteiros Caracteres Números decimais (ponto flutuante) valores nulos Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 6

Modificadores Exemplo: Atenção as conversões de tipos!!! short A=0xFFAA; char a1,a2; a1=a; a2=a>>8; Resp: a1=0xaa a2=0xff Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 7 Operadores matemáticos Aritméticos: Relacionais: Bit a bit: Lógicos: Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 8

Controle de Fluxo IF WHILE if(modo==0x01) //variável modo = 1? buffer = 0x03 & 0xFF; //sim else //senão buffer = 0x03 ^ 0xFF; void main() while(1) //execute sempre, loop infinito PORTB.F1=1; //pino RB1 = 1, led aceso delay_ms(1000); //aguarda 1 segundo PORTB.F1=0; //pino RB1 = 0, led apagado //fecha o bloco while ; Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 9 Controle de Fluxo DO... WHILE FOR void main() do PORTB.F1=1; delay_ms(1000); PORTB.F1=0; while(portb.f0 == 0); //recepção serial de um byte, salvando em DATA // RB0 = clock, RB1 = data DATA=0; for(i=0;i<8;i++) while(portb.f0 == 0); // aguarda sinal clock c=c (PORTB.F1<<i); //le RB1 e recebe um bit Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 10

Controle de Fluxo SWITCH if(received_flag) // se dado foi recebido switch(dados) case 0x01 : send_version() ;break; case 0x02 : relay_on() ;break; case 0x03 : reset_cpu();break; Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 11 Inserindo programação Assembly Partes críticas do programa podem ser escritas em Assembly. P.ex. determinação do tempo de execução asm Assembly language instructions... Exemplo usando uma variável unsigned char maximum = 100; // Declare variables: maximum = 100 asm // Start of assembly code MOVF maximum,w // W = maximum = 100... // End of assembly code Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 12

Bibliotecas do MikroC (Help) Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 13 Relembramdo Vetores e Matrizes unsigned char calendar [12] = 31,28,31,30,31,30,31,31,30,31,30,31; int array[32]; int Table [3][4]; Strings Cadeias de caracteres terminados em \0' char msg[]="mensagem de inicio"; char input[30]; Funções type_of_result function_name (type argument1, type argument2,...) Command; Command;... Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 14

Referências Vidal Pereira da Silva Júnior, Linguagem C para microcontroladores PIC, Apostila Renato A. Silva, Programando Microcontroladores PIC Linguagem C, Editora Erica, 2006 Fábio Pereira, Microcontroladores PIC Programação em C, Erica, 2003. MikroC User Manual, http://www.mikroe.com/pdf/mikroc/mikroc_manual.pdf PIC Microcontrollers - Programming in C http://www.mikroe.com/eng/products/view/285/book-pic-microcontrollersprogramming-in-c/ Sistemas Microcontrolados Marco Jose Da Silva mdasilva@utfpr.edu.br Slide 15