¿Cómo agregar un programa de temporizador al sistema de sincronización basado en 51 microcontroladores?
¿#ifndef? _MAIN_H
#¿Definición? _MAIN_H
#¿Definición? u16? ¿No firmado? (Igual que las organizaciones internacionales) Organizaciones internacionales
#Definición? u8 no está firmado? Té
#Definición? uint? ¿No firmado? (Igual que las organizaciones internacionales) Organizaciones internacionales
#Definición? ucharunsigned? Té
#Definición? ¿Completamente cerrado? ¿P2? =?((P2 & 0x1f)|0x00)
#Definición? ¿LED_ONP2? =?((P2 & 0x1f)|0x80)
#Definición? TUB_DUP2? =?((P2 & amp;0x1f)|0xe0)
#Definición? TUB_WEP2? =?((P2 & amp;0x1f)|0xc0)
#Definición? ¿CLK Osker? 110592000 ?//¿Yo? ¿No entiendes? ¿Por qué? 0?Más
#Contiene? " intrins.h "
#¿Contiene? " math.h "
#¿Contiene? " stdio.h "
#¿Contiene? " reg52.h "
#¿Incluir? " retraso.h "
#¿Contiene? " tube.h "
#¿Contiene? "Teclado. h "
externo? uint? seg
#endif #Contiene? ¿"principal.h"?
¿u16? cuenta0, cuenta 1;
uint? Segundos, minutos;
¿No válido? principal()
{
u8? temp = 0xff
uint? ¿I? =?1000;
//?Configuración de interrupción del temporizador-.
TMOD? =?0x 10; //¿Temporizador 0? ->? ¿modo? 1
TH1=? 0xfc//1 milisegundo
TL1=? 0x65
TR1=? 1;
TH0=? 0xfc//1 milisegundo
TL0=? 0x65
TR0=? 1;
ET0=? 1;
EA? =?1;
//LED _ ON;
//P0? =?0xfe
//While(I-)//El programa de interrupción interrumpirá este largo retraso.
//Delayus(1000);
//P0? =?DSP buf[2];
//TODO _ APAGADO;
mientras(1)
{
tecla _ Función ();
if(TF1?==?1)
{
TF1? =?0;
TH1=? 0xfc//1 milisegundo
TL1=? 0x65
Display();
DSP buf[7]= seg % 10;
DSP buf[6]= seg/10;
DSP buf[4]= min % 10;
DSP buf[3]= min/10;
}
}
}
¿Anulado? Temporizador0()? ¿interrumpir? 1
{
TH0=? 0xfc//¿Tiempo de calibración? ->? Asignación de valor inicial secundario
TL0=? 0x65
cuenta +;
if(cuenta0?==?1000)
{
cuenta0? =0;
segundos? ++;
Si (segundos == 60)
{
seg? =?0;
min++;
}
}
}Tengo ambos métodos en este programa, puedes verlo. Espero adoptarlos.