 |
|
 |
|
Electronique |
|
Arduino
Arduino
Bus I2C
Bus I2C
Divers
Divers
Game Boy Advance
Game Boy Advance
Robotique
Robotique
Z80
Z80
|
 |
|
 |
 |
|
 |
|
Informatique |
|
Commande numérique
Commande numérique
Les DLL
Les DLL
Mon Guppy
Mon Guppy
divers
divers
|
 |
|
 |
|
 |
|
 |
|
Mise en oeuvre de la carte à Z80 |
|
I) Le matérielA) Faisons les présentations.Une page Web sur un ancêtre me dirait vous ? Je ne suis pas de cet avis : Certe le Z80 est un classique processeur 8 bits qui a pris des rides .Mais pouvez vous me citez un autre processeur qui ne coute qu'une vingtaine de franc et dont la famille soit aussi complête ( PIO , CTS , ... ) ? De plus , au cout du processeur , il faut ajouter celui de l'environnement de développement . Et là , moyennant l'investissement dans un programmeur d'eprom (Qui est utile pour bien d'autre choses ! ), vous trouverez tout ce qu'il vous faut sur ce site pour mettre en oeuvre un bon vieux Z80 ! Et pour finir mon plaidoyé en faveur du Z80 sachez qu'il existe sur le marché un kit prés a monter et a utiliser qui ne vous coutera que dans les 350F. Un conseil , allez regarder du coté de chez Selectronic ! Vous trouverez la description complête de cette carte dans le N° 165 d'Elektor dans un article intitulé "mini Z80" mono-carte à Z80
Cette carte possède deux ports de sortie 8 bits et deux ports bidirectionnel 8 bits. Soit en standard 16 lignes TTL en sortie et 16 lignes TTL en entrée. Mais la carte est prévue pour étendre ces posibilités à 48 lignes en sortie et 32 lignes en entrée ! Avec ses multiples I/O , cette carte est idéal pour une application robotique ( Voir le robot Vector ).
B) Une carte sans RAM ?Une lecture de l'article d'Elektor vous apprendra que cette carte , dans sa version de base , ne possède pas de RAM ! Or tout programme un peu ambitieux en assembleur nécessite l'utilisation de la pile (stack) et donc d'une RAM. Qu'a cela ne tienne , le N°166 d'Elektor décrit une extension de RAM pour cette carte. cette extension utilise une RAM CMS . N'étant pas trés adroit de mes dix doigts , la réalisation cette extension me faisait peur. J'ai donc décidé de bricoler une extension mémoire "maison" qui ne fasse pas appelle à des composants CMS. vous trouverez ci-dessous le schémas explicatif et une photo de ce "bricolage maison".
La version "lourde" : 48 K de Ram statique + 8K de Ram sauvegardée
C) Des Entrées/Sorties supplémentaires !
II) Des logicielsLa programmation de la carte nécessite un assembleur Z80. Vous pouvez en télécharger un ici ( C'est un freeware de mon cru ) .
L'utilisation de ce package est trés simple . La solution la plus fiable est de créer un répertoire spécial . Remarquez que vos fichiers sources doivent se trouver dans le même répertoire que le complitateur ! Une fois les fichiers décompressés vous pouvez lancez une session de travail en tapant :
z80 nom_du_fichier_assembleur_avec_extension_.asm
Par exemple , si l'utilisateur travail sur un fichier assembleur qui porte le nom VECTOR.ASM il suffit de tapez :
Z80 VECTOR.ASM
Vous pouvez vous procurez des exemples de fichiers en assembleur dans la partie application. A l'écran apparait le menu ci-dessus qui permet de choisir entre plusieurs options . Si vous utilisez Windows 3.1 vous pouvez exécuter ces programme dans une fenêtre DOS( en plein écran ) ou dans une fenêtre ( Windows ).
En choisissant la touche 1 vous éditez le fichier source VECTOR.ASM a l'aide de l'éditeur de MS-DOS comme le montre l'écran ci-dessous.Une fois le fichier source modifié , quitter l'éditeur par le menu Fichier puis Quitter en sauvegardant au préalable le fichier source.
|
En choisissant la touche 2 vous lancez la compilation de ce fichier source . Comme le montre l'écran ci-dessous , la compilation s'éffectue en deux passe. Cette étape ne prend qu'une fraction de seconde sur un pentium !
|
La compilation étant terminé un menu vous demande sous quelle forme vous désirez le résultat . La majorité des programateurs d'EPROM accepte les fichier binaires . Choissisez donc l'option 1 . Le résultat se trouvera toujours dans le fichier RESULT.BIN !
|
En choisissant la touche 3 , vous éditer un fichier de rapport de compilation qui recense toutes les erreurs ainsi que les numéro de lignes ou apparaissent celle-ci. Revenez à l'édition du fichier source et corrigez les avant de poursuivre...
|
En choisissant la touche 4 , vous éditer un fichier qui liste tous les labels et toutes les équivalences que vous avez utilisé dans le fichier source.
|
|
En choisissant l'option 5 , vous lancez le logiciel de commande de votre programmateur d'eprom . Chargez alors le fichier RESULT.BIN puis programmez votre EPROM ou votre RAM ZERO POWER.
|
Vouz pouvez modifier le fichier BATCH Z80.BAT comme le montre le listing ci-dessous pour adapter ce programme a votre configuration :
| echo off cls :debut cls if not exist %1 goto erreur1 echo. echo. echo Traitement du fichier %1 echo ----------------------------------------------------- echo. echo 1)....Editer le fichier %1 echo 2)....Compiler echo 3)....Editer le rapport de compilation echo 4)....Editer la liste des equivalents et des etiquettes echo 5)....Programmer l'eprom echo. echo Q)....Fin echo. echo. choice /C:12345Q Entrez votre choix ? if errorlevel 6 goto fin if errorlevel 5 goto prog if errorlevel 4 goto edlab if errorlevel 3 goto edrap if errorlevel 2 goto comp if errorlevel 1 goto edsource goto debut
:edsource cls [chemin de l'éditeur MS-DOS] edit %1 cls goto debut
:comp cls z802 %1 /r convert cls goto debut
:edrap cls [chemin de l'éditeur MS-DOS] edit report.tmp cls goto debut
:edlab cls [chemin de l'éditeur MS-DOS] edit resume.tmp cls goto debut
:prog cls [Donner ici le chemin complet du logiciel de commande de votre programmateur d'EPROM] cls goto debut
:erreur1
echo mauvais paramètres !!! . La syntax est la suivante : echo. echo z80 [Nom du fichier avec extenssion] echo. pause
:fin echo on cls
|
III) Mise en oeuvre de la carte
A) Commande d'un écran LCD
Un moyen simple de disposer d'un périphérique de sortie pour un de vos montage et d'utiliser un écran LCD. Ces écran se déclinent en plusieurs configurations :
B) Commande d'un clavier 12 touches
C) Une interface RS232
D) Un bus I2C
Date de création : 28/10/2005 @ 18:28
Dernière modification : 31/01/2008 @ 07:49
Catégorie : Z80
Page lue 13170 fois
Prévisualiser la page
Imprimer la page
|
 |
|
 |
|
|