8051 Visualización de conteos desde el contador

-1

Estoy usando el temporizador 0 del microcontrolador 8051 como contador para contar los pulsos del pin externo T0. ¿Cómo puedo mostrar el valor de TL0 en una pantalla LCD? Estoy usando el siguiente método para mostrar cadenas:

code unsigned char word_A[] = "testing";

lcd_string(word_A);   //Display on LCD

¿Hay alguna forma de pasar el valor de TL0 a la función lcd_string?

    
pregunta dritech

2 respuestas

1

Dos métodos básicos.

Puedes hacer lo que sugiere @Eugene Sh y usar una matriz de búfer y sprintf (), o puedes redefinir la función primitiva a la que llama printf () (algo como putchar) para que escriba en la pantalla LCD.

Si utiliza el método sprintf, asegúrese de dejar espacio para la terminación \ 0.

    
respondido por el Spehro Pefhany
0

Muchas pantallas LCD comunes admiten un modo que muestra los datos en orden de derecha a izquierda. Esto puede ser muy útil al emitir números. Para generar un número, se puede establecer la posición del cursor en la ubicación del último dígito, seleccionar el modo de derecha a izquierda y hacer algo como:

void out_number(unsigned int n, unsigned char digits, unsigned char pad)
{
  do
  {
    lcd_dat(n % 10 + '0');
    n /= 10;
  } while(n && --digits);
  while(digits--)
    lcd_dat(pad);      
}

Este método emitirá un número usando el número especificado de dígitos y lo rellenará con el carácter indicado. No hay necesidad de pre-amortiguar el valor como sería necesario usando algo como printf ; los dígitos se generan en el mismo orden en que se emiten.

    
respondido por el supercat

Lea otras preguntas en las etiquetas