Autor Tema: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA  (Leído 11267 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« en: 31 de Mayo de 2006, 16:01:47 »
Saludos a los de Foro  :shock: tengo un problema con el protocolo PS/2... Necesito enviar información DESDE el PIC 16f877 AL PC por el PS/2, no alrevez, como tesis de grado para un equipo que necesita hacer eso al computador... COMO HAGO... lo que consigo en todos lados es el proyecto al revez... es decir el pic decodifica el teclado... Ayudenme gracias... :(
"La electronica nos salvará..." CZWIENCZEK

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #2 en: 01 de Junio de 2006, 18:42:39 »
 :? Saludos estimado amigo... Gracias por responder... he notado y leido todo lo que remites per o lamentablemente no veo nada hecho en CCS... Voy a tener que lanzarme hacer el código... sólo quería ver si ya alguien lo a realizado... Si es asi porfavor enviame el código... Muchisimas gracias...
"La electronica nos salvará..." CZWIENCZEK

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #3 en: 02 de Junio de 2006, 08:36:39 »
Hola!
Me gusta la idea de tu proyecto, si te parece podemos encararlo juntos.
En "Emulación Teclado PS/2 con PIC (Engañe a su PC y dele gato por liebre)" se hizo el trabajo opuesto (PS/2 --> PIC) pero estaban viendo de hacer tambien la comunicacion PIC-PS/2.
Podemos "juntarnos" alla.  :)

Saludos.
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #4 en: 02 de Junio de 2006, 11:18:38 »
BUENO MI ESTIMADO AMIGO ACTUALMENTE ESTOY CON OTROS PROYECTOS TE PUEDO PASAR LO QUE ICE CON EL OSCILOSCOPIO Y EL PROGRAMDOR; ADEMAS DE COPIANDOME DE LO MOSTRADO EN EL FORO EN CUANTO AL DIAGRAMA DE TIEMPO... BUENO LOGRO TRANSMITIR UNA a. acuerdate de que falta tres cosas: las resistencia pull de RB1 y RB0, faltaría en el programa un calculador de paridad (no tan complicado) y faltaría hacer ujn convertidor de byte a hex que lo necesito.. perono me he sentado hacer... Bueno espero que te sirva... si lo montas como estas envía pura letras aaaaa.... Si lo terminas envíamelo a czwienczek@hotmail.com o lo puede publicar para los amigos de FORO...

#include <16f877a.h>       // Definiciones del PIC 16F876A
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT // Los Fuses de siempre
#use delay(clock=4000000) // Oscilador a 4 Mhz

#define clock PIN_B0
#define data  PIN_B1

void main()
{
delay_ms(500);
do{
output_high(clock);
output_high(data);
delay_us(40);

output_high(clock);
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// 0
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// 1
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// 2
output_high(data);
delay_us(40);

output_low(clock);
output_high(data);
delay_us(40);

output_high(clock); ////// 3
output_high(data);
delay_us(40);

output_low(clock);
output_high(data);
delay_us(40);

output_high(clock); ////// 4
output_high(data);
delay_us(40);

output_low(clock);
output_high(data);
delay_us(40);

output_high(clock); ////// 5
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// 6
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// 7
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// P
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

output_high(clock); ////// STOP
output_high(data);
delay_us(40);

output_low(clock);
output_high(data);
delay_us(40);


output_high(clock); ////// FIN
output_high(data);

delay_ms(1000);

}while(true);
}
"La electronica nos salvará..." CZWIENCZEK

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #5 en: 02 de Junio de 2006, 11:21:08 »
ADEMAS FALTA QUE TE BUSQUES Y DESARME EL CONECTOR DE UN TECLADO PS/2... y listo...
SALUDOS ENVIAME TUS RESULTADOS...

"La electronica nos salvará..." CZWIENCZEK

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #6 en: 05 de Junio de 2006, 10:33:18 »
Saludos a los amigos del foro... Ya tengo solucionado el proble... realmente no fue tan complicado como yo creía...
"La electronica nos salvará..." CZWIENCZEK

Desconectado kuauhtemok

  • PIC16
  • ***
  • Mensajes: 116
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #7 en: 07 de Junio de 2006, 14:02:19 »

Por favor cuentanos mas de como pudiste resolver tu problema   :?

saludos  :-/
La felicidad no es mas q la ausencia momentanea del dolor

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #8 en: 03 de Julio de 2006, 11:57:33 »
AQUI LES DEJO MI PROGRAMA PARA QUE LO USEN...

#include <16f877a.h>       // Definiciones del PIC 16F876A
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT // Los Fuses de siempre
#use delay(clock=4000000) // Oscilador a 4 Mhz
#use rs232(baud=9600, xmit=PIN_B0, rcv=PIN_A0)

#define clock PIN_B0
#define data  PIN_B1
unsigned int8 valor;

unsigned char conver(unsigned char real)
{
        if (real == 'a' || real == 'A') {real = 0x1c;}
   else if (real == 'b' || real == 'B') {real = 0x32;}
   else if (real == 'c' || real == 'C') {real = 0x21;}
   else if (real == 'd' || real == 'D') {real = 0x23;}
   else if (real == 'e' || real == 'E') {real = 0x24;}
   else if (real == 'f' || real == 'F') {real = 0x2b;}
   else if (real == 'g' || real == 'G') {real = 0x34;}
   else if (real == 'h' || real == 'H') {real = 0x33;}
   else if (real == 'i' || real == 'I') {real = 0x43;}
   else if (real == 'j' || real == 'J') {real = 0x3b;}
   else if (real == 'k' || real == 'K') {real = 0x42;}
   else if (real == 'l' || real == 'L') {real = 0x4b;}
   else if (real == 'm' || real == 'M') {real = 0x3a;}
   else if (real == 'n' || real == 'N') {real = 0x31;}
   else if (real == 'o' || real == 'O') {real = 0x44;}
   else if (real == 'p' || real == 'P') {real = 0x4d;}
   else if (real == 'q' || real == 'Q') {real = 0x15;}
   else if (real == 'r' || real == 'R') {real = 0x2d;}
   else if (real == 's' || real == 'S') {real = 0x1b;}
   else if (real == 't' || real == 't') {real = 0x2c;}
   else if (real == 'u' || real == 'U') {real = 0x3c;}
   else if (real == 'v' || real == 'V') {real = 0x2a;}
   else if (real == 'w' || real == 'W') {real = 0x1d;}
   else if (real == 'x' || real == 'X') {real = 0x22;}
   else if (real == 'y' || real == 'Y') {real = 0x35;}
   else if (real == 'z' || real == 'Z') {real = 0x1a;}

//NUMEROS
   else if (real == '0') {real = 0x45;}
   else if (real == '1') {real = 0x16;}
   else if (real == '2') {real = 0x1e;}
   else if (real == '3') {real = 0x26;}
   else if (real == '4') {real = 0x25;}
   else if (real == '5') {real = 0x2e;}
   else if (real == '6') {real = 0x36;}
   else if (real == '7') {real = 0x3d;}
   else if (real == '8') {real = 0x3e;}
   else if (real == '9') {real = 0x46;}

//ENTER y TABULADOR
   else if (real == '/') {real = 0x5a;}   //ENTER
   else if (real == ' ') {real = 0x29;}   //ESPACIO
   else if (real == '>') {real = 0x0d;}   //TABULADOR
   else if (real == '<') {real = 0x66;}   //BORRADOR
   else if (real == '$') {real = 0x58;}   //TAG DE MAYUSCULA $j$ose
   else if (real == '-') {real = 0x4a;}   //-_

   else {real = 0x29;}                    //Cualquier otra cosa espacio

   return real;
}


void letras_ps2(unsigned char letra)
{
int contador;
int salida, unos=1;
boolean paridad=true;

output_high(clock);
output_high(data);
delay_us(40);

output_high(clock);
output_low(data);
delay_us(40);

output_low(clock);
output_low(data);
delay_us(40);

salida =1;
do
{
      output_high(clock);
       output_bit(data, letra&0x01);
      delay_us(40);
      output_low(clock);
       output_bit(data, letra&0x01);
      delay_us(40);

      if ((letra & 0x01) == 0x01) {unos++;}

      letra = letra>>1;
      salida++;

}while (salida <  9);


output_high(clock); ////// P
output_bit(data, unos&0x01);
delay_us(40);
output_low(clock);
output_bit(data, unos&0x01);
delay_us(40);


output_high(clock); ////// STOP
output_high(data);
delay_us(40);
output_low(clock);
output_high(data);
delay_us(40);


output_high(clock); ////// FIN
output_high(data);

delay_ms(70);
}


void main()
{
delay_ms(800);
letras_ps2(conver('$'));

do{
valor=getch();
letras_ps2(conver(valor));
}while(true);

}
:-/ NoStRiCo NoStRiCo NoStRiCo NoStRiCo NoStRiCo  :-/
"La electronica nos salvará..." CZWIENCZEK

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #9 en: 03 de Julio de 2006, 14:31:44 »
Amigo Nostrico:

Ahora le iba yo a meter mano a lo mismo que tu has realizado ....  :-/ :-/ :-/

Asi que siguiendo el espiritu del Foro voy a actuar como depredador inmisericorde y voy a fagocitar tu código en C para estudiarlo, entenderlo, rearmarlo y utilizarlo en mi Emulación Teclado PS/2 con PIC (Engañe a su PC y dele gato por liebre)

Muchas gracias por tu aporte. Tiene muy buena pinta.  :P




Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado RedPic

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 5544
    • Picmania by Redraven
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #10 en: 20 de Julio de 2006, 16:54:34 »
¡¡¡ Nostrico, tu código funciona a la perfección !!!

Muchas gracias .... sobre él he completado mi proyecto.

Muchas, muchas, muchas gracias.  :-/  :-/  :-/

« Última modificación: 11 de Septiembre de 2006, 15:03:25 por RedPic »
Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #11 en: 11 de Septiembre de 2006, 09:31:40 »
Saludos Amigos del foro... Estamos a la orden REDPIC... Estoy terminando un proyectico bien chevere a ver que te parece y colocare todos codigos...

 :-/ NOSTRICO  :-/ NOSTRICO  :-/ NOSTRICO  :-/ JGCJ  :-/
"La electronica nos salvará..." CZWIENCZEK

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #12 en: 11 de Septiembre de 2006, 10:03:25 »
Hola amigos!
En el hilo de Mikrobasic, veran que ese compiladr provee librerias (entre otras tantas) para leer teclados PS/2....
Lamento llegar tarde con la noticia, pero recien me doy cuenta. :?

Saludos.
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado nostrico

  • PIC10
  • *
  • Mensajes: 33
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #13 en: 11 de Septiembre de 2006, 16:20:07 »
SALUDOS DE NUEVO... CUAL COMPILADOR? EL CCS? YO CREO QUE NO... ´CUAL ES ESE HILO... BUENO DE VERDAD ENTONCES TENEMOS FORMAS DE HACER ESTO... JEJEJE... DE LA MANERA DIFICIL... BELOW o DE LA MANERA FACIL COMO LO DICE EL AMIGO...

:-/ NoStRiCo  :-/ NoStRiCo  :-/
"La electronica nos salvará..." CZWIENCZEK

Desconectado diegocipo

  • PIC10
  • *
  • Mensajes: 23
Re: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
« Respuesta #14 en: 15 de Noviembre de 2006, 23:19:36 »
Hola a todos!! Nadie tiene el codigo para el teclado ps/2 a pic en assembler?


 

anything