HYPERPROG – PROGRAMADOR DE AT89C2051 USANDO HYPERTERMINAL (REF004)

1

Procurando por microcontroladores em uma loja, notei que ainda  havia  um bom estoque de microcontroladores programáveis de forma paralela, como o AT89c2051 (também 1051 e 4051). Estes são excelentes para pequenos projetos, como relogios, contadores, alarmes   e até projetos embarcados. Não possui conversor analógico/digital , mas pode ser implementado usando método delta-sigma. Fornecem suficiente corrente em seus pinos de saída para acionar diretamente a leds.  Mas como programa-los sem ter que comprar um caro programador paralelo?
Pensando nisto, porque não fazer um programador simples e que pudesse usar um aplicativo comum do computador? O HyperTerminal pareceu ideal , pois pode controlar a porta serial, transferir arquivos e comandos com facilidade e em diferentes velocidades (bauds).
Para a tarefa do Hardware , seria o ideal usar um microcontrolador com suficientes saídas e que fosse facilmente encontrado . Optei pelo ATMEGA8 , que é facilmente encontrado. Para gerar o programa code usei o ambiente da ATMEL AVR STUDIO , em assembly, e depois usei o Ponyprog2000 junto com um simples hardware de resistores (ex.  AT-PROG) para programar o ATMEGA8 .  Veja abaixo como ficou o  esquema do programador:

O circuito é alimentado por uma fonte externa de 13 volts. Foi usado um    MAX 232    ou equivalente para adaptar os níveis de sinais  da serial com o microcontrolador. O soquete usado pode ser um comum, mas de boa qualidade. O ideal é usar o soquete  ZIF,  especialmente se pretender programar ‘ muitíssimos ‘ controladores. A frequência do cristal usado é de 4 MHZ (bem comum).  Inicialmente, montei o circuito em um Breadboard para teste. Após conferencia geral, chip ATMEGA8 PROGRAMADO, e AT89c2051 conectado, conectei a fonte, conferi as tensões, etc.  O próximo passo foi abrir o HYPERTERMINAL, configurar a transmissão para 9600 bauds (por opção de programa) , sem paridade, 8 bits, xon-xoff  e configurei ‘PROPRIEDADES’-> ‘CONFIGURAÇÕES’->’CONFIGURAÇÕES ASCII’->      CONFIGUREI O ATRASO DE LINHA PARA 1 MS E O ATRASO DE CARACTER PARA 1 MS , PARA EVITAR FALHAS.

Ao ligar a alimentação do programador com conexão feita e HYPERTERMINAL rodando, aparecerá no texto o nome do programador, se tudo estiver ok.  Quais são os comandos aceitos pelo programador? São estes:

TECLA ‘ENTER’  = APARECE O NOME DO PROGRAMADOR E RESETA

TECLA ‘E’ = ERASE  (APAGAR O CHIP PARA NOVA GRAVAÇÃO . SEMPRE APAGUE ANTES DE UMA GRAVAÇÃO)

TECLA ‘S’ = SIZE (TAMANHO DO ARQUIVO QUE DESEJA LER COMO1024(AT89C1051),2024(AT89C2051), 4096 (AT89C4051)

TECLA ‘?’ = AJUDA (CASO ESQUEÇA OS COMANDOS, TECLANDO ‘?’ APARECERÁ TODOS ELES)

TECLA ‘R’ = READ (FAZ A LEITURA DO CHIP COLOCADO NO SOQUETE DE FORMA CORRIDA)

TECLA ‘H’ = READ HEXA (FAZ LEITURA DO CHIP COLOCADO NO SOQUETE NO FORMATO HEXADECIMAL     PADRÃO)

TECLA ‘W’ = WRITE ( GRAVA O CHIP COM ARQUIVO HEXA )

TECLA ‘L’ =  IMPEDIR ACESSO A MEMÓRIA PELA QUEIMA DE FUSÍVEIS ( NÃO FOI IMPLEMENTADO NESTE PROJETO)

OBS. PARA GRAVAR DIGITE ‘W’ ,EM SEGUIDA CLIQUE EM ‘TRANSFERIR’  E AINDA ‘ENVIAR ARQUIVO DE TEXTO’.      ESCOLHA NA CAIXA O ARQUIVO HEX (TEM QUE SER HEX) QUE GRAVARÁ  E CLIQUE NELE. SERÁ ENVIADO PARA O  CHIP IMEDIATAMENTE.

Depois de alguns erros e correções, o circuito passou a funcionar muito bem e fiquei feliz de poder usar os “esquecidos”  microcontroladores de programação paralela.

Segue abaixo o desenho da placa de circuito impresso:

HYPERPROG_PCB

Segue abaixo o desenho da placa com os componentes (visto pelo lado das trilhas de cobre) e lista de materiais:

Segue abaixo o arquivo ASM:

HYPERPROG_ASM

Segue abaixo o arquivo HEX para programar o  ATMEGA8:

HYPERPROG_HEX

Até o próximo artigo!!!!!

1