081212

|



LCDの動作がおかしかったのは配線ミスでした。昨日の写真で既に問題は見えて
いた。CS6#の隣りのピンに接続していたのだ。見ての通り、本来のCS6#のピン
とはまったく短絡する気配もないのに、ノイズでなんとなく動いていたのだ。
これはびっくり。ノイズは怖いね。

これに気づくまで、このピンの前と後でさんざ格闘した。
  • LCDモジュールからは、1個のOR回路につなぐ分にはCSが効くけれど、2個に つなぐと、両方ともLか、前段につながれているのしか有効にならない。
  • 書きこみタイミングにかなりの(300usec)ディレイを入れないとダンマリ。
  • たまに書きこめない。
といった状況だった。ここを直してバッチリです。ノーウェイトで書きこめま す。(LCDの書き込みタイミングの1usはH8/3052 25MHzだとnopで24命令程度なの で、明示的にdelay入れなくてもそのくらいの時間は経つ)

メモリモジュールと重ね合わせて完成です。モード5を使っているのでCS4,CS5,CS6の全てを使ったので、これ以上は拡張できません。
こういうソケットにする時はVccの隣のピンは空きにしておくのが安心ね。一回 ずれて差し込んでしまって冷汗をかいた。たまたま空きで助かった。

次はコントロールパネルのスイッチの回路を。ポート5のA17-A19、ポート6のWAIT#, BREQ, BACKが使われずに余っているので、ここを使うことにします。
ポート5をモード5,6で使う場合、P5DDRで出力に設定するとアドレス出力端子に、 入力に設定すると入力ポートになる。ので、ここは入力にしか使えないのでス イッチに決定。
74HC14でシュミットトリガにして端子に入れます。スイッチが入ったところで H→Lにしたい(H8がエッジトリガをとれるのは立ち下がりだけなので、全て同じ 論理にしておきたい)。74HC14の端子はプルダウンしてスイッチでVccに接続。
スイッチが入ると74HC14のポートがHになって、インバータでH8のポートにはL。
このプルダウン抵抗をいくつにするかなのだけど、74HC14は出力電流25mA。 とはいえこんなに流しっぱなしにするのはどうかと思うので、どこまで絞るか なのだけど、あまり絞ると電流が少なくなるのでノイズがのる。
6.8Kにしました。5Vなので0.7mA。こんなとこじゃないかな...流し過ぎかな。まだこのあたりはモヤモヤしています。