CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

割込みテスト(2)

 

 
8155上のRAMで動作する割込みテストの例です

モニタ上でユーザアプリケーションのエントリーポイントはFF00H番地に固定していますのでそこからベクタテーブルを跨いでプログラム本体startに飛びます
まず8155内部の14ビットカウンタに最大値3FFFHと動作モード3(連続パルス出力)を設定し、タイマをスタートさせます。
割込みマスクを解除したあと、Aレジスタの内容をLEDに出力する無限ループに入りますが、タイマ割込みで起動されるハンドラの中でAレジスタのインクリメントを行うので結果的にLEDがチカチカします
 
イメージ 1

タイマのクロックはCPUのCLKOUT(2.4576MHz)なので、これをを4000H分周した150Hzで1クロック分の負パルスを出しますが、
8085の割込みピンが立ち上がりエッジセンスやハイレベルセンスなので、74LS04で正パルスに反転して加える設計にしています
 
 
イメージ 2

今考えると連続パルス入力のエッジセンスで使うならパルスの立ち上がりと立下りは必ずセットである
のだからわざわざ反転する必要はなかったですね。
周辺デバイスに8156を使えばチップセレクトを反転する必要もなくなるので、もはや74LS04の実装自体なくてよっかったことになります