Bonjour
J'étais en train de réaliser l'exercice suivant :
Le problème est que je n'arrive pas à bien distinguer la différence entre A en sortie et A en entrée ?
Bonjour
J'étais en train de réaliser l'exercice suivant :
Le problème est que je n'arrive pas à bien distinguer la différence entre A en sortie et A en entrée ?
Si tu pilotes un « PIA » avec un 6809, c'est que ce PIA est vraisemblablement un 6821. Les 68xx sont une famille de circuits intégrés conçus par Motorola et faits pour être compatibles entre eux. Cette famille comporte un certain nombres de micro-processeurs (6800, 6809…) et micro-contrôleurs (6805, 68705, 68HC11…), les autres étant des périphériques d'utilité générale. Le 6821 est un Peripherical Interface Adapter de 2 fois 8 bits, plus quelques lignes de contrôles. Il s'agit en réalité de ce qu'on l'on appelle aujourd'hui des GPIO (General Purpose Input / Output). Les deux ports de huit bits chacun sont nommés A et B. Ces ports n'ont donc rien à voir, en eux-mêmes, avec les accumulateurs A et B du micro-processeur proprement dit.
Chacune des huit lignes d'entrée/sortie de chacun des deux ports A et B du PIA 6821 correspond à une broche physique sur le circuit intégré. Et chacune de ses lignes peut-être configurée, indépendamment des autres (c'est ça qui est fort), en « entrée » ou en « sortie » :
- En sortie, la broche affichera soit du 0V (masse), soit du 5V (Vcc) selon l'état du bit associé et te permettra de piloter un équipement extérieur (une LED, un relais via un transistor et une diode de roue libre, un autre ordinateur, etc…) ;
- En entrée, cette même broche mesure le potentiel auquel elle est reliée (probablement avec une résistance de pull-up mais je ne retrouve plus la datasheet), ce qui te permet de lire l'état de la broche, 0 ou 1.
Chaque broche a donc la capacité d'être soit en entrée, soit en sortie et, pour cela, il faut au préalable configurer les ports que tu comptes utiliser. Ça se fait en changeant le bit 2 du registre de contrôle. Lorsque celui-ci vaut 0, toute donnée écrite sur le port de données va configurer la direction des broches (0 en entrée, 1 en sortie). Quand il vaut 1, les données lues ou écrites sur ce même port de données vont relever ou piloter l'état des broches, respectivement.
Partager