(前回からの続きです)
それぞれの内蔵モジュールの設定ができると、下図のようになります。
IRQModule と KBI がグレーのままですが、このテスト・プログラムでは使わないのでそのままにしておきます。長かったような気もしますが、初期設定の内容が決まりましたので、ここで 【Generate code】 をクリックしてください。
自動生成された 「MCUInit.c」 が現れました。初期設定を行うプログラムがここに書かれているのですが、今は見る必要がないので、このソース・ファイルを閉じてください。
◆ メイン・プログラムの書き換えを行う
下図のように main.c が開いたので、これに手を加えていきましょう。
下図をよく見ながら、まったく同じになるよう書き込んでいきます。
unsigned char work; の行を忘れないように書いてください。あとは、コメントを読みながら間違えないようにしっかり書き写してください。なお、// から右はただのコメントなので、省略してもかまいません。また、スペースの空け具合というのは特に決まっているわけではないので、完全に同じでなくても大丈夫です。ただし全角スペースは使えません。半角スペースか水平タブを使ってください。
少し気になる方向けの解説
・ A-D変換は、連続して変換し続けるという設定もありますが、複数のA-D入力ピンを使いたい場合には応用しにくいので、丁寧に1回1回変換するようにしました。
・ タイマCH1 のフラグが立ったことを確認してから次の PWMデューティの設定をしています。TSC1_CH1F は本来は割り込みで使うために用意されたフラグですが、割り込みを使わないときでも利用できます。今回は割り込みはまったく使っていません。
・ 最後のデューティ設定のところで TCH1 というレジスタ名が出ていますが、これは 16bit レジスタであり、TCH1 = work; では暗黙の型変換が行われています。
プログラムの書き換えが済んだら 【Make】 アイコンをクリックしてコンパイルとリンクを行います。それから HC08スターター・ボードを接続して 【Debug】 アイコンをクリックし、フラッシュの書き込みを行います。詳しい手順は 第7回の 「◆ プログラムをMakeする」 、および 「◆ フラッシュの書き込みを行う」 とまったく同じですので、そちらを参照してください。
◆ フラッシュ書き換え後の動作確認
書き込みがうまくできたか確認してみましょう。HC08スターター・ボードの ICソケットからマイコンを外さずに、ジャンパ・リンクを次のように差し替えてください。
JP1 のジャンパ・リンクはショートさせる。JP2 はジャンパ・リンクなし。JP3 は 1-2間をショート。JP4 は 1-2間をショート。パソコンと接続しているシリアル・ケーブルは付けたままでも外してもどちらでもかまいません(HC08スターター・ボード・キット Ver.2 の場合は、JP5 から JP8 はすべてショート)。
セッティングを変更したら、HC08スターター・ボードの電源スイッチをオンしてください。POWER を示す LED が点灯していますね。今の時点では VR1 を左に回しきっているでしょうから、LED (D4) が暗く光っているはずです。ドライバを使って VR1 を回してみてください。プラス・ドライバよりもマイナス・ドライバの方が使いやすいです。
さて、右に回すと LED(D4) が明るく、左に回すと暗くなったでしょうか? PUSH SW を押しながら同じように VR1 を回すと、今度は右に回したときに暗く、左に回したときに明るく光るはずです。
ADC と PWM の実験はいかがだったでしょうか。 「なんだかよくわからないけど光った」 という方がほとんどだと思いますが、まだ中身の説明をしていないので、それで普通と思っていただいて結構です。ほかのマイコンの経験があって勘の良い方なら、Device Initialization の使い方が少し理解できたのではないでしょうか。ある程度マイコンのレジスタというものについて知識を得てからまた Device Initialization を使うと、その便利さが実感できると思います。
ここまでで一応 「開発環境を整えてテスト・プログラムを動かしてみる」 という段階が終了しました。 Device Initialization という便利な機能があっても、結局は中身を少し知らないことには何を設定してよいのかわからない、ということも理解できたと思います。次回からは、まじめに中身の勉強をしていくことにしましょう。もちろん、楽しい(?)実験を交えながら進めていきます。
HC08スターター・ボードの応用については、筆者のホームページにも参考になる記事が掲載されています。「ソフトウェアによるシリアル通信プログラム」 など、興味を持っていただけるのではないでしょうか。
一言メモ
VR1 を回す実験をした後でデフォルトの設定に戻すときには、ジャンパの差し替えだけでなく VR1 を左に回すことを忘れないようにしましょう。
『参考文献』
「試しながら学ぶHC08マイコン入門」 (CQ出版)
第10章 統合開発環境 CodeWarrior を使ってみる
Appendix D フリースケールの8ビットマイコンと開発ツール
筆者のホームページ 『マイコン工作の実験室』
組み込みエンジニア 川野亮輔
