Que PC reconozca teclado ps/2 hecho con PIC16f628A

Hola a todos.. Mi problema es el sgte. hice un teclado de 10 teclas utilizando un 16F628A que envia datos a la PC utilizando el protocolo ps/2 (scan codes, make codes etc) funciona del todo bien cuando desconecto el teclado normal de 104 teclas(PC encendida) y conecto el circuito (tecladito)q hice con el pic....... Pero si enciendo la computadora con el circuito conectado no lo reconoce y me indica.. Keyboard error.. es obvio porque al iniciar el arranque de la maquina este hace una comprobacion de su hardware que tiene conectado... He buscado la forma en que se hace ese reconocimiento para agregarlo al programa del microcontrolador pero no he encontrado mucho... ALGuien sabe copmo se hace esa identificacion ? es decir que tipo de codigos se envian, teclado y PC al inicializar el sistema?... Osea en resumen necesito que al encender la PC reconosca mi circuito (teclado q construi)y luego pueda trabajar como un teclado ps/2 estandar................ Ah el SO es Windons XP... DE antemano les agradecere cualquier ayuda posible.... :rolleyes:
 
Busca en el libro azul de la IBM (años 80's) y ahi debes encontrar el protocolo completo del teclado estandar din (minidin) ps/2. Tambien puedes encontrar en la web todo lo relacionado al teclado. El BIOS de la PC contiene dicho codigo y consiste en enviar al teclado comandos de reconocimiento y prueba, encender los led de Num Lock, Caps Lock y Scroll Lock, y de regreso debe recibir una secuencia de Ok por cada parametro probado. En caso de no encontrar nada, podrias buscar un teclado viejito que use el 80C51AH de Intel y tratar de leer su codigo grabado en su pequeña ROM interna y descubrir el código de respuesta. Algo así deberá tener tu prototipo con el 16F628...saludos....
 
Hola, que curioso que tengamos el mismo proyecto pero yo lo empese a fabricar hace una semana, me funciona muy bien asi como dices tu, cuando ya ha cargado windows abro el block de notas desconecto el teclado conecto el pic y me manda bien las teclas, pero si reinicio no me lo reconoce, has tenido alguna solucion a tu problema ??, el lenguaje con el que trabajo es el pbp si necesitas ayuda con gusto te dare la mano, mi mail es
NoLeíLasPolíticasDelForoYPorEsoMeEditaronElMensaje@ForosDeElectrónica.Com,

gracias.
 
Última edición por un moderador:
zapdos: Ya babyruso te lo ha dicho... casi todo. Pero, si logras bajar el codigo del Intel 8031/51 recuerda que este es otro tipo de micro asi que tendras que estudiar los codigos de ese micro ara entender los procesos.

Considera la siguiente opcion mas practica... busca en el setup de tu PC o en el sistema operativo (por ejemplo, en el archivo de registro de Windows), algun suiche o comando que deshabilita el test del teclado durante el arranque. Salu2.
 
al foro , es justo pedir y no compartir' esto va para passgpc:
ha claro te destacas en el foro pidiendo todo lo que vos necesitas , y cuando se te pidecolaboracion salis que con que la vendes. que clase de persona sos'?asi te agan y un te añadan si seguis con esa actitud. todo lo que se pide en el foro es menester compartirlo.o no has visto la integridad de otros foristas que suben el proyecto sin que se lo pidan , por el hecho de haber recibido apoyo.no seas asi CUERVO.
 
¿Quieres algo de esto?

hardwareol5.png



Teclado PS/2 y PIC en Assembler


http://www.infopic.comlu.com/joomla/index.php?option=com_content&view=article&id=45&Itemid=66

Saluo.
 
Que tal a todos los integrantes del foro...

me encuentro interesado en hacer un teclado por medio del microcontrolador, que me reconosca los pulsadores que tengo conectados como si fueran las propias teclas de un teclado

la verdad no conosco como hacerlo, me gustaria que me ayudaran indicandome como lo debo hacer

Gracias
 
Como no dices en que lenguaje... te pongo uno que hice... ojo al encender la PC no lo reconoce como teclado tienes que poner un teclado para encender la PC y despues cambiarlo... o diseñar un circuito multiplexor.

https://www.forosdeelectronica.com/posts/655294/
 
que tal de nuevo:

he estado revisando los links que han posteado y he podido entender como es que funciona el protocolo de comunicacion por ps2, solo que tengo unas pequeña duda:

como ya saben necesito emular un teclado de PC, es decir, colocar 4 o 6 pulsadores que representen teclas como F9, enter, ctrl, etc....

en lo que he visto hablan de una señal de clk y una de data, pero la señal de clk la da o genera el pc y tengo que leerla o la tengo que generar yo en el microcontrolador, y la de data es por donde envio los datos de scancodes no??

si pudieran aclararme esta duda al igual que lo que deberia hacer para comenzar les agradeceria, no importa si no saben o si saben freescale, con que me ayuden diciendome literal los pasos o cosas que debo tener en cuenta es mas que suficiente ahora.

Muchas gracias
 
en lo que he visto hablan de una señal de clk y una de data, pero la señal de clk la da o genera el pc y tengo que leerla o la tengo que generar yo en el microcontrolador, y la de data es por donde envio los datos de scancodes no??

para enviar del dispositivo al pc, ambos (el dat y el clk) los manejas tu con el micro, primero tienes que poner una resistencia de 4k7 en ambos pines clk y dat, y ponerlos como entrada...

cuando quieras tomar el control del teclado, los pones como salida y sigues la trama del protocolo...
Dibujo.JPG
1 start bit. This is always 0.
8 data bits, least significant bit first.
1 parity bit (odd parity).
1 stop bit. This is always 1.

para la paridad sumas los unos y si es par entonces es uno y si es impar entonces es cero...
ejemplo si el byte a enviar es 10010010, cuenta cuantos unos hay... tres verdad??? entonces es impar y mandas 0 como paridad...
otro ejemplo si el byte a enviar es 11001100, cuenta cuantos unos hay... cuatro verdad?? entonces es par y mandas un 1 como paridad....

cuando pasa el clk de 1 a 0 es cuando el pc lee el dat...
verifica en los links que puso captainP los tiempos de subida y bajada del clk

recuerda que tu controlas con el micro el clk y dat...

para recibir datos que envia el pc al dispositivo es diferente pero si no lo requieres, pos ni ti priocupis...:D
 
Última edición:
Atrás
Arriba