TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
03 de Septiembre de 2010, 05:16:26

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
257111 Mensajes en 28437 Temas por 27916 Usuarios
Último usuario: zororyuzaki
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  * PROYECTOS * (Moderadores: J1M, jfh900, MGLSOFT, Modulay, Sasián, LABmouse)
| | |-+  NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Marcar como favorito Imprimir
Autor Tema: NECESITO TRANSMITIR DATOS POR EL PS/2 DEL TECLADO... AYUDA  (Leído 3908 veces)
nostrico
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 33


« : 31 de Mayo de 2006, 04:01:47 »

Saludos a los de Foro  Shocked 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... Sad
En línea

"La electronica nos salvará..." CZWIENCZEK
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« Respuesta #1 : 01 de Junio de 2006, 04:17:06 »

Emulación Teclado PS/2 con PIC (Engañe a su PC y dele gato por liebre)

En línea

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

Sexo: Masculino
Mensajes: 33


« Respuesta #2 : 01 de Junio de 2006, 06:42:39 »

 Confused 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...
En línea

"La electronica nos salvará..." CZWIENCZEK
aitopes
Moderadores
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 5068


Ariel Palazzesi www.ucontrol.com.ar


WWW
« Respuesta #3 : 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.  Smile

Saludos.
En línea

nostrico
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 33


« Respuesta #4 : 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);
}
En línea

"La electronica nos salvará..." CZWIENCZEK
nostrico
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 33


« Respuesta #5 : 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...

En línea

"La electronica nos salvará..." CZWIENCZEK
nostrico
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 33


« Respuesta #6 : 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...
En línea

"La electronica nos salvará..." CZWIENCZEK
kuauhtemok
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 116



« Respuesta #7 : 07 de Junio de 2006, 02:02:19 »


Por favor cuentanos mas de como pudiste resolver tu problema   Confused

saludos  rebotando
En línea

La felicidad no es mas q la ausencia momentanea del dolor
nostrico
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 33


« Respuesta #8 : 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);

}
rebotando NoStRiCo NoStRiCo NoStRiCo NoStRiCo NoStRiCo  rebotando
En línea

"La electronica nos salvará..." CZWIENCZEK
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« Respuesta #9 : 03 de Julio de 2006, 02:31:44 »

Amigo Nostrico:

Ahora le iba yo a meter mano a lo mismo que tu has realizado ....  rebotando rebotando rebotando

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.  Razz




En línea

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« Respuesta #10 : 20 de Julio de 2006, 04:54:34 »

¡¡¡ Nostrico, tu código funciona a la perfección !!!

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

Muchas, muchas, muchas gracias.  rebotando  rebotando  rebotando

« Última modificación: 11 de Septiembre de 2006, 03:03:25 por RedPic » En línea

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

Sexo: Masculino
Mensajes: 33


« Respuesta #11 : 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...

 rebotando NOSTRICO  rebotando NOSTRICO  rebotando NOSTRICO  rebotando JGCJ  rebotando
En línea

"La electronica nos salvará..." CZWIENCZEK
aitopes
Moderadores
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 5068


Ariel Palazzesi www.ucontrol.com.ar


WWW
« Respuesta #12 : 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. Confused

Saludos.
En línea

nostrico
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 33


« Respuesta #13 : 11 de Septiembre de 2006, 04: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...

rebotando NoStRiCo  rebotando NoStRiCo  rebotando
En línea

"La electronica nos salvará..." CZWIENCZEK
diegocipo
PIC10
*
Desconectado Desconectado

Mensajes: 1


« Respuesta #14 : 15 de Noviembre de 2006, 11:19:36 »

Hola a todos!! Nadie tiene el codigo para el teclado ps/2 a pic en assembler?
En línea
tio_gil
PIC10
*
Desconectado Desconectado

Mensajes: 1


« Respuesta #15 : 15 de Diciembre de 2006, 04:20:31 »

Hola,
una preguntita: porque no se manda el código break de las teclas?
En línea
TODOPIC
   

 En línea
Páginas: [1] Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 válido! CSS válido!
Página creada en 0.122 segundos con 23 consultas.