Cherche code en c pour clavier 16 touches [Résolu]

krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 3 janv. 2007 à 11:33 - Dernière réponse : julienbj 458 Messages postés jeudi 4 décembre 2003Date d'inscription 19 décembre 2008 Dernière intervention
- 5 janv. 2007 à 14:52
bonjour a tous
je suis etudiant en conception electronique et j'ai mon prof qui nous a demandé de faire une fonction en c pour decoder un clavier 16 touches.Mais je ne vois pas comment ????
alors si quelqu'un avait une idée je le remerci d'avance...
Afficher la suite 

12 réponses

Répondre au sujet
wxccxw 759 Messages postés samedi 15 mai 2004Date d'inscription 30 janvier 2011 Dernière intervention - 3 janv. 2007 à 14:03
+3
Utile
si tu nous disait comment marche ton clavier sa serait plus pratique :) USB, RS232
? il y a un PIC pour gerer ? etc...
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de wxccxw
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 3 janv. 2007 à 14:46
+3
Utile
desolé mais je suis debutant...
alors voila, le clavier fonction  en  RS232 et il y a un pic de microchip le 18f4520
si besion de plus d'info merci de me le préciser...
merci à tous
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimzoug
wxccxw 759 Messages postés samedi 15 mai 2004Date d'inscription 30 janvier 2011 Dernière intervention - 3 janv. 2007 à 15:57
+3
Utile
tu bessoin d'une puce MAX232 mais c pas obligatoire.
jete un oeil sur http://www.planete-sciences.org/forums/viewforum.php?f=5

apres simplement, quel logiciel de Code PIC utilise tu ? CC5X

dit moi quel logiciel et je t'ecris un debut.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de wxccxw
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 3 janv. 2007 à 16:26
+3
Utile
super c'est sympa
alors je travaille sur mplab mc18
Pour la max 232 je l'avais prevu
je te remerci pour le liens
a+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimzoug
wxccxw 759 Messages postés samedi 15 mai 2004Date d'inscription 30 janvier 2011 Dernière intervention - 3 janv. 2007 à 18:59
+3
Utile
c18 oula, le je connai mal la prog avec C18.
mais en gros :
ton PIC tu fais if(input(PIN_AX)) { envoi message RS232 }
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de wxccxw
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 3 janv. 2007 à 21:05
+3
Utile
ok  merci je vais essayer de faire quelques chose..
 je vois  une solution mais je sais pas si c'est bon??

ecrire sur le port a "0111"
et lire le port b
si port b"0111"
alors afficher '0'
etc... jusqu'a f

une ptite info
mon prof nous a demandé si il y avait deux touches de presser il faut r'envoyer ff
as tu idée???
merci pour les infos ..
a+
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de krimzoug
julienbj 458 Messages postés jeudi 4 décembre 2003Date d'inscription 19 décembre 2008 Dernière intervention - 5 janv. 2007 à 00:47
+3
Utile
Un clavier 16 touches qui marche en RS232????
Qu'est ce que c'est que ca?
Je serais bien curieux de savoir de quel clavier il s'agit!!!

A mon avis tu as un clavier des plus classiques, qui se branche directement sur ton microcontroleur (en prenant soin de mettre des pull-ups ou d'activer les pull-up internes du PIC si tu es sur le bon port). Et toi ce que tu cherches à faire, c'est lire la/les touches pressées sur le clavier et renvoyer cette information sur une liaison série, mais tu as certaineemnt pas un clavier RS232!

Confirme moi que je t'aide plus en avant ensuite, mais arretez un peu d'halluciner avec vos claviers 16 touches en RS232 ou USB!
Attention, la ca demande aussi un peu d'élec, et ça c'est une science qui ne s'invente pas non plus. (bien que avec un PIC...).

wxxxxw >> "logiciel de Code PIC", qu'est ce que c'est que ça? Comme pour du code PC, on utilise un compilateur pour compiler du C, c'est certainement pas un logiciel qui génere du code tout seul.
Pour ta gouverne, CCS est la pire daube qui puisse exister pour compiler du C, je te conseille vivement le passage à C18 ou HTPIC18. Je n'ai jamais vu un compilateur aussi peu respectueux des standards du C, j'aurais même tendance à dire qu'il compile un language qui n'est pas du C, mais une invention stupide de leur part.
CCS est connu et utilisé uniquement parcque c'est le premier compilateur C pour PIC qui est sorti sur le marché, mais franchement, je me demande bien comment il fait pour survivre maintenant!

krimzoug >> Quels sont tes branchements? Tu as mis quoi sur le port A du pic, quoi sur le port B? C'est bien beau de nous dire j'écris ca sur tel port, ça sur l'autre, si on sait pas ce qu'il y a derrière....
Vive le C
Savon
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de julienbj
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 5 janv. 2007 à 14:45
0
Utile
slt
En faite mon clavier est un standar..
il est connecté directement sur le pic en mettant les pull-up
j'écris sur le port a les lignes du clavier et j'écris les colones sur le port b.
le compilateur que j'utilise est le c18 sous mplab
je voudrais faire un prog en mode interuptif.
 si une touche est pressée j'envois la valeur sur un lcd..
si 2 touche sont je renvoi ff..
desolé je suis un debutant en c..
c'est pas facile...
a+
Commenter la réponse de krimzoug
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 5 janv. 2007 à 14:46
0
Utile
slt
En faite mon clavier est un standar..
il est connecté directement sur le pic en mettant les pull-up
j'écris sur le port a les lignes du clavier et j'écris les colones sur le port b.
le compilateur que j'utilise est le c18 sous mplab
je voudrais faire un prog en mode interuptif.
 si une touche est pressée j'envois la valeur sur un lcd..
si 2 touche sont pressée je renvoi ff..
desolé je suis un debutant en c..
c'est pas facile...
a+
Commenter la réponse de krimzoug
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 5 janv. 2007 à 14:46
0
Utile
slt
En faite mon clavier est un standar..
il est connecté directement sur le pic en mettant les pull-up
j'écris sur le port a les lignes du clavier et j'écris les colones sur le port b.
le compilateur que j'utilise est le c18 sous mplab
je voudrais faire un prog en mode interuptif.
 si une touche est pressée j'envois la valeur sur un lcd..
si 2 touche sont pressée je renvoi ff..
desolé je suis un debutant en c..
c'est pas facile...
a+
Commenter la réponse de krimzoug
krimzoug 8 Messages postés jeudi 31 août 2006Date d'inscription 5 janvier 2007 Dernière intervention - 5 janv. 2007 à 14:46
0
Utile
slt
En faite mon clavier est un standar..
il est connecté directement sur le pic en mettant les pull-up
j'écris sur le port a les lignes du clavier et j'écris les colones sur le port b.
le compilateur que j'utilise est le c18 sous mplab
je voudrais faire un prog en mode interuptif.
 si une touche est pressée j'envois la valeur sur un lcd..
si 2 touche sont pressée je renvoi ff..
desolé je suis un debutant en c..
c'est pas facile...
a+
Commenter la réponse de krimzoug
julienbj 458 Messages postés jeudi 4 décembre 2003Date d'inscription 19 décembre 2008 Dernière intervention - 5 janv. 2007 à 14:52
0
Utile
Je ne suis pas certain qu'en mode interruptif ça puisse fonctionner.
Le port A n'a aucune interruption sur des changements d'états, donc pas possible de faire fonctionner ca en interruption.
Ce que tu peux faire pour t'approcher d'un mode interruptible, c'est utiliser les timers.

Tous les x ms, tu vas lire l'état de ton clavier, et quand il change, c'est qu'il s'est passé qqch (relachement ou pression).
Avec une méthode comme ça, tu vas interroger ton clavier de manière interruptiible, à intervalle de temps régulier, mais ton clavier lui n'est pas interruptible.

Sinon, la méthode un peu "barbare" serait du polling sur ton clavier. C'est plus simple à coder, mais beaucoup moins propre.
Attention aux rebonds avec une méthode comme ca, comme avec la précédente d'ailleurs.

Vive le C
Savon
Commenter la réponse de julienbj

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.