只今のアクセス件数:

(別室)M16C/R8Cで遊ぼう

 ※このページは個人的な趣味によって書かれており、著者は全ての内容について、いかなる責任も負いません。
  参考にされる場合は、自己責任でお願いします。

 このページは、ルネサンステクノロジー社のM16C/R8Cを使った簡単なプログラムを紹介しています。




 ●重要なお知らせ●

  1.Windows10の対応

    FDTが、最新バージョン(FDT V.4.09 Release 03)以降よりWindows10に対応するようになりました。
    十分な検証をしているわけではありませんが、私のWindows10パソコンでは、HEWで開発し、FDTでR8Cに書き込むという
    一連の操作が問題なく行えました。

  2.ADM3202のコンデンサの接続について

    このHPのADM3202を使った回路図では、ADM3202の2ピンにつながっている0.1μFのコンデンサをGndにつないで
    実験していますが(図a)、ADM3202のデータシートでは、このコンデンサはVccにつなぐようになっています(図b)。
    実験では、このようなつなぎ方でもICのチャージポンプは正常に動作していますが、データシートでは(図b)のように記述され
    ているので、データシートの通りに(図b)のようにしたほうがいいと思います。

 





 ●M16C/R8Cについて

     ルネサステクノロジ社 は、日立製作所、及び三菱電機によって2003年4月1日に設立された、世界有数のシェアを
    持つ半導体会社です。
    M16CグループのR8C/Tinyマイコンは、そのルネサステクノロジ社の中では最も小さい16ビットのCPUです。

    基本的にはRS232レベルコンバータICを通してパソコンにつなぐだけでも開発ができるマイコンなのですが、
    秋月電子で販売されているR8Cマイコンは、ルネサステクノロジ社共通の書き込みツール(FDT)を使用した場合、
    書き込みにルネサステクノロジー社のE8aエミュレータが必要になる事があります。

    ルネサステクノロジ社では、M16C/R8Cの専用ツールとして、他に「M16C Flash Starter」を提供していて、
    こちらを使えば、特に書き込みツールを用意しなくても、RS232CでパソコンにつなぐだけでR8Cマイコンの開発は可能です。
    このHPでは、特別な書き込みツールは用意せず、「M16C Flash Starter」を使った開発事例を紹介しています。

    ※秋月電子でのR8Cマイコンの取り扱い(参考)  ※H23年2月現在(参考)

                                            Rom/Ram/EEP
      ・R8C/24マイコン R5F21246SNFP(52ピンQFP型)   32K/2K/       400円
      ・R8C/25マイコン R5F21256SNFP(52ピンQFP型)   32K/2K/2K     450円
      ・R8C/26マイコン R5F21262SNFP(32ピンQFP型)   8K/512/        350円
      ・R8C/26マイコン R5F21266SNFP(32ピンQFP型)   32K/1.5K       400円
      ・R8C/27マイコン R5F21276SNFP(32ピンQFP型)   32K/1.5K/2K     430円
      ・R8C/29マイコン R5F21294SNSP(20ピンSSOP)   16K/1K/2K      300円
      ・R8C/2Aマイコン R5F212AASNFP(64ピンQFP型)   96K/7K/        500円
      ・R8C/2Bマイコン R5F212BASNFP(64ピンQFP型)   96K/7K/2K      550円
      ・R8C/2Dマイコン R5F212DCSNFP(80ピンQFP型)   128K/7.5K/2K    650円
      ・R8C/38マイコン R5F2138ACNFP(80ピンLFP型)    96K/8K/4K     450円
      ・R8C/M12Aマイコン M120AN(20ピンDIP型)       2K/256/2K      100円
      ・R8C/M11Aマイコン M110AN(14ピンDIP型)       2K/256/2K      100円
 

M16Cグループの種類  ※ルネサステクノロジ社の資料より抜粋


 ●M16C/R8Cの開発環境について

 
   1.ルネサステクノロジー社の提供する開発環境 

   (1)High-performance Embedded Workshop(コンパイラパッケージ)

     ・ルネサステクノロジー社マイコン共通の開発ツール
     ・無償評価版がルネサステクノロジーのHPより無償でダウンロードできます
      (評価版は、インストール後60日後からは、開発できるアプリケーションサイズに64Kバイトの制限ができます。


   (2)Flash Development Toolkit(書き込みツール)

     ・ルネサステクノロジー社マイコン共通の書き込みツール
     ・無償評価版がルネサステクノロジーのHPより無償でダウンロードできる
      (製品版と比較して制限はありませんが、サポートは一切受けられません)
      但し、この書き込みツールでR8Cマイコンに書き込みを行う場合には、E8aエミュレータが必要になる場合が
      あります。(E8aエミュレータは、1万円程度で購入できます。)

   (3)M16C Flash Starter(書き込みツール)

     ・RS232Cブートモードから直接書き込みができるM16Cマイコン専用の書き込みツール。
      ルネサステクノロジーのHPより無償でダウンロードできます。


M16C Flash Starterの使用例
IDは、デフォルトでは、「FF、FF、、、FF」となっていますが、プログラム中で変更する事も出来ます。
ただし、変更した場合、変更したIDを忘れてしまうとプログラムの書き込みが出来なくなってしまいます。



   (4)マニュアル

     ・日本語のマニュアルが、ルネサステクノロジーのHPより無償でダウンロードできます







R8C/29マイコン(R5F21294SNSP)を使ってみる



写真


ルネサステクノロジ社のマニュアルより抜粋






  ●実験ボード タイプ1(R5F21294SNSP)


      R5F21294SNSPを使った簡単な実験ボードを作ってみました。

実験ボードのイメージ(表/裏) / 回路図
このマイコンの形状は20ピンLSSOP(0.65mmピッチ)とこのままでは使いづらいので、
秋月電子の変換基板SSOP28ピン(0.65mm)を購入し、上半分(20ピン)を使用しています。
回路図中のADM3202は、プログラムの書き込みと、UARTの兼用で使用します。

     1.基本プログラム編

       (1)ルーレットアダプタをつないでみる

           ルーレットが回転する簡単なプログラムを作ってみました。

           プログラムソース@は、ルーレットがまわるだけです。
         
           プログラムソースAは、タイマー(RA)を使って1[mS]で割り込みをかけて、1000回処理毎(1秒毎)に、ルーレットが
           まわるようにしたものです。
           このマイコンは、割り込み処理毎に、処理を行うかどうかの優先レベルが設定できるようになっていて、
           システムのIPL(0〜7) < 処理毎の優先レベル(0〜7)の時に割り込みが発生しますが、
           このサンプルでは、IPL:2、タイマー(RA)割り込みの優先レベル:7に設定してあります。
           また、割り込み処理を行うためには、HEWの画面上で、「sect30.inc」の中の「__R8C__」の定義の「variable vector section」に、
           下記の図のような割り込み関数の定義の追加が必要です。

           プログラムソースBは、タイマーRAを使って、1秒毎にルーレットがまわるようにしたものです。

写真 / 回路図

プログラムソースAを使用する場合は、HEWの画面上で、HEWが自動的に作成する「sect30.inc」の中の「__R8C__」の定義の
「variable vector section」に、割り込み関数の定義の追加が必要になります。(「Vecter 22(タイマーRA)」の定義を、図の赤枠の
ように変更します。)                                                                     .

test1.c

プログラムソース@(HEW用 R5F21294SNSP用 C言語) バージョン

test2.c

プログラムソースA(HEW用 R5F21294SNSP用 C言語) バージョン

test3.c

プログラムソースB(HEW用 R5F21294SNSP用 C言語) バージョン



       (2)UARTを使ってみる

           パソコンのハイパーターミナルにつないでエコーバックするプログラムを作ってみました。
           パソコンとの接続は、プログラムの書き込みに使っているシリアルポートと共通にしてあります(追加の回路は不要です)。 
 

写真 / ハイパーターミナルのイメージ / 回路図

ハイパーターミナルの設定

test1.c

プログラムソース@(HEW用 R5F21294SNSP用 C言語) バージョン



       (3)電圧計(0〜5V)にしてみる

           10ビットA/Dコンバータを使って電圧計(0〜5000[mV])にしてみました。
           パソコンとつないで、測定結果をハイパーターミナルに出力します。 
           入力に何の保護回路もつけていないので、入力が電源電圧を越えたり、マイナス電圧以下になったりすると
           マイコンが壊れる可能性があるので、入力電圧には注意が必要です。
 

写真 / ハイパーターミナルのイメージ / 回路図

ハイパーターミナルの設定

test1.c

プログラムソース@(HEW用 R5F21294SNSP用 C言語) バージョン



       (4)周波数カウンタにしてみる

           周波数カウンタにしてみました。
           上記の電圧計の回路をそのまま使用しています。
           割り込みのサンプルとして作ったもので、このままでは精度が低く、実用的なレベルのものではないのですが、
           精度を高くするなら、最低でもOSCは水晶を使用し、プログラムも処理速度を高くする等の工夫が必要です。
           また、割り込みを使っているので、HEWの画面から、「sect30.inc」の修正が必要です。(下記の図を参照)
            
           上記の電圧計同様、入力に何の保護回路もつけていないので、入力が電源電圧を越えたり、マイナス電圧以下に
           なったりするとマイコンが壊れる可能性があるので、入力電圧には注意が必要です。
 

写真 / ハイパーターミナルのイメージ / 回路図
ファンクションジェネレータで50Hzのパルスを入力してみました。

ハイパーターミナルの設定

HEWの画面上で、HEWが自動的に作成する「sect30.inc」の中の「__R8C__」の定義の「variable vector section」に、
割り込み関数の定義の追加が必要になります。(「Vecter 22(タイマーRA)」の定義を、図の赤枠のように変更します。)

test1.c

プログラムソース@(HEW用 R5F21294SNSP用 C言語) バージョン







R8C/27マイコン(R5F21276SNFP)を使ってみる



写真


ルネサステクノロジ社のマニュアルより抜粋






  ●実験ボード タイプ1(R5F21276SNFP)


      R5F21276SNFPを使った簡単な実験ボードを作ってみました。

実験ボードのイメージ(表/裏) / 回路図
このマイコンの形状は32ピンQFP(0.8mmピッチ)なので、秋月電子の変換基板を使用しています。 
ICソケットは、適当な幅のものが手元に無かったので、40ピンソケットの上32ピン部分を使用しました。
回路図中のADM3202は、プログラムの書き込みと、UARTの兼用で使用しています。


     1.基本プログラム編

       (1)ルーレットアダプタをつないでみる

           P0ポートに8個のLEDをつなぎ、ルーレットが回転する簡単なプログラムを作ってみました。
           簡単なプログラムですが、Pd0(ポートP0方向レジスタ)は、PRCRレジスタのPRC2ビットを“1”(Pd0レジスタの書き込み許可)に
           しないと書き込み出来ないので注意が必要です。

           プログラムソース@は、ルーレットがまわるものです。

           プログラムソースAは、タイマー(RA)を使って1[mS]で割り込みをかけて、1000回処理毎(1秒毎)に、ルーレットが
           まわるようにしたものです。
           このマイコンは、割り込み処理毎に、処理を行うかどうかの優先レベルが設定できるようになっていて、
           システムのIPL(0〜7) < 処理毎の優先レベル(0〜7)の時に割り込みが発生しますが、
           このサンプルでは、IPL:2、タイマー(RA)割り込みの優先レベル:7に設定してあります。
           また、割り込み処理を行うためには、HEWの画面上で、「sect30.inc」の中の「__R8C__」の定義の「variable vector section」に、
           下記の図のような割り込み関数の定義の追加が必要です。
 
           プログラムソースBは、タイマー(RA)を使って、1秒毎にルーレットがまわるようにしたものです。        

写真 / 回路図
  

プログラムソースAを使用する場合は、HEWの画面上で、HEWが自動的に作成する「sect30.inc」の中の「__R8C__」の定義の
「variable vector section」に、割り込み関数の定義の追加が必要になります。(「Vecter 22(タイマーRA)」の定義を、図の赤枠の
ように変更します。)                                                                  .

test1.c

プログラムソース@(HEW用 R5F21276SNFP用 C言語) バージョン

test2.c

プログラムソースA(HEW用 R5F21276SNFP用 C言語) バージョン

test3.c

プログラムソースB(HEW用 R5F21276SNFP用 C言語) バージョン


       (2)UARTを使ってみる

           パソコンのハイパーターミナルにつないでエコーバックするプログラムを作ってみました。
           パソコンとの接続は、プログラムの書き込みに使っているシリアルポートと共通にしてあります(追加の回路は不要です)。 
 

写真 / ハイパーターミナルのイメージ / 回路図

ハイパーターミナルの設定

test1.c

プログラムソース@(HEW用 R5F21276SNFP用 C言語) バージョン



       (3)電圧計(0〜5V)にしてみる

           10ビットA/Dコンバータを使って電圧計(0〜5000[mV])にしてみました。
           パソコンとつないで、測定結果をハイパーターミナルに出力します。 
           このマイコンのVREF(20ピン)はP4_2と共通になっていますが、A/Dコンバータを使用する場合は、基準電圧(このサンプルではVCC)
           につないでおかないと正常に動作しません。(このピンは入力専用なので、P4_2の機能を使わないなら、VCCにつないでおいても問題は
           ありません)
           また、入力に何の保護回路もつけていないので、入力が電源電圧を越えたり、マイナス電圧以下になったりすると
           マイコンが壊れる可能性があるので、入力電圧には注意が必要です。
 

写真 / ハイパーターミナルのイメージ / 回路図
このサンプルでは、VREF(20ピン)をVccにつないでおかないと正常に動作しません。

ハイパーターミナルの設定

test1.c

プログラムソース@(HEW用 R5F21276SNFP用 C言語) バージョン











R8C/M11Aマイコン、R8C/M12Aマイコンを使ってみる



写真


ピン配置図 ルネサステクノロジ社のマニュアルより抜粋






  ●実験ボード タイプ1 R8C/M12A(R5F2M120AN)



      R8C/M12Aを使った実験ボードを作ってみました。
      回路図中のADM3202は、「M16C Flash Starter」によるプログラムの書き込みに使用します。
      このマイコンの「標準シリアル入出力モード2」でのプログラムの書き込み端子は、TXD:P1_4RXD:P1_6となるので、
      注意が必要です。

      この実験ボードでは、P1_0〜P1_7をパラレルポートとしていますが、P1_6は上記のRXDと共通端子となり、プログラム書き込み用の
      ADM3202をつないだまま、この端子を出力にしてプログラムを動かしたりすると、M12Aや、ADM3202を痛める可能性があります。
      抵抗は入っていますが、なるべくなら、P1_6は出力にしないほうが、この実験ボードの回路ではいいと思います。


写真/回路図

     1.基本プログラム編

       (1)LEDを点灯させてみる

           LEDが回転する簡単なプログラムを作ってみました。
           プログラムの書き込みと重複しているP1_6端子を出力にして使っているので、このプログラムを動かす時は、  
           プログラム書き込み用の端子には何もつながないほうが無難です。
           (抵抗が入っているので、壊れたりはしないと思いますが)
           
           サンプル@は、マイコンの稼動確認のために作ったもので、単にLEDが回転するだけです。
           クロックは、デフォルトの「低速オンチップオシレータ(約125 kHz) ※実測すると140KHz近くになっていました」
           を使用しています。
           
           サンプルAは、サンプル@を「高速オンチップオシレータ(約20MHz) ※実測すると20.04MHz程度でした」
           で動かしているもので、クロックが160倍高速になっているので、Waitのループ回数を大きくしてあります。

 
           サンプルBは、タイマー(RJ2)を使って、1秒毎にルーレットがまわるようにしたものです。        


写真/回路図

sample1.c

プログラムソース サンプル@(HEW用 R5F2M120AN用 C言語) バージョン

sample2.c

プログラムソース サンプルA(HEW用 R5F2M120AN用 C言語) バージョン

sample3.c

プログラムソース サンプルB(HEW用 R5F2M120AN用 C言語) バージョン



       (2)UARTを使ってみる

           UARTを使ったエコープログラムを作ってみました。


写真/回路図


ハイパーターミナルのイメージ

ハイパーターミナルの設定

sample1.c

プログラムソース サンプル@(HEW用 R5F2M120AN用 C言語) バージョン



       (3)電圧計(0〜5V)にしてみる

           A/D Conveterを使って、電圧計にしてみました。
           パソコンとつないで、測定結果をハイパーターミナルに出力します。 
           ハイパーターミナルの設定は、上記、「(2)UARTを使ってみる」と同じにしてあります。
           入力に何の保護回路もつけていないので、入力が電源電圧を越えたり、マイナス電圧以下になったりすると
           マイコンが壊れる可能性があるので、入力電圧には注意が必要です。


写真/回路図


ハイパーターミナルのイメージ ※0V〜5Vの電圧をかけた時

sample1.c

プログラムソース サンプル@(HEW用 R5F2M120AN用 C言語) バージョン



       (4)PWM出力してみる

           タイマRCのPWMモードを使って、3相のPWM出力をするサンプルプログラムを作ってみました。           
           デューティサイクル(0〜100%)は、TRCIOB、TRCIOC、TRCIODの各出力に対応するレジスタ TRCGRB、TRCGRC、
           TRCGRDに、0000h〜FFFEhの数値を代入する事で設定されます。
           発振周期は、このサンプルでは300Hz程度(20MHz/FFFFh)にしてあります。


写真/回路図


周波数カウンタによる出力測定イメージ(300Hz程度)
/オシロスコープによる測定イメージ(TRCGRB:2000h、TRCGRC:7FFFh、TRCGRD:CFFFhを設定した場合)


ロジックアナライザーによる出力測定イメージ

sample1.c

プログラムソース サンプル@(HEW用 R5F2M120AN用 C言語) バージョン



       (5)コンパレータモジュールを使ってみる

           













  ●実験ボード タイプ1 R8C/M11A(R5F2M110AN)



      R8C/M12A同様、R8C/M11Aでも実験ボードを作ってみました。
      回路図中のADM3202は、「M16C Flash Starter」によるプログラムの書き込みに使用します。
      このマイコンの「標準シリアル入出力モード2」でのプログラムの書き込み端子は、TXD:P1_4RXD:P1_6となります。


写真/回路図

     1.基本プログラム編

       (1)LEDを点灯させてみる

           LEDが回転する簡単なプログラムを作ってみました。
           プログラムは、R8C/M12Aのサンプルとほとんど同じものです。(ポートが違うので、ポート関係の設定のみが異なります。)  
           

           サンプル@は、「低速オンチップオシレータ(約125 kHz) デフォルト設定」でLEDが回転します。
           
           サンプルAは、「高速オンチップオシレータ(約20MHz)」でLEDが回転します。」

           サンプルBは、タイマー(RJ2)を使って、1秒毎にルーレットがまわるようにしたものです。        


写真/回路図

sample1.c

プログラムソース サンプル@(HEW用 R5F2M110AN用 C言語) バージョン

sample2.c

プログラムソース サンプルA(HEW用 R5F2M110AN用 C言語) バージョン

sample3.c

プログラムソース サンプルB(HEW用 R5F2M110AN用 C言語) バージョン



       (2)UARTを使ってみる

           UARTを使ったエコープログラムを作ってみました。
           プログラムは、R8C/M12Aのサンプルとほとんど同じものです。(ポートが違うので、主にポート関係の設定が異なります。)  
           


写真/回路図


ハイパーターミナルのイメージ

ハイパーターミナルの設定

sample1.c

プログラムソース サンプル@(HEW用 R5F2M110AN用 C言語) バージョン







       (3)電圧計(0〜5V)にしてみる

           ADCを使って電圧計にしてみました。
           プログラムは、R8C/M12Aのサンプルとほとんど同じものです。(ポートが違うので、主にポート関係の設定が異なります。)   
           
           ハイパーターミナルの設定は、上記、「(2)UARTを使ってみる」と同じにしてあります。
           入力に何の保護回路もつけていないので、入力が電源電圧を越えたり、マイナス電圧以下になったりすると
           マイコンが壊れる可能性があるので、入力電圧には注意が必要です。


写真/回路図


ハイパーターミナルのイメージ(0〜5Vの電圧を加えた場合)

sample1.c

プログラムソース サンプル@(HEW用 R5F2M110AN用 C言語) バージョン







       (4)PWM出力してみる

           タイマRCのPWMモードを使って、3相のPWM出力をするサンプルプログラムを作ってみました。           
           デューティサイクル(0〜100%)は、TRCIOB、TRCIOC、TRCIODの各出力に対応するレジスタ TRCGRB、TRCGRC、
           TRCGRDに、0000h〜FFFEhの数値を代入する事で設定されます。
           発振周期は、このサンプルでは300Hz程度(20MHz/FFFFh)にしてあります。

           R8C/M12Aのサンプルと異なるのは、TRCIODのピン設定のみです。


写真/回路図/周波数カウンタとオシロスコープによる測定イメージ
(TRCGRB:2000h、TRCGRC:7FFFh、TRCGRD:CFFFhを設定した場合)

sample1.c

プログラムソース サンプル@(HEW用 R5F2M110AN用 C言語) バージョン







R8C/2Bマイコン(R5F212BASNFP)を使ってみる



写真


QFP64ピン 0.5mmピッチ型なので、秋月電子の変換基板を使用しています。


ルネサステクノロジ社のマニュアルより抜粋






  ●実験ボード タイプ1(R5F212BASNFP)


      R5F212BASNFPを使った簡単な実験ボードを作ってみました。
      回路図中のADM3202は、「M16C Flash Starter」によるプログラムの書き込みと、UARTの兼用で使用します。
      「M16C Flash Starter」を使う場合、「XIN」−「XOUT」ピンのセラロック、または水晶は必須になります。

      プログラムを書き込む時は、モードスイッチをONにして電源を入れ、リセットボタンでMPUをリセットしてやれば、
      「M16C Flash Starter」でプログラムを書き込む事ができます。
      モードスイッチをOFFにして電源を入れ、リセットボタンでMPUをリセットしてやれば、書き込んだプログラムを動かす事が
      できます。

実験ボードのイメージ(表/裏) / 回路図

     1.基本プログラム編

       (1)LEDを点灯させてみる

           8個のLEDをつないで、簡単なプログラムを作ってみました。       

           サンプル@は、8個のLEDが回転するものです。
           MPUの稼動確認のために作ったもので、デフォルトの「低速オンチップオシレータ(約125 kHz)」で動作します。

           サンプルAは、サンプル@をXINクロック(20Mzの外部セラロック)で動かしているもので、20Mzで高速動作
           します(Waitのループ回数も多くしてあります)。

           サンプルBは、タイマーRA機能を使って、1秒毎にルーレットが動くようにしたものです。
           クロックは、サンプルA同様、20Mzの外部セラロックで動作するようにしてあります。


写真/回路図

sample1.c

プログラムソース サンプル@(HEW用 R5F212BASNFP用 C言語) バージョン

sample2.c

プログラムソース サンプルA(HEW用 R5F212BASNFP用 C言語) バージョン

sample3.c

プログラムソース サンプルB(HEW用 R5F212BASNFP用 C言語) バージョン



       (2)パソコンにつないでみる

           UARTでパソコンのハイパーターミナルにつないでみました。
           UARTポートは、プログラムの書き込みで使用しているRXD1、TXD1を兼用で使用しているので、追加するハードウエア       
           はありません。
           ただし、プログラムを書き込む時は、ハイパーターミナルを終了しておかないと、プログラムの書き込みはできません。

           サンプル@は、エコーバックプログラムです。


写真/回路図


ハイパーターミナルのイメージ

ハイパーターミナルの設定

sample1.c

プログラムソース サンプル@(HEW用 R5F212BASNFP用 C言語) バージョン





       (3)電圧計(0〜5[V])にしてみる

           A/Dコンバータを使って、電圧計にしてみました。

           サンプル@は、A/Dコンバータを使って、(AN7[P0_0])端子の電圧を測定し、測定結果をプログラムの書き込みで
           使用しているUART1につないだパソコンのハイパーターミナルに表示するものです。
           このサンプルは、入力に何の保護回路もつけていないので、入力が一瞬でもマイナスになったり、電源電圧を越えたり
           すると、マイコンが壊れる可能性があるので、注意が必要です。


写真/回路図


ハイパーターミナルのイメージ

ハイパーターミナルの設定

sample1.c

プログラムソース サンプル@(HEW用 R5F212BASNFP用 C言語) バージョン





       (4)D/Aコンバータ(8ビット[0〜255]、2チャンネル)を使ってみる

           このMPUには8ビット(0〜255)のD/Aコンバータが2チャンネルも内蔵されているので、これを使えばかなりきれいな
           波形を出力する事ができそうです。
           このサンプルでは、出力に直接オシロスコープをつないでいますが、通常は、ボルテージフォロアを通して出力したほうが
           いいと思います。
           出力は、このままでは直流波形なので、直列にコンデンサを通す必要があります。

           サンプル@は、位相をずらした2つのSIN波を出力するものです。
           タイマーRAを50[Hz]になるように設定していますが、実際は、タイマーを動かすまでの無駄なステップ数のために、設定
           した周波数より、出力周波数は低くなっています。
           正確な周波数が必要なら、発振器を水晶にして、タイマー設定値の微調整が必要です。


写真/出力(0、1)のオシロスコープの測定イメージ/回路図

sample1.c

プログラムソース サンプル@(HEW用 R5F212BASNFP用 C言語) バージョン








秋月電子のマイコンボードを使ってみる

 R8C/25マイコンボード(R5F21256S)を使ってみる


秋月電子のR8C/25マイコンボードのイメージ


R5F21256Sのピンレイアウト




  ●実験ボード タイプ1 R8C/25(R5F21256S)



      秋月電子のR8C/25ボードを使って、簡単な実験ボードを作ってみました。
      秋月電子のボードは、必要なものが全て装着されていて、価格も安いので、MPUの検証には最適だと思います。

      プログラムの書き込みは、ボードの232C(1)ポートを直接パソコンにつなぎ、MODE−SWをONにして電源をつなぎ、
      RESETボタンを押せば、「M16C Flash Starter」を使ってプログラムを書き込む事ができます。
      電源を外してMODE−SWをOFFにして電源をつなぎ、RESETボタンを押せば、書き込まれたプログラムが動き出します。
      
      なお、このボードには、いくつかのジャンパー線があり、設定を自由に変更できるようになっていますが、この実験ボードでは
      全てデフォルトの状態(20MHz水晶、32.768KHz水晶のいずれも接続し、電源レギュレタは使用しない)で使用しています。


写真/回路図


     1.基本プログラム編

       (1)LEDを点灯させてみる

           LEDが回転する簡単なプログラムを作ってみました。       

           サンプル@は、8個のLEDが回転するものです。
           このMPUは、デフォルトでは「低速オンチップオシレータ(約125 kHz)」で動作するのですが、このマイコンボードには
           20MHzの水晶が装着されているので、この水晶を使ったXINモードで20MHz動作するようにしてあります。
 
           サンプルAは、タイマー(RA)を使って、1秒毎にルーレットがまわるようにしたものです。        
 


写真/回路図

sample1.c

プログラムソース サンプル@(HEW用 R5F21256S用 C言語) バージョン

sample2.c

プログラムソース サンプルA(HEW用 R5F21256S用 C言語) バージョン




       (2)パソコンにつないでみる

           ボードの232C(0)ポートをパソコンにつないでみました。

           サンプル@は、UART0を使って、パソコンのハイパーターミナルにエコーバックするものです。


写真/回路図


ハイパーターミナルのイメージ

ハイパーターミナルの設定

sample1.c

プログラムソース サンプル@(HEW用 R5F21256S用 C言語) バージョン




       (3)電圧計(0〜5[V])にしてみる

           A/Dコンバータを使って、電圧計にしてみました。

           サンプル@は、A/Dコンバータを使って、(AN7[P0_0])端子の電圧を測定し、測定結果をUART0につないだ
           パソコンのハイパーターミナルに表示するものです。
           このサンプルは、入力に何の保護回路もつけていないので、入力が一瞬でもマイナスになったり、電源電圧を越えたり
           すると、マイコンが壊れる可能性があるので、注意が必要です。


写真/回路図


ハイパーターミナルのイメージ

ハイパーターミナルの設定

sample1.c

プログラムソース サンプル@(HEW用 R5F21256S用 C言語) バージョン












PICのページへ戻る
ボタンを押すとPICのページへ飛びます

メニューに戻る
ボタンを押すとメニューのページへ飛びます