こんにちは、天池です。 仕事を詰め込まれたせいで返信が遅れました。 MLで投稿者が返事が遅いのはマナー違反ですね(^^; 返信いただいた鈴木さん、watson8さん、hamayanさん、ありがとうございます。 > アドレスバスのA0に接続されていますが、この意味が判りません。 えっとそれはですね > #define LCD_DATA1 (*((volatile unsigned char *)0x600000)) > #define LCD_DATA2 (*((volatile unsigned char *)0x600001)) ここで書いたアドレスの最下位ビットがA0なのです。 偶数アドレスなら上、奇数なら下ですね。 これで2つのデータ領域にアクセスします。 # LCD_COMMAND、LCD_DATAと書くべきだったかもしれません > CS3信号とANDを Eが立たない限りはA0信号もR/W信号も使うことはありませんし、実際にEを立て る際にはA0・R/Wが入ってからシフトレジスタでウェイトがはいるので大丈夫か と考えていましたが・・・。(駄目かな?) ----- > ソフト屋さんのwatson8です。 お仲間ですね。私はまだまだ新米です^^; > 突拍子もない考えですが、CLK/HWR*/E/WAITあたりを汎用IOにつないで > 動きをシミュレートしてみるなんて作戦はいかがでしょうか。 > あるいはCLK/HWR*/D??をソフトで駆動して文字表示までできる > かも知れません。 > (ロジアナなんか使えない環境に長くいると脳ミソじたいが変質して > しまうのかも知れません^^;;;) 動くか定かでないものをいきなりバス接続するのはやっぱり不安ですね。 この方法で試してみてから実際に移すことを考えてみます。 (データ線8本移動するのは結構しんどい・・・) 脳ミソ変質・・・発想がですか?(笑 # PCカード型ロジアナとかって高いのかな・・・ ----- > 個人的な好き嫌いで申し訳ないのですが、非同期クリアを制御に使 > うのはイマイチなので、RESETの接続のみとして、初期状態を安定 > させました。また、制御線のCSやHWR、RDには必ずプルアップ > を入れて下さい。 RESET信号でシフトレジスタの方もリセットするということですね。 プルアップは考えてませんでした。入れてみますね。 > セットアップタイムは、シフトレジスタ > 2段で稼いでいます。パルス幅は、シフトレジスタ6段で稼いでいま > す。ホールドタイムは、H8側で稼いでくれるので大丈夫でしょう。 LCDについていた解説書から アドレス→E :140ns E保持時間 :450ns とあったので2段構成(ぎりぎり)で組んだのですが、この段数でも足りてしま うものなのでしょうか? 肝心なのはEクリア後のホールドなのですか? > 一度コマンドを実行すると、最低50μsは戻って来ないので、BUSYの > モニタは必要でしょう。 DRAMに転送したプログラムでRAM実行しているのでどうしてもバスアクセス が生じてしまうのですが、BUSYの間のDATAバスの内容変更は問題ないのですよね? ----- あんまりLCDのバス駆動ネタがウェブに無いのは、やってる人自体が少ないから なのかな?と思いました。 私も暇な時間ができたら教えて頂いた事を実践してみますね。 動作報告が出来ればいいのですが(笑 ---- Takehiro Amaike <tanpa@xxxxxxxxx> URL: http://www.ss-lab.com/