Red de conocimientos turísticos - Conocimientos sobre calendario chino - ¿Cómo escribir el microcontrolador para que la luz LED se encienda cada 5 segundos y el tubo digital siempre muestre la cuenta regresiva de 5 a 0?

¿Cómo escribir el microcontrolador para que la luz LED se encienda cada 5 segundos y el tubo digital siempre muestre la cuenta regresiva de 5 a 0?

Establecer en *** tubo digital de siete segmentos de ánodo

char? , 0x90} //*** Código de siete segmentos del ánodo char? bitCode[]={0x01, 0x02, 0x04, 0x08, 0x10, 0x20} //*** Código de 6 bits del ánodo, válido de alto nivel

/***Mostrar datos en la posición especificada***/

// m son los datos del código de siete segmentos que se mostrarán

// k son los datos especificados datos de visualización de posición

void show(char m, char k)

{? char dat;

dat = segCode[m]; // m= 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

HC573(dat, 1); //Código de segmento de salida

dat = bitCode[] k];? // k=0, 1, 2, 3, 4, 5

HC573(dat, 2); //Código de bits de salida

}

sbit segm = P2^6;? //Bit de bloqueo

sbit bitc = P2^7;? //Bit de bloqueo

/*** HC573 recibe datos bloqueados * **/

void HC573(char dat, char nub)

{

P0=dat;

if(nub= = 1)

{ segm=1; segm=0; } ? //Señal de bloqueo del segmento de salida

if(nub==2)

{ bitc = 1; bitc = 0; }? //Señal de bloqueo de bit de salida

}

bit intflag;

void main()

{ char times;

intflag=0;? times=5;

P1=0xff;

initime0(); //Inicializar temporizador 0

p>

while(1)

{? if(intflag)?

? { intflag=0;?

show(veces, 0) ); // Debido a que solo se muestra un bit, el problema de escaneo de bits no se considera

? =5; P1 =~P1; }

}

}

}