CODINGLA BIBLE DU CPC 6128

La bible du CPC 6128 : 1.07.02 Les modes de travail du 8255

Avant que nous n'en venions aux quatre registre internes, il nous faut tout d'abord examiner d'un peu plus près les possibilités de ce circuit intégré. Comme nous l'avons indiqué au début, le 8255 dispose de 3 modes de travail possibles:

  • Mode de travail 0 : Simple entrée/sortie
  • Mode de travail 1 : Entrée/sortie manipulable
  • Mode de travail 2 : Bus à deux sens


Le mode de travail 0 est le plus simple et le plus courant. Dans ce mode, il est possible de déterminer si les ports doivent travailler comme canaux d'entrée ou de sortie. Si les canaux sont programmés comme sortie et si le processeur envoie une information sur ces sorties, cette valeur est stockée, et les sorties sont conservées jusqu'à une nouvelle programmation ou jusqu'à un reset. Les ports programmés comme entrée fournissent lors d'une lecture l'état momentané de ces canaux.

Le sens des données sur le port A aussi bien que sur le port B ne peut être programmé que de façon identique pour tout le port. Il n'est pas possible d'utiliser par exemple les bits de port PAO, PA3 et PA7 en sortie et les autres bits du même port en entrée.
Le port C peut cependant être programmé en deux moitiés distinctes.

Le sens des données de chaque moitié peut être programmé séparément.
Le mode de travail 1 se différencie fondamentalement du mode 0. Dans ce mode de travail, un transfert de données dans un sens est possible avec des signaux hand shake. On ne parle plus alors de trois ports car les deux moitiés du port C sont mises à la disposition des deux autres ports comme signaux de commande et de réception. On parle alors des deux groupes A et B.

Le groupe A comprend le port A et les bits 4 à 7 du port C, le groupe B le port B et les bits 0 à 3 du port C. Pour programmer facilement le mode 1, il est possible d'utiliser un bit spécial de chaque moitié du port B comme signal d'interruption.

Un tel transfert de données 8 bits est utilisé par exemple sur les interfaces d'imprimante. Un signal indique ici que les données sur les canaux de données sont valables. Un signal rapporté indique si le récepteur, en l'occurence l'imprimante, est prêt à recevoir des données, ou si les données ont été reçues correctement. Cette fonction peut être exécutée par le 8255, au choix pour une sortie ou une entrée de données.
Le troisième mode de travail (mode 2) est un mode de travail bidirectionnel. Cette fonction n'est possible qu'avec le port A. Les bits PC3-7 sont utilisés comme signaux de commande et de réception.

Une application possible de ce mode de travail serait la commande d'un lecteur de disquette car les données doivent dans ce cas être transmises aussi bien du lecteur de disquette au processeur que du processeur au lecteur, à travers les mêmes connexions.
Il est d'autre part possible dans les trois modes de travail de mettre ou d'annuler, individuellement, par instruction, les bits programmés en sortie.
Les trois modes de travail ainsi décrits peuvent être également combinés. Il est ainsi possible d'utiliser le Port A en mode 0 comme sortie, le port B en mode 1 comme entrée et de programmer les bits restants du port C en entrée.

★ ANNÉE: ???

Page précédente : La bible du CPC 6128 : 1.07.01 L'affectation des connexions du 8255
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 393 millisecondes et consultée 1053 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.