begin process at 2012 05 29 10:31:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Algorithme

 > 

Compression, Split & Cryptage

 > 

ecriture avec clavier alphanumerique en c


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

ecriture avec clavier alphanumerique en c

jeudi 8 avril 2010 à 13:49:31 | ecriture avec clavier alphanumerique en c

marmouraa

Slt tout le monde,
je veux écrire un programme ne c qui tape des lettres avec un clavier matriciel 12 touches
j'ai une méthode qui est la suivante:
si je presse la touche '2' une fois j'écrit 'a' sur un afficheur lcd
si je presse la touche '2' deux fois j'écrit 'b' sur un afficheur lcd
et aisi de suite
svp quelqu'un aide moi par des liens dans lequel je peux trouver des informations utiles.
merci d'avance.
mercredi 15 décembre 2010 à 17:44:29 | Re : ecriture avec clavier alphanumerique en c

ihsenksouri

j'ai une methode d'utilise le clavier 12 touche en mode alphanumerique en picc
en utilisant un timer
si se dernier rester a plus que le temps désirer elle va ecrir le numero suivant
exemple:
si je presse la touche '2' une fois s'écrit 'a' sur un afficheur lcd
si je presse la touche '2' deux fois s'écrit 'b' sur un afficheur lcd
et ansi de suite
#include "16F876.h"
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay (clock=10000000)
#USE RS232(BAUD=57600, XMIT=PIN_C6, RCV=PIN_C7,bits = 8, parity = n)
#include <LCDmod.c>
#include <KBDmod.c>
char const touche[10][3]=
{{'X', 'Y', 'Z'},
{'.', '/', ','},
{'A', 'B', 'C'},
{'D', 'E', 'F'},
{'G', 'H', 'I'},
{'J', 'K', 'L'},
{'M', 'N', 'O'},
{'P', 'Q', 'R'},
{'S', 'T', 'U'},
{'V', 'W', ' '}};
char textlu[20];
Void lireclavier_date()
{
int i,long_max;
char k;
int val,jj;
long_max=6;
for(i=0;i<long_max;i++)
{
textlu[i]=0;
}
i=0;
lcd_gotoxy(1,2);

do
{
k=kbd_getc();
if(k!=0)
{
if(k=='#')
{
return;
}
else if (k=='*')
{
if(i>0)
{
i--;
lcd_gotoxy(i+1,2);
textlu[i]=0;
lcd_putc(textlu[i]);
lcd_gotoxy(i+1,2);
}
}
else if(i<long_max)
{
jj = (val*10) + k-48;
if((i==1 && (jj<=0 || jj>31))||(i==3 && (jj<=0 || jj>12))||(i==5 && jj<=0))
{
textlu[i]=0;
i--;
textlu[i]=0;val=0;
lcd_gotoxy(i+1,2);
lcd_putc(textlu[i]);
lcd_gotoxy(i+2,2);
lcd_putc(textlu[i+1]);
lcd_gotoxy(i+1,2);
}
else
{
lcd_gotoxy(i+1,2);
textlu[i]=k;
lcd_putc(textlu[i]);
i++;
val = k-48;
}
}
}
}
while(true);
}
Void lireclavier(int long_max )
{ int i;
char k;
for(i=0;i<long_max;i++)
{
textlu[i]=0;
}
i=0;
lcd_gotoxy(1,2);
do{
k=kbd_getc();
if(k!=0)
{
if(k=='#')
{
return;
}
else if(k=='*')
{
if(i>0)
{
i--;
lcd_gotoxy(i+1,2);
textlu[i]=0;
lcd_putc(textlu[i]);
lcd_gotoxy(i+1,2);
}
}
else if(i!=long_max)
{
lcd_gotoxy(i+1,2);
textlu[i]=k;
lcd_putc(textlu[i]);
i++;
}
}
}while(true);
}
Void lireclavier_alpha(int long_max )
{
long temps;
int i;
char k;
char k_prec;
char N;
for (i = 0;i< long_max;i++)
{
textlu[i] = 0;
}
setup_timer_1 (T1_INTERNAL|T1_DIV_BY_8);
set_timer1 (0);
k_prec = 0;
N = 0;
temps = 0;
i = 0;
lcd_gotoxy (1, 2) ;
do
{
k = kbd_getc ();

if (k != 0)
{
if (k == '#')
{
return;
}

else if (k == '*')
{
if (i > 0)
{
i--;
lcd_gotoxy (i + 1, 2) ;
textlu[i] = 0;
lcd_putc (textlu[i]);
lcd_gotoxy (i + 1, 2) ;
}
}

else if (i != long_max)
{
if (k == k_prec)
{
if (temps < 5)
{
if (N == 4)
{
N = 1;
}

else
{
N++;
}
}

else
{
k_prec = k ;
N = 1;
i++;
}
}

else
{
k_prec = k ;
N = 1;
i++;
}

temps = 0 ;

if (N == 1)
{
textlu[i-1]=k;

}

else
{
textlu[i-1]=touche[k - 48][N - 2];

}

lcd_gotoxy (i,2) ;
lcd_putc(textlu[i-1]) ;
}
}

if (get_timer1 () > 65000)
{
temps++;
set_timer1 (0);
}
}while (true);
}

Void main()
{
lcd_init();
kbd_init();

lcd_send_byte(0,0x0F);
lcd_putc("\f Ksouri ihsen ");
lcd_putc("\n ing info & elect ");
delay_ms(1500);
while(true)
{
lcd_putc("\f matricule: ");
lireclavier(10);
}
}


Cette discussion est classée dans : clavier, presse, touche, ecriture, alphanumerique


Répondre à ce message

Sujets en rapport avec ce message

Simuler la pression d'une touche du clavier [ par sebastienbro ] J'utilise c++ builder 6, et j'aimerais simuler la pression de la touche Entrée. Mais voilà, comment faire !! Existe t'il une fonction qui fait ça auto emulation clavier [ par koubiack ] J'essai de crée un petit programme pour me servir de ma telecommande qui n'a pa de driver pour win XP. Et donc je cherche un moyen d'émuler l'appuie d clavier : La touche Windows et la touche alt [ par bily ] Vegeta :-)Salut,je voudrais savoir comment a l'aide d'un boutton bloquer et debloquer la touche wndows en esperant que son raccourci "ctrl+echap" soie IMPORTANT CLAVIER WINDOWS BLOQUER [ par bily ] Vegeta :-)Salut,je voudrais savoir comment a l'aide d'un boutton bloquer et debloquer la touche wndows en esperant que son raccourci "ctrl+echap" soie intercepter une touche du clavier... [ par FrakTaLiTe ] Salut à tous!!! (je suis nouveau en c)Bon ben voila, je fais une petite application à l'aide de borland c++ 4.5 et j'ai besoin de savoir si l'utilisat gestion clavier sous mfc [ par dambeaufort ] bonjour a tous, j'ai regarder les messages deja preent dans le forum mais je n'arrive pas a efectuer la chose suivante:J'aimerais sous une application gestion du clavier [ par Myts ] SalutJe programme sous TC++ (turbo c++) sous dos.Et j'ai un probleme concernant la gestion du clavier.Mon jeux, prochainement sur ce site, doit effect Win32 simulation de touche du clavier [ par zibo3 ] Bonjour, j'ai un petit souci, j'aimerai pouvoir simuler l'appuie sur la touche TAB mais avec la touche SHIFT appuyé.Je sais que je dois envoyé un évén enregistrer dans fichier txt toute les touche taper sur clavier [ par Goorou ] bonjour jaimerais savoir comment faire pour faire un prog qui creer un fichier txt enregistre les touche taer sur le clavier la minute qui sui et enr Quels sont les paramètres d'un Hook clavier [ par LaPatoshe ] bonjour et meilleurs voeux.Je viens de créer une DLL contenant un hook interceptant les messages du clavier (WH_KEYBOARD). Losrque l'utilisateur press


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,218 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales