Mini curso sobre AT89C2051 e AT89C4051 , 8051 - Parte 2 - Programas

    Hoje vamos falar dos programas necessários para se compilar os programas em C nestes dois micros AT89c2051 e AT89c4051.
    Para não induzir ninguém a usar pirataria sem nenhuma razão para fazer isso, vou mostrar alguns programas opensource interessantes e que uso bastante.
    O primeiro deles é o compilador, o SDCC, um compilador que já usei não só com a linha 8051, mas também com a Z80, além disso este programa também compila para várias outras arquiteturas.
    Mais importante é que pode ser executado diretamente no Linux, veja a página dele, baixe a versão correta para o seu sistema e o manual em PDF em:
   Depois de instalar o compilador, um editor de texto que uso e recomendo é o Programmer's Notepad, caso esteja no windows, recomendo instalar:
   Se estiver no Linux pode usar o Joe, que provavelmente já estará instalado:
   Caso goste, poderá usar o VI ou algum outro editor do Linux, o importante em todos eles é reconhecer a sintaxe do C e ajudar com erros de sintaxe por meio das cores.
   Para compilar o seu programa em C deve fazero seguinte:
   Supondo que esteja no windows :s digite o arquivo de lote com um nome terminado em .bat:

 
    O que este arquivo que criei há alguns anos atrás faz?
    Suponha que você digite em seu prompt de comando do windows:
C:\>comp programa
    O programa em lote basicamente faz com que o SDCC compile o arquivo programa.c ,depois converte o formato de saida nativo (ihx) em hex, de onde você poderá gravar este programa em seu micro, acompanhe:


   Recomendações para um programa em C decente:

    O arquivo mais importante que é gerado não é o .hex, ao contrário de que certas pessoas que não sabem nada de C para microcontroladores pensa, mas sim o arquivo .lst, onde você vai ver a listagem de todas as instruções que foi gerada pelo compilador. 
    Isto é importante, afim de se otimizar o código, e também verificar se o código que você escreveu é bom ou não, já que é fundamental otimizar o tamanho de código, além de tempo de execução em qualquer microcontrolador.
    Ou seja, se você conhece a lista de instruções da CPU e sabe fazer o programa em Assembly (espero), deve fazer com que o lst gerado pelo compilador seja o mais próximo possível de um programa que você faria em Asm. Caso contrário isso significa que o código em C está ruim e deve ser mudado, afim de que o compilador faça o que é certo, e não compile pedaços de código inútil ou então consumindo muita RAM.
   Veja a seguir como é uma típica passagem de um arquivo lst:


   Outro programa que é útil nesse caso são os de simulação, um deles é o EdSim51, pode perfeitamente servir para rodar alguns exemplos que vou passar daqui em diante:

   A simulação também pode ser feita usando ferramentas como o Multisim e o Proteus, abaixo vai um esquema de projeto que fiz, caso tenha esse simulador já instalado:


    Uma desvantagem deste é o fato de ser pago, mas como disse acima, tudo pode ser feito pelo EdSim51.

   Bom pessoal, aguarde o próximo post!

   Comentem!!

0 comentários:

Postar um comentário