problema con temporizador

Hola a todos, bueno despues de estar un par de dias (entre hacer la placa de circuito e intentar buscar la solucion de porque no funciona) ya se me agotaron los cartuchos y no se me ocurre que puede fallar en el. Soy relativamente novato. Se me da bien construir los circuitos pero casi siempre tengo problemas al hacer que funcionen :cry:

Incluyo el circuito (si hay algo que creais que esta mal o lo que sea criticad que para eso pregunto :D)

El integrado que uso es un PIC16F876-04/SP (Algo viejo pero lo tenia por casa y funciona y para lo que esta destinado me sirve)

Luego el programa que use para probar si se muestra algo en el lcd nada mas

Código:
DEFINE XT				  'Reloj externo hasta 4mhz
DEFINE WDT_OFF
DEFINE PWRT_ON
DEFINE MCLRE_OFF
DEFINE BOREN_OFF
DEFINE LVP_OFF
DEFINE CPD_OFF
DEFINE CP_OFF
Define OSC 4              'Velocidad del oscilador
'CONFIGURACION DE PUERTOS
TRISA=$FF
TRISB=$00
TRISC=$00
'CONFIGURACION LCD
DEFINE LCD_BITS 4         'Tamaño del bus de datos
DEFINE LCD_LINES 2        'Numero de lineas del lcd
DEFINE LCD_DREG PORTB     'Puerto de datos del LCD
DEFINE LCD_DBIT 4         'Utilizo RB4 RB5 RB6 RB7
DEFINE LCD_RSREG PORTB    'Puerto de RS
DEFINE LCD_RSBIT 0        'Numero de puerto de RS
DEFINE LCD_EREG PORTB     'Puerto de Enable
DEFINE LCD_EBIT 2         'Numero de puerto de Enable
pause 3000
lcdout $FE,1,"Probando"
END

El problema que tengo es que en proteus se visualizan bien las cosas en el LCD pero en la realidad solo hay cuadrados negros. Tambien el buzzer hace ciertos ruidos pequeños pero no entiendo a que se deben si esta todo filtrado.

Un saludo foreros
 

Adjuntos

  • esquema.png
    esquema.png
    18.1 KB · Visitas: 19
Última edición:
¿los 32 cuadros son cuadros negros?

revisa el pin del contraste y la alimentacion del LCD, en el esquema lo tienes mal.
es:
Vss=GND
VDD=5V
Vee=COntraste (potenciometro)
 
Subi una que no era perdon jeje. Ya adjunte el esquema bueno. El contraste me funciona es decir, a medida que giro el potenciometro desaparecen los cuadros negros. Los unicos que salen son los de arriba (lcd 16x2) osea 16 cuadros.
 
Última edición:
He revisado las conexiones de todo el pcb y estan como en el esquema. He probado otro pic y otro lcd y hace exactamente lo mismo. Tambien revise voltajes de aliementacion de todo por si acaso pero est todo correcto. Poco mas se me ocurre desde mi punto de vista inexperto en materia de programacion de pics xd.
Alguna idea mas??
 
He probado otro pic y otro lcd y hace exactamente lo mismo. También revise voltajes de alimentación de todo por si acaso, pero está todo correcto.
Poco más se me ocurre desde mi punto de vista inexperto en materia de programacion de pics xd.
¿Alguna idea mas?
Si ya corregiste lo de los pines de la pantalla, entonces quita esto de tu código:
DEFINE XT 'Reloj externo hasta 4mhz
DEFINE WDT_OFF
DEFINE PWRT_ON
DEFINE MCLRE_OFF
DEFINE BOREN_OFF
DEFINE LVP_OFF
DEFINE CPD_OFF
DEFINE CP_OFF


Esas definiciones no existen.
Si lo que quieres es poner la palabra de configuración, usa esta:
@ Device PIC16F876
@ Device XT_OSC, WDT_OFF, PWRT_ON, BOD_OFF, LVP_OFF



También quita la pausa de 3000Ms, antes de escribir en la pantalla, pues durante ese tiempo se verán los cuadros negros.
 
Sigue haciendo lo mismo con esos cambios. En el microcode studio el @device me tira error de compilacion. Podria ser que por algun casual los dos pics esten quemados o algo?? Para comprobarlo con encender un led cada puerto ya vale no?? Sino que otras cosas puedo mirar??
Un saludo
 
Sigue haciendo lo mismo con esos cambios.
En el microcode studio el @device me tira error de compilación.
¿Podría ser que por algún casual los dos pics estén quemados o algo?
¿Para comprobarlo con encender un led cada puerto ya vale no?
Sino, ¿qué otras cosas puedo mirar?
Un saludo
El error al usar @ Device se debe a que estás compilando usando MPASM.
Como estás compilando un código para PIC 16, debes usar el PM Compiler. (Por defecto.)
Ve al menú View/Compile & Program Options y verifica que no estés usando MPASM.

Si estás usando MPASM porque usas MicroCode Studio con Windows a 64Bits, ya es otra historia.
Si puedes, fíjate en tu programador, que configuración tiene el PIC en la palabra de configuración.
 
Última edición:
Okey aunque bueno puedo prescindir de eso y en el icprog que uso para quemar los micros le defino los bits de configuracion ahi. Tenia mal la capacitancia de los condensadores del oscilador como en proteus tenia de 1pf no se porque xd y dije pues ala esos al pcb. Consegui que arrancara una vez pero se quedo todo colgado y luego no volvio a arrancar o hacia extraños el led. Eso que podra ser?? Estara relacionado con los ruidos esos que oigo en el buzzer o algo??
Muchas gracias por la ayuda que me estais prestando :)
 
Última edición:
las resistencias de los botones ponlas de 1k o 4k7 y ponles un capacitor de 100nF en paralelo a cada boton. al lcd tambien ponle un capacitor de 100uF en la alimentacion entre Vdd y vss

al codigo ponle un bucle infinito:

lcdout $FE,1,"Probando"
main:
goto main
END
 
Los condensadores son para eliminar los ruidos esos no?? Consegui hacerlo funcionar pero iba a veces si a veces no (razon desconocida aunque alguna habra) Voy a rehacer el asunto, ademas creo que el LCD reciclado xd se me quemo nose porque probare con otro que tengo por aqui. Bueno a medida que vaya haciendo os voy contando y preguntando dudas que por suerte las estoy aclarando. Un saludo y gracias. :)
 
Tengo alguna pregunta mas. Estoy diseñando la fuente de alimentación. Los condensadores de salida los tengo calculados y los diodos. Voy a aprovechar, también, un filtro de red de una fuente atx. Estoy mirando las especificaciones del transformador:

http://www.crovisa.com/espanol/ncpde12cf.htm

El mio es la referencia 412012 (primario 230v 50/60Hz - secundario 12v 1A). Pone fusible de 80 miliamperios Fus.Pri eso que quiere decir?? se pone antes-después?? (Intuyo que antes del filtro incluso) Si esto da un amperio porque un fusible de 80mA??
 
Buenas, he comprado un pic 16f877a para probar y todo el tema y me he fabricado una placa de pruebas con todo lo necesario para que funcione. Sigue sin hacer lo que deberia. Alguien podria explicarme algun truco o algo para resolver lo que estoy haciendo mal?? No consigo mostrar nada en la pantalla y el pic al arrancar hace cosas raras del tipo enciendo no enciendo y luego me quedo colgado.
 
Amigo yo no te he contestado a tus inquietudes porque no subes esquemas reales, en lugar de lamentarte sube esquemas y codigos , es mas facil que se te pueda ayudar. pero de todo icluyendo la fuente de alimentacion si es que tu la armaste.
 
Es el esquema de arriba realmente solo que ahora con un pic 16f877a. La fuente ya la tenia pensada y diseñada, solo que tengo una duda con respecto a su fusible para lo cual adjunte la información del transformador. Es que realmente no se que mas contar, no me lamento he subido con lo que estoy trabajando y según mucha info que leí en este foro y en un montón de webs creo que hago lo correcto pero no funciona lo de mostrar en el LCD.
 
El lcd he conseguido que encienda. El que use estaba roto y no me di cuenta hasta que probe con otros dos que tenia por casa. Gracias por las respuestas. Ahora trabajare con el software a ver que tal se me da.
 
Atrás
Arriba