Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

03/11/2011 #1

Avatar de ArArgonath

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!
03/11/2011 #2
Moderador

Avatar de Chico3001

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
03/11/2011 #3

Avatar de ArArgonath

Hola Chico3001.

No entiendo la parte de cambiar de F a 0 a ver si me lo puedes explicar mas detalladamente. Si es posible con un pseudo ejemplo de codigo
04/11/2011 #4
Moderador

Avatar de Chico3001

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
04/11/2011 #5

Avatar de ArArgonath

Chico3001 dijo: Ver Mensaje
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
05/11/2011 #6
Moderador

Avatar de Chico3001

Alli si no te puedo ayudar ya que no los manejo...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.