ENGLISH page is here.
GET DinopSearchBar
サイト内検索:
HOME
VC++ TIPS
ダウンロード
DinopExifReader
DinopSearchBar
DinopSearchBar mini
DinopTabbingBar
for Firefox
大阪湾の生き物
甲子園浜の自然
甲子園浜の干潟
甲子園浜の水中
甲子園浜の野鳥
近畿の山々
植物図鑑
箕面マップ
水中機材
カメラ
ランキング
望遠鏡の世界
顕微鏡の世界
Googleのすべて
GoogleマップAPI
ニュース
読んだ本
日記
変な料理の作り方
遺伝子操作
論文紹介
デイトレード
自動売買でFX
ネットで小遣い稼ぎ
Solaris
電子工作
その他
問い合わせ
VC++用コード集
大阪湾の生き物
水中用機材
since:2000/11/15
dinopcom@gmail.com
www.dinop.comは
だいのっぷ・どっと・こむ
と読んでください。







« PSoCとGPSモジュールで経緯度を表示する | メイン | PSoCでタクトスイッチを利用する »

PSoCで16行4列の液晶利用時に表示位置がずれないようにする




psoc_lcd20x4_01.gif
今回はPSoC Designerで16行×4列のキャラクタ液晶モジュールを利用する設定方法について紹介する。PSoC Designerではデフォルトで20行×4列の設定になっていて、しかもGUIで設定できない。そのためこの方法を知らないと16行4列の液晶モジュールでは表示位置がずれてしまう。

psoc_lcd20x4_02.gif
デバイスエディターが開いたら「Misc Digital」の「LCD」をダブルクリックして選択する。

psoc_lcd20x4_03.gif
そして「Config」メニューの「Interconnect」を選択して画面を切り替える。

psoc_lcd20x4_04.gif
「LCD_1」の「LCDPort」を「Port_2」に設定したら「View」メニューの「Application Editor」でソースコードを書く画面に切り替える。

psoc_lcd20x4_05.gif
そして「main.c」の中にテスト表示のためのソースコードを書く。ここでは1~4行目の左端に「Line:1」のように表示する処理を書いた。

_DSC9044.JPG
これでPSoCに書き込み、ポート2に液晶モジュールを接続して電源を入れる。
すると「Line:1」と「Line:2」は左端に表示された。しかし「Line:2」と「Line:3」は左側に4文字分空白ができてしまった。

psoc_lcd20x4_06.gif
このように表示がずれてしまうのはPSoC Designerの生成するソースコードが20×4のキャラクタ液晶モジュールを対象にしているためだ。次に16×4のキャラクタ液晶モジュール用に変更する。

左側のツリーの「Library Souce」の「lcd_1.asm」を開く。そしてその中の174行目付近にある「LCD_ROW1_OFFSET」のような定数宣言部を開く。

psoc_lcd20x4_07.gif
このうち「LCD_ROW3_OFFSET」を「94h」から「90h」に、「LCD_ROW4_OFFSET」を「D4h」から「D0h」にする。

_DSC9045.JPG
これでPSoCへ書き込み動作確認をすると4行ともに意図した通り左端に表示された。

psoc_lcd20x4_08.gif
上の述べた作業を行えば16行4列の液晶モジュールでも位置がずれることなく表示できる。しかしプロジェクトを作るたびに編集する必要があり面倒だ。次にプロジェクト生成時から自動的に16行4列用になるように設定する。

自動生成されるソースコードのひな形は"C:\Program Files\ Cypress MicroSystems\ PSoC Designer\ Data\ Stdum\ LCD\ lcd.asm"にある。このファイルを開く。

psoc_lcd20x4_09.gif
そして先ほどと同様に「LCD_ROW3_OFFSET」を「94h」から「90h」に、「LCD_ROW4_OFFSET」を「D4h」から「D0h」にする。これで次回から自動的に16行4列用のソースコードが生成される。









Copyright (c) 1999-2007 issei. All rights reserved. (運営者情報