7セグメントLED表示で使用しているDMAのタイミングについて教えてください。
どうすれば7セグメントLEDに任意のデータを表示できますか。
モニタープログラムのワークエリア(RAM)の割り付けはどうなっていますか。
Z-Vison Windowsを接続する場合はどのように設定しますか。
Z-VisionやRM-80でトレース中に割り込み信号を入れても
割り込みプログラムに処理が移りません。なぜですか。
キットを購入したのですが,部品表と違う型番の部品が入っています。
DMAのタイミングチャートと回路図を見ながら以下の説明をお読みください。
以上 (1)〜(6)の一連の操作で7セグメントLED1桁を表示し,(1)〜(6)を8回繰り返すことにより全桁を表示することができます。
TK-Z80はDMAによりFFF8h〜FFFFh番地のメモリーの内容を自動的に表示します。それで,任意のデータを表示するにはこのアドレスにデータをセットすればよいことになります。各桁とアドレスの関係は次のようになっています。
左 | 右 | ||||||
FFF8h | FFF9h | FFFAh | FFFBh | FFFCh | FFFDh | FFFEh | FFFFh |
各アドレスにはセグメントデータをセットすることになります。セグメントとデータビットの関係は次のとおりで,光らせたいセグメントに相当するデータビットに1をセットします。
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
d.p. | g | f | e | d | c | b | a |
なお,参考としてプログラム設計時に作成したモニターの表示プログラムのフローチャートをダウンロードすることができます。
プログラム設計時のフローチャートをダウンロードしてください。詳細はこのフローチャートに記されています。(全3ページ。1ページ,2ページ,3ページ)
メモリーマップをダウンロードしてください。(全2ページ。1ページ,2ページ)
アセンブラにXA80(システムロード社)を利用した場合の手順についての資料を下記からダウンロードしてください(Xa80.pdf)。他のアセンブラの場合でも参考になると思います。
Z-Vision WindowsをTK-Z80で使用するときの設定方法については,次の資料をダウンロードしてください(zvr.pdf)。
Z-VisionやRM-80のトレースは,次に実行する命令の,さらに次に実行する命令を‘INT30H’に置き換えることで,1命令実行したあとでデバッガに処理を移しています。例として次のプログラムをトレースする場合を考えます。
LD | A,30h | ;(1)ここまでトレースしてきた |
LD | B,16h | ;(2)次にこの命令を実行する |
ADD | A,B | ;(3) |
(1)で止まっているときに割り込み信号を入れると,リモートデバッガ内はDIになっているので割り込みは一時保留になります。リモートデバッガからトレースでアプリケーションに処理が移るときに,これまでアプリケーションでEIであればEIに戻すので,それ以降,割り込みを受け付けることになります。つまり,(2)の命令を実行する前に割り込みを受け付けます。
さて,(1)で止まっているときに割り込み信号を入れ,そしてトレースを行うと,(3)を‘INT30H’に置き換えてからアプリケーションに処理を移すので,割り込み処理と(2)の命令を実行してからデバッガに処理が移ります。というわけで,トレースでは割り込みプログラムに処理を移すことができません。
対応策は,割り込みプログラムのデバッグは,割り込みプログラムの先頭にブレークをはって一度ブレークをかけてからトレースすることで行います。
特にICのパッケージに記されている型番と部品表の型番が違うことがあります。しかしこれは相当品を使用しているためですので,動作的には何ら問題ありません。安心してお使いください。
Copyright (c) 2000-2024 ToyoLinx Co.,Ltd.