CODINGCLEFS POUR AMSTRAD 1 ★ Système de base par Daniel Martin ★

Clefs1 34 Circuit Ppi8255 - ProgCoding Clefs Pour Amstrad 1
Circuit PPI 8255

Programmation

Le PPI est interface aux adresses suivantes :

-------------------------------------------------------------
Adresse F4xx Lecture et écriture PORT A.
Adresse F5xx Lecture et écriture PORT B.
Adresse F6xx Lecture et écriture PORT C.
Adresse F7xx Ecriture dans le registre de contrôle.
-------------------------------------------------------------

Remarques :
- xx signifie n'importe quoi,
- A est utilisé en lecture et en écriture, B est utilisé en lecture seule et C en écriture seule.

Des trois modes décrits brièvement dans les généralités, seul le MODE 0 sera étudié car il suffit à toutes les manipulations envisagées.

Le PPI est programmable à travers un registre de contrôle dans lequel on ne peut qu'écrire. Aucune lecture de ce registre n'est permise,

Ecriture dans le registre de contrôle

On écrit dans le registre de contrôle par un simple OUT sur le PORT F7xx.

Le mot de contrôle est un mot de 8 bits dont voici le fonctionnement bit par bit.

-------------------------------------------------------------
Bit 7 Toujours 1 si c'est un mot de contrôle.
-------------------------------------------------------------
Bit 6 Détermination du mode de fonctionnement du groupe A.
;Pour sélectionner le MODE 0, ce bit doit être 0.
;S'il est à l'état 1 , il sélectionne le MODE 2.
-------------------------------------------------------------
Bit 5 Détermination du mode de fonctionnement du groupe A.
;Pour sélectionner le MODE 0, ce bit doit être 0.
;S'il est à l'état 1, il sélectionne le MODE 1.
-------------------------------------------------------------
Bit 4 Détermination du sens de fonctionnement du PORT A ;
;0 signifie EN SORTIE et 1 signifie EN ENTREE.
;Sera toujours 1
-------------------------------------------------------------
Bit 3 Détermination du sens de fonctionnement de la
;partie haute du PORT C.
;0 signifie EN SORTIE et 1 signifie EN ENTREE.
-------------------------------------------------------------
Bit 2 Détermination du mode de fonctionnement du groupe B.
;0 signifie MODE 0 et 1 signifie MODE 1. Sera toujours 0.
-------------------------------------------------------------
Bit 1 Détermination du sens de fonctionnement du PORT B.
;0 signifie EN SORTIE et 1 signifie EN ENTREE.
;Sera toujours 1.
-------------------------------------------------------------
Bit 0 Détermination du sens de fonctionnement
;de la partie basse du PORT C.
;0 signifie EN SORTIE et 1 signifie EN ENTREE.
;Sera toujours 0.
-------------------------------------------------------------

Si le bit 7 est égal à 0, le registre n'est plus utilisé en tant que contrôleur des PORTS, mais il permet de positionner les bits du PORT C à 1 ou à 0.

Bit 7 = 0 : fonctionnement en positionnement de bit.
Bits 6, 5 et 4 : non utilisés.
Bits 3, 2 et 1 : donnent le numéro du bit à positionner.
Bit 0 : donne le sens du positionnement,
; 1 signifie positionnement du bit à 1 et
; 0 signifie positionnement du bit à 0.

La programmation se fait donc en envoyant le mot d'état convenable sur le registre de contrôle et en effectuant une lecture ou une écriture sur le PORT idoine.

★ ANNÉE: ???
★ AUTEUR(S): ???

Page précédente : Clefs1 34 Circuit Ppi8255 - Ports
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 302 millisecondes et consultée 1402 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.