獣医さんの電子工作とパソコン研究室 |
39.いまさらですが、トラ技付録基板 R8C/Tiny マイコン入門しました |
|
■ R8C/Tinyマイコン | |
|
眠っている付録基板たち |
|
←実験開始の様子 |
電源に5VのACアダプタを用意し、開発用のPCとの接続用に232Cケーブルを用意します。232CケーブルはCASIOのデジカメ用PCケーブルを少し改造して使用しました。接続部分はステレオ・ミニジャックです。そしてトラ技に出ているサンプルプログラムを動かせるようにいくつかの部品をつけて準備OKです。ブレッドボードで実験ができるので、簡単ですね。
プログラミングはトラ技付録CD-ROMに入っているR8Cマイコン開発ツールを使用しました。言語はわかりやすいC言語を選択します。この統合開発環境としてHEW4というもので、デバッグ専用の232Cポートを介して開発側のPCからプログラムをダウンロードしたり、ステップ動作で確認したりしながらプログラムを開発することができ、私のようなカット&トライでプログラム作りをする人間にとっては、とても便利な物でした。 |
■ 一つの物としての何かを作ってみる | |
最終目標として、PWM出力を利用したCVCC電源(定電圧、定電流電源)を計画しましたので、その前にプログラミングの練習も兼ねて、「タイマー&ストップウオッチ」なるものを考え、ブレッドボード上で組んでみました。LCDのディスプレイとロータリーエンコーダーも使って見たかったので、この「タイマー&ストップウォッチ」でも使用してみました。 |
|
プログラミングの勉強は、なんといっても他の方のプログラムをまねて見ることです。 ネットでいろいろ探しましたが、やはり産業用なのでしょうか、PICのように数多くの製作例はあまり見当たらず。トラ技の製作記事とルネサスのHPに出ているアプリケーションノートを参考にしました。 参考文献 1.トランジスタ技術 2005年4月号 特集:これならわかる!マイコン入門 2.トランジスタ技術 2005年5月号 R8C/Tinyマイコン徹底マスタ 3.トランジスタ技術 2005年7月号 R8C/15付録マイコン基板活用企画 第1回 リモコンON/OFFタイマ 4.ルネサス R8C/Tinyシリーズ アプリケーションノート 3分間タイマ |
|
いろいろな方のプログラミングを解析して利用していると、たいへん勉強になりますし、テクニック的なものも知見が拡がりますね。 |
■ 実験的プログラムを作成してみて気づいたこと | |
R8Cマイコン開発ツールについてはトラ技に簡単にしか書いてなくて、最初は戸惑いました。とりあえず、CD-ROMの中にある説明通りにインストールし、HEW4という開発環境でコンパイル〜実行ファイルの作成、ダウンロードまでできます。 HEW統合開発環境でのコンパイル〜リンク、ダウンロードまでの一連の操作は、どうもターゲットのH8C/Tinyにモニタプログラムをダウンロードしてソフト的に接続した状態で行なったほうが良いようです。 付録基板のI/Oポートですが、HEW統合開発環境のPCとの通信用に 13、14ピンが割り当てられているのですが、R8CのI/OポートP4_5とP3_5はこの通信用に割り当てられているため、スタンドアローンで動かす場合はI/Oポートとして入出力に使用しても大丈夫なのですが、PCと接続してHEWでプログラムをダウンロードしたりデバッグする時には、この2つのI/Oは使用できません。 |
接続ケーブルは |
スイッチのチャタリング除去について、アプリケーションノートの3分間タイマではtimerXを10msに設定して動作させておき、これを中心に全てのプログラムが働いているような形式になっていました。チャタリング除去もトラ技2005年5月号p148に出ている方法(10ms毎にサンプリングし、3回状態が安定した時点で入力を判定する方法)なのですが、この方法も試しましたがうまくないのです。 実際のプログラムではディレイを入れて、少したった安定した時点で判断する方法にしました。前者の方法は、タイマーなどの動作し続けているプログラムの場合には良いのかもしれません。 チャタリング?? 2種類の方法でチャタリングを除去しては見たのですが、プログラム動作スピードが速いせいなのか、1回のスイッチ押し下げのみで次のスイッチ入力判断まで飛び越してしまうようになってしまいました。 次のスイッチ入力判断の前にディレイを500ms入れることで解決はしましたが、タイマーなどの場合はこの時間は問題になりますね。 もう少し考えれば良いのでしょうがトレーニングですので安易にディレイを入れて解決しました。 液晶ディスプレイは、秋月で販売しているデカ文字 OPTREX PWB16230Aが手元にあったので使用しました。こちらのピン配置は一直線になっているので、ブレッドボードに直接差し込んで使用することが出来ます。ブレッドボードでの実験には最適ですね。また、LCDのコントロール部分は参考文献3のものをそのまま利用しました。BASICのLOCATE文のような関数も作成しましたが、使用しませんでした。 ロータリーエンコーダーは同じく秋月で売っているもので、以前PICで実験した時のCプログラムをそのままもってきて使ってみました。簡単でうまく動作します。 LCDへの表示方法も、今回は勉強になりました。 ブザー出力はtimer Zを使用して1KHzの発振をさせています。 |
■ タイマ&ストップウオッチ | |
一応、作成したプログラムを掲示します。 トレーニングのために作ったプログラムですので、参考程度にしてください。 また、今回はブレッドボード上でのテストのみとし、ケースに入れての実用品とはしませんでした。 |
|
タイマ&ストップウォッチ.c | |
■ 次の目標と使用感 |
とにかく、便利な開発環境でした。 まだ、付録基板が眠っている方は使ってみてください。 |
Last up date 2007/5/28 | |