MIRS2008 VFD制御用アセンブラ製造仕様書

MIRS0801-ELEC-0004

 

 版数

最終更新日

作成

承認

改訂記事

A01

2008/2/24

長澤

和泉

初版

 


目次

1.         本ドキュメントについて

2.         目的

3.         VFDの制御方法

4.         プログラム解説


1.     本ドキュメントについて

本ドキュメントは、蛍光表示ディスプレイの制御に用いるアセンブラの概要を記したものである。

 

2.     目的

蛍光表示ディスプレイ(VFD)7種類の文字列を出力する事を目的とする。                        ※詳細はMIRS0801 エレクトロニクス詳細設計書(MIRS0801-ELEC-0001)を参照

 

3.     VFDの制御方法

VFDモジュールに168bitのデータを連続で送ることによって制御をする。

今回使用した主なコードを以下に示す。

 

名称

コード

機能

キャラクタ表示

00hffh

カーソル位置にキャラクタを表示

バックスペース

08h

カーソル位置を1文字分左に移動

表示画面クリア

0Ch

表示画面をクリアする

国際文字指定

1Bh 51h 08h

国際文字日本語セット

横スクロールモード

1Fh 03h

表示モードを横スクロールモードにする

表示光度指定

1Fh 57h n

nで光度の値を指定

 

ここに示したコードは一部であり、全部で100以上のコードが存在する。

 

4.     プログラム解説

ソースコードを示す。

MIRS0801.asm

 

        PIC16F877各ポートの初期設定

PORTA : 使用しない。

PORTB : ドータボードからの入力に使用するので、全て入力にしておく。

PORTC : 使用しない。

PORTD : VFDへのデータ出力に使用。全て出力としておく。

PORTE : PORTE0WR信号として使用するので出力に、PORTE1PBUSYフラグに使用するので入力に、PORTE3RD信号として使用するので出力に設定する。

 

        メインルーチン

サブルーチンの呼び出しのみを行っている。詳細な動作はサブルーチンで行う。

 

        VFDの初期設定を行うサブルーチン

CLR : 画面のクリア。VFDに、コード“0Ch”を送る。

HOME : 書き込み位置をホームポジションに戻す。サブルーチンとして用意したが、実際には呼び出していない。

KATAKANA : キャラクタコードの指定。このサブルーチンを呼び出すと、VFDに半角カタカナの表示が可能となる。

X2Y2 : キャラクタの拡大。標準では1×1であり、このサブルーチンを呼び出すことによって、表示するキャラクタを縦横2倍に拡大する。

JAPAN : 国際文字を日本語に設定する。

FLASH : 光度の指定。今回は電源である9V 電池の消費を抑えるために、光度を10段階中の2に設定している。

SCROLL : スクロールを横スクロールに設定。表示する文字列がVFDの表示領域を超えた場合、自動的に横スクロールするようになる。

SPEED : 横スクロールのスピードを設定する。今回、スクロールスピードは4msec/ドットとする。

 

        その他のサブルーチン

NGS1NGS3 : 5秒、4秒、3秒のディレイルーチン。1秒ディレイルーチンを数回呼び出している。

SWITCH : 条件判断ルーチン。ドータボードからの3bitの入力を判別する。

WRVFD : VFDモジュールにデータを書き込む為に必要なサブルーチン。PBUSYフラグを検出し、PBUSY=0ならPORTDからデータを出力する。WR信号を1クロック立ち上げ、VFDモジュールへの

                  書き込みを行う。WR信号は負論理であることに注意する。VFDにデータを送る度にこのサブルーチンを呼び出す必要がある。

T02mST1S : ディレイルーチン。0.2msec4msec50msec0.5sec1secのディレイルーチンを作成したが、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