Cómo escribir un programa para el microcontrolador 89C51 en lenguaje C. El programa a escribir es: un cronómetro que va de 0 segundos a 99 segundos, se detiene a los 99 segundos y emite un pitido.
#include
#define uchar unsigned char
#define uint unsigned int p>
uchar a , b=0;
sbit wei1=P1.0;
sbit wei2=P1.1;
//* *** Código negativo de siete segmentos
tabla de códigos uchar[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f, 0x77};
void Delay1ms (uint i) //programa de retraso de 1ms
{
uint j;
for(;i>0;i--)
{
for(j=0;j<164;j++)
{ }
}
} p>
visualización vacía( uchar a)) //programa de visualización
{
P0= table[a/10];//ten
wei1=1;
Retraso1ms(2) ;
wei1=0 ;
P0= tabla[a%10];// único bit
wei2=1;
Retraso1ms(2) ;
wei2=0;
}
void main(void )//programa principal
{
TMOD= 0x01;//Temporizador/contador 1 modo de funcionamiento 1
ET0=1; p>
EA=1;
TH0=(65536-50000)/256;//Tiempo 50ms
TL0=(65536-50000)%256;
TR0=1;
mientras(1)
{
mostrar(b);
}
}
//Subrutina de interrupción
/Dado que el programa de interrupción es muy corto, solo toma menos de 1 milisegundo y el intervalo de interrupción es de 50 milisegundos, por lo que no es necesario desactivar la interrupción
void Timer0(void }
if(b==100)
{ b=0;} p>
}