78K0班(2005/08/15)LEDマトリクス

LED点滅ができたので、LEDマトリクスをつないで、ポート操作だけで動かしてみましたみました。LEDマトリクスは、秋月電子で販売されている32×16ドットLED マトリクス表示装置です。今日の時点では、品切れになっていますね。人気あるんだ。


78K0マイコンの基板には電源コネクタを取り付けることができ、しかもその電源をボード全体と外部に供給できるパターンが用意されています。コネクタを取り付けてLEDマトリクスとつなぎ、ごく簡単なプログラムで動かしてみたものが下図です。わかりにくいかもしれませんが、赤い部分が点灯しています。

なお本題からは外れますが、このLEDマトリクスに取り付ける電流設定抵抗R4, R5は、開発中は何が起こるかわからないので、全LEDを点灯しても問題がない値にするのが無難です。私が入手したときのキットには390Ωが入っていましたが、これでは誤って全LEDを点灯すると破壊するおそれがあります。設定値の考え方は、開発者である成松さんにより解説されています。私は、両方とも手元にあった2.2KΩを使っています。

マイコンのポート7を使って、LEDマトリクスと接続しています。bit0, 1, 2はそれぞれSIN1, 2, 3につながっています。bit3はCLOCK、bit4はLATCHです。STROBEはLow固定にしています。プログラムはこんなの。

void main()
{
        int     r, c;

        h_initial();

        P7 = 0x10;
        for (;;) {
                for (r = 0; r < 16; r++) {
                        for (c = 0; c < 16; c++) {
                                if (r == c) {
                                        P7.0 = 1;
                                } else {
                                        P7.0 = 0;
                                }
                                if (r < c) {
                                        P7.1 = 0;
                                        P7.2 = 0;
                                } else {
                                        P7.1 = 1;
                                        P7.2 = 1;
                                }
                                time_wait();
                                P7.3 = 1;
                                time_wait();
                                P7.3 = 0;
                                time_wait();
                        }
                        time_wait();
                        P7.4 = 0;
                        time_wait();
                        P7.4 = 1;
                        time_wait();
                }
        }
}

最初、CLOCKをポート6のbit3につないでいたのですが、どうにも動かず苦戦していました。ようやくポート6のbit0〜3はオープンドレインになっていて、プルアップしないとそのままでは使えないことが判明し、上のようにポート7につなぎました。


ついでに未来の自分に向けて忘れないように書いておくと、新しくワークスペースを作るときは、既存のをコピーせずに新たに作って、ソースコードをコピーすること。またワークスペースを新しく作ったときは、PMのメニューで、「ツール」「リンカオプションの設定」を選んで、下のダイアログで「オンチップ・ディバグ」と「サイズ」と「セキュリティID」をチェックすること。

このあたりは、ルネサスのHEWの方がかなり進んでいる(というより気配りが細かい)と思いました。


ホーム 特殊工作室 78K0班