Anda di halaman 1dari 28

DOSSI TCNICO

Introduo programao de microcontroladores Microchip PIC

Daniel Corteletti

SENAI-RS Centro Tecnolgico de Mecatrnica

Outubro 2006

DOSSI TCNICO

Sumrio 1 INTRODUO ....................... ............................................................................................. 3 2 CONCEITO DE MICROCONTROLADOR ....... ................................................................... 3 2.1 Definio .......................................................................................................................... 3 2.2 Histrico........................................................................................................................... 4 2.3 Aplicao ......................................................................................................................... 5 2.4 Microcontrolador Microchip ....................................................................................... 6 2.4.1 Caractersticas . ............................................................................................................. 6 2.4.2 PICmicro: principais modelos, recursos e aplicaes .................................................... 7 2.4.2.1 PIC10F200 .................................................................................................................. 7 2.4.2.2 PIC16F84 .................................................................................................................... 8 2.4.2.3 PIC16F628 .................................................................................................................. 9 2.4.2.4 PIC16F877A................................................................................................................ 9 2.4.2.5 PIC18F4431 ...............................................................................................................10 2.4.3 O recurso ICSP .............................................................................................................11 2.4.3.1 TAIT serial ..................................................................................................................12 2.4.3.2 JDM ............................................................................................................................13 2.4.3.3 Software de gravAO ..............................................................................................13 2.4.4 O arquivo binrio (hex file) ............................................................................................14 3 PRINCIPAIS LINGUAGENS DE PROGRAMAO ..........................................................14 3.1 Linguagem Assembly ....................................................................................................14 3.1.1 O montador MPASM e o ambiente MPLAB ................ .................................................16 3.2 Linguagem C...................................................................................................................17 3.2.1 CCS...............................................................................................................................18 3.2.2 Hi-tech PIC C Compiler ................................................. ...............................................19 3.2.3 BoostC Compiler ............................. .............................................................................20 3.2.4 MikroC Compiler............................................................................................................20 3.2.5 CC5X E CC8E...............................................................................................................21 3.2.6 Microchip MPLAB C18 ..................................................................................................21 3.3 Linguagem Pascal..........................................................................................................21 3.3.1 MikroPascal ..................................................................................................................21 3.3.2 P2C ........................................................................................ ......................................22 3.4 Linguagem Basic............................................................................................................22 3.4.1 PARALAX BASIC STAMP.............................................................................................22 3.4.2 PIC BASIC.....................................................................................................................23 3.4.3 MBASIC.........................................................................................................................23 3.4.4 MikroBasIC FOR PIC ....................................................................................................23 3.4.5 BoOSTBASIC................................................................................................................23 3.4.6 GreaT COW BASIC.......................................................................................................23 3.5 Linguagens alternativas ................................................................................................24 3.5.1 LinguAGEM LADDER ...................................................................................................24 3.5.2 FlOWCODE...................................................................................................................25 4 CONCLUSES E RECOMENDAES.............................................................................26 5 REFERNCIAS...................................................................................................................26

Lista de Figuras FIG. 1 - Microcontrolador alto nvel de integrao ................................................................4 FIG. 2 - Uso de microcontroladores em automveis................................................................5 FIG. 3 - Automao domstica.................................................................................................6 FIG. 4 - Famlia dos microcontroladores Microchip PIC...........................................................7 FIG. 5 - Encapsulamento PDIP 8 pinos ...................................................................................8 FIG. 6 - Layout do PIC16F84 ...................................................................................................9 FIG. 7 - Layout do PIC18F4431............................................................................................9 FIG. 8 - Layout do PIC16F877A.............................................................................................10 FIG. 9 - Layout do PIC18F4431 .............................................................................................11 FIG. 10 - Esquema de gravao do gravador Microchip PIC.................................................11 FIG. 11 - Gravador Tait serial classic.....................................................................................12 FIG. 12 - Gravador JDM.........................................................................................................13 FIG. 13 - Programa de gravao IC-PROG. ..........................................................................14 FIG. 14 - Elementos da programao ASSEMBLY................................................................15 FIG. 15 - Interface de ambiente de programao MPLAB IDE ..............................................17 FIG. 16 - Diagrama de programao em linguagem C ..........................................................17 FIG. 17 - Interface do ambiente CCS.....................................................................................19 FIG. 18 - Compilador PICC ....................................................................................................20 FIG. 19 - Compilador MikroC .................................................................................................20 FIG. 20 - Compilador mikroPascal .........................................................................................22 FIG. 21 - MikroBASIC.............................................................................................................23 FIG. 22 - Programa Ladder ....................................................................................................24 FIG. 23 - LDMicro - Ladder para microcontroladores............................................................ 25 FIG. 24 - Flowcode - compilador de fluxogramas para PIC...................................... ............26

DOSSI TCNICO

Ttulo Introduo programao de microcontroladores Microchip PIC Assunto Equipamento de medida, teste, controle, e de automao industrial Resumo Os microcontroladores so componentes eletrnicos responsveis por grande parte das automaes que facilitam a vida moderna. Como usurios, muitas vezes nem percebemos as automaes que nos cercam, mesmo com o uso cada vez maior destes componentes. J os pesquisadores, engenheiros, cientistas e tcnicos que projetam e implementam estas automaes precisam no s conhecer bem o componente eletrnico em questo, mas tambm as linguagens e ferramentas de programao adequadas ao desenvolvimento de suas aplicaes, diferenciando as caractersticas das linguagens e conhecendo as ferramentas de programao e compiladores existentes. Neste trabalho esto relacionadas as principais ferramentas de gravao e programao de microcontroladores Microchip PIC e suas caractersticas mais relevantes. Palavras-chave Automao; automao industrial; eletrnica digital; componente eletrnico; microcontrolador; PIC Contedo 1 INTRODUO Os microcontroladores esto cada vez mais presentes, e mesmo imperceptveis, agregam conforto e facilidades ao nosso cotidiano. No entanto, quem desenvolve aplicaes baseadas neste componente, muitas vezes se depara com dificuldades acerca dos mtodos de programao utilizados. O objetivo aqui levantar os principais aspectos das linguagens que podem ser utilizadas para produo de softwares de sistemas computacionais dedicados, observando tambm as caractersticas inerentes a cada ferramenta disponvel na atualidade, como compiladores e editores de programao. 2 CONCEITO DE MICROCONTROLADOR 2.1 Definio Os microcontroladores so dispositivos de tamanho reduzido, capazes de realizar controle de mquinas e equipamentos eletro-eletrnicos atravs de programas. So dispositivos que renem, em um nico circuito integrado, diversos componentes de um sistema computacional simplificado. Em outras palavras, podemos afirmar que um microcontrolador um pequeno

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

microcomputador integrado em um nico chip. Por se tratar de um componente programvel, bem verstil, podendo ser empregado em aplicaes das mais diversas. Como todo circuito integrado, a maior parte de seu custo no est vinculada ao material fsico com que produzido, mas sim no projeto, desenvolvimento e produo dos circuitos internos que garantem a funcionalidade a ele atribuda. Atualmente, empresas como a Intel, Microchip, Atmel, Motorola, Philips, e outros importantes fabricantes investem milhes de dlares em pesquisas e desenvolvimento de microcontroladores cada vez mais eficientes, mais velozes e com maior capacidade, mais recursos de conectividade e controle e menor consumo de energia eltrica. No entanto, mesmo com pomposos investimentos financeiros em seu desenvolvimento, o microcontrolador conhecido por ser um componente que oferece um excelente custo benefcio, sendo, na maioria dos casos, muito mais barato que as demais alternativas existentes. O motivo que por se tratar de um componente bastante verstil, permitindo uma grande diversidade de aplicaes, a quantidade de microcontroladores desenvolvidos para um modelo projetado bastante grande, havendo a diluio de grande parte do investimento de desenvolvimento, que por sua vez torna o componente bastante atrativo em termos de custo. 2.2 Histrico A histria do microcontrolador est contida na histria da eletrnica digital e da informtica, e tem seu alvorecer em 1971, quando a Intel, contratada pela empresa japonesa BUSICOM, produziu um microprocessador de 4 bits para equipar calculadoras portteis. O projeto do 4004 foi revolucionrio, pois se tratava de uma pastilha com poder de processamento similar aos primeiros grandes computadores, mas com um custo milhares de vezes menor. Em pouco tempo, surgiram sucessores mais velozes, e com maiores capacidades, como o 8008 da Intel e o Z-80 da Zilog. Estes processadores foram os crebros da maioria dos primeiros sistemas digitais programveis, sendo que ainda possvel encontr-los em alguns equipamentos em atividade. No entanto, os microprocessadores necessitavam de componentes externos para funcionarem, como memria RAM, memria de programa ou memria ROM e alguns perifricos, como conversores de sinal analgico/digital, circuitos de apoio, entre outros. Observando-se que, na maioria das aplicaes a que se propunham, os microprocessadores utilizavam componentes de apoio similares, os fabricantes passaram a aumentar o nvel de integrao deste componente, embutindo no mesmo circuito integrado a CPU (processador), memria ROM e memria RAM, alm de disponibilizar tambm alguns circuitos de apoio para controle de perifricos. Surgiam, ento, componentes programveis versteis, com bom nvel de integrao, bom custo, menor tamanho e consumo e com bons recursos, aplicados principalmente em atividades de controle.

FIG. 1 - Microcontrolador alto nvel de integrao


Fonte: Centro Tecnolgico de Mecatrnica SENAI

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

O Microcontrolador, como ento chamado at hoje, passa a ser um componente bastante presente em nosso dia a dia, embora muitas vezes passe despercebido. 2.3 Aplicao No final do sculo XX, e incio do sculo XXI, muitos equipamentos sofreram evolues bastante radicais, grande parte graas aos microcontroladores. So inmeras aplicaes, muitas vezes possuindo no um, mas vrios microcontroladores, que juntamente com seus softwares, agregam valor e viabilizam a produtos com maiores funcionalidades, eficincia, usabilidade e segurana. Estima-se que, em 2010, cada pessoa se depare com 100 processadores e/ou microcontroladores por dia. (ZANCO) Os sistemas microcontrolados esto presentes nas mais diversas reas, dentre as quais citamos a automao industrial, automao comercial, automao predial, rea automobilstica, agrcola, produtos manufaturados, eletrodomsticos, telecomunicaes, etc. Na rea automobilstica, por exemplo, a Microchip (fabricante do microcontrolador PIC) investe na produo de microcontroladores com caractersticas que facilitem a aplicao em automveis.

FIG. 2: Uso de microcontroladores em automveis Fonte: Microchip Technology Inc. (www.microchip.com) Estima-se que sejam fabricados aproximadamente 63 milhes de veculos anualmente no mundo, sendo que cada veculo atual conta com aproximadamente 30 microcontroladores para controle de suas funes bsicas, podendo chegar a mais de 70 microcontroladores nos modelos mais completos. So aplicaes que agregam conforto, segurana e eficincia ao veculo, tais como: freio ABS, direo eletrnica, controle de trao, injeo eletrnica de combustvel, controle de suspenso, acionamento inteligente de vidros e travas eltricas, acionamento de air-bags, redes internas, aquisio e tratamento de informaes colhidas por sensores, controles de acelerao, entre outros. Nas residncias, automaes como portes automticos, alarmes, sensores de luminosidade, cortinas motorizadas, irrigao automtica, climatizao, centrais telefnicas e muitos outros confortos so possveis graas ao uso de microcontroladores.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

FIG. 3: Automao domstica


Fonte: Centro Tecnolgico de Mecatrnica SENAI

Na indstria de eletrodomsticos tambm notria a procura por equipamentos com funcionalidades adicionais, muitas vezes atribudas ao uso de um sistema microcontrolado. Recentemente foi lanado um liquidificador que, alm de possuir as funcionalidades bsicas de triturao, tambm oferecia, em um display de cristal lquido, a possibilidade de se consultar diversas receitas para preparao de coquetis. Outra aplicao em destaque o uso de sistemas microcontrolados para gerenciar a variao de potncia de um compressor de refrigerao, fazendo com que geladeiras, freezers e condicionadores de ar tenham um menor consumo de energia, menor gerao de rudo e melhor rendimento. Na rea da segurana, so comuns o uso de sistemas microcontrolados como alarmes residenciais, discadores, sensores perimtricos, trancas e fechaduras eletrnicas, portes motorizados, sensores de presena e de iluminao. Na rea de telecomunicaes, os microcontroladores esto presentes em equipamentos de telefonia mvel e fixa, como aparelhos de telefonia, centrais telefnicas e nos equipamentos ativos que compe grande parte da infra-estrutura de telecomunicaes em todo o mundo. Portanto, viver sem os microcontroladores hoje em dia muito difcil, uma vez que eles j esto presentes em muitos dos equipamentos que usamos, aumentando a eficincia, permitindo uma reduo de custo e significativo aumento de funcionalidades, facilitando e melhorando a vida dos seus usurios e agregando valores nos produtos onde so utilizados. 2.4 Microcontrolador Microchip PIC 2.4.1 Caractersticas A MICROCHIP TECHNOLOGY INC. uma empresa de grande porte, com sede em Arizona, nos Estados Unidos da Amrica. uma empresa de expressiva participao no mercado de microcontroladores e semicondutores analgicos. Entre seus principais produtos, destaca-se o microcontrolador PIC (Periferal Interface Controler), que possui uma boa diversidade de recursos, capacidades de processamento, custo e flexibilidade de aplicaes. Mas, sem dvida, o ponto mais forte desta tecnologia est na simplicidade de aplicao, o que permite a aplicao deste microcontrolador em projetos de pequeno porte, facilitando a implementao e diminuindo o custo de desenvolvimento.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

FIG. 4: Famlia dos microcontroladores Microchip PIC


Fonte: Microchip Technology Inc. (www.microchip.com)

Os microcontroladores PIC esto classificados em famlias, cada qual com uma caracterstica relativa sua performance e funcionalidade. A famlia PIC10, de menos recursos, aplicada a funes de controle on-off mais simples e de menor porte, possuindo custo relativamente baixo (abaixo de US$ 1,00 por unidade) e a famlia dsPIC30 e dsPIC33 so adequadas para processamento e controle envolvendo aquisio, tratamento e processamento veloz de sinais analgicos, permitindo desenvolvimento de aplicaes mais complexas, ligadas rea de telecomunicaes, comunicaes sem fio de alta performance, controles em tempo real de alta velocidade, entre outras. No entanto, a rea de maior sucesso da Microchip a dos microcontroladores de 8 bits, de baixo custo e boa funcionalidade. A seguir, falaremos sobre as caractersticas relacionadas aos microcontroladores microchip de 8 bits, seus principais modelos, caractersticas e recursos. 2.4.2 PICmicro: principais modelos, recursos e aplicaes Dentre os modelos mais conhecidos dos microcontroladores Microchip PIC, cita-se o microcontrolador PIC10F200 (de menor custo), PIC16F84 (mais popular), PIC16F628 (excelente custo-benefcio), o PIC16F877A (variedade de recursos e bom custo), e o PIC18F4431 (bastante verstil e poderoso). 2.4.2.1 PIC10F200 Trata-se de um microcontrolador de custo inferior a US$ 0,40 (www.microchip.com em 5/10/2006), com 4 pinos de I-O, sendo que 3 podem ser configurados como entradas ou sadas, e um somente como entrada. Este microcontrolador conta com um processador RISC de 33 instrues, 12 bits, 2 nveis de pilha, operando em at 4MHz, com capacidade para 1 milho de instrues por segundo (1 MIPs). O recurso ICSP permite a gravao facilitada, usando-se um gravador serial. Permite operar com tenses de alimentao variando de 2 a 5.5V, consumindo menos que 0,5 mA. Entre seus recursos internos, podemos citar um contador/temporizador de 8 bits programvel, 16 bytes de RAM, 256 Words (12 bits) de ROM.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

Estas caractersticas tornam este microcontrolador bastante aceitvel em aplicaes simples, de controles digitais dedicados e que requeiram baixo consumo de energia, como em brinquedos, eletrodomsticos e tratamento de sinal digital de sensores e perifricos. No adequado em situaes que requeiram maior complexidade.

FIG. 5: Encapsulamento PDIP 8 pinos


Fonte: Microchip Technology Inc. (www.microchip.com)

2.4.2.2 PIC16F84 Sem dvida um dos mais importantes microcontroladores da Microchip, uma vez que pode ser considerado um marco de divulgao. Os microcontroladores Microchip que possuem um F em seus nomes se caracterizam por possuir memria ROM do tipo FLASH, o que facilita a gravao e modificao dos programas, dispensando os antigos sistemas de gravao eletrnica aps desgravao por UV, que demoravam minutos. O microcontrolador PIC16F84 foi um dos primeiros a usar este recurso, e juntamente com o recurso de gravao serial (ICSP), permitiu a divulgao de projetos simples de gravadores para PIC, ajudando a disseminar a utilizao dos microcontroladores Microchip. O PIC16F84 foi por muito tempo o microcontrolador preferido dos livros e revistas. Sua flexibilidade, bom custo e recursos renderam fama fabricante. Hoje, no recomendado o uso deste microcontrolador, uma vez que sua fabricao tende a ser descontinuada, (atualmente fabricado como PIC16F84A). Outro fator que indica a necessidade de upgrade para outro modelo o considervel aumento no custo dos modelos descontinuados, opondo-se a resistncia gerada pela cultura dos estudantes, hobistas e leitores das diversas obras que orientam o uso deste microcontrolador. Muitos outros modelos mais eficientes e com mais recursos so oferecidos com valor mais baixo. Entre as caractersticas do PIC16F84, podemos citar: processador RISC de 35 instrues, com velocidade de at 20 MHz (5 Milhes de Instrues por Segundo). 1 KWord de memria ROM, 68 bytes de memria RAM e 64 bytes de memria EEPROM. Recurso de interrupo por hardware em 2 pinos, e interrupo por timer. Faixa de tenso de 2V a 5.5V, com baixo consumo eltrico.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

FIG. 6: Layout do PIC16F84


Fonte: Microchip Technology Inc. (www.microchip.com)

2.4.2.3 PIC16F628 Excelente custo benefcio, pois se trata de um microcontrolador relativamente barato (menos de US$ 3,00), reunindo os seguintes recursos: CPU RISC de 35 instrues, at 20 MHz, ou 4MHz com oscilador interno, 16 pinos de entrada e/ou sada, dois comparadores analgicos, gerador PWM, 3 Timers, comunicao serial. Sua memria ROM de 2KWords (permite at 2048 instrues em um programa), e memria RAM de 224 bytes, com EEPROM de 128 bytes.

FIG. 7: Layout do PIC16F628A


Fonte: Microchip Technology Inc. (www.microchip.com)

visto por muitos como o sucessor do PIC16F84, estendendo alguns recursos em um encapsulamento pino compatvel, necessitando de pouca ou nenhuma alterao de hardware. 2.4.2.4 PIC16F877A Verstil e cheio de recursos. o mais poderoso microcontrolador da famlia 16, oferecendo bons recursos para aplicaes de controle. Seu custo atualmente superior a US$ 4,00, porm oferece alguns recursos que podem minimizar ou eliminar a necessidade de implementaes perifricas, com ganho de tempo e espao. Dentre seus recursos, podemos citar como os mais importantes: CPU RISC de 35 instrues, com clock de at 20MHz (5 milhes de instrues por segundo). At 8 KWords de memria de programa, 368 bytes de RAM, 256 bytes de EEPROM, dois comparadores e geradores PWM, 8 canais de converso A/D de 10 bits, comunicao serial, 33 pinos de Entrada/Sada.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

um microcontrolador ideal para quem busca controle de diversos dispositivos, ou dispositivos que demandem uma maior quantidade de controles digitais. Suas duas sadas PWM e seus 8 canais de converso analgico/digital elevam este microcontrolador a aplicaes de controle mais sofisticadas. No podemos deixar de destacar tambm seus recursos de conectividade, com suas portas seriais e paralela, facilitando a implementao de aplicaes de comunicao ou de colaborao com outros componentes.

FIG. 8: Layout do PIC16F877A


Fonte: Microchip Technology Inc. (www.microchip.com)

2.4.2.5 PIC18F4431 Mais poderoso que os microcontroladores PIC da famlia 16, o PIC18F4431 possui um conjunto de instrues adicionais que melhoram sua performance, como por exemplo a instruo de multiplicao 8 bits, eliminando a necessidade de implementao de produto por laos sucessivos de soma. Pode operar em at 40MHz, o que significa at 10 milhes de instrues por segundo. Conta com 33 pinos de entrada/sada, e seu custo pouco maior do que o PIC16F877. Em aplicaes de controle mais apuradas, este microcontrolador pode se mostrar uma alternativa interessante.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

10

FIG. 9: Layout do PIC18F4431


Fonte: Microchip Technology Inc. (www.microchip.com)

Como caractersticas principais, ainda podem-se citar as 4 sadas PWM, 16 KWords de memria de programa, 768 bytes de RAM, 256 bytes de EEPROM, 3 temporizadores de 16 bits e 9 canais de entrada analgica. 2.4.3 O recurso ICSP Os microcontroladores Microchip PIC possuem o recurso ICSP, que facilita a sua programao. ICSP significa In-Circuit Serial Programing, que podemos traduzir para Programao Serial no Circuito. Este recurso permite que a memria ROM do microcontrolador seja gravada de forma serial, atravs de dois pinos, facilitando a gravao do PIC na prpria placa de aplicao. Isso aumenta a produtividade, uma vez que o microcontrolador pode ser gravado aps a montagem do circuito, e no caso de dispositivos FLASH-ROM, permite tambm a regravao sem a necessidade de remoo do microcontrolador. Juntamente com o recurso de gravao serial ICSP, o uso de memria ROM do tipo FLASH (permitindo milhares de regravaes), levou o microcontrolador PIC a ser um dos mais conhecidos em aplicaes didticas e em pequenos projetos. Com poucos componentes baratos, possvel se montar um gravador ICSP que utilize uma porta serial ou paralela de um PC, fato que contribuiu na divulgao e sucesso dos microcontroladores Microchip PIC.

FIG. 10: Esquema de gravao do gravador Microchip PIC


Fonte: Centro Tecnolgico de Mecatrnica SENAI

Para utilizar-se este recurso de gravao, faz-se necessrio o uso dos seguintes pinos do microcontrolador a ser gravado:

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

11

MCRL/Vpp : Pino de Master Clear (reset) ou de tenso de programao (Vpp). Para que o microcontrolador entre em modo de gravao, ativando o ICSP, a tenso deste pino deve ser elevada a aproximadamente 13.4V. PGC (Geralmente o pino RB6): Quando em modo de gravao, este pino passa a ter a funo de CLOCK do sinal de gravao, estabelecendo o sincronismo entre os dados recebidos pelo pino de dados. PGD (Geralmente o pino RB7): Quando em modo de gravao, este pino passa a ser o portador da informao, podendo enviar ou receber bits entre os dois dispositivos compreendidos na gravao (PIC e Microcomputador).

Alm dos recursos citados, o microcontrolador deve estar conectado a fonte de alimentao CC 5V atravs dos pinos adequados. Para a programao do microcontrolador, existe tambm a necessidade do envio dos dados do programa atravs de um Microcomputador. A interface entre o microcomputador e os pinos de gravao do PIC pode ser efetuada por um dos seguintes circuitos gravadores: 2.4.3.1 TAIT serial Embora o nome sugira ser um gravador serial, este hardware utiliza a porta paralela do microcomputador para gerar, em 3 pinos, os sinais necessrios para o envio do programa ao microcontrolador. Foi desenvolvido por David Tait em 1996.

FIG. 11: Gravador Tait Serial Classic


Fonte: www.ic-prog.com

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

12

2.4.3.2 JDM O gravador JDM caracteriza-se por um gravador de baixo custo, que utiliza os nveis de tenso e os sinais da porta serial (RS232) do PC para gerar os sinais necessrios gravao do microcontrolador PIC. O gravador JDM (ou ludipipo) foi uma adaptao do gravador PICSTART da Microchip, e um dos mais populares. Pode, no entanto, apresentar problema devido aos nveis de tenso da porta serial de alguns PCs.

FIG. 12: Gravador JDM


Fonte: www.ic-prog.com

2.4.3.3 Software de gravao No menos importante que o hardware de gravao o software a ser utilizado para enviar o arquivo binrio para a porta de comunicao ao qual est ligado o dispositivo de gravao. Dentre os softwares de gravao mais utilizados, podemos citar o IC-PROG, um programa criado por Bonny Gijzen, de livre distribuio. Segundo o site do produto ,IC-Prog is a free program. I may freely be copied and distributed. If you want to sell IC-Prog together with your hardware etc., you need to ask my permission. (www.ic-prog.com). Ou seja, o IC-PROG pode ser utilizado livremente, e deve-se solicitar a permisso ao fabricante caso se deseje incorporar este programa a um produto comercializado. O IC-PROG est apto a trabalhar com os mais famosos circuitos gravadores, dentre os quais o circuito JDM e o TAIT SERIAL.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

13

FIG. 13: Programa de gravao IC-PROG


Fonte: www.ic-prog.com

2.4.4 O arquivo binrio (hex file) dado pelo arquivo que contm o programa j em linguagem de mquina, ou seja, j com as instrues nativas do microcontrolador a ser programado. Por padro utiliza-se para representao o formato INTEL HEX, que h muito tempo utilizado como regra de representao do programa em linguagem de mquina. Este formato facilita a representao dos bytes de instrues e dados do programa atravs de caracteres ASCII, permitindo que, em sistemas mais antigos, pudesse haver a insero e modificao de instrues diretamente em linguagem de mquina. Segue um exemplo de um programa em formato INTEL HEX 8 bits : :1000000000308A00192800002130840000080319FC :1000100018280130F800F701F70B0C28F80B0B2813 :100020004A30F700F70B122800000000800B092867 :10003000003484011F308305063083169F00FF3093 :100040008312A00020102008831687008312071453 :100050006430A1000420201020088316870083123A :0C00600007106430A10004202228630077 :00000001FF ;PIC16F877 Portanto, este o arquivo que contm os dados a serem enviados ao microcontrolador pelo software programador no momento da gravao. A partir deste ponto, discutiremos os meios de gerar este arquivo, as linguagens de programao mais utilizadas, suas vantagens e desvantagens. 3 PRINCIPAIS LINGUAGENS DE PROGRAMAO 3.1 Linguagem Assembly Mais fcil do que a linguagem binria do microcontrolador, e mais difcil do que as demais linguagens, ASSEMBLY significa montagem, e o termo que melhor define o processo de

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

14

criao do arquivo em linguagem binria. Para que a montagem ocorra, faz-se necessrio o uso de um programa montador, ento chamado de ASSEMBLER.

FIG. 14: Elementos da programao ASSEMBLY


Fonte: Centro Tecnolgico de Mecatrnica SENAI

O montador (assembler) permite que uma linha de instruo que est expressa em linguagem de smbolos de fcil assimilao escritas em caracteres alfanumricos, seja traduzida diretamente para instrues binrias. Ou seja, ao invs de se inserir no arquivo o comando em linguagem de mquina (exemplo em hexadecimal 0x342f), o programador digita o comando em forma de uma palavra seguido de um parmetro expresso em alfanumrico (exemplo GOTO ROTULO1). Para a maioria dos programas montadores, tambm possvel se criar MACROS, que so trechos de programas reutilizveis, como subrotinas, mas com uma maior flexibilidade. Outra caracterstica do montador que no momento de gerar o arquivo binrio (arquivo HEX), o montador recalcula todos os endereos de memria, gerando instrues adequadas nos desvios e acessos aos recursos fsicos. Isso facilita a programao em relao linguagem binria de mquina, mas no elimina algumas dificuldades. Por se tratar de uma traduo simplificada, o montador no admite que utilizemos comandos correspondentes a instrues inexistentes no microcontrolador de destino. Ou seja, se estamos programando um microcontrolador PIC18F4431, que possui a instruo de multiplicao, no poderemos usar este mesmo programa em um PIC16F877 que no possui esta instruo, havendo a necessidade de reescrever este trecho do programa para adequ-lo ao novo hardware. Portanto, quanto linguagem ASSEMBLY e a qualidade do software desenvolvido atravs deste recurso, podemos afirmar o seguinte : A linguagem Assembly pouco portvel, pois exige uma grande adaptao no programa fonte ao se migrar para outro hardware. Ou seja, caso tenhamos que substituir o microcontrolador por outro modelo, na maioria dos casos torna-se necessria reconstruo de grande parte do programa fonte para garantir a mesma funcionalidade. Assembly permite que o programa tenha um baixo custo de memria, uma vez que o programador utiliza somente as instrues necessrias para cada operao. Desta forma, quando precisamos optar por um hardware com pouca memria RAM e ROM, esta linguagem indubitavelmente a melhor escolha.

Assembly permite gerar programas de excelente eficincia, pois o programador pode utilizar recursos e tcnicas que otimizem o desenvolvimento da aplicao para o objetivo proposto. Em situaes de controle de tempo real, esta linguagem pode se mostrar bastante adequada.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

15

A linguagem Assembly oferece baixa manutenibilidade, ou seja, o programador deve tomar cuidado para comentar as linhas e organizar o programa fonte da melhor maneira possvel, pois quando haver necessidade de manuteno neste programa, certamente ser necessrio muito mais tempo do que em outras linguagens. A complexidade dos programas escritos em Assembly bastante alta, agravado pelo fato dos microcontroladores Microchip PIC aqui citados serem microcontroladores RISC, que possuem um conjunto de instrues reduzidos. Desta forma, quando o programador necessitar gerar uma operao mais complexa, dever desmembr-la em vrias operaes mais simples, trazendo uma maior extenso ao programa fonte, e uma maior necessidade de conhecimento (por parte do programador) de tcnicas de programao que solucionem o problema. O reaproveitamento de cdigo em Assembly no muito comum. Geralmente o programador Assembly obrigado a reescrever ou alterar suas rotinas padronizadas, adequando-as para cada necessidade. Isso leva a um menor reaproveitamento de rotinas j escritas, e a um maior esforo de programao. Visto estas caractersticas, a linguagem Assembly indicada nos casos onde no h problema quanto ao tempo de desenvolvimento, e onde o fator crtico o custo do hardware e a eficincia. Portanto, mais adequada em projetos que necessitem de eficincia e funcionalidade, no havendo problema quanto portabilidade e a manutenibilidade. comum utilizar este tipo de linguagem em microcontroladores presentes nos produtos que sero fabricadas em srie e em grades quantidades, onde alguns centavos geram um impacto significativo devido escala produtiva, levando a escolha de microcontroladores com pouca memria, e onde se admite um tempo de projeto relativamente maior do que o tempo tolerado para o desenvolvimento de uma aplicao dedicada. 3.1.1 O Montador MPASM e o ambiente MPLAB A Microchip disponibiliza gratuitamente em seu site uma importante ferramenta de programao, conhecida como MPLAB IDE. um completo ambiente de programao para microcontroladores Microchip, que na sua verso gratuita tambm integra um montador assembly chamado de MPASM. Segundo a Microchip O que o MPLAB IDE? MPLAB Integrated Development Environment (IDE) um pacote de ferramentas integradas e gratuitas para o desenvolvimento de aplicaes dedicadas aos microcontroladores Microchip PICmicro e dsPIC. O MPLAB IDE executado como uma aplicao 32 bits para o MS Windows. fcil de se utilizar e agrega componentes de software gratuitos para um rpido desenvolvimento de aplicaes e um poderoso depurador. MPLAB IDE tambm disponibiliza uma simples e unificada interface grfica ao usurio para desenvolvimento de aplicaes de hardware e software Microchip...(www.microchip.com, em 9/10/2006).

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

16

FIG. 15: Interface do ambiente de programao MPLAB IDE.


Fonte: Microchip Technology Inc. (www.microchip.com)

3.2 Linguagem C Considerada uma linguagem intermediria, de nvel mais alto que linguagem assembly, e mais baixo que as demais linguagens, a linguagem C bastante poderosa e verstil. Foi criada por Dennis Ritchie da Bells Labs em 1972, e conhecida pelo seu equilbrio entre estruturao e eficincia, suprimindo as deficincias da linguagem Assembly ainda com baixo consumo de memria. Diferentemente de assembly, a linguagem C (assim como as demais linguagens) compilada. Desta forma, o programa fonte gerado pelo programador processado por um outro programa, conhecido por COMPILADOR, que ir gerar o programa em linguagem binria.

FIG. 16: Diagrama de programao em linguagem C


Fonte: Centro Tecnolgico de Mecatrnica SENAI

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

17

Na maioria dos compiladores, o processo realizado em duas etapas, sendo isso transparente ao usurio. Na primeira etapa, existe a leitura do programa fonte, a verificao dos smbolos (nomes usados no programa), e da sintaxe dos comandos, verificando se h algum erro sinttico. Em paralelo a isso, atravs da anlise do significado de cada estrutura da linguagem, produzido um programa em linguagem intermediria (em alguns casos o cdigo intermedirio em assembly). Na segunda etapa, o compilador executa a traduo do cdigo intermedirio para a linguagem de destino, neste caso, em um arquivo HEX com as instrues de mquina do microcontrolador. A vantagem das linguagens de programao sobre o Assembly est no fato da gerao de cdigo envolver situaes mais complexas do que as suportadas por uma nica instruo da linguagem de mquina do hardware alvo. Por exemplo, se um microcontrolador no possuir a instruo de multiplicao, o programador assembly deve criar um trecho de programa que realize somas sucessivas. J em linguagem C, o programador pode utilizar a operao de multiplicao, pois fica transparente a traduo que o compilador far, resolvendo esta operao da maneira mais adequada possvel. Isso tambm garante s linguagens de programao uma maior portabilidade em relao ao assembly, permitindo que um programa fonte possa ser recompilado para outro modelo de microcontrolador com poucas ou nenhuma modificao. A desvantagem da linguagem C sobre a linguagem assembly est no consumo de memria. Como o compilador nem sempre consegue cobrir todas as otimizaes de cdigo possveis, em muitos casos temos um acrscimo de instrues no cdigo binrio (arquivo HEX) gerado, consumindo um pouco mais de memria de programa. No entanto, um programador experiente pode gerar os programas em linguagem C, refinando posteriormente com otimizaes que tragam um menor custo de memria, muito prximo ao que seria gerado se o programa fosse escrito em assembly e gastando menos tempo do que se houvesse implementado em tal linguagem. A linguagem C permite tambm que os programas possam ser escritos de forma estruturada, facilitando a manutenibilidade e aumentando o reaproveitamento de trechos j escritos do programa. Desta forma, um programador pode escrever parte do problema, reutilizando tambm trechos de programas ou subrotinas j criadas, facilitando a implementao. Atualmente existem vrios compiladores C para microcontroladores Microchip PIC. Entre estes, podemos citar: 3.2.1 CCS Tambm conhecido como PIC C COMPILER ou PCW (verso for Windows), trata-se de um compilador bastante divulgado, de custo acessvel e excelente desempenho. produzido pela empresa Custom Computer Services Inc. (www.ccsinfo.com), e possui verses para DOS, Windows e Linux. Este compilador conta com suporte aos modelos de microcontrolador PIC 8 bits (famlias 12, 16 e 18), e na verso for Windows conta com uma ferramenta IDE integrada a sistemas de gravao e depurao com interface bastante amigvel. Outra vantagem deste compilador est nas funes embutidas (built-in functions) que permitem a gerao de cdigo mais otimizado e menos esforo de programao aos iniciantes da rea. Por exemplo, a funo embutida output_high (PINO) permite acionar um pino do microcontrolador sem nenhum comando adicional. Sem o uso desta funo, o programador deveria configurar o pino como I/O digital e posteriormente definir o registrador de direo do

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

18

pino como sada. No compilador CCS o programador pode deixar que estes passos sejam feitos automaticamente e de forma transparente, atravs do uso da funo integrada output_high. Podem-se encarar estas funes integradas ao compilador como um recurso que estende a linguagem C, criando um padro que podemos chamar de Linguagem C CCS.

FIG. 17: Interface do ambiente CCS


Fonte: www.ccsinfo.com

3.2.2 Hi-tech PIC C Compiler um compilador multiplataforma bastante verstil, permitindo a gerao de um cdigo executvel bastante eficiente. Permite a integrao com o ambiente MPLAB IDE, e pode ser executado sobre Windows, Linux, Unix, MAC OS X e Solaris. Sua eficincia seu ponto forte, mas seus requisitos de usabilidade o remetem a um compilador de pouco uso didtico, havendo tambm uma menor divulgao que seu concorrente anteriormente citado. Outro ponto favorvel o fato de manter o padro C ANSI, permitindo fcil adaptao de um programador C experiente a esta plataforma, e agregando portabilidade aos sistemas desenvolvidos. O compilador HI-TECH fornecido em verses profissionais, e gera cdigo executvel para outros modelos de microcontrolador, como 8051, Holtek, Z80. Para os produtos Microchip PIC, atende os microcontroladores das famlias 10, 12, 14, 16, 18 e dsPIC. A HI-TECH disponibiliza ainda uma verso demonstrao funcional e com poucas limitaes para os microcontroladores mais comuns da Microchip. Esta verso conhecida como HITECH PICC-lite, e permite gerar cdigo para microcontroladores das famlias 12 e 16 com algumas limitaes, servindo tambm a propsitos didticos. Mais informaes podem ser obtidas no site do fabricante, a empresa Hi-Tech Software, pelo link http://www.htsoft.com/products/picccompiler.php.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

19

FIG. 18: Compilador PICC


Fonte: HI-TECH (www.htsoft.com)

3.2.3 BoostC Compiler Sucessor do famoso C2C Compiler, um compilador que oferecido para concorrer contra o HiTech. Suporta a maior parte dos microcontroladores Microchip PIC das famlias 12, 16 e 18. Tambm possui uma verso para os microcontroladores PIC mais conhecidos, e com limitaes, no entanto esta verso no gratuita como a dos concorrentes. Este compilador tambm procura preservar os aspectos da linguagem C ANSI, e desta forma tem a portabilidade como principal vantagem. Funciona de forma integrada ao ambiente SourceBoost IDE. Do mesmo fabricante, podemos citar tambm como destaque o compilador C2C++, que um dos poucos que suporta programao orientada a objetos para microcontroladores microchip PIC. Este paradigma de programao bastante produtivo, todavia gera cdigos relativamente custosos em termos de ROM e RAM. 3.2.4 MikroC Compiler Desenvolvido pela MikroElektronica, promete ser um compilador onde a usabilidade seu ponto alto. Com uma interface amigvel, integrado a um editor que permite ao usurio uma melhor produtividade. Como verso no registrada roda em modo demo, e neste modo no permite gerao de cdigo superior a 2Kwords. Da mesma forma que o compilador CCS, o MikroC possui diversas funes embutidas, permitindo uma maior facilidade no uso dos perifricos do microcontrolador. Seu ponto fraco a portabilidade, pois as funes integradas do microcontrolador que podem ser utilizadas no programa no podero ser utilizadas de igual forma por outro compilador.

FIG. 19: Compilador MikroC


Fonte: MikroElektronica (http://www.mikroe.com/en/compilers/mikroc/pic)

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

20

3.2.5 CC5X e CC8E Compiladores compactos e pequenos, permitindo fcil integrao com ambiente MPLAB. Pode ser instalado sobre LINUX atravs de um emulador DOS. A verso CC5X permite compilar programas C para microcontroladores PIC das famlias 10, 12, 14 e 16. J o modelo CC8E suporta microcontroladores para a famlia 18. Mais informaes podem ser obtidas no site www.bknd.com. 3.2.6 Microchip MPLAB C18 Poderoso compilador C ANSI para PIC produzido e comercializado pela fabricante do microcontrolador, a Microchip Technology Inc., o MPLAB C18 distribudo tambm na verso STUDENT EDITION gratuita, que possui todas as funcionalidades por 60 dias, e aps este perodo continua gerando cdigo sem as otimizaes presentes na verso registrada. Funciona totalmente integrado ao ambiente MPLAB IDE, e possui um excelente otimizador de cdigo, gerando arquivos HEX pequenos e eficientes. Mais informaes podem ser adquiridas no site www.microchip.com, pelo link Development Tools. 3.3 Linguagem Pascal uma linguagem que foi criada em 1970 pelo suo Niklaus Wirth, e recebeu este nome em homenagem ao famoso matemtico Blaise Pascal. Trata-se de uma linguagem muito estruturada, com comandos simples e de alto nvel, e foi muito utilizada no ensino de programao por sua sintaxe amigvel e comandos fceis de memorizar. Dentre os principais compiladores Pascal para microcontroladores PIC, podemos citar: 3.3.1 MikroPascal Compilador da MikroElektronica, uma ferramenta bastante amigvel, sendo indicada para quem est comeando a programar microcontroladores, e tem domnio sobre a linguagem Pascal. Possui recursos que facilitam a edio, gerando cdigo para os microcontroladores PIC das famlias 12, 16 e 18. O valor para compra da licena de uso no muito alto, e se executado em modo demo, o compilador ir limitar o tamanho do cdigo HEX gerado a 2 KWords.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

21

FIG. 20: Compilador MikroPascal


Fonte: (www.mikroe.com)

3.3.2 P2C Fabricado pela SourceBoost Technologies, suporta no s microcontroladores Microchip PIC como tambm Scenix. Suporta os principais modelos Mircochip PIC das famlias 12 e 16. Como editor, necessria a instalao do SourceBoost IDE, podendo ser executado sobre Windows. Permite algumas customizaes na gerao do cdigo, como definio de cdigo gerado por operaes bsicas de multiplicao, diviso e resto da diviso, onde pode se optar por simples traduo de cdigo (maior velocidade) ou pelo uso de funes e subrotinas (menor consumo de memria). Mais informaes podem ser obtidas no site <www.sourceboost.com>. 3.4 Linguagem Basic Criada em 1963 por Kemeny e Kurtz com o objetivo de facilitar o ensino de programao, foi uma linguagem muito difundida nos anos 80, ressurgindo recentemente como uma poderosa linguagem de programao de alto nvel. BASIC um acrnimo, que significa Beginners All-Purpose Symbolic Instruction Code, ou seja, cdigo de instrues simblicas para todos os propsitos voltadas a programadores iniciantes. No mundo dos microcontroladores, a linguagem BASIC continua fazendo seu papel, juntamente com a linguagem Pascal, para facilitar o acesso a principiantes ao mundo da programao de sistemas embarcados. Seu ponto fraco a baixa eficincia, natureza que faz com que BASIC seja pouco considerada como uma ferramenta de desenvolvimento comercial. Os principais compiladores BASIC disponveis atualmente no mercado so : 3.4.1 Paralax Basic Stamp Mais do que um compilador, o Basic Stamp um pacote de produtos para iniciantes em programao, que obteve muito sucesso como ferramenta de aprendizado em alguns pases. No entanto, por se tratar de um produto orientado, perde a flexibilidade de um microcontrolador

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

22

tradicional, no sendo utilizado em aplicaes finais. Este produto citado principalmente porque, por se tratar de um pacote que inclui um compilador pioneiro, acabou se tornando o padro da linguagem BASIC utilizada por outros produtos. 3.4.2 PIC Basic Baseado no Paralax Basic, o PIC Basic um compilador desenvolvido pela Micro Engineering Labs Inc., famoso fabricante do gravador EPICWIN, atualmente conhecido como ME-LABS PROGRAMMER. Atualmente, o PIC Basic pode ser executado sobre DOS ou Windows, e encontrado em duas verses: PICBASIC e PICBASIC PRO. Na primeira verso, so suportados os modelos das famlias 12 e 16, sendo que na segunda verso, o fabricante promete suporte a todos os modelos de microcontroladores Microchip PIC. 3.4.3 Mbasic Fabricado pela Basic Micro Inc., mais um compilador com propsitos didticos, voltado a iniciantes na rea de programao de microcontroladores. Suporta os principais modelos das famlias 12 e 16, e inclui recursos como boot loader e suporte a ponto flutuante de 32 bits. Roda sobre Windows. 3.4.4 MikroBasic for PIC Fabricado pela MikroElektronica, o MikroBasic roda sobre Windows e suporta os principais modelos PIC das famlias 12, 16 e 18. Utiliza a mesma plataforma de edio e desenvolvimento integrada que os compiladores MikroPascal e MikroC. Possui funes integradas para facilitar o acesso aos perifricos do microcontrolador.

FIG. 21: MikroBASIC


Fonte: (www.mikroe.com)

3.4.5 BoostBASIC Compilador BASIC da Source Boost Technologies, o BoostBASIC ainda est em fase de testes, e est disponvel sem restries para download na pgina do fabricante. Atualmente, suporta microcontroladores PIC das famlias 18, 16 e alguns modelos da famlia 12. Mais informaes podem ser obtidas no link http://www.sourceboost.com 3.4.6 Great Cow BASIC Um compilador BASIC de cdigo aberto, permitindo adequaes da ferramenta pelo prprio programador. Por se tratar de um programa open source, tem o cdigo fonte disponvel para download no site http://gcbasic.sourceforge.net.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

23

3.5 Linguagens alternativas 3.5.1 Linguagem Ladder Esta linguagem foi criada para documentar a ligao de rels e sensores em painis eltricos, e acabou sendo bastante conhecida nos processos de automao da dcada de 80. Na dcada de 90, recebeu maior importncia, aps a criao de ambientes e compiladores que permitiam simular estes grandes quadros eltricos em circuitos microprocessados. Conhecida por ser uma linguagem muito usada em controladores de aplicaes industriais, o Ladder uma linguagem grfica, fcil de programar, voltada a aes de controle. Diferente do paradigma imperativo e procedural utilizado por outras linguagens, a linguagem Ladder atua de forma multifuncional, permitindo a simulao de paralelismo, sem a imposio de uma linha de tempo no prprio programa. Isso se deve ao fato de que um programa Ladder composto de um e somente um grande lao, sendo que todas as instrues so realizadas a cada iterao deste lao.

FIG. 22: Programa Ladder


Fonte: Centro Tecnolgico de Mecatrnica SENAI

Mas se por um lado este paradigma facilita a gerao de cdigos paralelos, por outro dificulta a gerao de programas que necessitem de uma seqncia bem determinada para execuo das instrues, forando o programador a usar recursos como flags, sinalizadores e semforos para identificar se um determinado circuito ir ou no ser executado. Dentre os principais editores e compiladores LADDER para microcontrolador Microchip PIC, podemos citar o LDMICRO: este ambiente gera cdigo executvel, em formato HEX, para microcontroladores PIC16F877, PIC16F876 e PIC16F628. Sua vantagem est na facilidade de realizar a programao para construo de controles digitais simples, atravs da linguagem ladder. O LDMICRO disponibilizado gratuitamente na pgina de seu criador, Jonathan Westhues, atravs do link <http://cq.cx/ladder.pl>.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

24

FIG. 23: LDMicro - Ladder para microcontroladores


Fonte: http://cq.cx/ladder.pl

3.5.2 Flowcode Um compilador revolucionrio, que permite que seja realizada a gerao de um programa executvel a partir de um fluxograma escrito em um editor grfico integrado ao produto. orientado aos iniciantes, que no possuem experincia de programao em nenhuma linguagem, e que desejam dar seus primeiros passos em uma interface fcil e de alto nvel. Como ponto fraco, podemos citar o fato de no possuir verso de demonstrao com funcionalidades, e de no permitir que implementaes mais simples sejam executadas com a velocidade apropriada.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

25

FIG. 24: Flowcode compilador de fluxogramas para PIC


Fonte: Matrix Multimedia Ltda. (www.matrixmultimedia.com)

Mais informaes podem ser obtidas no site do fabricante: <http://www.matrixmultimedia.com>. Concluses e recomendaes A importncia dos microcontroladores na atualidade inegvel e crescente, e cada vez mais sero desenvolvidas ferramentas dispostas a facilitar o uso destes componentes. Os compiladores de alto nvel, seguindo a evoluo dos sistemas dedicados a computadores de maior porte, devero se voltar a outros paradigmas de programao, permitindo que sejam aliadas caractersticas de eficincia, otimizao e facilidade de programao. Linguagens de baixo nvel, como Assembly e C ANSI, oferecem como vantagem a gerao de programas menores, mais velozes e otimizados, mas requerem grande esforo de programao. So adequadas ao desenvolvimento de solues que envolvem grande quantidade de cpias, pois o custo de desenvolvimento diludo na quantidade de produtos programados torna-se bastante baixo, e o desempenho e reduo de custos com o hardware justifica o esforo de programao. No entanto, microcontroladores mais poderosos e necessidades mais restritas trazem a necessidade de implementaes customizadas, com softwares mais fceis de serem modificados e adaptados, e as linguagens de alto nvel comeam a ocupar seu espao alm das fronteiras do amadorismo. Referncias B KNUDSEN DATA. Disponvel em: <http://www.bknd.com>. Acesso em: 10 out. 2006. CUSTOM COMPUTER SERVICES INC. Disponvel em: <http://www.ccsinfo.com>. Acesso em: 10 out. 2006. DOMINGUES, Diana, org. Arte e vida no sculo XXI; tecnologia, cincia e criatividade. So Paulo, UNESP, 2003. 379p. HI-TECH SOFTWARE. Disponvel em: <http://www.htsoft.com>. Acesso em: 10 out. 2006.

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

26

IC-PROG PROTOTYPE PROGRAMER. Disponvel em: <http://www.ic-prog.com>. Acesso em: 10 out. 2006. LADDER LOGIC FOR PIC AND AVR. Disponvel em: <http://cq.cx/ladder.pl>. Acesso em: 10 out. 2006. MATRIX MULTIMEDIA. Disponvel em: <http://www.matrixmultimedia.com>. Acesso em: 10 out. 2006. MICROCHIP TECHNOLOGY INC. Disponvel em: <http://www.microchip.com>. Acesso em: 10 out. 2006. MIKROELEKTRONIKA. Disponvel em: <http://www.mikroe.com>. Acesso em: 10 out. 2006. PEREIRA, Fbio. Microcontroladores PIC; programao em C. 5. ed. So Paulo, rica, 2006. 358p. il. SILVA JR., Vidal Pereira da. Microcontroladores PIC; teoria e prtica. So Paulo, 1997. 140p. il. SOURCEBOOST TECHNOLOGIES. Disponvel em: <http://www.sourceboost.com>. Acesso em: 10 out. 2006. SOUZA, David Jos de. Desbravando o PIC; ampliado e atualizado para PIC16F628A. 9. ed. So Paulo, rica, 2005. 268p. il. SOUZA, David Jos de; LAVINIA, Nicols Csar. Conectando o PIC 16F877A; recursos avanados. 2. ed. So Paulo, rica, 2005. 380p. il. ZANCO, Wagner da Silva. Microcontroladores PIC16F628A/648A; uma abordagem prtica e objetiva. So Paulo, rica, 2005. 364p. il. Nome do tcnico responsvel Daniel Corteletti Bacharel em Cincia da Computao Instrutor de Educao Profissional de Nvel Tcnico Nome da Instituio do SBRT responsvel Centro Tecnolgico de Mecatrnica SENAI Data de finalizao 26 out. 2006

Copyright Servio Brasileiro de Respostas Tcnicas - SBRT - http://www.sbrt.ibict.br

27

Anda mungkin juga menyukai