Autor Tema: mostrar datos en display  (Leído 1713 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
mostrar datos en display
« en: 21 de Febrero de 2007, 03:32:56 »
Hola a los usuarios de este foro. Tengo el siguiente problema: estoy empezando a programar las series pic y no se demasiado. Necesito si alguien puede pasarme en codigo asambler un programa para mostrar en tres display (ánodo o cátodo común, es indistinto). Esto es lo que quiero: supongamos que adquiero por el puerto a del 16f84a un valor comprendido entre 0 y 255 (o sea, los 8 bit que posee una pocisión de memoria RAM) y estos mostrarlos en tres display como se menciono antes.
Mi primer intento fue leer desde el bit menos significativo y saber que número mostrar en el port b del micro, pero me vi imposibilitado de hacer que el programa discrimine el nro 9 al 10; y el 99 y 100, para poder darme cuenta en que momento encender el display correto. Aquí va una foto de como me gustaría que sea la conección (si es necesario modificarlo se hará)

Este cicuito lo pongo a modo de ejemplo. Lo saque de www.pablin.com.ar es un reloj para la casa o para el coche. (consejo, visiten esta página).

Bueno, espero haberme esplicado y espero respuestas. Desde ya muchas gracias. Como nota final, si es posible y no mucho pedir, explicar cada linea. Gracias.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado PalitroqueZ

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5474
    • Electrónica Didacta
Re: mostrar datos en display
« Respuesta #1 en: 21 de Febrero de 2007, 11:35:44 »
Hola leon_pic . mira este post a ver si te sirve.

Salu2
Pedro
La propiedad privada es la mayor garantía de libertad.
Friedrich August von Hayek

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: mostrar datos en display
« Respuesta #2 en: 21 de Febrero de 2007, 15:25:44 »
caballero lo que tendrias es que decodificar el valor que obtienes del puerto.

o sea b'00100000'= 32
0 centenas
3 decenas
2 unidad


DECODIFICAR   CLRF   DECENAS
     DECODI                MOVLW   .100
      SUBWF   RESULTADO,1
      BTFSC   STATUS,0
      GOTO   CENTENA
      MOVLW   .100
      ADDWF   RESULTADO
YYY      MOVLW   .10
      SUBWF   RESULTADO,1
      BTFSC   STATUS,0
      GOTO   DECENA
      ADDWF   RESULTADO,0
      MOVWF   UNIDAD
                                CALL   VISUALIZACION
      GOTO   CAPTURA

CENTENA      INCF   CENTENAS,1
      GOTO    DECODI
      
DECENA   INCF   DECENAS,1
      GOTO   YYY


VISUALIZACION      NOP
         MOVF UNIDAD,W
         CALL    TABLA
         CLRF   PORTB
         MOVWF   PORTC
         MOVLW   B'00010000'
         MOVWF   PORTB
         CALL   RETARDO
   
         MOVF    DECENAS,W
RR         CALL   TABLA
         CLRF   PORTB
         MOVWF   PORTC
         MOVLW   B'00100000'
         MOVWF   PORTB
         CALL   RETARDO
                                   MOVF    CENTENAS,0
         CALL   TABLA
         CLRF   PORTB
         MOVWF   PORTC
         MOVLW   B'01000000'
         MOVWF   PORTB
         CALL   RETARDO
         CLRF   PORTA
         CLRF   PORTC
         CLRF    PORTB

         RETURN
saludos

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re: mostrar datos en display
« Respuesta #3 en: 24 de Febrero de 2007, 17:14:59 »
Muchas gracias por la información. Está muy buena. no lo había visto. Salu2. Leo
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado fartet

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 145
Re: mostrar datos en display
« Respuesta #4 en: 24 de Febrero de 2007, 18:09:20 »
Solo una salvedad, el puerto A del 16F84 solo tiene implementados 5 bits por lo que el valor máximo que podrás leer en él es 31