112 Microprocesseurs et Interfaces B. Rejeb, ISITCom. 2009. Exercice : On se pr

112 Microprocesseurs et Interfaces B. Rejeb, ISITCom. 2009. Exercice : On se propose d’écrire un programme pour gérer une carte d’interface qui assure la conversion Analogique/Numérique d’un signal (acquisition de la donnée, affichage, traitement puis sa sortie). Cette carte comporte essentiellement l’interface parallèle 8255, un convertisseur Analogique/Numérique et un bloc de contrôle de la conversion, figure ci- dessous. Le début de la 1ère conversion est lancé par le front descendant du signal SC (Start Conversion) qui sera généré par le bit 7 du port C (PC7 en set/reset). La fin de conversion EOC est transmise au 8255 à travers le bit 4 du port C (PC4) par le signal STB. Celui-ci active le signal IBF (Input Buffer Full: 5ème bit du port C) et interrompe le microprocesseur pour la lecture de la donner. Les conversions suivantes seront déclenchées automatiquement par le front descendant du signal IBF après chaque lecture de la donnée par le microprocesseur. La routine d’interruption (supposé déjà existante) fait appel à une procédure ACQUI qui inhibe les interruptions durant l’exécution de cette procédure, lit la donnée du port A, converti la donnée en ASCII, affiche la donnée sur l’écran à l’aide de la fonction 02 de l’interruption 21h du DOS, multiplie la donnée par 2 et la faire sortir sur le port B. Le groupe A de 8255 est programmé en mode 1 et le groupe B en mode 0. Nous supposons que les ports A, B, C et de contrôle ont respectivement pour Adresse : 330h. 331h, 332h et 333h. 1. Déclarer dans le segment de donnée DSEG les adresses des différents registres du 8255, le mot de contrôle ainsi que les autres déclarations nécessaires. 2. Ecrire une procédure INIT qui permet d’initialiser le 8255 ainsi qu’un compteur des acquisitions et de lancer la conversion. 3. Ecrire la procédure ACQUI qui permet :  D’inhibe les interruptions durant l’exécution de cette procédure,  De lire la donnée du port A,  De convertir la donnée binaire en ASCII,  De multiplier la donnée par 2 et la faire sortir sur le port B. 4. Ecrire le programme principal correspondant qui permet d’initialiser et lancer l’acquisition, le microprocesseur entrera ensuite dans une boucle de lecture du clavier jusqu'à ce qu’on appuie sur la barre d’espace (code ASCII 20h) pour sortir du programme. Pour la lecture du clavier on utilise la fonction 0 de l’INT 16h. PA7-PA0 PB7-PB0 PC5 PC4 SC EOC Conversion A/N D7-D0 Signal STB PC3 IBF Conversion Signal traité PC7 (Conversion) C INTRA OR RD N/A 113 Microprocesseurs et Interfaces B. Rejeb, ISITCom. 2009. Registre de contrôle du 8255 1 D6 D4 D5 D3 D2 D1 D0 Port C bas 0 : Sortie 1 : Entrée Port B 0 : Sortie 1 : Entrée Mode 0 : Mode 0 1 : Mode 1 Port C haut 0 : Sortie 1 : Entrée Port A 0 : Sortie 1 : Entrée Mode 00 : Mode 0 01 : Mode 1 1x : Mode 2 Groupe B Groupe A 0 X X X D3 D2 D1 D0 BIT SET 1 : SET 0 : RESET Sélection d’in bit du port C 114 Microprocesseurs et Interfaces B. Rejeb, ISITCom. 2009. 8 CORRECTION DSEG SEGMENT PORT_A EQU 330H PORT_B EQU 331H PORT_C EQU 332H PORT_CM EQU 333H COMMANDE EQU B0H TAB DB ‘0123456789ABCDEF’ DSEG ENDS PROC INIT Mov dx, PORT_CM Mov al, B0H Out dx, al Mov al, 09 Out dx, al ; INTEA =1 Mov dx, PORT_CM Mov AL, OFH ; set PC7 Out dx, al Mov al, 0EH ; Reset PC7 Out dx, al Xor di, di ; Compteur des acquisitions Ret INIT ENDP AQUI PROC Cli Mov dx, PORT_A In al, dx ; lecture du port A Push ax Mov bx, OFFSET TAB ; début de TAB pour xlat Mov cl,4 Shr al,cl Xlat ; converstion ASCII Mov ah, 2 Mov dl, al Int 21H ; affichage Pop ax Push ax And al, 0Fh Activer l'interrution du microprocesseur 115 Microprocesseurs et Interfaces B. Rejeb, ISITCom. 2009. XLAT ; conversion ASCII Mov ah, 2 Mov dl, al Int 21h ; affichage octet bat Pop ax Shl al, 1 ; multiplication par 2 et envoie de la donnée Mov dx, PORT_B ; sur le port B Out dx, al Sti AQUI ENDP CODE SEGMENT ASSUME CS, CODE, DS, DSEG, ES: DSEG Mov ax, DSEG Mov ds, ax Mov es, ax CALL INIT B1: Mov ah, 0 Int 16h Cmp al, 20h Jnz B1 Mov ah, 4Ch Int 21h CODE ENDS uploads/Litterature/ exercice-8255-mode1.pdf

  • 30
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager