澤口@一升金です。 まつぞのさんの<200409080809.i8889f5V022479@xxxxxxxxxxxxxxxxxxxx>から >制御線(E, R/~W, RS) と ~RD,~WR,~WAIT との関係がよくわかりません まず、LCDの制御方法ですが(書込の場合) ・R/~W,DATA 信号を予め出しておく ・DATA信号の確定後20ns以上おいてRS信号を出す ・上記の信号が確定した後に40ns以上おいてEをHighにする ・EのHigh期間は最低220nsが必要であり、他の信号は この期間中変動させない。EをLowにした後も10nsは データをキープする です。 EはCSを遅延させてつくり、RSはデータ線の上位ビットを 遅延させ、R/~Wは~Rを反転させるか、~Wをそのまま入れる かしてつくります。 で、EのHigh期間を確保するためにはLCDからはWAIT信号が 出ていないので、外付けカウンタなどで遅延をつくり~WAIT に入れてやることになります。 ARMのデータシートは見ていないので、もしかするとアドレス 毎に十分な遅延をプログラムできるのかも知れませんが、そ の場合にも他の信号よりもEを遅延させるためにはCPU制御だ けではどうにもならないと思います。 結局のところ外付け回路が無いと動作しないわけです。 CPLDを手軽に使える環境とスキルがあれば別ですが、手間暇 考えるとポート出力でソフト的にタイミングをとる方が楽だ と思いますよ。