TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: DF38 en 14 de Septiembre de 2004, 21:25:00
-
hola a todo los del foro . espero que esten todo Bien
Bueno tengo un pic16f84 +un ic SN74LS164.ok
lo que quiero haser es que el 74ls164 me maneje dos display de 7 segment . claro la orden se la tiene que dar el pic .
lo quer quiero ver en los dos display es el numero
del 00 al 99 pero mediante dos pulsadores que se coneten al
puertA , con uno subo y con el otro bajo espero que me entiendan tendran algun .asam para el pic o alguna pagina donde se pueda ver algo con lo que yo quiero haser gracias y espero su ayudita
-
ya se ha dicho muchas veces que:
BASTA YA DE PEDIR "UNA AYUDITA" , "SOCORRO" , ETC
Pon en el asunto de tu mensaje cual es la pregunta.
Entonces posiblemente alguien podra ayudarte.
P.D. siento ser tan borde pero ya vale ¿NO?
-
Tiene razon... asi nos ahorramos la molestia de entrar al post para saber de que habla...
Veamos que estas pidiendo, ayuda sobre el proyecto, o el mismo proyecto?
No conozco el IC asi que no te puedo ayudar... si especificas la funcion del IC talvez...
salu2
-
Es que jode mucho lo de "ayuda" y esas cosas.
El integrado ese supongo que será un decodificador doble de BCD a 7 segmentos, osea como dos 74xx47 o 74xx48 (anodo o catodo comun). Por la pregunta en si, supongo que eres nuevo en esto de los Pics por lo que creo k esta pregunta debería ir en el subforo de principiantes.
POr el Puerto A no creo k puedas poner los pulsadores de incremento/decremento pq no interrumpen por cambio de nivel ni como interrupcion externa.
Por tanto, es el el puerto A donde deberías conectar el decodificador a BCD (2 x 4 bits) y dejar el puerto B para los pulsadores detectando el cambi de nivel en las entradas. Lo que es el codigo es bastante sencillo, lee algunos ejemplos y podrás hacerlo tu mismo.
Un saludo
-
El 74164 es un registro de desplazamiento serie-paralelo y el proyecto que propone DF38 sí se puede hacer se trata de sacar en serie 16 bits por un pin del PIC. Primero 8 y los metes por la entrada serie del primer registro y luego habilitas el otro registro y le metes los otros 8. Las salidas paralelo de los registros conectadas a los displays.
No he hecho nunca este proyecto pero me gustaría verlo funcionando.
Si quieres código en C de algo muy parecido mira un post que creo dejé en el apartado de ejemplos para simular. Se trataba de ampliar el número de E/S de un PIC usado registros de desplazamiento.
Si no encuentras el programa avisa.
Un saludo
-
No si el proyectop es supersencillo y es tipico de academia/escuela ya que en un mismo proyecto tienes control de entradas ( pulsadores ) control de salida tipo SPI / Microwire ya que el LS164 es muy similar y yo lo he usado recientemente cmo una salida seria a paralelo de 16 bits puestos los dos en cascada. Tienes tambien transcodificacion ya qhe has de trasponer el numero decimal al codigo de 7 bits al que corresponden los siete segmentos...
A ver DF38, dinos hasta donde has llegado y te ayudaremos seguro ( mi ensamblador es casi nulo ) yo por lo menos con el hardware te lo aseguro.
-
Si entiendo bien la pregunta, lo que quiere hacer el amigo DF38 es un contador UP/DOWN de 00 a 99 con un PIC16F84 y un SN74LS164 y que el clk UP y clk DOWN sean dos pulsadores independientes

Bueno amigo si es eso lo que quieres hacer no veo la necesidad del SN74LS164 ya que puedes sacar del PIC un BUS de 7 pines conectados a los 2 displays en paralelo, luego usas 2 pines más para el control de los displays (con 2 transistores). Aquí lo que vas a usar es la técnica de multiplexación: Por ejemplo, pones el dato del primer dígito en el BUS y activas el display No 1, luego pones el dato del segundo dígito en el BUS y activas el display No 2. Con la velocidad del micro no te darás cuenta de la secuencia y los verás encendidos los dos al mismo tiempo. También necesitará 2 pines más para cada pulsador. En total, si no me equivoco serían 11 pines.
La rutina es sencilla, pero claro... hay que hacerla. Te puedes ayudar con el libro de Angulo en hacer la tabla para el display.
Saludos,
-
Sí Carlete pero supongo que se trata de gastar en su proyecto los menos pines posibles del PIC, para lo cual usando los dos registros de desplazamiento solo se gastarían 4 pines del PIC: 2 para los pulsadores U/D y 2 para control de los registros (entrada serie y reloj).
Según mi punto de vista este sería el funcionamiento y la distribución de pines:
- Debes unir con un cable la salida última del primer 74164 con la entrada serie del siguiente, para así poder desplazar 16 bits. Las salidas paralelo (7 de ellas por registro) a los displays.
- Para controlar los 74164 usarás 2 pines del PIC uno que unirás con un cable a la entrada serie del primer registro y otro pin que unirás simultáneamente con las dos entradas de reloj de ambos registros.
- Se trata de visualizar dos números en los dos displays, para lo cual una vez el PIC tenga preparados los 16 bits (7+nada y 7+nada, ya que en los registros hay que meter 16 bits y luego unir con el display por ejemplo los 7 de menor peso) los sacarás en serie por el pin del PIC. Como?, así:
Sacas por la salida del PIC el primer bit. Este aparecerá en la entrada serie del registro. Mandas ahora desde el otro pin del PIC un pulso: 1us (muy rápido pero funciona) en estado alto más 1us en estado bajo, para que de esta forma el primer bit aparezca por la salida paralelo del primer registro. Así sucesivamente con más pulsos hasta que hayas metido los 16 bits en ambos registros.
Ya tienes pués tus dos números visualizándose en los displays.
El 74164 tiene una entrada de borrado que tendrás que conectar a alimentación y dos entradas serie de las cuales usarás solo una, la otra a alimentación.
.. y eso es todo amigos.
Un saludo
PD. No te preocupes por los mensajes de arriba, son solo recomendaciones para que el FORO funcione mejor. La pantalla del ordenador es muy fría y la mayor parte de las veces somos nosotros los que sobrevaloramos lo que el otro ha querido decir y hacemos demasiado grande la montaña.
Por mi parte puedes borrar el otro mensaje que has puesto, demasiados perdones por tan poca cosa.
-
Si anda, tiene razón Pocher. Borra el mensaje de perdón ese que anda por ahí, que ya sabemos que seguro has aprendido cómo debes incluir una pregunta en el foro, con el asunto adecuado, y ya está.
-
[cita title=Escrito originalmente por pocher]Sí Carlete pero supongo que se trata de gastar en su proyecto los menos pines posibles del PIC, para lo cual usando los dos registros de desplazamiento solo se gastarían 4 pines del PIC: 2 para los pulsadores U/D y 2 para control de los registros (entrada serie y reloj).
Yo pensé que lo único que quería hacer DF38 es eso de contar UP/DOWN entre 00 y 99, por lo menos su mensaje no dice nada más. Si es así hazlo como te dije, si necesitas más puertos para otra cosa entonces comparto lo de Pocher. 
Saludos,
-
yo estaba dibujando un esquemita con el Eagle y pocher se ma ha adelantado con su proverbial prosa...
Por cierto con que piensas programar tu inventito?
-
Bueno .Bueno , Gracias atodos por su colaboracion
lo que realmente quiero hacer es justamente lo que digo el amigo
POCHER , es gustamente utilisar lo menos posible de pines del pic
¿por que ? primero porque el sof ya esta echo como dige antes
el sof fue escrito para manejar un ic de motorola (MC14499
PERO ESTE es muy caro y dificil de conseguir es por eso que estoy buscando la forma de usar otro IC que sea mas bararto y que se adate al circuito lo primero que ise fue modificar el sof para aserlo trabajar con 2 cd4094 y 3 cd4511 eso ya esta funciono bien
pero a la hora de querer hacer el PCB es muy complicado ,
buscando por interne encontre este IC sn74ls164 que me paresio mejor digo mejor ya que usando 2 de esto no tendria que usar los cd4511 es por eso que qiero implementar este es mi trabajo asi que probare como digo el amigo que me parese que tiene razon
com respeto a las conesiones probare y are los comentarios que salgan ...
y en cuanto a la pregunta de MareuqesSalsero con que programa
si te referis al pic te dire que estoy usando el ICPROG si no es asi no entendi bien cual es la pregunta , (con que pienso programar mi invento SALUDO Y GRACIAS
-
Me referia a que lenguaje si lo haras en ensamblador, en C, en Basic???
-
Hola , Hola a todos los del foro voy lerdo con el trabajo pero voy
una pregunta mas a serca del sn74ls164 , creo ojo creo que ya tengo el
programa casi terminado para cargar en el pic pero falta de comprar los display
para conectarlo al ci 74sl164 que display tengo que ponerle a este es de
anodo comun o catodo comun , gracias despues de esto lo pruevo y si funca doy aviso asi lo pongo para que si alguno lo quiere ay estara, pero pirmero tengo que ver si esta funcionado ,, gracias nos vemos
-
Las salidas del 74164 son por niveles altos, por lo tanto necesitas displays de Kátodo Común (la corriente "nace" en el registro y "muere" en el display). Que no se te olviden las resistencias limitadoras de corriente para los displays.
Un saludo