Autor Tema: REFRESCO DISPLAY  (Leído 1792 veces)

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

albertoie

  • Visitante
REFRESCO DISPLAY
« en: 27 de Abril de 2006, 13:50:19 »
LA ACLARACION QUE ME HICIERON SIRVIO PERO CON LO DEL REFRESCO SIGO CON PROBLEMAS HE INTENTADO HACERLO POR RETARDOS PERO SIGUE PASANDO LO MISMO, LA INTERRUPCION NO LA PUEDO USAR POR QUE LA TENGO OCUPDA CONTANDO TIEMPOS. ADJUNTO LA PARTE DEL CODIGO DONDE ENCONTRE LO QUE AFECTA EL DISPLAY


LA IDEA NO ES RESTAR NUMEROS, ES HABILITAR UN DIPLAY PRIMERO Y DESPUES EL OTRO, ESTO LO HAGO PORQUE UTILIZO EL MISMO PUERTO PARA ENVIAR LOS DATOS AL DISPLAY, ES UNA VISUALIZACION DINAMICA, ESTA PARTE DEL CODIGO HACE ESO HABILITA UNO MANDA EL DATO, DESPUES LO DESHABILITA, HABILITA EL OTRO Y MANDA EL DATO.

EL PROBLEMA ESTA EN QUE EL PRIMER DISPLAY QUE SE HABILITA ES EL QUE SE VE MENOS BRILLANTE 

;*******RUTINA SALIDA DEL DATO AL PUERTO**********************************************
SALPUER                   BSF   PORTA,4      ;DESHABILITA DIS1 CON EL TRANSISTOR
      BSF   PORTA,5      ;DESHABILITA DIS2 CON EL TRANSISTOR
      MOVWF   DATOP      ;MUEVE EL DATO AL REGISTRO PARA PUERTO
      BTFSS   DATOP,7      ;REVISA EL BIT DE SIGNO PARA SABER SI ES - O +
      GOTO   PUERTO      ;SI ES POSITIVO VA AL PUERTO
      BCF   DATOP,7      ;SI ES NEGATIVO LIMPIA EL BIT DE SIGNO
      BSF   SIGNO,7      ;GUARDA EL SIGNO DE VALOR NEGATIVO
PUERTO                   MOVLW   .10         ;CARGA CON 10 PARA CONVERTIR BCD
DISPL                   SUBWF   DATOP,1      ;HACE LA RESTA
      BTFSS   STATUS,0                  ;REVISA EL RESULTADO
      GOTO   INICIAL      ;SI ES MENOR DE 10 VA A INICIAL
      INCF   DATOP2,1                  ;SI ES MAYOR DE 10 INCREMENTA
      GOTO   DISPL      ;CONTINUA CON EL CICLO   
INICIAL                   ADDWF   DATOP,1                     ;REGRESA EL VALOR INICIAL
      MOVLW   .1         ;ESTO DIRECCIONA LA POSISCION
      MOVWF   PCLATH      ;DE LA TABLA DECO
                   MOVF   DATOP2,W                  ;LLEVO EL DATO MAS ALTO AL PUERTO
      CALL   DECO      ;TABLA DECODIFICADOR
      BTFSS   SIGNO,7      ;REVISA EL SIGNO
      GOTO   SALID1      ;SI ES CERO VA DIRECTO AL PUERTO
      IORWF   SIGNO,W      ;SI ES UNO COLOCA EL BIT 7 EN UNO PARA MOSTRAR EN EL SALID1                   BSF   PORTA,4      ;DESHABILITA DIS1 CON EL TRASISTOR
      BCF   PORTA,5      ;HABILITA DIS2 CON EL TRANSISTOR
                                MOVWF   PORTB      ;CARGA EL DATO ALTO AL PUERTO
      CALL   RETM2      ;VA AL RETARDO PARA VISUALIZAR
      MOVF   DATOP,W                 ;CARGA EL DATO BAJO
      CALL   DECO      ;TABLA DECODIFICADOR
      CLRF   PCLATH      ;LIMPIA PCLATH PARA CONTROL DE TABLAS
      BTFSS   SIGNO,7      ;REVISA EL SIGNO
      GOTO   SALID2      ;SI ES CERO VA DIRECTO AL PUERTO
      IORWF   SIGNO,W      ;SI ES UNO COLOCA EL BIT 7 EN UNO PARA MOSTRAR EN EL
SALID2                   BCF          PORTA,4      ;HABILITA DIS1 CON EL TRASISTOR
      BSF   PORTA,5      ;DESHABILITA DIS2 CON EL TRANSISTOR
                                MOVWF   PORTB      ;CARGA EL DATO AL PUERTO
      CALL   RETM2      ;VA AL RETARDO PARA VISUALIZAR
                                CLRF   DATOP      ;LIMPIA REGISTRO
      CLRF   DATOP2      ;LIMPIA EL REGISTRO DE INCREMENTO
      CLRF   SIGNO      ;LIMPIA EL REGISTRO DE SIGNO
      BSF     DIS2,1                           ;CAMBIA EL ESTADO DE LA BANDERA A UNO
                                RETURN

« Última modificación: 28 de Abril de 2006, 13:04:18 por albertoie »

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: REFRESCO DISPLAY
« Respuesta #1 en: 27 de Abril de 2006, 14:10:35 »
cual es la idea del programa ?

segun veo ¿quieres hacer una resta entre dos numeros?
me podrias dar mas informacion

Desconectado Yosupicprog

  • PIC10
  • *
  • Mensajes: 36
Re: REFRESCO DISPLAY
« Respuesta #2 en: 27 de Abril de 2006, 14:35:06 »
hOLA.....

INICIAL                   ADDWF   DATOP,1                     ;REGRESA EL VALOR INICIAL
                               MOVLW   .1         ;ESTO DIRECCIONA LA POSISCION
                               MOVWF   PCLATH      ;DE LA TABLA DECO

yO NO SE SI ESTARE 100% SEGURO... PERO HASTA DONDE TENGO ENTENDIDO, EN ESTE MOMENTO ESTAS MAPEANDO PARA OTRO BANCO DE LA EEPROM DE PROGRAMA..... NO SE SI ESO LO QUIERAS HACER A DREDE.....

POR OTRO LADO ESTAS USANDO LA PATITA DEL PIC RA4, LA CUAL ES COLECTOR ABIERTO, POR LO TANTO DEBES COLOCARLE UNA RESISTENCIA DE POR LO MENOS 1K A 5V PARA EVITAR PROBLEMAS EN LA CONMUTACIÓN DEL TRANSISTOR.......

DIME CUAL ES EL PROBLEMA EN CNCRETO QUE PRESENTA TU CIRCUITO,,¡¡
Ing. Yosu Izaguirre R.
yosupicprog@yahoo.com
yosupicprog@hotmail.com
Maracaibo Estado Zulia, VENEZUELA..¡

PROGRAMARLOS ES MI HOBBYE-EL LIMITE ES TU IMAGINACION

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: REFRESCO DISPLAY
« Respuesta #3 en: 27 de Abril de 2006, 14:40:16 »
Hola.
Ando medio perdido y no se cual es tu duda.
Un detalle: si estas modificando codigo ajeno, te recomiendo que cambies:
MOVLW   .1         ;ESTO DIRECCIONA LA POSISCION
MOVWF   PCLATH      ;DE LA TABLA DECO

por:
BANKSEL DECO

Un saludo.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.


 

anything