MIRS2008 VFD制御用アセンブラ製造仕様書 |
MIRS0801-ELEC-0004 |
版数 |
最終更新日 |
作成 |
承認 |
改訂記事 |
A01 |
2008/2/24 |
長澤 |
和泉 |
初版 |
目次
1. 本ドキュメントについて
2. 目的
3. VFDの制御方法
4. プログラム解説
本ドキュメントは、蛍光表示ディスプレイの制御に用いるアセンブラの概要を記したものである。
蛍光表示ディスプレイ(VFD)に7種類の文字列を出力する事を目的とする。 ※詳細はMIRS0801 エレクトロニクス詳細設計書(MIRS0801-ELEC-0001)を参照
3. VFDの制御方法
VFDモジュールに16進8bitのデータを連続で送ることによって制御をする。
今回使用した主なコードを以下に示す。
名称 |
コード |
機能 |
キャラクタ表示 |
00h〜ffh |
カーソル位置にキャラクタを表示 |
バックスペース |
08h |
カーソル位置を1文字分左に移動 |
表示画面クリア |
0Ch |
表示画面をクリアする |
国際文字指定 |
1Bh 51h 08h |
国際文字日本語セット |
横スクロールモード |
1Fh 03h |
表示モードを横スクロールモードにする |
表示光度指定 |
1Fh 57h n |
nで光度の値を指定 |
ここに示したコードは一部であり、全部で100以上のコードが存在する。
ソースコードを示す。
・ PIC16F877各ポートの初期設定
PORTA : 使用しない。
PORTB : ドータボードからの入力に使用するので、全て入力にしておく。
PORTC : 使用しない。
PORTD : VFDへのデータ出力に使用。全て出力としておく。
PORTE : PORTE0をWR信号として使用するので出力に、PORTE1をPBUSYフラグに使用するので入力に、PORTE3をRD信号として使用するので出力に設定する。
・ メインルーチン
サブルーチンの呼び出しのみを行っている。詳細な動作はサブルーチンで行う。
・ VFDの初期設定を行うサブルーチン
CLR : 画面のクリア。VFDに、コード“0Ch”を送る。
HOME : 書き込み位置をホームポジションに戻す。サブルーチンとして用意したが、実際には呼び出していない。
KATAKANA : キャラクタコードの指定。このサブルーチンを呼び出すと、VFDに半角カタカナの表示が可能となる。
X2Y2 : キャラクタの拡大。標準では1×1であり、このサブルーチンを呼び出すことによって、表示するキャラクタを縦横2倍に拡大する。
JAPAN : 国際文字を日本語に設定する。
FLASH : 光度の指定。今回は電源である9V 電池の消費を抑えるために、光度を10段階中の2に設定している。
SCROLL : スクロールを横スクロールに設定。表示する文字列がVFDの表示領域を超えた場合、自動的に横スクロールするようになる。
SPEED : 横スクロールのスピードを設定する。今回、スクロールスピードは4msec/ドットとする。
・ その他のサブルーチン
NGS1〜NGS3 : 5秒、4秒、3秒のディレイルーチン。1秒ディレイルーチンを数回呼び出している。
SWITCH : 条件判断ルーチン。ドータボードからの3bitの入力を判別する。
WRVFD : VFDモジュールにデータを書き込む為に必要なサブルーチン。PBUSYフラグを検出し、PBUSY=0ならPORTDからデータを出力する。WR信号を1クロック立ち上げ、VFDモジュールへの
書き込みを行う。WR信号は負論理であることに注意する。VFDにデータを送る度にこのサブルーチンを呼び出す必要がある。
T02mS〜T1S : ディレイルーチン。0.2msec、4msec、50msec、0.5sec、1secのディレイルーチンを作成したが、1secのディレイルーチン以外は使用していない。ちなみに、クロックは20MHzである。
WR0 : ドータボードからの入力がb”000”の時に呼び出される。表示画面のクリアを行う。
WR1 : ドータボードからの入力がb”001”の時に呼び出される。テキスト表示を行う。(ポストヲサガシテイマス…)
WR2 : ドータボードからの入力がb”010”の時に呼び出される。テキスト表示を行う。(ポストハッケン!!)
WR3 : ドータボードからの入力がb”011”の時に呼び出される。テキスト表示を行う。(Post Get!!)
WR4 : ドータボードからの入力がb”100”の時に呼び出される。テキスト表示を行う。(ポストヲカクトクシマス…)
WR5 : ドータボードからの入力がb”101”の時に呼び出される。テキスト表示を行う。(Mission Complete!)
WR6 : ドータボードからの入力がb”110”の時に呼び出される。テキスト表示を行う。(セイタイホセイチュウ)
WR7 : ドータボードからの入力がb”111”の時に呼び出される。テキスト表示を行う。(MIRS0801 START)
関連文書 |
・ MIRS0801 エレクトロニクス詳細設計書(MIRS0801-ELEC-0001)
・ MIRS0801 VFD制御用基盤製造仕様書(MIRS0801-ELEC-0003)