Obrigado por colaborar com este website.

Por favor, deixe seu AdBlock pausado enquanto visita este site.
O único retorno em desenvolvê-lo é com a exibição de publicidade não invasiva, e o Adblock retira toda chance de retorno. Obrigado e conto com sua ajuda e compreensão.







Microcontroladores: Por onde começar?

Por Daniel Bonadio.

uc_pic_1 (4K) Introdução ao microcontrolador e breve estudo sobre o PIC.

1. Sobre o conteúdo e objetivos deste artigo

Este artigo objetiva não exatamente tornar iniciantes em peritos no assunto; pelo contrário, visa dar um "Norte" aos que apenas encontram materiais dedicados aos que já possuem Bases em programação de softwares embarcados em dispositivos programáveis - Microcontroladores. Este artigo dará justamente a Base necessária para que os interessados no assunto possam caminhar "por suas próprias pernas", construindo um conhecimento mais sólido.

2. Um pouco da História...

É de conhecimento geral para os profissionais de nossa área, técnicos, engenheiros e hobbystas, que circuitos eletrônicos cada vez mais complexos exigem soluções cada vez mais inovadoras e elaboradas. Em todas as áreas do conhecimento humano, tem-se problemas cada vez mais difíceis de se resolver, à medida que avança a Ciência. Até o Início da década de 1970, quaisquer soluções eletrônicas para algum problema no Mundo Físico Real tinham que ser feitas por meio de organização de simples componentes discretos e circuitos integrados comuns; todos estes com funções totalmente fixas, ou, no máximo, dedicados a algumas poucas funções elementares que poderiam ser escolhidas por meio de chaves ou jumpers em algum ponto do circuito. A Indústria tinha grande anseio por soluções que tornassem os circuitos eletrônicos menores, mais confiáveis e menos dispendiosos. O advento das linguagens de programação, mais do que uma mera novidade, começou a despertar em muitos pesquisadores a possibilidade de incorporar uma memória Interna a um processador (dispositivo já existente, na época, como o 4-bit Intel 4004, lançado em 1971) para armazenar linhas de código.

Mais tarde, cogitou-se a hipótese de agregar também ao processador pimitivo dispositivos de Entrada e Saída, que permitiriam uma maior flexibilidade de uso desse novíssimo dispositivo, usando o mínimo possível de hardware externo. Ademais, seria necessária alguma porção de memória RAM, para armazenamento de variáveis Internas ao funcionamento do Microcontrolador, e também, quem sabe, como se dizia na época, alguma Eprom apagável via luz ultravioleta para armazenamento de dados não-voláteis. Estes processos serão pormenorizados ao querido leitor ao longo deste artigo, em oportuno momento.

Vencidas certas barreiras práticas para a construção de um microcontrolador Completo, a Intel lançou, em 1976, o modelo 4048 (ou MCS-48), considerado pela maioria o primeiro microcontrolador de fato do mundo. O estrondoso e imediato sucesso deste dispositivo, aliado a um sensível avanço por ele causado na área da microeletrônica moderna evidenciou o que até hoje repetimos à exaustão: os microcontroladores vieram para ficar, e o profissional desenvolvedor que não dominar o uso de alguma parte aprofundada desta tecnologia está provavelmente condenado ao fracasso.

Desde o lançamento do primeiro modelo de microcontrolador, dezenas de fabricantes adotaram o conceito, lançando suas próprias famílias de microcontroladores, com, hoje em dia, pequeníssimas diferenças entre diferentes fabricantes, para uma mesma classe de produtos, muitas vezes. Hoje, dispomos de modelos que vão de simplíssimos, com poucos pinos e apenas algumas centenas de bytes de memória de programa e sem recursos de hardware adicionais, até linhas que incorporam recursos avançados (DSPs, PWMs et cetera, explicados à posteriori) e com enorme poder de processamento de sinais rápidos.

A escolha de um microcontrolador ao seu projeto constitui-se tarefa agradável, desde que se tenha em mente necessidades e tabelas de fabricantes. Fato é que sempre, sem exceçào, um modelo se encaixará perfeitamente na necessidade do seu projeto.

3. Primeiras dicas práticas ao iniciante

3.1.Qual a real necessidade de um microcontrolador em um circuito, afinal?
A comparação de um circuito microcontrolado com um convencional deverá convencer, sem maiores dúvidas, o leitor da importância de se saber utilizar um microcontrolador em um circuito eletrônico. Suponha uma máquina em uma indústria que precise executar ciclos de trabalho: 5 minutos Ligada, 1 minuto desligada. Se o ciclo desta máquina for apenas esta simples função, o leitor mais atento dará-se conta que um simples timer, utilizando talvez um duplo-555 e uns poucos componentes discretos é mais do que suficiente para atender a tal exigência. O leitor estará certo.

Agora, imagine uma máquina que possua um complexo ciclo, de diferentes temporizações dependentes de sinais adquiridos por sensores, analógicos e digitais, que precise se comunicar com um computador em uma central e que ainda possua um display de cristal líquido para se comunicar com seu operador. Isso certamente exige um sistema de controle e tomada de decisões mais complexo. Embora seja teoricamente possível fazer isso sem o uso de microcontrolador algum, usando apenas portas lógicas simples (acreditem, senhores, alguns ociosos fazem esse tipo de coisa, apenas para aborrecer engenheiros), tornaria a placa muito complexa, cara e grande.

Um microcontrolador Simples, com apenas 1kb de memória de programa pode, facilmente, substituir literalmente Milhares de circuitos integrados de portas lógicas comuns, como CMOS da família CD4xxx. Isso é, em casos específicos, tremendamente útil.

Um microcontrolador reúne, em si, quase todos os recursos necessários para Controles complexos, sem com isso haver a necessidade de circuitos Físicos para executar as tarefas. Aqui encontra-se a principal vantagem do microcontrolador: a execução de tarefas complexas por simples comandos de Software, que não possuem Peso algum e nem tampouco Custo algum.

3.2 Hora então de esquecer como usar componentes comuns?
Definitivamente, Não. Como sempre insisto em aulas e palestras que preparo, o bom desenvolvedor, projetista ou engenheiro deve certamente saber utilizar Microcontroladores em Conjunto com dispositivos tradicionais da eletrônica. Dispositivos comuns, como portas lógicas e temporizadores analógicos externos auxiliam enormemente o trabalho do microcontrolador, tornando o código fonte do mesmo muito mais simples e confiável.

Lembre-se, também, que um microcontrolador não é toda a salvação no mundo da eletrônica. Ele jamais substituirá um circuito de potência de RF em um oscilador ou transmissor de rádio. Também é Incapaz de solucionar problemas de chaveamento de cargas de potência e outros relativos ao manuseio de corrente alternada. Um microcontrolador pode administrar, em certos casos, sinais analógicos em suas entradas. Contudo, o manuseio básico desse tipo de sinal continua, definitivamente, a depender de amplificação, filtragem, dentre outros, que dependem de amplificadores operacionais e outros elementos da eletrônica comum, que o leitor, repito, Precisa dominar.

Ademais, como Bottom Line, aconselho o leitor a procurar "Não Usar" microcontroladores em seu circuito, a não ser que ele seja realmente necessário. Assim, para um sequencial simples para festas, uma solução com circuitos digitais comuns continua a ser mais aconselhável. Nem tampouco é necessário utilizar um microcontrolador para ligar e desligar alternadamente uma lâmpada por meio de uma chave normalmente aberta. Em palavras mais simples, Saiba Dosar e Aplicar seu conhecimento. Equilibre o uso de dispositivos em sistemas que realmente necessitem de uma ou outra solução. Isso tornará os circuitos do Leitor mais elegantes e apropriados aos fins aos quais se destinam.

Esta ao menos é a minha filosofia, e fica como dica mais incisiva ao iniciante.

3.3. Qual modelo ou fabricante devo escolher para o meu aprendizado?
Depende de quais são seus objetivos e de como pretende aprender esta extensa matéria.

Ora, temos vários fabricantes e famílias; citarei algumas para que o leitor se Familiarize com nomes, e que eles remetam a algo conhecido quando o leitor ouvir nomes como:

  • - Atmel AVR Series (8, 14, 24 and 32 bit)
  • - Microchip PIC Series (8, 14, 16, 18, 32 bit)
  • - Texas Instruments TMS Series
  • - Intel 8051 family
  • - ARM cores (tecnologia de domínio público usada por N fabricantes)
  • - NEC V850 Series
  • - NXP Semiconductors LCP Series
  • - Freescale 68HC series

    E Muitos outros.

    Se o leitor for inclinado ao auto-didatismo, ao mesmo tempo que procura por uma solução equilibrada em microcontroladores entre custo e benefício, eu recomendo, sem sombra de dúvidas, a família PIC, da Microchip, um mundialmente renomado fabricante de alta tecnologia. Seus produtos são mais facilmente adquiríveis mesmo em lojas comuns de componentes eletrônicos, possuem excelente relação de custo-benefício, extenso material bibliográfico disponível em livros e mesmo gratuitamente na Internet, possuem em geral lista reduzida de comandos e uma estrutura interna que facilita o aprendizado.

    Tais vantagens devem levar o novato a iniciar-se por esta família de dispositivos, ao menos em minha opinião.

    Desprezarei aqui as imaturas e improdutivas discussões sobre qual família de microcontroladores é "a melhor". Cada arquitetura ou família possui suas vantagens e desvantagens. Durante seus estudos mais aprofundados, o leitor deverá sentir-se livre para escolher a família que mais lhe aparecer vantajosa ao que pretende realizar.

    A partir daqui, pelas razões mencionadas, darei ênfase no ensino à classe Microchip PIC de dispositivos, abordando características comuns de hardware, como conectar um microcontrolador e o Básico de como realizar um programa que ilustre o funcionamento do componente.

    4. Indo um pouco mais Além

    O leitor deve ter notado que, até o momento, "pincelei" superficialmente apenas assuntos básicos relativos ao assunto, sem nada de maior utilidade prática relevante, embora tal conhecimento básico deve ser inerente a qualquer um que busque programar estes dispositivos.

    Neste tópico, focalizarei a transmissão de conhecimentos mais práticos que, efetivamente, ajudarão o leitor no início desta árdua, mas recompensadora empreitada.

    4.1. Linguagens de programação e a limitação deste artigo
    A programação de um microcontrolador requer que o leitor se comunique com o mesmo com uma linguagem um pouco "mais próxima" com a que o microcontrolador "entende". Existem diversas linguagens de programação, cada uma assume um nome específico.

    >> É chamada linguagem de Baixo nível aquela que é mais próxima do microcontrolador do que da linguagem humana. Exemplo: Assembler

  • - Vantagens:
    Em geral, possui maior eficiência, gerando menores códigos para realização de uma mesma tarefa. Execução mais rápida do programa
  • - Desvantagens:
    Programar, desta forma, toma mais tempo e é, certamente, um trabalho mais desgastante e desagradável.

    >> É chamada linguagem de Alto nível as que aproximam-se de linguagens humanas. Exemplo: C, Basic, Pascal

  • - Vantagens: torna a tarefa de programação mais rápida, agradável e menos dispendiosa
  • - Desvantagens: atrasa, na maioria dos casos, a realização de processos pelo microcontrolador. É inadequada para processamentos rápidos de sinais, salvas raras exceções.

    Não tenho espaço no presente texto para elaborar também, internamente a ele, um curso completo de qualquer liguagem que seja. O assunto é extenso e transformaria este artigo em um livro, algo que terminantemente busco evitar. Mesmo com tal limitação, procurarei dar ao leitor as diretrizes e a biografia necessária para que ele tome conhecimento básico das linguagens usadas neste presente artigo.

    4.2. ExemplosTrecho de programa em Assembly:

    mov ax, cs
    mov ds, ax
    mov ah, 9
    mov dx, offset"hello"
    int 21h
    xor ax, ax
    int 21h
    


    O leitor que não compreender nada do segmento de programa acima não deve assumir sentimento de culpa algum. Linguagens de baixo nível implicam em um maior distanciamento da linguagem humana, e, a não ser com prévios e mais aprofundados conhecimentos, não se sabe o que o programa faz, sequer.

    Trecho de programa em C:

    if(test_flag => 1023)
    	{ 
    	output_low(PIN_C3);
    	clear_counter_vector();
    	}
    
    int clear_counter_vector()
    	{
    for(i = 0; i <= 1023; i++)
    			{
    			 counter_vector = 0;
    			}
    
    	}
    


    Aqui, nota-se o uso de "palavras" mais cognitíveis, em ingês: IF, FOR, Clear... Sem falar nos reconhecíveis sinais de igual (=) e maior (>) que, diga-se de passagem, assumem funções no programa similares às quais o leitor está familiarizado.

    4.3 Com qual linguagem começar?

    Com Linguagem C, eu aconselho.

    A despeito das divergências, as quais não detalharei neste artigo, considero a linguagem C, como exemplificado acima um caminho menos pedregulhoso, mais direto e que não realiza dolorosas curvas desencessárias em proveito de objetivos subjetivos como, por exemplo, "conhecer melhor o funcionamento da máquina" ou "programar com a máxima eficiência possível". Tais objetivos, apesar de nobres, devem ocupar a mente de um leitor que já possua algum conhecimento sobre como projetar utilizando microcontroladores, ao menos para o objetivo mais prático do presente documento. Os exemplos acima devem encorajar o leitor a raciocinar sobre as razões de eu aconselhar para início de aprendizado uma linguagem de maior nível.

    Assim, faço, daqui para frente, o uso de C apenas, na tentativa de animar o leitor para as empolgantes experiências práticas em momento oportuno neste texto.

    4.4 Leituras Obrigatórias A seguir, listo um livro em Português que o leitor deve adquirir uma cópia:

    - PIC: Programação em C. Pereira, Fábio. Editora Érica, 2007
    uc_pic_2 (9K)


    Muito do que há no livro o leitor já terá se deparado neste mesmo artigo, contudo, peço ênfase ao internalização de comandos básicos da linguagem C e suas Sintaxes. Não há necessidade da leitura completa de todo o livro, apenas procure focar-se, Inicialmente, nos seguintes assuntos, a título de melhor compreensão global do que acontecerá em exemplos de programas futuros deste artigo. A programação completa requer a leitura do livro como um todo. Este artigo, repetindo, busca nortear o leitor no início de seu aprendizado, e sanar dúvidas que tenho certeza que a grande maioria dos iniciantes possui ao consultar bibliografia especializada.

    No referido livro, ler para os seguintes pontos:

    - Álgebra Booleana (cap. II)
    - Operadores (cap. II)
    - Comando IF (cap. IV)
    - Comando While (cap. IV)
    - Função Printf (cap. IV)
    - Função Getc (cap. IV)
    
    - Comando Switch (cap. VII)
    - Laço For (cap. VII)
    
    - Funções de Atraso (cap XI)
    - Funções de Entrada / Saída (cap XI)
    - Funções Analógicas (cap XI)
    - Manipulação de Timers (cap XI)
    - Comparação, Captura e PWM (cap XI)
    
    Esta tarefa, a qual o leitor não pode se desincumbir, é totalmente necessária para que compreenda as funções básicas utilizadas para programação em C, ao menos no compilador que utilizaremos de exemplo para nossos pequenos programas.

    Nossa preocupação, futuramente neste artigo será dar ao leitor a ideia concreta de como estruturar o seu programa, e como organizar diretivas de forma que ele funcione.

    4.5 O Compilador
    Compilador é o software que converte cada uma das linhas que o usuário programar em uma linguagem totalmente binária (hexadecimal) que será gravada diretamente na memória do microcontrolador e executada pelo mesmo, linha a linha. É necessário para qualquer linguagem de programação, de alto ou baixo nível. Será instruído o uso do compilador PICC Compiler (PCW), para liguagem C, permitindo ainda, pequenos trechos de Assembly no código, para usuários mais avançados. fabricado pela CCS, este compilador pode ser encontrado em versões gratuitas na Internet com pequenas limitações. É suficiente para o iniciante realizar os exemplos deste artigo e outros que desejar experimentar. Este compilador possui vasto acervo de úteis bibliotecas, que ajudarão muito o utilizador iniciante que souber como utilizá-las corretamente.

    Aconselho, neste momento, o leitor baixar qualquer versão Demo do compilador PICC da CCS, de alguma versão superior à 4.0 e instalar em seu computador.

    4.6 Considerações práticas finais sobre programação
    Com o tempo, o leitor desenvolverá um raciocínio mais "automatizado" sobre como resolver determinados problemas com linguagens de programaçào. Em especial, a linguagem C. Este artigo dará a ele, enfim, todas as ferramentas básicas necessárias para isto. Microcontroladores, ao contrário de seus primos distantes, FPGAs, executam apenas uma linha de cada vez em seus códigos internos, programados pelo usuário. Um microcontrolador pode, portanto, realizar em um instante apenas UMA função de processamento ou execução de operação, qualquer que seja ela. Atente o leitor para isso.

    Programar com eficiência é, em última análise, fazer um circuito funcional APESAR das limitações práticas de um microcontrolador. Não se espera que o leitor possua tal habilidade ao último ponto final deste longo artigo, mas que tenha alguma ideia sobre como fazê-lo.

    5.0 Indo um pouco mais Além II

    Pausa no assunto programações, desviemo-nos, temporariamente, a assuntos igualmente importantes.

    No que tange a Hardware, e mais intimamente ligado a Eletrônica, portanto, o que podemos controlar com um microcontrolador de forma prática?

    Abaixo, apenas alguns exemplos.

    5.1. Dispositivos de Saída de dados ou sinais

    - Leds
    Indicadores muito úteis para estados lógicos de alguma função do aparelho pelo microcontrolador governado, os diodos emissores de luz são os mais simples dispositivos que podem ser diretamente excitados pelos pinos de entrada e saída de um microcontrolador

    - Dispays LCD
    Este tipo de mostrador, universalmente aceito pela indústria devido ao seu ótimo aspecto e baixo custo também poderá ser utilizado em conjunto com nossos microcontroladores estudados, tanto para apresentação de mensagens por textos (LCDs Alfanuméricos) ou figuras e mesmo fotografias, com algumas limitações (LCDs gráficos)

    - Displays de sete segmentos
    Os baratos e úteis mostradores simples para números que utilizam um ou mais Leds simples em seus segmentos.

    - Cargas de potência
    Por meio de Relés ou transistores Power MOS-Fets de potência.

    - Controle de potência efetiva DC aplicada a uma carga por meio de geraçào de sianis PWM

    5.2. Dispositivos de Entrada de dados ou sinais

    - Conectar chaves ao microcontrolador e como executar sua leitura

    - Conectar teclados ao microcontrolador

    - Utilização de entradas analógicas e suas topologias para o tratamento básico de sinais analógicos do "mundo exterior"

    Todos estes tópicos serão explanados, de forma básica, no artigo, para que o leitor sinta o "poder de fogo" destes dispositivos programáveis. Ademais, abordaremos de forma didática do que se tratam elementos inerentes ao uso de um microcontrolador, tais como Timers e Interrupções.

    6. Visão geral de microcontroladores abordados

    Dentro de um microcontrolador Microchip típico, encontramos, basicamente, os seguintes "blocos" funcionais:

    6.1.Estrutura Central
    - CPU: Processamento central de todos os sinais externos e internos ao dispositivo
    - ALU: Unidade Lógico-aritmética, responsável por operações matemáticas e booleanas
    - Pilha: Contador que é incrementado a cada vez que uma função é chamada ou que uma instrução é executada da memória de programa. Usada e consultada pela CPU para que o microcontrolador "saiba" em qual posição do programa se encontra.

    6.2. Memórias
    - RAM: memória ocupada pelo funcionamento ordinário da CPU e, também, para armazenamento de variáveis declaradas no seu programa, assunto que será detalhado um pouco mais a frente neste artigo.
    - ROM: Ou memória de programa, é uma memória geralmente de Somente Leitura. Embora em alguns PICs da família 18F seja possível gravar nesta memória durante a execução do programa, considera-se em geral que ela tem uso apenas interno ao microcontrolador, nela sendo armazenado o programa que o microcontrolador deve, linha a linha, executar. Todo o seu programa compilado deve, obrigatoriamente, caber nesta memória, a qual possui tamanho imensamente variável de acordo com o modelo do dispositivo.
    - EEPROM: Memória não-volátil que se pode escrever e apagar eletricamente ao longo da execução do programa. Possui leitura/escrita bastante demoradas, devido a isso, alguns recursos de programação podem ser necessários para que esta possa ser utilizada.


    6.3 Estruturas de funcionalidade elétrica auxiliar
    - Oscilador: Responsável pela geração da frequência livre que será determinada pelo cristal de Quartzo externo e, também, pelas demais topologias de oscilação, como interna, R ou RC. Assunto será discutido futuramente.
    - Reguladores de tensão: Alguns núcleos - CPU - operam com tensões mais baixas que a alimentação do dispositivo, tornando necessário o uso de reguladores internos.


    6.4. Entradas e saídas
    - Amplificadores de corrente a MOS-Fets, na saída, permitindo que cada saída do microcontrolador forneça cerca de 15 a 20mA e Drene, para o terra, cerca de 25mA.
    - Geradores PWM - Pulse Width Modulation - geram, via hardware, um trem de pulsos, cuja largura do nível alto é controlado via software. Muito útil para controle de potências eficazes em corrente contínua.
    - Circuito das Entradas Analógicas: utilizam uma conversão baseada no tempo de carga e descarga de um capacitor interno para determinar, sob várias possíveis resoluções, o valor de tensão "lido" na entrada, que pode variar entre zero e 5 volts. Também podem ser configuradas como entradas digitais no programa, e, com isso, serem normalmente usadas como pinos digitais.


    6.5. Watchdog Timer (WDT)
    Nada mais é do que um Oscilador independente interno (princípio de funcionamento RC) que monitora a execução do programa principal no microcontrolador. O Watchdog Timer deve ser resetado pelo programa feito pelo leitor a intervalos regulares, fato que assinala que o microcontrolador está funcionando corretamente e sem travamentos. Se o Watchdog não for resetado, ele Reseta o microcoontrolador. Ou o Principal reseta o WDT ou o WDT reseta o principal.
    Note-se que nem todo microcontrolador disporá de todos estes recursos internos, embora Todos eles, necessariamente, tenham de CPU, Pilhas Internas, entradas e saídas e ALU.


    7. PIC utilizado nos próximos exemplos e suas características
    Para os próximos exemplos, utilizaremos um tradicional microcontrolador PIC, modelo 16F877A, que dispõe de todos os recursos acima descritos, é barato, fácil de se encontrar e por isso excelente ao aprendizado do iniciante.
    - Alimentação: 4.5 a 5.5V (5V typ.)
    - Consumo típico @4MHz: 1mA
    - Frequência máxima de operação: 20MHz (5MIPS)
    - ROM: 8kb
    - RAM: 368 Bytes
    - EEPROM: 256 Bytes
    - 33 entradas e saídas
    - Dois canais PWM (CCPs)
    - Entradas analógicas: 8, 10 bits de resolução máxima.

    8. Gravadores

    Microcontroladores, para que funcionem, precisam ter seu software - ou, mais adequadamente nomeados FIRMWARES - gravados em suas memórias de programa. Isso exige um dispositivo Físico que, ligado a alguma porta de um computador, forneça as tensões necessárias ao PIC em gravação e, ao mesmo tempo, os dados que preencherão sua memória de programa, que sào transmitidos pela referida porta do computador. Hoje em dia muito mais comuns, gravadores USB sào rápidos, muito práticos e confiáveis. Os modelos Alemães Brenner 8/9 são os clássicos exemplos de bons gravadores USB, e pode ser adquirido a custos baixos em vários sites. Também estão facilmente disponíveis e gratuitamente em diversos sites esquemas de gravadores de PIC experimentais, que usam a porta serial (evite este modelo, por gentileza, a não ser que possua alimentação por fonte externa) ou paralela, a quem possui computador que ainda possua esta antiga interface.

    Importante é que o Leitor, neste momento, providencie, monte ou compre um gravador que ao menos suporte o modelo sugerido neste artigo, o PIC16F877A.

    A maior parte dos gravadores aceita o microcontrolador em um soquete ZIF - zero Insertion Force -, que não corre risco de danificar os pinos do circuito integrado ao ser colocado ou retirado. Outra possibilidade importante a ser lembrada é que a maioria dos gravadores de boa qualidade fornece a opção de o usuário gravar o microcontrolador por meio de um terminal ICSP - In Circuit Serial Programming.

    Imagine que sua eletrônica utilize um microcontrolador SMD, que não tem como ser gravado sem que esteja soldado à placa que o grave. A soluçào é a gravação ICSP, largamente adotada pela indústria. O gravador é conectado a placa com o PIC virgem já soldado e este é gravado na própria placa na qual irá funcionar definitivamente, com um mínimo de Hardware nela necessário para este processo.

    9. Preparativos e recapitulação

    Nos oito tópicos anteriores, procurei munir o meu paciente leitor de todas as ferramentas teóricas e práticas indispensáveis para o nosso próximo passo, que, adianto afim de animar o leitor, já é a elaboração de um primeiro programa prático e a gravação do microcontrolador de testes que possibilite a execução de uma tarefa simples.

    Até aqui o leitor foi preparado de forma básica e superficial com as seguintes ferramentas, vamos relembrá-las:

    - Breve histórico do componente programável denominado Microcontrolador
    - Necessidade de um microcontrolador e onde deve ou não ser utilizado
    - Fabricantes
    - Linguagens de programação
    - Linguagem C e seus principais comandos
    - Compilador
    - Hardware típico controlado por microcontroladores comuns
    - Visão geral e estrutura interna dos microcontroladores abordados no artigo

    Ademais, deve o leitor possuir no momento, conforme solicitado, as seguintes ferramentas de desenvolvimento:

    - Compilador PIC C Compiler CCS versão 4.0 ou superior
    - PIC16F877A para testes
    - Gravador de sua preferência


    Reunido tudo isso, podemos começar.

    Continua...


    Artigo gentilmente desenvolvido para este website por Daniel Bonadio.

    Você pode copiar e usar este material livremente. Peço-lhe apenas que mencione e fonte e o autor (Eng. Daniel Bonadio), e caso seja para uso na web, que envie um link até esta página.