4-6 ドットマトリクスLCDコントローラ |
LCDコントローラ/ドライバは、表示用RAMに格納されたデータを自動的に読み出し、ドットマトリクスLCD駆動信号を発生するための回路です。
表示モードは、表示用RAMの1ビットのデータがLCDの1ドットの点灯/非点灯に対応すグラフィックモードです。
ドットマトリクスLCDコントローラ/ドライバは、次の回路ブロックにより構成されています。
液晶表示を制御するには、次に示す特殊機能レジスタを操作する必要があります。
・MCR :液晶表示のON/OFFの制御
・STAD :液晶表示のスタートアドレスの制御
・CNR :水平方向のバイト数の制御
・TDR :表示デューティの制御
・VCCR :液晶表示のコントラスト制御
・XBNK :表示用RAMのバンクアドレス制御
表示用のXRAMは、ドットマトリクス表示表用の96ビット×8ビット×2バンクと、アイコン表示用の6ビットの3バンクで構成されています。
LCDコントローラ/ドライバは、このXRAMに記憶されたデータを読み出し、ドットマトリクス液晶駆動信号を発生します。
![]() XRAMへの書き込みまたは読み出しは、システムクロックをRC発振にしてから行ってください。 |
シンボル | アドレス | R/W | 名称 | 初期値 | バンク |
XRAM | 180H - 1FBH | R/W | 表示用RAM | 不定 | バンク0 |
180H - 1FBH | バンク1 | ||||
180H - 185H | アイコン用 | バンク2 |
液晶コントローラ動作の開始または停止、カーソル表示の制御、液晶表示用クロックの分周比の制御を行ないます。
![]() モード制御レジスタは、書き込み専用レジスタです。書き込み専用レジスタにビット操作命令、INC命令、DEC命令、DBNZ命令を使用すると、指定したビット以外のビットがセットされるので注意してください。このレジスタ操作には、次の命令を使用してください。 MOV,MOV@,ST,ST@,POP また、このレジスタを操作する場合は、ビット7〜4とビット0は必ず固定値を設定してください。 |
シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0 |
MCR | 120H | R/W | MCR7 | MCR6 | MCR5 | MCR4 | MCR3 | − | − | MCR0 |
リセット時 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
ビット名 | 機能 | |||
MCR7(ビット7) MCR6(ビット6) MCR5(ビット5) |
液晶クロック分周選択 | |||
MCR7 | MCR6 | MCR5 | 分周比 | |
0 | 0 | 0 | 1/1 *必ずMCR7〜MCR5=0に設定してください | |
MCR4(ビット4) | 液晶クロック1/2分周回路選択 | |||
0:MCR7〜MCR5で選択された信号の1/2分周信号を液晶クロックとして選択する *必ずMCR4=0に設定してください |
||||
MCR3(ビット3) | 液晶コントローラ制御 | |||
0:液晶コントローラ 停止 1:液晶コントローラ 動作開始/継続 |
||||
MCR0(ビット0) | 表示モード選択 | |||
1:グラフィックモード *必ず、MCR4=1に設定してください |
必ず、MCR7〜MCR5=0にリセットしてください。
必ず、MCR4=0にリセットしてください。
フレーム周波数は、
1/2分周(MCR4=0):82.7Hz
LCDコントローラを動作させるか停止するかを指定します。
‘1’をセットすると、LCDコントローラが動作を開始します。
‘0’にリセットするとLCDコントローラが停止します。XRAMの内容を変更してもLCDに再描画されなくなります。なお、液晶表示のON/OFFの制御していません。
表示モードは、常にグラフィック表示を選択してください。
グラフィック表示 MCR0=1
液晶表示のスタートアドレスの制御を行ないます。
シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0 |
STAD | 122H | R/W | STAD7 | STAD6 | STAD5 | STAD4 | STAD3 | STAD2 | STAD1 | STAD0 |
リセット時 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ビット名 | 機能 | ||||||||
STAD7(ビット7) | STAD0(ビット0) |
液晶表示用RAMの表示スタートアドレスの設定 | ||||||||
STAD7 | STAD6 | STAD5 | STAD4 | STAD3 | STAD2 | STAD1 | STAD0 | スタートアドレス | |
0 0 ↓ 1 |
0 0 ↓ 1 |
0 0 1 |
0 0 1 |
0 0 1 |
0 0 1 |
0 0 1 |
0 0 1 |
0 0 ↓ 255 |
![]() STADの値を変更すると、XRAMバンク0だけでなくバンク1,2にも影響し、アイコンが点滅したりすべてのアイコンが点灯したりといった症状が発生します。この場合は、STADで指定した表示開始アドレス-1〜-6バイトのデータを次のように変更してください。
これでゲームアイコンのみが点灯した状態になります。また、XRAMのBANK2へのアクセスは禁止事項ですが、STADに00H以外を指定した場合においてはアクセスが許されます。 STADを00H以外に設定した状態でフラッシュメモリへのアクセスを行うと、画面の一部が書き変わります。これは、BIOSがフラッシュメモリへのアクセスアイコンを点灯するためです。したがって、フラッシュメモリにアクセスする場合は、STADを00Hに設定し直してから、BIOSを呼び出すようにしてください。 |
液晶表示画面に現われる表示データの最初のアドレスを設定(XRAM 180HをSTAD=00Hとする)します。
2バイト単位でデータは変化します。
スタート アドレス | XRAMアドレス | STAD7 | STAD6 | STAD5 | STAD4 | STAD3 | STAD2 | STAD1 | STAD0 |
0H | 180H(バンク0) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
1H | 182H(バンク0) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
2H | 184H(バンク0) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
3H | 186H(バンク0) | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
4H | 188H(バンク0) | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
5H | 18AH(バンク0) | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 |
6H | 設定不可 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
7H | 設定不可 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 |
8H | 190H(バンク0) | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
9H | 192H(バンク0) | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 |
0AH | 194H(バンク0) | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
0BH | 196H(バンク0) | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 |
0CH | 198H(バンク0) | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
0DH | 19AH(バンク0) | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 |
0EH | 設定不可 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 0 |
0FH | 設定不可 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 |
10H | 1A0H(バンク0) | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
11H | 1A2H(バンク0) | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 |
: | : | : | : | : | : | : | : | : | : |
3DH | 1FAH(バンク0) | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 |
3EH | 設定不可 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
3FH | 設定不可 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
40H | 180H(バンク1) | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
41H | 182H(バンク1) | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
: | : | : | : | : | : | : | : | : | : |
7DH | 1FAH(バンク1) | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 1 |
7EH | 設定不可 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
7FH | 設定不可 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
80H | 180H(バンク2) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
81H | 182H(バンク2) | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
82H | 184H(バンク2) | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
83H - FFH | 設定不可 |
![]() 表中に「設定不可」とあるように、スタートアドレスに設定すると誤動作となる設定値があります。xx6H,xx7H,xxEH,xxFHは、設定できませんので注意してください。 |
このレジスタは、アプリケーションから読み書きしないでください。
このレジスタは、アプリケーションから読み書きしないでください。
XRAMのバンクを切り替えます。
シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0 |
XBNK | 125H | R/W | − | − | − | − | − | − | XBNK1 | XBNK0 |
リセット時 | H | H | H | H | H | H | 0 | 0 |
ビット名 | 機能 | ||
XRBK1(ビット1) | XRBK0(ビット0) |
液晶表示用RAMの表示スタートアドレスの設定 | ||
XRBK1 | XRBK0 | バンクアドレス | |
0 0 1 |
0 1 0 |
0 1 2 |
|
1 | 1 | 設定禁止 |
XRAMのバンクを切り替えます。
ドットマトリクス表示用のXRAMバンク0,1には、それぞれ96バイトのメモリがあります。アプリケーションから読み書きできるのは、バンク0,1のみです。
XRAMバンク2は、ビジュアルメモリの動作モードを示すアイコン表示用の6バイトのRAMです。
![]() XRAMのバンク2は、アプリケーションから操作しないでください。 |
液晶表示の表示のON/OFFを制御します。
![]()
MOV,MOV@,ST,ST@,POP また、このレジスタにアクセスする際は、ビット5〜0は必ず固定値を設定してください。 |
シンボル | アドレス | R/W | ビット7 | ビット6 | ビット5 | ビット4 | ビット3 | ビット2 | ビット1 | ビット0 |
VCCR | 127H | W | VCCR7 | VCCR6 | VCCR5 | VCCR4 | VCCR3 | VCCR2 | VCCR1 | VCCR0 |
リセット時 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
ビット | 機能 |
VCCR7(ビット7) | 液晶表示制御 |
0:液晶表示OFF 1:液晶表示ON |
|
VCCR6(ビット6) | 液晶表示RAMアクセス制御 |
0:CPUからの表示用RAMへのアクセス許可 1:CPUからの表示用RAMへのアクセス |
|
VCCR5(ビット5) | VCCR0(ビット0) |
*必ず、VCCR5〜VCCR0=0に設定してください |
液晶表示を行なうか、表示を停止するかを指定します。
‘0’にリセットすると、液晶パネルへの電源を遮断し液晶表示が消えます。
‘1’をセットすると、液晶パネルへの電源が供給され液晶が表示されます。
![]() 液晶表示を行なう(VCCR7=1)場合は、必ず液晶コントローラ動作を開始(MCR3=1)してから行なってください。 液晶表示を消す場合は、VCCR7=0にしてからMCR3=0にしてください。 |
システムクロックを水晶発振に設定し、LCD表示を行っている場合、必ずシステムクロックを変更後、CPUからXRAMへのアクセスを禁止(VCCR6=1)に設定してください。
また、XRAMに読み書きを行うときや、システムクロックをRC発振に設定し、LCD表示を行っている場合は、CPUからのアクセスを許可(VCCR6=0)してください。
液晶表示中にシステムクロックを変更する手順は、次のとおりです。
必ず‘0’にリセットしてください。
![]() LCD表示を行なう場合、VCCRを最後に設定してください。 |
[←] | [INDEX] | [→] |
(C)SEGA ENTERPRISES, LTD., 1999