Editar gráfica de barra en lcd 16x2

Hola nuevamente foros de electrónica.

En este momento he estado tratando de hacer (en lenguaje basic en Proton IDE) una barra que se complete al aumentar una variable. Pero el caso es que necesito que esta dichosa barra este invertida, o sea que en vez de completarse de izquierda a derecha como lo hace esta barra:

http://www.youtube.com/watch?v=4pvstaKy4MI

se complete de derecha a izquierda.

Bueno el código que uso para casi todas las barras que he usado en diversas aplicaciones como vumetros de audio es este:

Código:
Lazo:
                                                    'Cargamos los caracteres especiales en la CGRAM del lcd
                                                    'El blanco a $0 hace que la gráfica trabaje más rápidamente
 
     Print $FE,64,Rep $0\8                          'Cargo un caracter vacío
     Print $0,Rep $10\6,$0                          'Cargo el caracter I
     Print $0,Rep $14\6,$0                          'Cargo el caracter II
     Print $0,Rep $15\6,$0                          'Cargo el caracter III

     Muestra = (Variable / 1.26)                   'Escala para 48(16*3) segmentos de la barra
     GoSub Barra                                       'Actualizamos la barra
     GoTo Lazo                                         'Cerramos el lazo 

 '***********************************Subrutina gráfica display lcd*********************************
 
 Barra:
 
 Completos = (Muestra Min 48) / 3                        'Calculamos el número de caracteres completos (III)
 Parcial = (Muestra Min 48) // 3                         'Calculamos el ASCII code para los caracteres parciales
 Pad = 15 - Completos                                    'Número de espacios para mostrar (ancho)
 Print At 2,1, Rep $03\Completos, Parcial, Rep " "\Pad   'Mostrar la barra en la segunda línea
 Return

Necesito que los "iluminados" de este foro se hagan presentes y me sugieran algun detalle que modificar de esta subrutina para que la barra se complete al reves.

Bueno eso seria saludos!
 

Adjuntos

  • Esquema.png
    Esquema.png
    365.8 KB · Visitas: 34
El proceso es exactamente el mismo... solo cambias las direcciones del display, en vez de comenzar de 0 a F comienzas de F a 0
 
Hola Chico3001.

No entiendo la parte de cambiar de F a 0 a ver si me lo puedes explicar mas detalladamente;):rolleyes:. Si es posible con un pseudo ejemplo de codigo
 
Asi:

- Seleccionas ultima direccion del display (0f)
- Envias el dato a colocar
- Seleccionas penultima direccion del display (0e)
- Envias el dato a colocar
etc...

La otra es que asignes un area de memoria en la RAM del micro para colocar alli los caracteres, y simplemente envias los 16 datos completos al display, asumiendo claro que estes usando un 16x2
 
Asi:

- Seleccionas ultima direccion del display (0f)
- Envias el dato a colocar
- Seleccionas penultima direccion del display (0e)
- Envias el dato a colocar
etc...

Te refieres a este procedimiento:
Código:
Print 254,64, 0 ,16 ,16, 16 ,16 ,16 ,16 ,0   'cgram posición 0   
  Print 254,72, 0 ,24 ,24, 24 ,24 ,24 ,24 ,0   'cgram posición 1
  Print 254,80, 0 ,28 ,28, 28 ,28 ,28 ,28 ,0   'cgram posición 2 
  Print 254,88, 0 ,30 ,30, 30 ,30 ,30 ,30 ,0   'cgram posición 3
  Print 254,96, 0 ,31 ,31, 31 ,31 ,31 ,31 ,0   'cgram posición 4

Disculpa por las molestias es que si me pones algún ejemplo de codigo en CSS o en basic te voy a entender ya que no soy muy avesado en esto de la programación
 
Atrás
Arriba