角森さんこんにちは。恩田です。
> 私もver3.2にアップグレードしました。
>
> > まず、LCDはトラ技12月号通りの回路と、仕様書に沿ってソースファイルLCDを変更すると
>
> トラ技12月号の回路で、SC1602B(16文字x2行:秋月で購入)を次のように接続し、
>
> SC1602B AKI3069F
> 1 (5V) - (5V) CN2/2
> 2 (GND) - (GND) CN2/1
> 4 (RS) - (PB6) CN1/39
> 5 (R/W) - (GND)
> 6 (E) - (PB5) CN1/38
> 11 (DB4) - (PB0) CN1/33
> 12 (DB5) - (PB1) CN1/34
> 13 (DB6) - (PB2) CN1/35
> 14 (DB7) - (PB3) CN1/36
そう言えばトラ技の回路図にはコントラスト調整用ボリュームが抜けてましたので、
3番のVoにコントラスト調整用ボリュームをつける必要があります。これがないと、
プログラムが正しくても表示されないと思います。
接続法は、10〜30KΩくらいのボリュームの両端をGNDと5Vに接続し、
中点?(というのかな)をVoにつなげます。
> ソースファイルを次のように変更しましたが、すんなり点かないのです。
>
> #include <h8/reg3067.h>
> #include <h8/syscall.h>
>
> int main() {
> unsigned char lcdport[] = {0x40, 0x80, 0x20, 0x08, 0x04, 0x02, 0x01};
>
> PBDDR = 0x6f;
> lcd_setup( 2, 16, &PBDR, lcdport);
> lcd_clear();
> write_mode(LCD);
> write_string("Get you!\n");
> }
>
> lcdportが間違っているのでしょうか。
問題ないと思いますが、私のほうで動作確認できたプログラムをつけておきます。
#include "../reg3067.h"
#include "../syscall.h"
int main() {
unsigned char lcdport[] = {0x40, 0x80, 0x20, 0x08, 0x04, 0x02, 0x01};
PBDDR = 0xff;
lcd_setup(2, 16, &PBDR, lcdport);
lcd_clear();
write_mode(LCD);
write_string("CPU H8/3068F\n");
write_string("H8/OS is ready");
}
-----------------------------
恩田紀雄
n.onda@xxxxxxxxxxxxxxxxxxx