獣医さんの電子工作とパソコン研究室 |
39-3.Sunhayato SR8C15CPとRTC-8564NBの実験
|
|
■ SunhayatoのR8C/Tinyを使ってみました | |
トラ技付録基板での実験もなかなか楽しくなってきて、いろいろ製作のアイディアが出てきているのですが、またまた寄り道してサンハヤトから出ているR8C/TinyのDIP版(SR8C15CP)を購入して実験してみました。価格も手頃(800円くらいだったか?)で、千石電商で購入しました。 |
|
PCとの接続にはRS232Cコンバーターが必要なのですが、ケーブルの中に入っているタイプのものを作ってあったので、こちらを用いました。1本用意しておくと実験には便利だと思います。 28-2参照 |
|
■ なぜRTC-8564NBリアルタイムクロックモジュールを繋ぐ? | |
何もRTCを使わなくても、精度の高いクロックを与えてやればR8C/Tiny(SR8C15CP)単体で、簡単に時計を作ることは出来ますね。 たまたま、いろいろ計画している中で、液晶表示にI/Oポートを6つ取られてしまうとI/O不足になるので、I/O拡張の方法を検討していたのですが、トラ技2007/8にI2Cを使った拡張I/Oデバイスのことが書かれており、これを利用してみたいと思ったのですが、R8C/15にはI2Cの装備がありません。 そこで、I2Cの実験の目的で手元にあったRTC8564NB RTCモジュールを繋ぐプログラムを書いてみました。このモジュールは秋月電子で販売されていて、以前、PIC-BASICで使用するために購入したものです。プログラムはPIC-BASIC用のものをアレンジしてみました。結果、RTCモジュールは動作していますが、このルーチンで他のI2Cデバイスが動作するかはまだ実験していません。 |
■ 全体の回路図とプログラム | |
右図が全体の回路図です。RTCを使っているので、自己発振モードで使用してもいいのですが、HEW4でデバックのために20MHzのクロックで動作させなければならないので、20MHzのセラミック発振子を使っています。 最終的なプログラムはこちらです。 |
|
プログラムの内容はRTCからのデータを読み込んで表示することと、入力した日時をRTCに書き込む(SW2で決定、SW1で数値がカウントアップされます)だけのものです。簡単な作業ですが、随所に工夫をこらしてあります。実用品としてはアラーム機能などをつけるとか、数値入力部分の改良などが必要かと思います。 I2C関係のルーチンはPICBASIC.jp - 掲示板に投稿されていたものを参考にしました。しかし、RTC-8564NBの技術資料にあるとおり、そのままでは20MHzのクロックでディレイを入れなければ、タイミングが合いませんでした。 ポインタの使用もだんだんわかってきて、プログラミングが楽しくなってきました。 実際に動作するようになったのですが、最終的に1つ問題が残りました。 参考にさせていただいているC言語入門のサイト ★ 初心者のためのポイント学習C言語 ★ 組み込みのためのC言語 (ワンチップマイコンのソフト開発) ★ SAK Streets |
■ I/Oポートの拡張についての考察 | |
I/Oポートの拡張方法はいろいろあります(下図参照)、ロジックICを使えばプログラムも簡単に使えますが、入力、出力いずれかに限定されてしまいます。また、方法4のように専用のICを使えば、入出力の自由度も増します。 |
RTC-8564 RTCのプログラムを書いている時、ふと思ったのが、R8C/Tinyを2個使って、シリアルデータによって片方は表示専用または、表示と入出力専用にして使えばよいことに気がつきました。 今度実験してみたいと思います。 |
参考文献 トランジスタ技術 2005/5 特集 R8C/Tinyマイコン徹底マスタ エプソントヨコム RTC-8564NB 技術資料 Sunhayato SR8C15CP 技術資料 ルネサス テクノロジ - R8C-15 グループ 技術資料 |
|
New Release 2007/7/12 | |