当ブログに掲載した回路やプログラムその他の情報はご自身の判断により利用してください。これにより生じた損害は責任を負いませんので、ご了承ください。 当局のQSLカード発行ポリシーはこちらをご覧ください
My QSL Policy is HERE.

2022年5月2日月曜日

Z80で遊ぶ(1) シンプルなI/Oポートを試す

いまさらながらZ80CPUと周辺チップを入手したので、しばらくこれらで遊んでいます。

タイニーBASICを動かしてみたくていろいろ試していましたが、なかなかうまくインタプリタを動作させることができなかったので、いったんここはシンプルなI/Oポートを実装してみて、その仕組みと動作を確かめてみることにしました。

参考にしているのは


です。基本のロジックについての説明から、データシートの読み方、Z80の動かし方まで一通り書いてあり、大変わかりやすいです。

今日ブレッドボードに組み上げた回路はこちらです。
DIPスイッチを入力ポート(02h)に、LEDを2つの出力ポート(00h, 01h)に接続してあります。

プログラムは
; SIMPLE I/O TEST
; TARGET : Z80 BREADBOARD COMPUTER
; ASSEMBLER : ZASM
IO00: EQU 0
IO01: EQU 1
IO02: EQU 2
ORG 0H0000
LOOP: LD A,0
SW1: IN A,IO02
CP 1
JP Z,SW12
LD A,00H
JP SW13
SW12: LD A,80H
SW13: OUT IO00,A
SW2: IN A,IO02
CP 2
JP Z,SW22
LD A,00H
JP SW23
SW22: LD A,80H
SW23: OUT IO01,A
JP LOOP
END
view raw simple10.asm hosted with ❤ by GitHub

という感じにしてみました。機械語はまだよくわかりません(汗


ROMを焼いて走らせてみたらDIPスイッチの操作でLEDがそれぞれ点いたり消えたりしたので成功したようです。あまりにも地味なので、誰にも自慢できません。

今回出力ポートを実装するのに使ったのはハリスのCD74HCT574です。前に間違えて100個買い付けてしまったのでいくらでも使えます。

0 件のコメント:

コメントを投稿