Tengo un microcontrolador común. Quiero que el tubo digital muestre HOLA en orden de izquierda a derecha. ¿Cómo debo escribir el programa? Es mejor explicarlo al escribir el programa.
#include
#define uchar unsigned char
#define uint unsigned int
sbit LS138A=P2^ 2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
tabla de códigos uchar[]={0x76,0x79,0x38, 0x38,0x3f}; //HOLA código de ruptura
void delay(uint z) //Subfunción de retardo
{
uint x,y; /p>
for(x=z;x>0;x--)
for(y=1000;y>0;y--);
}
void main()
{
while(1)
{
LS138A=0; =0; LS138C=0; //Selecciona el primer bit
P0=table[0];
delay(100);
LS138A= 1; LS138B=0; LS138C=0; //Selecciona el primer bit
P0=table[1];
delay(100);
LS138A=0 LS138B=1; LS138C=0; //Selecciona el primer bit
P0=table[2];
retardo(100); 1; LS138B=1; LS138C=0; //Seleccione el primer bit
P0=table[3];
retardo(100); =0; LS138B=0; LS138C=1; //Selecciona el primer bit
P0=table[4];
retardo(100);
}
}
/*El programa utiliza un decodificador de 38 bits como señal de selección de bits. Ajustar los parámetros en la función de retardo puede ajustar la apariencia de HOLA.
Cuando el retraso es lo suficientemente corto, HOLA*/
se puede mostrar al mismo tiempo