TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: elkiman en 28 de Agosto de 2006, 19:10:22
-
Hola quiero transformar la señal enviada por el conector de megadrive db9 a paralelo, es decir tener 12 salidas distintas (4 direcciones , ABC,XYZ,MODE, START).
Tengo la rutina para leer y transformar el mando (4 direcciones , ABC, START), pero quisiera saber si alguien me pudiese ayudar y también recomendarme que pic usar en esta ocasión.
Les detallo como decodifico el de (4 direcciones , ABC, START):
16F628 PIC
Megadrive Pin # PIC Pin
1 ->A6
2 ->A7
3 ->A1
4 ->A2
5 ->VCC
6 ->A3
7 ->A0
8 ->VDD
9 ->A4
Salidas PIC Pin
Left ->B0
Right ->B1
Up ->B2
Down ->B3
A ->B4
B ->B5
C ->B6
Start ->B7
link con la documentación y el codigo del PIC: http://www.elotrolado.net/attachment.php?s=&postid=1705258076
Si alguien me puede ayudar le estaría muy agradecido.
-
Hola. Estos PADS son muy simples de decodificar.Especialmente el de 3 botones.
Los joysticks poseen 9 cables. dos de alimentacion, y 7 de datos.
De esos 7, uno solo es de entrada al joystick. Los otros 6 son salidas y envian la informacion.
Para leer uno de 3 y 6 botones, no tienes mas que enviar un solo dato por un PIN(el TH), y leer los otros 6 cables luego de minimo 2us.
Aqui te dejo la tabla de ambos joysticks.
Saludos.
-
Exacto, viene a parecerse mucho al funcionamiento de un teclado matricial. Respecto a que pic usar, si solo tienes esas pocas entradas y salidas y además son todas digitales, puedes usar un 16F84A, que pienso que te sobra máquina, tanto en velocidad como en I/O. No hace falta usar grandes máquinas para lo ke quieres hacer.
Atentamente
Deimos
http://astroelectronica.iespana.es/
-
Hola. Estos PADS son muy simples de decodificar.Especialmente el de 3 botones.
Los joysticks poseen 9 cables. dos de alimentacion, y 7 de datos.
De esos 7, uno solo es de entrada al joystick. Los otros 6 son salidas y envian la informacion.
Para leer uno de 3 y 6 botones, no tienes mas que enviar un solo dato por un PIN(el TH), y leer los otros 6 cables luego de minimo 2us.
Aqui te dejo la tabla de ambos joysticks.
Saludos.
Quisiera saber si este chip te parecería bien para usarlo PIC16F873A-I/SO
ya que tengo un total de 12 (salidas) + 9 (del mando) necesitaría mínimo 21 pines solo para este.
-
Quisiera saber si este chip te parecería bien para usarlo PIC16F873A-I/SO
ya que tengo un total de 12 (salidas) + 9 (del mando) necesitaría mínimo 21 pines solo para este.
Hola.En realidad tendrias 12 salidas + 7 del mando = 19 pines.
Me parece que un 16F873A es demasiada maquina para esto. Yo utilizaria un 16F84A y le pondria Registros de desplazamiento(74HC4094 o simil) para expulsar los datos a paralelo.
Utilizaria 7 pines del 16F84A para comunicarme con el joystick, y enviaria los datos leidos a dos 74HC4094, usando solo 3 pines mas. En total usaria 10 pines, y me sobrarian 3.
Saludos
-
No se como funcionan esos 74HC409. Me pondré a mirar.
Otra opción puede ser usar el PIC que dices y enviar las salidas multiplexadas y con un demultiplexor obtenerlas y así no necesitaría los 74HC409.
PD: Gracias por tu interés.
-
Hola. Los 74HC4094 o similares son Registros de desplazamiento entrada serie/ salida paralelo.
Podes hacerlo con mux y demux, pero me parece que vas a agregar integrados sin sentido.
Con 2 HT4094 y un 16F84A podes controlar el de 3 botones, incluso el de 6.
Si programas en asm, te paso la rutina para controlar los 74HC4094. Es muy simple.
Saludos.
-
Me fui de vacaciones y he regresado por eso no he contestado.
Estoy muy verde en esto. Si me puedes explicar por encima como van los registros.
Pon si puedes el codigo.
Gracias por tu atención.