Code sources

Signaler
Messages postés
1
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
16 mai 2008
-
Messages postés
69
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
22 mars 2010
-
je cherche le code source de programme sur Tasm qui permet d'afficher le code ascii d'une touche taper par le clavier sur un afficheur 7 segment via le port parallèle. merci

2 réponses

Messages postés
69
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
22 mars 2010
1
hum...
je pense que tu as deja visiblement repondu tout seul a ta question.

une simple table de translation suffit.
un afficheur 7 segments est en fait composé de 8 leds.

a,b,c,d,e,f,g,h et dp

un caractere hexa quand a lui a 16 solutions.
a chaque solution correspond une combinaison particuliere des segments.

donc, il suffit de faire ceci:

table:
.0 db combinaison abcdefghdp du 0
.1 db combinasion abcdefghdp du 1
etc etc...

and al,0fh   :le nombre hexa est dans les 4 bits de poid faible
movzx si,[al]  ; al contient le nombre hexa
mov al,[si+table] ; et hop, on recupere

mov dx,portparrallele
out dx,al    ; ecrire dqn le port parallele

voilà, le reste etant de trouver les bonnes valeurs par toi meme.

:)

me:
nop
ret
Messages postés
69
Date d'inscription
mercredi 12 décembre 2007
Statut
Membre
Dernière intervention
22 mars 2010
1
encore une precision...
vu que le dp n'a pas de sens dns ce cas, on peut utiliser le bit 7 pour dire quel est l'afficheur a ecrire, vu qu'un code ascii est sur 8 bits et qu'un digit ne permet que d'afficher 4 bits.

donc, lire le clavier:

in al,60h

.......

dire d'aficher le digit 0:

....
out dx,al

dire d'afficher le digit 1:

or al,80h
out dx,al

il faut donc faire une logique autours de l'afficheur 7 segments pour pouvoir driver les deux en meme temps .
une combinaison de portes logiques et deux registres 8 bits devraient faire l'affaire.

allez, au boulot.

me:
nop
ret