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

Temas similares

12/01/2010 #1


Problema con 16f877a no enciende 7 segmentos.
Saludos, soy nuevo con esto de los microcontroladores, mi problema es el siguiente:

tengo un sencillo circuito programado para el PIC 16f877a que despliega los números del 1 al 9 en un display 7 segmentos, el problema es que cuando lo conecto en la práctica no enciende nada, ya lo he polarizado correctamente y le he colocado un oscilador de 4Mhz en los puertos 13y 14, agradezco su ayuda.

El código es el siguiente:

Código HTML:
list p=16f877A
        #include p16f877A.inc
        org 0x00
CONTA    equ 0x20       
limite  equ 0x0A
        org 0x05
inicio
        bsf STATUS,RP0
        bcf STATUS,RP1
        clrf TRISC  ;PORTC SALIDA
        movlw b'10000000'
        movwf OPTION_REG ;configuracion del timer1
        bcf STATUS,RP0
        bcf STATUS,RP1
        movlw b'00110000';CONTADOR INTERNO DE 16 BITS
        movwf T1CON
        clrf CONTA
        clrf PORTC
bucle
        movf CONTA,W ;W=TMR0
        call DISPLAY
        movwf PORTC
        call retardo
        incf CONTA,F
        movlw b'00001010' ;verifica si ha llegado a 10
        subwf CONTA,W
        btfss STATUS,Z
        goto bucle ;sino es 10 ir a bucle
        clrf CONTA ;si es cero conta=0
        goto bucle
retardo
        bcf PIR1,TMR1IF ;BORRA LA BANDERA DE DESBORDE
        clrf TMR1L ;limpiar los registros de conteo
        clrf TMR1H
        bsf T1CON,TMR1ON ;HABILITA EL TMR1
espera
        btfss PIR1,TMR1IF ;verifica el desborde
        goto espera ; sino ir a espera
        bcf T1CON,TMR1ON ;si desborda limpiar la bandera
        return
DISPLAY
        addwf PCL,f
        retlw b'00111111' ;nemero 0
        retlw b'00000110' ;nemero 1
        retlw b'01011011' ;nemero 2
        retlw b'01001111' ;nemero 3
        retlw b'01100110' ;nemero 4
        retlw b'01101101' ;nemero 5
        retlw b'01111101' ;nemero 6
        retlw b'00000111' ;nemero 7
        retlw b'01111111' ;nemero 8
        retlw b'01100111' ;nemero 9
        END
Cabe decir que en la simulación funciona perfectamente, aqui adjunto el archivo de proteus.
14/01/2010 #2
Moderador

Avatar de Chico3001

Respuesta: Problema con 16f877a no enciende 7 segmentos.
Cargale algun programa de ejemplo para descartar que el problema sea de hardware
15/01/2010 #3


Respuesta: Problema con 16f877a no enciende 7 segmentos.
lo 1º ke te iba a decir es lo de la polarizacion del display por si es anodo o catodo comun. Imagino que habras puesto resistencias entre el display y el pic, si no lo has hecho me da k el display esta en un lugar mejor.

Yo lo que hago alguna vez en caso de duda con el display es meter:

Código HTML:
INICIO:   
             incf    PORTC,F
             call    RETENCION
             goto  INICIO
veras como ira mostrandose una cuenta en binario, si enciende el display es que elmontaje esta bien sin duda alguna. No se si lo habras hecho pero a mi me han dicho mil veces poner 2 condensadores a extremos del reloj de 27pF conectados a masa. Ejemplo. No se si ya los tendras puestos pero sin ver el esquema digo todo lo que se me ocurre que pueda dar fallos

Mas no te puedo ayudar por que hay mas de una cosa en el programa que se escapa a mi nivel.
16/01/2010 #4


Respuesta: Problema con 16f877a no enciende 7 segmentos.
Ahora mi problema es que monto asi sea el circuito más básico, por ejemplo de prender un led, pero no hace absolutamente nada, no enciende nada, entonces yo creería que el problema es de hardware, lo de los capacitores si lo tengo montado así al clock, me han dicho que me fije que XT debe estar habilitado para 4Mhz, pero no se exactamente a qué sere refieren, y también cómo hago para saber que la programacion de bajo voltaje este deshabilitada?

Muchisimas gracias por sus respuestas.
16/01/2010 #5

Avatar de mecatrodatos

Respuesta: Problema con 16f877a no enciende 7 segmentos.
Que tal amigo mira lo siguiente en el pin de MCLR conecta una resistencia de 10 K a vcc es el pin 1 del pic que estas utilizando.
16/01/2010 #6

Avatar de eserock

Respuesta: Problema con 16f877a no enciende 7 segmentos.
Haber partiendo de cero si el esquema que usas es el que posteaste
1.- donde esta el cristal para la oscilacion?
2.- donde estan los parametros de funcionamiento del pic?
16/01/2010 #7


Respuesta: Problema con 16f877a no enciende 7 segmentos.
En el que postee al comienzo no va incluido lo del MCLR y lo del cristal porque siempre lo hago ya en la práctica, mira, es el siguiente:

17/01/2010 #8


Respuesta: Problema con 16f877a no enciende 7 segmentos.
en winpic en config tienes que tener desactivado el WDT y activar XT
17/01/2010 #9


Respuesta: Problema con 16f877a no enciende 7 segmentos.
jonbul dijo: Ver Mensaje
en winpic en config tienes que tener desactivado el WDT y activar XT
Y si estoy programando directamente desde MPLAB, sabes cómo se hace?

Ya he conseguido solucionar el problema, lo único que hice fue agregar esta linea de código en el programa de mplab.

__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _XT_OSC & _WRT_OFF & _LVP_OFF & _CPD_OFF
17/01/2010 #10

Avatar de eserock

Respuesta: Problema con 16f877a no enciende 7 segmentos.
eso es exactamente lo que te comentaba si lo habias agregado la configuracion del pic
17/01/2010 #11


Respuesta: Problema con 16f877a no enciende 7 segmentos.
Muchas gracias a todos por las respuestas.
17/05/2010 #12


Respuesta: Problema con 16f877a no enciende 7 segmentos.
buenas, solicito de su colaboración en lo que puedan ayudarme, ya que tengo que Diseñar un sistema con la capacidad de conteo con diferentes retardos y el límite, estos retardos deben ser introducidos por teclado, el conteo debe hacerse por display 7 segmentos.

Ya hice el diseño en proteus, pero no he podido hacer el código en PIC. Anexo pantalla

Agradezco la ayuda que me puedan prestar.

Gracias
18/05/2010 #13

Avatar de tecnogirl

Respuesta: Problema con 16f877a no enciende 7 segmentos.
maox73: No enviaste nada. Ademas, debes enviar el codigo y una imagen gif/jpg del circuito. Saludos
21/05/2010 #14


Respuesta: Problema con 16f877a no enciende 7 segmentos.
que pena contigo, adjunto la imagen del diseño en el formato que me digiste, y bueno el código lo he tratado de hacer y de guiarme pero la verdad no he podido hacerlo, necesito que me colaboren por favor en esto. muchas gracias
Archivos Adjuntos
Tipo de Archivo: rar IMAGEN PROTEUS.rar (74,7 KB (Kilobytes), 41 visitas)
21/05/2010 #15

Avatar de tecnogirl

Respuesta: Problema con 16f877a no enciende 7 segmentos.
maox13: La imagen no se ve bien. Trata de capturar la imagen de solo el circuito.
Sobre el codigo, esta clase de aplicacion la he visto varias veces aqui en FE y en google. Busca un ejemplo para que te sirva de guia. Saludos
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.