Autor Tema: ADC 16f876A a 7 SEG  (Leído 1603 veces)

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

Desconectado Vangeluz

  • PIC12
  • **
  • Mensajes: 74
    • Vangeluzweb
ADC 16f876A a 7 SEG
« en: 22 de Octubre de 2013, 17:58:43 »
Hola, que tal, estoy muy aturdido con el tema de las conversiones del ADC, pude llegar a hacer la prueba con el termostato de pablin, y LCD, y anda perfecto.

Lo que no puedo hacer es mostrar el numero en 3 digitos 7 segmentos, con ningula libreria BIN_BCD u otras, no me funciona nada.

Solo me salio con 1 digito ( unidades ) probando y probando, cuenta de 0 a 9 pero cuando pasa a ( decena ) incrementa a 1 , la unidad a 0,

pero la unidad sigue contando en binario fuera de la tabla del 0 al 9

Osea escribe cualquier cosa ..Les muestro el pedazo que uso ...


Código: [Seleccionar]
CICLO
bsf ADGO ;Inicia la conversión A/D
btfsc ADGO ;Espera que termine de convertir
goto $ -1

bsf MP0 ;Pasa a página 1 (para acceder a los ocho bits bajos del resultado)
movf adres, 0 ;Resultado de conversión -> W
bcf MP0 ;Pasa a página 1

movwf buffer ;Guarda el dato obtenido de ADRESL en el buffer temporal
bcf CARRY ;Limpia el CARRY
btfsc adres, 0 ;Mira el bit menos significativo de ADRESH (Bit 8)
bsf CARRY ;Si está en 1 pone en uno el carry
rrf buffer, 1 ;Hace desaparecer el bit 0 de ADRESL, mete el bit 0 de ADRESH por el 7 de ADRESL
               
movf buffer, 0 ;Dato digitalizado -> W
               
                ACA UTILIZO EL DATO QUE HAY EN W Y LO PASO A LA UNIDAD

                MOVWF     UNIDAD
                MOVF        UNIDAD,W
                SUBLW      D'10'
                BTFSC       STATUS,2
                CALL         INCREMENTAR DECENAS Y PONER A CERO
                CALL         MUESTRO LOS 3 DISPLAYS
                GOTO        CICLO

INCREMENTAR DECENAS Y PONER A CERO
                CLRF         UNIDAD
                MOVF        BUFFER,W
                MOVWF     DECENA
                MOVF        DECENA,W
                SUBLW      D'10'

                ...................................... ETC .........
                RETURN

MUESTRO LOS 3 DISPLAY
                MOVF        UNIDAD,W
                CALL         TABLA 0 A 9
                MOVWF      PORTB
                BSF           ENCIENDO UNIDAD
                CALL         TIEMPO
                BCF           APAGO DISPLAY

                MOVWF     DECENA,W
                ................................. ETC

                RETURN
               




Gracias y espero me ayuden que me estoy volviendo loco !!!!
Vangeluz


 

anything