2004/07/10(土)8048マイコンを使った単音オルゴール
2004/06/27(日)DM2020 uPD7228 LCD DISPLAY
upd7228

2月に、古いLCD(DM2020)を使った時計の事について書きました。その時は、何度やっても表示が上手くいかず、これはLCDが壊れていると結論付けましたが、「ヤマカン」さんから8分割モードではなく16分割モードで使うであろうというアドバイスを頂きました。そこで、再度挑戦してみた。
久しぶりにというか、やっぱりというか、何度も、テストプログラムを書いては、信号を送り、よく判らないuPD7228のデータシートと格闘する事やく半日。ごらんの通り、無事、20桁を綺麗に表示させることに成功しました。
要点は、
左側uPD7228を16分割SYNC出力、右側uPD7228を16分割SYNC入力と設定すること。
左側から上位アドレスが始まる
LCDの上8ドットがバンク1、下4ドットがバンク0であることです。LCDに写真のような簡単な表示をさせるだけでも一苦労。でも、ここまでくれば、あとは応用しだいですね。
uPD7228 キャラクターセット

lcd.lst
2004/02/19(木)8048と古いLCDディスプレイ(DM2020)との格闘

8748のテストランもそろそろ終盤。約15年前に多分秋月電子だと思うが古いLCDディスプレイが見つかったので、これと悪戦苦闘していた。
一緒に見つかったのはLCDドライバNECのuPD7228のマニュアルとLCDディスプレイ基板から伸びている14本のピンコネクションだけだ。
こんな時、PICやAVRみたいにリアルタイムにプログラムが書き込めたらと痛感。やはり古いチップで開発するにはそれなりに根性がいる。2本しかない8748をイレーサーで消しながら、LCDディスプレイにタイミングを送っては表示を確認するを20回ほど繰り返した。
どうやら20桁x1行の製品のようだが、裏にはuPD7228が2つ載っている。スペックを確認するとuPD7228単体では8x50ドット(8分割モード)又は16x42(16分割モード)ドットを駆動できるらしい。が、LCDは5x12が20桁分となっている。
悪戦苦闘の結果、8分割モードで左10桁、右10桁を駆動しているらしいという事までは実験の結果から判った。でも、右10桁はドット落ちしていて、満足に表示できない。その上、写真からも判るように1桁12ドットのうち、下4桁が上4桁のドットパターンを表示してしまう。
もう、思いつく限りの組み合わせを行ったが力尽きる。という訳で、とりあえず、積算カウンターを作ってみた。現在3分2秒後の写真。幾つかスイッチを付けて時計に仕上げたいなぁ
21日追記:
丸一日動かしてみると、24時間で約30秒ほど時間が進んでいる事が判明。使っている水晶がキッチリ6MHzでは無いのだろうと推測。では、どの位かを計算すると、一日は86400秒、それが30秒多い86430となる。
つまり 86430/86400*6MHz=6.002083MHz, 誤差0.035%である。これは無調整にしては上等。これを平均的な時計の様に1ヶ月で誤差15秒とするならば、
86430*30 / 86430*30+15 * 6MHz, 誤差0.00058%の精度が必要。つまり6MHzの水晶に6,000,034.7Hzの精度が必要となる。これは無理だ。水晶発振モジュールに頼った方が良さそうだ。
lcdclock.lst
この古いLCDディスプレイ(DM202)のピン配置(欲しいという方へ)

2004/02/15(日)8048系ワンチップマイクロコンピュータ活用ノート
久しぶりにマイライブラリーが増えました
1989年5月発行、室橋 仁著
8048系ワンチップマイクロコンピュータ活用ノートが到着。
なぜかamazonで見つけて衝動的に購入。サンプルのソースが沢山載っていて素晴らしい。ネットで購入する書籍はハズレが多いけれど、今回はどうやら当たりだったようだ。Z80物も大分入手困難になってきたけれど、8048本が未だ売っている事は素晴らしい。ちなみに、8048とはその昔、Intel初の8Bitワンチップマイコンとして1976年に発表したMCS-48シリーズの1つ。8048はマスクROM品だが、8748というEP-ROM版が割と安く出回っていた事と、私の手元に死蔵品が幾つかある為、悪戯半分に工作で使っている。
そういえば、8051系はAtmelが未だ現行品として出荷している様子。フラッシュROMなので8751より便利でその上C-MOS。8051系の良書は無いかなぁ。