Introducao a programacao.pdf

11
 1.0 Um pouco de História 1.1 Escreve ndo programas em C para Micr oco ntro ladores 1.2 O papel do Comp ilador  1.3 Etapas de desenvolvi mento e gravação de um p rog rama em C no micro con trol ador PIC 1. 0 Kit PICgenio s I 1.1 Contro le de display LCD 1.2 Varredura de dis pl ays de 7 segmentos 1.3 Varredura de teclado matricial 1.4 Acio namento d e leds 1.5 canal de comunic ação serial RS232 e RS485 1.6 Conversores A/D 1.7 Canal PWM Um pouco de História  A liguagem C foi criada por Dennis Ritchie e Ken Thompson no Laboratório Bell em 1972. C é uma linguagem profissional e é aceita e utilizada na criação de sistemas operacionais, tais como Unix, Windows e Linux. A linguagem de programação C tornou-se rapidamente uma das mais importantes e populares, principalmente por ser muito poderosa, por tátil e flexível. Essa flexibilidade tem seu s incov enien tes de permitir que se criem programas desorganizados e de difícil compreensão. É uma linguagem de programação genérica desenvolvida para ser tão eficiente e rápido quanto o assembly e tão estruturada e lógica quanto as linguagens de alto nível (PASCAL, JAVA, etc). C foi desenhada para que usuários possa planejar programas mais estruturados e modulares. O resultado é um programa mais legível e documentado. Os programas em C tendem a ser bastante compactos e de execução rápida. A linguagem C habitualmente pe denominada general purpose, pois sua aplicação não se destina a uma área específica, diferente de outras linguagem como COBOL, PASCAL, FORTRAN, entre outras, e esta é uma das grandes vantagens, pois adapta-se ao desenvolvimento de qualquer projeto. A linguagem C é utilizada para construção de compiladores de outras linguagens. Vamos descrever algums pontos importantes com relação as características do C:  Rapidez - possui performance semelhante as obtidas pelo assembly, pois permite acesso a memória e manipulações de bits, utilizando linguagem de alto nível. Simples - possui sintaxe simples, e números de comandos reduzidos, facilitando o aprendizado da linguagem. Portável - a linguagem C é padronizada (ANSI) no qual define padrões para os compiladores. Podemos transportar nossos programas para outras plataformas e compila-los sem alteração no código. Popular - internacionalmente conhecida e amplamente utilizada por programadores. Modular  - permite a separação do código em módulos distintos e independentes, podendo estes serem utilizados em varíos programas.  Alto Nível  - o C é considerado linguagem de alto nível, quando comparada com a linguage Assembly. Bibliotecas Poderosas - possui diversas bibliotecas e permite a criação de novas pelo programador. Evolução - o C deu origem a novas linguagens de programação, como por exemplo o C++.  Escrevendo programas em C para Microcontroladores  Devido a su a qualidade, portabilidade, eficiência e controle , o C, podemos dizer, é a lingu agem mais utilizada por programadores de microcontroladores. Atualmen te, a maioria dos m icrocontrolador es existentes no mercado con tam com compiladores de linguagem C para o desenvolvimento de programas. Quanto estamos tratando de programas para microcontroladores, devemo s tomar certos cuid ados com r elação a escolh a da linguagem de programação e do compilador a ser utilizada , pois a capacidade de memória de armazenamento do programa é extremamente reduzida, comparando com PC.  Programa escrito em lingua gem C Sabemos que hoje temos computadores portáteis com capacidades de centenas de gigabytes de memória, nesses aspectos

Transcript of Introducao a programacao.pdf

  • 1.0 Um pouco de Histria1.1 Escrevendo programas em C para Microcontroladores1.2 O papel do Compilador1.3 Etapas de desenvolvimento e gravao de um programa em C no microcontrolador PIC

    1. 0 Kit PICgenios I1.1 Controle de display LCD1.2 Varredura de displays de 7 segmentos1.3 Varredura de teclado matricial1.4 Acionamento de leds1.5 canal de comunicao serial RS232 e RS4851.6 Conversores A/D1.7 Canal PWM

    Um pouco de Histria

    A liguagem C foi criada por Dennis Ritchie e Ken Thompson no Laboratrio Bell em 1972. C uma linguagem profissional e aceita e utilizada na criao de sistemas operacionais, tais como Unix, Windows e Linux.A linguagem de programao C tornou-se rapidamente uma das mais importantes e populares, principalmente por ser muitopoderosa, porttil e flexvel. Essa flexibilidade tem seus incovenientes de permitir que se criem programas desorganizados ede difcil compreenso. uma linguagem de programao genrica desenvolvida para ser to eficiente e rpido quanto oassembly e to estruturada e lgica quanto as linguagens de alto nvel (PASCAL, JAVA, etc).C foi desenhada para que usurios possa planejar programas mais estruturados e modulares. O resultado um programamais legvel e documentado. Os programas em C tendem a ser bastante compactos e de execuo rpida.A linguagem C habitualmente pe denominada general purpose, pois sua aplicao no se destina a uma rea especfica,diferente de outras linguagem como COBOL, PASCAL, FORTRAN, entre outras, e esta uma das grandes vantagens, poisadapta-se ao desenvolvimento de qualquer projeto. A linguagem C utilizada para construo de compiladores de outraslinguagens.Vamos descrever algums pontos importantes com relao as caractersticas do C: Rapidez - possui performance semelhante as obtidas pelo assembly, pois permite acesso a memria e manipulaes de bits,utilizando linguagem de alto nvel.Simples - possui sintaxe simples, e nmeros de comandos reduzidos, facilitando o aprendizado da linguagem.Portvel - a linguagem C padronizada (ANSI) no qual define padres para os compiladores. Podemos transportar nossosprogramas para outras plataformas e compila-los sem alterao no cdigo.Popular - internacionalmente conhecida e amplamente utilizada por programadores.Modular - permite a separao do cdigo em mdulos distintos e independentes, podendo estes serem utilizados em varosprogramas.Alto Nvel - o C considerado linguagem de alto nvel, quando comparada com a linguage Assembly.Bibliotecas Poderosas - possui diversas bibliotecas e permite a criao de novas pelo programador.Evoluo - o C deu origem a novas linguagens de programao, como por exemplo o C++.

    Escrevendo programas em C para Microcontroladores

    Devido a sua qualidade, portabilidade, eficincia e controle , o C, podemos dizer, a linguagem mais utilizada porprogramadores de microcontroladores. Atualmente, a maioria dos microcontroladores existentes no mercado contam com

    compiladores de linguagem C para o desenvolvimento de programas.Quanto estamos tratando de programas para microcontroladores, devemos tomar certos cuidados com relao a escolha dalinguagem de programao e do compilador a ser utilizada , pois a capacidade de memria de armazenamento do programa extremamente reduzida, comparando com PC.

    Programa escrito em linguagem C

    Sabemos que hoje temos computadores portteis com capacidades de centenas de gigabytes de memria, nesses aspectos

    1 de 11 15/12/2014 00:28

  • o "tamanho" do cdigo no to importante para o programador. Agora, quando estamos falando de microcontroladoresdevemos tomar certas preocauses, pois microcontroladores como: PIC12C508 e PIC16C54 possuem apenas 512byte dememria de programa e 25 byte de RAM, fato que exige do programador otimizao do cdigo e eficincia na elaboraolgico do programa.

    O papel do Compilador

    A nica maneira de se comunicar com o microcontrolador atravs da linguagem de mquina, ou melhor dizendo, atravs decdigos de mquinas. Por tanto os programas em C devem necessariamente serem interpretados e compilados a fim determos como resultado os comandos de mquinas a serem gravados na memria de programa do microcontrolador.Existem no mercado diversos compiladores de programas em C para microcontroladores PIC, tais como: HI-TECH PICC,C18, C30, CCS, SDCC, WIZ-C, mikroC, CC5, PICmicro C, entre outros.Em nosso curso iremos utilizar a IDE MikroC desenvolvido pela empresa Mikroelektronika (www.mikroe.com), no qual permiteeditar, compilar e simular programas em C para microcontroladores PIC da familia 12, 16 e 18.

    IDE mikroC - Editor, compilador, simulador e debugador para PIC em linguagem C

    Iremos utilizar o mikroc devido a sua eficincia e flexibilidade. Alm disso, este compilador possui uma extensa biblioteca defunes prontas para controle de diversas perifricos conectados ao nosso microcontrolador PIC.Aos escrevermos e compilarmos um programa em nosso compilador, caso o programa no tenha erros de sintaxe, ou algumoutro erro cometido pelo programador, teremos como resultado a criao do arquivo de mquina hexadecimal (extenso.hex). Este arquivo .hex conhecido como cdigo de mquina, e ser este o arquivo a ser gravado na memria domicrocontrolador.

    Etapas de desenvolvimento e gravao de um programa em C no microcontrolador PIC

    Descreveremos abaixo as etapas passo a passo para editar, compilar, simular e gravar um programa no microcontroladorPIC. 1 Fase: A elaborao do Fluxograma.Estude as tarefas e funes que o microcontrolador PIC dever executar. Para melhor entendimento das funes lgicas a serexecutadas faa um fluxograma.

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    2 de 11 15/12/2014 00:28

  • 2 Fase: Edio e compilao do programa em CA partir das informaes e funes elaborada no fluxograma, escreva seu programa em linguagem C na IDE mikroC, compilee simule seu programa (estudaremos detalhadamente cada funo e ferramenta do mikroC mais adiante).

    3 Fase: O programa compiladoAps a compilao do seu programa em C, o compilador criar o arquivo de mquina .hex(nomedoprograma.hex). Este o arquivo que dever ser gravado no microcontrolador PIC.

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    3 de 11 15/12/2014 00:28

  • 4 Fase: Gravao do programa no PICGravar o arquivo compilado .hex no microcontrolador atravs de um gravador de microcontroladoresPIC, ou atravs de um Kit de desenvolvimento.

    Estudaremos com mais detalhes nas unidades seguintes do nosso curso os processos de edio,compilao e gravao de programas. Durante nosso curso estudaremos basicamente 4 assuntos:

    O microcontrolador PIC - PIC18F452 / 4520A IDE mikroC - editor, compilador e simulador para PIC 12, 16 e 18 em linguagem C.Estudo da Linguagem C para programao de microcontroladores PICProjetos e aplicaes prticas com PIC18F

    Descreveremos agora algumas dos exemplos de programas e aplicaes prticas que sero estudados em nosso curso: Kit PICgenios PIC18F - Mdulo Profissional :

    Atravs deste Kit podemos desenvolver os mais variados tipos de programas, tais como:

    Controle de displays LCD alfanumrico 16X2 (16 colunas por 2 linhas ) no modo 4 e 8 bits. Os displays LCD soutilizados nas grandes maioria dos projetos eletrnicos hoje em dia.4 displays de 7 segmentos acionados por varredura.Matriz de teclado com 12 teclas.7 teclas de acesso direto ao pino, sendo que 3 teclas dessas simulam a interrupes externa INT0, INT1 e INT2 doPIC.16 leds para controle lgico visual.2 rels NA/NF para acionamento de cargas externas de 10A / 220V.RTC - relgio de tempo real com bateria. Atravs desse relgio o programador poder programar temporizadores,acionamentos programados, calendarios, entre outras aplicaes.

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    4 de 11 15/12/2014 00:28

  • Canal Serial RS232: canal para comunicao serial com PC ou outras mquinasCanal Serial RS232 Emulada: o programador pode emular uma serial via software e ento trabalhar com duas seriaisRS232 no seu projeto.Canal USB 2.0 para implementaes em projetos que necessitem comunicao USB (necessrio usar PIC18F4550)Canal PS/2: permite ligar ao microcontrolador teclado de PC ou mouse para otimizar o projeto eletrnico.Aquecedor via PWM. O aluno poder controlar o canal PWM do PIC simulando na placa.Sensor de temperatura LM35: o aluno poder realizar ensaios prticos com este sensor de temperatura.Acionamento de Buzzer. Em alguns projetos indispensvel a utilizao de um alarme sonoro.Acesso a todas as portas de expanso do microcontrolador PIC, que nos permite ligar outros dispositivos externos aoKit. Ventoinha acionada por PWM. importante pois o aluno poder controlar por PWM a velocidade de giro da ventoinha.Contadores de Pulsos. Atravs desse circuito poderemos saber a velocidade de giro da ventoinha. (contador RPM).Memria serial E2PROM via I2C 24C04. Este tipo de memria so muito utilizada em diversos equipamento emquinas.2 trimpots para simulao e programao do canal A/D do PIC (Analgico 1 , e Analgico 2).Canal de comunicao RS485: Protocolo muito utilizado em redes industriais e em PLC's.Chave Load/Run para gravao ISP (gravao no prprio circuito).Microcontrolador PIC18F452 DIP com 32Kbyte de Flash;Canal de gravao ICSP: Conector para modo debugger e ICD2.Regulador de tenso.Chave Dip seletora de funes.Suporte para displays LCD Grficos 128 x 64 controlador KS107/108.Suporte para displays LCD Grficos 128 x 64 controlador T6963C.Suporta os PIC18F4xxxx, PIC18F2XX0 e os PIC16F873/876 de 28 pinos.

    Sei que voc deve estar pensando, nossa quanto dispositivo conectado ao microcontrolador. verdade, mas essesmicrocontroladores podem realizar muitas outras funes... em outras palavras, esse PIC 10! Durante nosso treinamento iremos realizar diversas experincias prticas utilizando os recursos da linguagem C junto comas funes da IDE mikroC. Vamos detalhar um pouco cada experincia e conhecer um pouco mais sobre o que vamos estudar daqui por diante.

    Aulas de laboratrio e experincias prticas Veremos abaixo algumas das aplicaes prticas que iremos realizar durante nosso treinamento:

    Controle de display LCD Iremos no decorer das unidades programar o PIC para controlar e escrever mensagens publicitria nos display LCD 16X2alfanumrico:

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    5 de 11 15/12/2014 00:28

  • Os displays LCD so amplamente utilizados em diversos equipamentos e aparelhos. No decorrer dos estudos iremos exploraras funes do mikroC em linguagem C para controle de displays LCD. Estudaremos passo a passo como escrevermensagens de textos nos modos 4 e 8 bits. Aplicaes com displays LCD:

    Equipamentos industriais

    Equipamentosdomsticos Equipamentos de

    Informtica CLPs e controladoresindustriais

    Equipamentos portteis

    Varredura de displays de 7 segmentos Os diplays de 7 segmentos so largamente utilizados em equipamentos como: balana, painis de mquinas industriais,equipamentos mdicos, eletrodomsticos entre outros. Podemos controlar os displays de 7 segmentos atravs deconversores BCD, como por exemplo o 74HC247 (decodificador BCD) ou desenvolver cdigos BCD pelo microcontrolar. Emnosso caso, os displays esto sendo acionados por varredura.

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    6 de 11 15/12/2014 00:28

  • Para acionar os displays de 7 segmentos, iremos utilizar o sistema de varredura, que permite atravs de um barramento dedados de 8 bits e mais 4 pinos de acionamento, "escrever" o valor correspondente ao dado que deve ser mostrado no visor. Aplicaes reais com displays de 7 segmentos:

    Panis de equipamentos industriais

    Balanas

    Varredura de Teclado matriciais O sistema de varredura de teclado matricial permite que o microcontrolador leia muitas teclas ligada ao seus pinos. O tecladomatricial muito utilizado para economizar pinos fsicos do microcontrolador. Equipamentos de diversos tipos usam o tecladomatricial para inserir dados ao microcontrolador.

    Aplicaes reais com teclados matriciais:

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    7 de 11 15/12/2014 00:28

  • Equipamentos Eletrodomsticos Aparelhos de som

    CLPs

    Acionamento de Leds Os leds so utilizados praticamente em quase todas as aplicaes eletrnicas. Atravs dos leds podemos visualizar o statusde uma mquina, "desenhar" mensagens de textos, iluminar objetos, criar animaes visuais, entre outras aplicaes.Iremos estudar os recursos de programao em C para controle das portas de sada disponveis no microcontroladores PICutilizando os leds como barramento de dados visual.

    Aplicaes reais com Leds Os leds so utilizados em diversos equipamento no mercado para as mais variadas aplicaes. Muitas das aplicaes omicrocontrolador responsvel pelo controle desses leds.

    letreiros com ledsLetreiros Controle de Iluminao de painis

    Canal de comunicao serial RS232 e RS485 de grande importncia que os equipamentos eletrnicos tenham um canal de comunicao com o meio externo. Atravs deum canal de comunicao possvel monitorar o estado do equipamento assim como enviar e receber informaes em temporeal. Iremos aprender a utilizar o canal de comunicao serial do microcontrolador PIC realizando comunicaes de envio erecepo de dados com o PC.

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    8 de 11 15/12/2014 00:28

  • Aplicaes reais com Comunicao Serial RS232 e RS485

    Supervisrios IndustriaisComunicao com computadores PCComunicao com outras mquinas

    Conversor Analgico digital (A/D)

    A aplicao bsica do microcontrolador PIC trabalhando com o conversor A/D abaixo simples, mas possui um grandecontedo educativo para ns neste momento. No exemplo abaixo utilizamos dois simples trimpots para variarmos o valor detenso no pino A/D do PIC. Este exemplo na verdade representa inumeras aplicaes prticas de equipamentos do mercado,tais como: aparelhos de medio, leitores de sensores de temperatura, atuadores, entre outros. Criaremos programas paracontrole e leitores de tenso nas unidades seguintes.

    Veremos tambm como ler e interpretar valores analgicos vindo de sensores de temperatua (LM35) utilizando os recurso dalinguagem C.

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    9 de 11 15/12/2014 00:28

  • Aplicaes reais com os conversores A/D do PIC

    Sensores de proximidade Sondas e termoparesequipamentos de medio

    Controle PWM de dispositivos

    Iremos simular programas de controle de largura de pulsos. Atravs do canal PWM disponvel no PIC,podemos controlar diversos equipamentos, tais como: inversores de frequncia, estabilizadores, fontechaveada, controle de velocidade de motores DC, entre outras.Nem nossos laboratrio, iremos controlar a velocidade de giro de uma ventoinha e controlar oaquecimento de uma caraga resistiva via PWM.

    Aplicaes reais com os conversores A/D do PIC

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    10 de 11 15/12/2014 00:28

  • Fontes chaveadas Drive de Motoresinversores de frequncia

    Informaes importantes

    Outros exemplos de programas tambm sero tratados e comentados em nosso curso, mas ficaro

    como sendo material complementar ao aluno.Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programao em CMicrogenios 1998 - 2008. Todos os direitos reservados. proibido cpia parcial ou integral desse material semprvio aviso. Maiores informaes: [email protected]

    Curso Online: Microcontroladore PIC Programao em C unmht://unmht/file.5/D:/Curso Microgenios/Microgenius curso/Unidade...

    11 de 11 15/12/2014 00:28