Programación de iluminación
void init _ t0(void);
void t0_int(void) interrupción
int I = 8; es 8
void main()
{
p 1 = 0x ff; //Inicializa los LED, los 8 LED están apagados (suponiendo que la iluminación sea baja) .
init _ t0();
while(1); //Periodo de espera para interrupciones programadas
}
Nulo init_t0( ) //Elemento de configuración del valor inicial del temporizador 0
{
TMOD = 0x 01;
TH0 = 0x3c//El oscilador de cristal es de 6 MHz, cada máquina El ciclo es 2us y el tiempo de conteo requerido es 100ms = 100000us.
TL0 = 0xb0//El temporizador T0 funciona en 1 modo y el tiempo máximo de sincronización es 65536*2=131072us.
ET0 = 1; //Valor de recuento requerido = (131072-100000)/2 = 15536, convertido a 16, es 0x3cb0.
EA = 1;
TR0 = 1;
}
Void t0_int() interrupción 1 //Programa de procesamiento de interrupción del temporizador 0
{
TH0 = 0x3c
TL0 = 0xb0
I = I-1;
Si ( I!=0)
{
p 1 gt; gt= 1;
}
Otros
{
ET0 = 0; //Se han encendido ocho luces y el temporizador se apagará después de la interrupción.
EA = 0;
TR0 = 0
}
}