SVP je suis bloqué au niveau de programmation de port ps2 (clavier) sur un pic 16F877 en langage c (pic c ).
merci pour votre attention!!
-----
SVP je suis bloqué au niveau de programmation de port ps2 (clavier) sur un pic 16F877 en langage c (pic c ).
merci pour votre attention!!
Bloqué ?
T'as commencé au moins ?
En faisant un minimum de recherches on trouve toutes les infos, et ce n'est pas compliqué.
je fait des programme mais j'ai des probleme au niveau des lecteur des caracatère au niveau de pic
voici mon code :
#include <16F877.h>
#use delay(clock=4000000)
#fuses hs,nowdt,noprotect
#use rs232(baud=9600,xmit=pin_c6,rc v=pin_c7)
#include <REG16F.h>
#include <lcd.c>
#define use_portd_lcd true
lONG DATA=0, CODE=0;
INT8 i=0,j=0,nb_bar=8,pas = 2;
INT1 FLAG_DONNEE=0;
int8 tab_DONNEE[12];
char c;
char d=0;
int aux ,k;
#INT_CCP1
void interep()
{
DATA=RC1;
CODE=CODE+(DATA<<i);
i++;
//putc('A');
if(i==11){CODE=(CODE>>1)&0xFF;//printf("%lu ",H);
i=0;
tab_DONNEE[j]=CODE;//putc(CODE);//putc(tab_DONNEE[j]);
CODE=0;
pas--;
if(pas == 0)
{pas = 2;
j++;//putc(j+0X30);
}
}
}
void init()
{
trisc=0xff;
CCP1CON=4;
CCP1IE=1;
//CCP1IF=1;
delay_ms(1000);
PEIE=1;
GIE=1;
}
void main()
{
lcd_init();
init();
WHILE(1){ //putc('A');
if(j==9){ FLAG_DONNEE=1;tab_DONNEE[j]='\0';j=0;} //printf("%s \r",tab_DONNEE);
if(FLAG_DONNEE==1){FLAG_DONNEE =0;
for (k=0;k<9;k++)
{
aux=tab_DONNEE [k];
switch ( aux)
{
case 0x51: tab_DONNEE [k]='Q'; break;
case 0x48: tab_DONNEE [k]='H'; break;
case 0x50: tab_DONNEE [k]='P'; break;
case 0x43: tab_DONNEE [k]='C'; break;
case 0x30: tab_DONNEE [k]='0'; break;
case 0x31: tab_DONNEE [k]='1'; break;
case 0x32: tab_DONNEE [k]='2'; break;
case 0x33: tab_DONNEE [k]='3'; break;
case 0x34: tab_DONNEE [k]='4'; break;
case 0x35: tab_DONNEE [k]='5'; break;
case 0x36: tab_DONNEE [k]='6'; break;
case 0x37: tab_DONNEE [k]='7'; break;
case 0x38: tab_DONNEE [k]='8'; break;
case 0x39: tab_DONNEE [k]='9'; break;
}
}
puts(tab_DONNEE);
printf(lcd_putc,"\f %s",tab_DONNEE );
}
}
}
.............................. .................
svp aider moi c'est urgent !!
Et quelle partie de ce programme est censée réaliser le protocole PS/2 ?
cette partie de protocole monsieur ps2
#INT_CCP1
void interep()
{
DATA=RC1;
CODE=CODE+(DATA<<i);
i++;
//putc('A');
if(i==11){CODE=(CODE>>1)&0xFF;//printf("%lu ",H);
i=0;
tab_DONNEE[j]=CODE;//putc(CODE);//putc(tab_DONNEE[j]);
CODE=0;
pas--;
if(pas == 0)
{pas = 2;
j++;//putc(j+0X30);
}
}
}
void init()
{
trisc=0xff;
CCP1CON=4;
CCP1IE=1;
//CCP1IF=1;
delay_ms(1000);
PEIE=1;
GIE=1;
}
Ben merci pour les explications...
Bon, et plus précisément, qu'est-ce qui ne marche pas ?
Tu vois des interruptions passer ?
monsieur le principe de programme ne marche pas
exemple si j’appuie sur la touche Q l'afficheur LCD affiche des symboles n'est normale pas
monsieur vous avez mon code
svp aider mon projet fin d’étude il se bloque dans cette partie et cette partie et trés nécessaire dans mon projet
plzzzzzz aider moi
monsieur si tu es le code exacte plz donne moi je bloque dans mon projet et le soutenance de projet il restera 1 semaine
svp aider moi
Non mais ça marche pas comme ça...
monsieur idée moi comment il marche svp
tu es maintenant le dernier espoirs dans ma vie après mon dieu
monsieur idée moi comment il marche svp
tu es maintenant le dernier espoirs dans ma vie
plzzzzzzzzzz
arrete de faire le mendiant mexicain et prend toi un peu en main, cherche et essaie... Ici on n'est pas l'assistance technique des hyper capillosités palmaires....