Olá lafourcade
O AT89C2051 precisa de gravador externo. Você tem um ? Se sim, tudo bem. Se não tiver, use o AT89S52, que é fácil de encontrar
e pode montar até um proto board. A gravação ISP deste mcu precisa de uma porta paralela no PC.
Neste endereço, você pode baixar um único arquivo com
instalador, que tem editor, compilador e programa gravador.
O Editor é fraco, mas funcional. Eu prefiro o Eclipse. O compilador é o SDCC.
http://www.microcontrolador.com.br/download/compilador_v2.1.exe
Está um pouco desatualizado, mas a atualização é fácil.
Para atualizar o SDCC, baixe aqui e instale na mesma pasta que o "compilador_V2.1" instalou o SDCC.
http://sourceforge.net/projects/sdcc/files/sdcc-win32/3.0.0/sdcc-3.0.0-setup.exe/download
O Programa GRAVA.EXE também precisa ser atualizado. Baixe a última versão aqui:
http://rafaelbf.tripod.com/arquivos/Grava211.zip e descompacte na mesma pasta onde o instalador anterior colocou a versão antiga do GRAVA.
No menu Ajuda desta última versão tem o esquema de ligação para fazer um cabo ISP. Use cabo blindado de 4 ou 5 vias de no máximo 60 cm.
- Código: Selecionar todos
/* Programa pisca */
#define TEMPO 1000 // determina 1 milisegundo aproximadamente
#include <at89x52.h>
void delay(unsigned int vezes)
{
do{
TCON&=0xCF; //aqui desliga o timer0 e reset do flag
TH0=~((TEMPO&0xFF00)>>8);
TL0=-(TEMPO&0xFF);
TR0=1;
while(!TF0);
TR0=0;
TF0=0;
}while(vezes--);
}
void main(void)
{
TMOD=0x01; // timer 0 no modo 1
while(1)
{
P1=0xF0;
delay(500);
P1=0x0F;
delay(500);
}
}
Este delay permite uma faixa de 1 ms a 65,535 s e pulsa o port 1 de 1/2 em 1/2 segundo.
Espero que ajude.
Jorge