SH-TINY その4 秋月のグラフィック液晶で漢字を表示
今回は、秋月のグラフィック液晶(122x32 ドット)を使い、さらにリアルタイム OS の HOS-V4 を使って漢字を表示する方法を示す。
左の写真は、16x16 の東雲フォントを使って表示した例だ。
(クリックすると画像が拡大する)
難しい漢字も表示できているが、半角で15文字x2行、全角で7文字x2行と少ししか表示できないのが難点だ。
左の写真は、12x12 の東雲フォントを使って表示した例だ。
(クリックすると画像が拡大する)
少し字が小さくなっている。
文字数は、半角で20文字x2行、全角で10文字x2行だ。
(クリックすると画像が拡大する)
かなり、字が小さく、複雑な文字は判別が困難だ。
文字数は、半角で30文字x4行、全角で15文字x4行だ。
左の写真は、8x8 の恵梨沙フォントを使って表示している。ただし、半角文字は、美咲フォントを使っている。
(クリックすると画像が拡大する)
かなり、字が小さく、複雑な文字は判別が困難だ。
文字数は、半角で30文字x4行、全角で15文字x4行だ。
回路図は、下記の通りである。
このグラフィック液晶は、2kHz のクロックが必要なのだが、このクロックは、SH-TINY のタイマー機能を使って作っている。
フォントのダウンロード
フォントは、X Window 用のビットマップフォントで、フリーでダウンロードできるものを使用している。
フリーと言っても、ライセンスの問題もあり、フォントの転載は難しいので、直接下記のリンクからダウンロードしてもらいたい。
東雲 ビットマップフォントファミリー から shinonome-0.9.11p1.tar.bz2 をダウンロード
美咲フォント から mskbdb10.tar.gz をダウンロード
恵梨沙フォントファミリー から elisau10.tgz をダウンロード
$ cd ~/hos-v4
$ mkdir fonts
$ cd fonts
$ tar jxvf shinonome-0.9.11p1.tar.bz2
$ mkdir misaki
$ cd misaki
$ tar zxvf mskbdb10.tar.gz
$ cd ..
$ mkdir elisau10
$ cd elisau10
$ tar zxvf elisau10.tgz
プログラム
sh7125glcd.tgzをダウンロード
$ cd ~/hos-v4/sample/
$ tar zxvf sh7125glcd.tgz
$ cd sh7125glcd/
$ make -f make -f gcc.mak
プログラムを見たら判ると思うが、ruby で、出力する文字列から、必要な漢字フォントのデータを配列化して ROM に書き込むようにしている。このため、ruby のインストールが必須である。
できた sampleRom.mot を SH-TINY ボードに書き込むと、グラフィック液晶に漢字文字列を表示しつつ、「いわゆる哲学者の食事の問題」を実行する。
今回の方法では、漢字フォントの内、必要なデータだけを切り出して、SH-TINY の ROM に書き込んでいる。プログラムが予め表示すべき文字列を用意している場合は、この方法で十分だろう。
SH-TINY の ROM は、128K バイトなので、16x16 や 12x12 ドットの漢字のデータを全て書き込む事はできない。しかし、8x8 ドットの漢字フォントなら、JIS 第2水準まで全て含めても 53Kバイトで収まる。あらゆる漢字を表示する必要がある場合、漢字フォントを ROM に書き込む方法もあり得る。
The comments to this entry are closed.
Comments