Yamamoto's Laboratory
Lesson
   1.Numbers
   2.Memory
   3.RAM
   4.Ports
   5.Timer
   6.ROM
   7.8085A
   8.Instruction
   9.Monitor
 10.Initialization
Appendix

Lesson 10Initialization of Monitorモニターの初期化ルーチンの学習

Elenco Electronics社のコンピュータートレーニングボード MICRO-MASTER MM-8000 の Lesson 10 に関するメモです.ここでは,モニタープログラムの初期化について学習します(参照:MM-8000のマニュアルのLesson 10).

目次


PROGRM 1

FLOW_CHART_PROGRAM_1_Large.png
プログラム1のフローチャート

Program 1は,モニタープログラムの初期化のセクションを実行します.ROMのアドレス010Aから012Dの36個の値は,RAMのアドレス80DCから80FFにコピーされます.これらの場所には約10ミリ秒の遅延ルーチンがあり,ROMへの書き込みの後に使われます.RAMにあるこのルーチンの実行を実行する場合,RAMのみアクセスします.Lesson 6で示したように,ROMへの書き込みには10[msec]のディレイが必要です.このディレイ時間の間,ROMにアクセスすることはできません.それ故,ROMへの書き込み後,ROMに戻る前にモニタープログラムはROMにある10[msec]のディレイルーチンを実行させます.加えて,モニタープログラムの初期化のセクションは,ポートAを入力,ポートBとCを出力ポートに割り当てます.

アドレス0040以下の大部分の領域は,トラップとリスタート(割り込み)の場所として予約されています.モニタープログラムは,ルックアップテーブルのために,アドレス0040から005Fを使用します.電源を入れたとき,8085プロセッサはアドレス0000の命令から実行します.そして,アドレス0000のジャンプ命令により,直ちにプログラムの実行場所はコピールーチンが始まるアドレス0060になります.

プログラム1から4のソースコードのリストは,Appendix 1のPROGRAM 1に載せています.特に明記しない限り,リスト中のデータとアドレスは16進数で表しています.2進数から10進数への変換は,レッスン1表1-1を見てください.プログラム1の詳細については,図1のフローチャートと Appendix 2を参照してください.


ASSEMBLY INSTRUCTIONS

コネクターS3を取り外し,PCの基板へのすべての電力を切ります.マニュアルの図のように部品を取り付けます.部品を半田付けした後,図中のボックスをチェックします.

ジャンパーJ10を取り除くために,半田吸い取りポンプをリセットして片手で持ちます.もう一方の手で半田こてを持ち,J10の片方の半田部分をあたためます.そして,溶けた半田にポンプを当てポンプのボタンを押し,半田を吸い取ります.基板の穴から半田をきれいに取り除き,基板からジャンパー線から取り外します.

CIRCUIT DESCRIPTION

Circuit_L10.png
Lesson 10の回路

レッスン10で付け加えられた部品の回路を図2に示します.基板に8085プロセッサーを取り付けたことにより,(アドレス)データバスAD0からAD7とアドレスバスA8からA15,制御線のRESET,IO/M, RD, WR, ALEが使えるようになります.抵抗R7を通して8085のALEバスを使用可能にするために,ジャンパー線J10を取り除きました.8085がRESETのとき,前のレッスンのバスを制御するためのALEボタンを使用可能にするために,ALEの出力は0Vに維持される(?).

いかなる想定外のインプットを避けるために,ジャンパーJ4からJ9を通して,TRAPとRST7.5,RST6.5,RST5.5,INTR,HOLD線はグランドレベル(0V)に,抵抗R60(47kΩ)を通してREADY線を+5Vにします.抵抗R3とキャパシターC2は8085のX1とX2に接続することにより,約1.5[MHz]のクロック周波数に設定されます.

RESETスイッチがupの時,8085のRESET INは,RESET SWITCHを通してグランド(0:0V)に連結される.すると,8085はリセット状態になります.スイッチをdown側にすると,抵抗R1(47kΩ)を通してRESET INに高電圧(1:5V)が印加される.そして,アドレス0000から実行される.パワーONの時RESETスイッチをdown側にすると,8085のプログラムが実行される前に,システムを安定化させるために,キャパシターC1(10μF)とC13(1μF)により,RESET INにゆっくりと高電圧(5V)が印可されます(8085に電力が供給されて,しばらくしてRESET INに5Vを印可).

RESETスイッチがup側で8085がリセット中のとき,A15を含むアドレス線はハイインピーダンス状態 —アドレスバスからそれら(メモリー)が切り離されている— になります.この状態でENRAMとENROMスイッチは,レッスン3レッスン6で説明したとおり動作します.MM-8000の正しいオペレーションのために,RESETスイッチをdown側にする前に,ENRAMとENROMはdown側(off)にしなくてはならない.RESETスイッチがdown側にしたとき,アドレス線はローインピーダンス状態になります.アドレス線A15は,ENROMスイッチとJ1を通して2816(ROM)のCE入力を駆動します.アドレス線A15は,RESETスイッチのB側とENRAMスイッチ,J2を通して8156(RAM)のCEにも接続されている.As on the Data Bus lines the 3.9K pull up resistor R44 and the 10K pull down resistor R45 are overridden by low impedance A15 drive circuit in the 8085(本文はこうなっている.意味不明です.).


PROCEDURE

以下を実行して,初期化の動作を確認します.

  1. リセットスイッチをup側に,他のスイッチはdown側にします.
  2. 電源を接続し,パワーをONにします.
  3. ROMを動作可能にするために,ENROMスイッチをup側にします.
  4. ROMへの書き込み可能にするために,WENスイッチをup側にします.
  5. データスイッチを0000 0000にします.そして,74HCT573にこのアドレスをラッチさせるためにALEボタンを押します.
  6. データスイッチを1100 0011(C3:16進数)にセットします.そして,ROMの中にプログラムの最初の命令をロードするために,WRボタンを押します.
  7. アドレス0001と0002,0060から01FFに Appendix 1 に示すプログラム1の残りの部分をロードするために,アドレスを変えて,ステップ5と6を繰り返します.
  8. メモリーの0100から01FFにアクセスするために,スイッチA8をup側にします.
  9. Appendix 1に示すプログラムをアドレスの010Aから012Dにロードするために,アドレスとデータを変えながら,ステップ5と6を繰り返します.
  10. さらなるROMへの書き込みを無効にするために,スイッチWENをdown側にします.
  11. アドレス0000から00FFに戻るために,スイッチA8をdown側にします.
  12. データスイッチを0000 0000にします.そして,74HCT573にこのアドレスをラッチさせるためにALEボタンを押します.アドレスの中のデータを確認するために,RDボタンを押します.
  13. アドレス000100020060から0074に正しくデータがストアされたことを確認するために,アドレスを変えながらステップ12を繰り返します.
  14. アドレス0100から01FFに戻るために,スイッチA8をup側にします.
  15. アドレス010Aから012Dに正しくデータがストアされたことを確認するために,アドレスを変えながらステップ12を繰り返します.
  16. ROMを無効にするために,スイッチENROMをdown側にします.
  17. アドレス0000から00FFに戻るために,スイッチA8をdown側にします.
  18. RESETスイッチをdown側にします.すると,MM-8000はコピー動作とポートAを入力に,ポートBとCを出力に設定し,アドレス0074で停止します.Lesson 4で示したように,ポートはゼロを出力します.これは,ディスプレイ2の小数点を含めたすべてのセグメントが光る.
  19. マニュアルオペレーションに戻るために,スイッチRESETをup側にします.(注意)8156につながるRESET線は,ディスプレイ2をオフする入力にIOポートを返す.
  20. RAMを有効にするために,ENRAMスイッチをup側にします.
  21. データスイッチを1101 1100(DC:16進数)にセットします.そして,74HCT573にこのアドレスをラッチさせるためにALEボタンを押します.最初のバイト がROMから正しくコピーされたことを確認するために,RDボタンを押します.
  22. 36バイトが正しくコピーされたことを確認するために,アドレスを00からFFまで変化させながら,ステップ21を繰り返します.
  23. RAMを無効にするために,ENRAMスイッチをdown側にします.
  24. 電源をoffします.
PROCEDURE_SMALL.PNG
動作中の M-8000.

参考文献・WEBサイトなど



no counter