只今のアクセス件数:


(別室)H−8/H−8Sで遊ぼう

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

 このページは、ルネサンステクノロジー社(旧 日立+三菱)のH−8シリーズを使った簡単なプログラムを紹介しています。




 ●重要なお知らせ●

  1.Windows10の対応

    FDTが、最新バージョン(FDT V.4.09 Release 03)以降よりWindows10に対応するようになりました。
    十分な検証をしているわけではありませんが、私のWindows10パソコンでは、HEWで開発し、FDTでH8に書き込むという
    一連の操作が問題なく行えました。
    FDTを使うときは、入力クロックの設定を装着している水晶の周波数に合わせてください(デフォルト値では書き込みできません)。

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

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

 




  ●H8シリーズについて

    ・H8シリーズは、ルネサステクノロジー社 ※http://www.renesas.com/ の8〜16ビット(ここで取り上げているものは
     全て16ビット)のCPUで、入手しやすく、一般の書籍も多いので、学校や趣味の分野でも広く使われているCPUです。

    ・秋月電子 ※http://akizukidenshi.com/ では、H8のCPUを単体でも購入する事ができますが、
    多ピンのQFPパッケージは半田付けが大変ですし、秋月電子のボードは開発ソフトもセットされていて、
    変換基板を追加購入すると価格もあまり変わらないので、趣味でH8を使う場合はCPUボードで購入するほうがお勧めです。
    
      H8シリーズ(CPU単体)の販売価格(H19年5月 秋月電子調べ)
        H8/3048BF(F−ONE) ※25MHz水晶付き    \1000
        H8/3048F         ※16MHz水晶付き    \1700
        H8/3052BF        ※25MHz水晶付き    \1800
        H8/3069BF        ※25MHz水晶付き    \1750
        H8/3068F         ※25MHz水晶付き    \1250
        H8/3664F(QFP)                     \ 800
        H8/3694F(QFP)                     \ 750
        H8/3664F(SDIP)                    \1000


H8シリーズのラインナップ ※ルネサステクノロジー社のHPより抜粋


  ●フラッシュの書き換え回数について

     H8シリーズに限らず、フラッシュメモリーの書き換え回数には寿命がありますので、プログラムはむやみに
     書き換えないほうが無難です。(H8は、PICやAVRのように、数万〜数十万回もプログラムを書き換えは出来ません。)
     ただし、H8シリーズでも書き換え回数はマイコンの種類により大きく異なります。
     下記は一般的なH8マイコンの「書き換え回数」ですが、条件や保障等が異なりますのであくまで目安です。
     また、実際には「最大書き込み回数」、「最大消去回数」等も含めて考慮する必要があります。
     
      ・H8/3664F

        「H8/3664グループ ハードマニュアル」によると、32Kバイトのフラッシュメモリーは、1000回まで書き換えできます。
        「ルネサステクノロジー よくあるお問い合わせ」によると、規格値は1000回で、Typ値(代表値)は10000回です。

        ※H8/3664グループの場合は、書き込み回数を、それほど意識する必要はないようです。
     
      ・H8/3048F、3052F

        「H8/3048F、3052F ハードマニュアル」によると、書き換え回数(Nwec)は、最大100回です。
  
      ・H8/3068F

        「H8/3068F ハードマニュアル」によると、書き換え回数(Nwec)は、最小100回Typ値(代表値)は10000回です。
   
      ・H8/3069R

        「H8/3069R ハードマニュアル」によると、書き換え回数(Nwec)は、最小100回です。


  ●大電流ポートについて

     H8シリーズは、 大電流ポート以外はLEDを直接ドライブする事はできません。
     (PICやAVRでできるような、LEDを派手に光らせるような用途には向きません。)
     LEDをつなぐ場合は、大電流ポートを使うか、ドライバーICやFET、トランジスタ等を入れる必要があります。











H8/3664F Tinyを使ってみる

       「H8/3664シリーズ」は、H8シリーズの中では小型の16ビットのCPUです。
      安価で、取り上げているサイトや書籍も多く、1000回以上のプログラムの書き換えができるので、教育や実験には最適だと
      思います。
      プログラムの書き込みは、RS232レベルコンバータICを通してケーブルでパソコンとつなぐだけでよく、PICやAVRのような
      ライターは不要です。
      また、このケーブルは、プログラムの実行時にはパソコンとの通信にも使用できます。
      開発ソフトは、ルネサステクノロジー社や、秋月電子、その他、多くのベンダーから提供されているほか、
      フリーでも多くの開発ソフトが存在しています。
      ここで取り上げているものは、それらのごく一部のものです。
      

       「H8/3664シリーズ」を使ったCPUボードは、いくつかのメーカーから販売されていますが、
      秋月電子では、H8/3664F(QFP)、3664N(QFP)、3664F(SDIP)、3694F(QFP)の各ボードを扱っています。
      例えば、秋月電子の「AKI−H8/3664BP(SDIP)」キットの場合には、ボード上にRS232Cコネクタが付いているので、
      このボードにパソコンと電源をつなげば、このボードだけでプログラムの開発ができてしまうという簡単さです。
      また、誤ってマイコンを壊してしまっても、ソケットからマイコンを抜き差しして交換するだけで済んでしまいます。
      H8シリーズを初めて使う人には、お勧めのキットです。


秋月電子「AKI−H8/3664BP(SDIP)」ボード


秋月電子「AKI−H8/3664BP(SDIP)」ボードのコネクタ ※秋月電子のキットマニュアルより切り抜き










  ●H8/3664Fの開発環境について

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

      無償評価版をルネサステクノロジー社のHP ※http://www.renesas.com/ より無償でダウンロードできます。
      ルネサステクノロジー社のマイコン(SH、M16、、、等)共通の開発ツールなので、ルネサステクノロジー社のマイコンを
      使い慣れている人には、このツールは使いやすいと思います。
      なお、既に他の種類のルネサステクノロジー社マイコンでHEW、及びFDTをインストールしている場合に、「H8S、H8/
      300」用をインストールすると、選択できるマイコンの種類に「H8S、H8/300」グループが追加されます。

      − HEW(High-performance Embedded Workshop)  C、C++コンパイラーパッケージ

          アセンブラ、及びC言語系での統合開発ツール。
          「H8S、H8/300」の場合、無償評価版は、使用開始後60日目以降は64Kバイトまでの開発しかできなくなりますが、
          H8/3664Fは、ROMをもともと32Kバイトしか積んでいないので、実質的には制限はありません。

      − FDT(Flash Development Toolkit)  マイコンへの書き込みツール

          サポートや保障が受けられない以外は、製品版も評価版も同じです。



HEW/FDTの画面イメージ


既に他のマイコンでHEW/FDTを使っている場合は、「H8S、H8/300」グループがマイコンの選択肢に追加されます




    ・Gnuツール(クロス開発環境)

      Gnuツールは、マイコンメーカーを問わずに、多くのCPUの開発で一般的に使われている、C言語系のフリーの開発ツールです。
      基本的にはUNIX系のツールなのですが、例えばCygwin ※(別室)Cygwinのページ を参照 を使ってWindowsパソコン上で
      容易に使用する事もできます。Gnuは、説明しているサイトが多いので、いろいろ参考にしてみるといいと思います。

      GnuのH8の設定についても、説明しているサイトは多いのですが、UNIXを使っていないと説明がわかりにくいサイトが
      多いので、丁寧でわかりやすい「ストロベリー・リナックス」さんのHP 「クロス開発環境」 がお勧めです。
      また、「ストロベリー・リナックス」さんのHPでは、Windowsパソコンから、秋月電子のH8ボードにそのまま書き込み
      ができる 「H8Writer」 が公開されていて、ダウンロードして活用する事もできます。
      このツールは、Gnuで作成したMOTファイルを「エクスプローラ画面」からWクリックするだけで書き込みできるという
      使いやすいツールです。 
      


環境さえ整えれば、Gnuツールのコンパイルは、Cygwin上でmakeするだけです。
(MOTファイルまで作成されます)

                     コンパイル方法
                     @C言語でプログラムを作成する ※上の写真では「main.c」
                      ※プログラムの作成は、「viエディター」を使うか、Windows系エディターを使う場合は
                       改行コードを「\n」にして保存する必要がある。 ※(別室)Cygwinのページ を参照
                     Amakeする
                     Bエラーがなければ、MOTファイルが作成される
                     CこのMOTファイルを、ライターでマイコンに書き込む
                      ※例えば、「ストロベリー・リナックス」さんの「H8Writer」や、ルネサステクノロジー社の
                       「FDT」を使用する


    ・秋月電子のCPUボードキットに付属のCD−R

      秋月電子の「AKI−H8/3664BP(SDIP) タイニーマイコンキット」には、開発ソフトとして「アセンブラ(ASM38)」、
      「リンカ(LNK)」、「ライター(HTERM)」が付属していますが、「ライター(HTERM)」は Windows95/98用と書いてあり、
      私のパソコンで確認する限りはWindows/XPパソコンでは動作しない?ようです。
      秋月電子では、3048F,3052F,3664F,3067F,3068F,3069Fに対応した「H8/3048F〜3069F対応H8
      開発ソフト(Cコンパイラ・書き込みソフト)」
というCD−Rを、別に500円で販売していて、この中にある書き込みソフト
      「H8TurboWrite」が、WindowsXP/Windows2000に対応しているそうなので、通常はキットに付属のCD−Rは使わずに、
      こちらのCD−Rを使うという事かも知れません?
                       


    ・H8/OS

      秋月電子で販売されているH8/3048,3052,3069,3664(Tiny)、、、にも対応しているSHやH8系のシングルタスク
      のOSで、Gnuツールと組み合わせて使用します。
      詳細は、 「(別室)リアルタイムOSで遊ぼう」 のページで紹介しています。




    ・マニュアル

      ルネサステクノロジー社のHP ※http://www.renesas.com/ より無償でダウンロードできます。










  ●秋月電子「AKI−H8/3664BP(SDIP)」ボードを使ってみる


    1.実験ボード・タイプ1A

      簡単なテストボードを作ってみました。


写真   表面/表面(ソケットから抜いたところ)/裏面


回路図


     (1)ルーレットにしてみる1

       簡単なプログラムを作ってみた。プログラムは、単にLEDの点燈が回転するだけです。
       P5はLEDを直接ドライブする事はできない ので、トランジスタを使ってLEDをドライブしています。
 
       注意)P5(6)、P5(7)は、I2C兼用端子で、 2.5V程度にしかならない ので、このようなコレクタ接地の回路では
       赤色以外のLEDでは点灯しません。


写真/LEDドライバー


回路図 (P5はLEDを直接ドライブする事はできません。)


      a)Gnuのクロス環境を使って作ってみる(C言語)

        Gnuのクロス環境で作ってみました。Cygwin上でプログラムを作ってmakeするだけです。
        作成されたMOTファイルを、「FDT」や「H8Writer」等のライターで、H8-3664Fマイコンに書き込みます。
        このサンプルは、タイマー割り込みバージョンです。


Cygwin上でのコンパイル

main.c

プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル ※割り込みバージョン)

test0001.lzh

プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)




      b)HEW+FDTを使って作ってみる(C言語)

       ルネサステクノロジー社の提供する開発環境(HEW+FDT)を使って作ってみました。
       「HEW」は、プログラムの基本的な型枠を自動的に作ってくれるので、プログラムを作るのが簡単です。
       「HEW」で作成されたMOTファイルは、「FDT」でマイコンに書き込んでもいいですし、「ストロベリー・リナックス」さんの
       「H8Writer」でマイコンに書き込んでもいいと思います。
 
       サンプル@は、任意の間隔でLEDが動きます。 
       サンプルAは、割り込みを使ったサンプルですが、このサンプルを使うためには、HEWが自動的に生成する「intprg.c」に
       下記の修正が必要です。


「intprg.c」の修正イメージ  ※割り込み関数を呼び出すように、関数の呼び出し部分を追記する(サンプルAのみ)

h80301021.c

サンプル@ プログラムソースサンプル(H8/3664 HEW用 C言語ファイル)


h80301021.c

サンプルA プログラムソースサンプル(H8/3664 HEW用 C言語ファイル 割り込みバージョン)

intprg.c

サンプルA プログラムソースサンプル(H8/3664 HEW用 C言語ファイル 割り込みバージョン)




      c)HEW+FDTを使って作ってみる(アセンブラ)

       上記プログラムをアセンブラで作ってみました。
       C言語のプログラム同様、「HEW」で作成されたMOTファイルは、「FDT」や「H8Writer」で
       マイコンに書き込みます。

h80301021.src

プログラムソースサンプル(H8/3664 HEW用 アセンブラプログラム)




      d)H8/OSを使って作ってみる(H8/OS + Gnuのクロス環境 + C言語)

        ※「(別室)リアルタイムOSで遊ぼう」 のページに引っ越しました。







     (2)ルーレットにしてみる2

       上のルーレットにSWをつけて、SWを押して離すと、任意の回数だけルーレットが回って止まるようにしてみました。
  


写真


回路図


      a)HEW+FDTを使って作ってみる(アセンブラ)

h80301022.src

プログラムソースサンプル(H8/3664 HEW用 アセンブラプログラム)








     (3)ルーレットにしてみる3

       上のルーレットを、Windowsパソコンのハイパーターミナルから、1〜9を入力すると、ルーレットが1〜9動くように
       変えてみました。回路は「(1)ルーレット1」と同じです。
  


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


ハイパーターミナルの設定  ※9600BPSではなく、38400BPSなので注意!!


回路図 ※(1)のルーレットと同じ


      a)Gnuのクロス環境を使って作ってみる(C言語)

        Gnuのクロス環境で作ってみました。プログラムは通信プログラムに、ルーレットをつないだものです。
        コンパイルは、Cygwin上でmakeします。 
        サンプル@は、ハイパーターミナルからの入力を待って処理するバージョンです。
        サンプルAは、SCI3割り込みを使ったバージョンです。

main.c

サンプル@ プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

test0006.lzh

サンプル@ プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)


main.c

サンプルA プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

test0006.lzh

サンプルA プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)



      b)H8/OSを使って作ってみる(H8/OS + Gnuのクロス環境 + C言語)

        H8/OSを使って作ってみました。H8/OSを使うとプログラムが簡単です。
        コンパイルは、Cygwin上でmain.shを実行します。 


Cygwin上でのコンパイルイメージ (作成されたmain.motをライターでマイコンに書き込む)

main.c

プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

test01.lzh

プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)





     (4)0〜10.23[V] 電圧計にしてみる

       A/D変換器の単一モードを使って、AN2の電圧(0〜10.23[V])を測定し、Windowsパソコンのハイパーターミナルに
       結果を出力するようにしてみました。
       AN0でなくAN2を使ったのは、AVRで使った電圧測定アダプタ基板をそのまま使ったからで、特に意味はありません。
       A/D変換器を使う場合、H8/3664のAVccには5Vが供給されている必要があります。(このマイコンボードのAVcc端子に
       外部から5Vを供給しない場合は、ボードのA−B端子にジャンパーピンを挿しておく必要があります。)
       なお、マイコンボードに電源を供給していない時に、入力に電圧を加えてはいけません。

       H8/3664のA/D変換器には、単一モードの他にスキャンモードがあるので、他のポートの電圧も連続的に必要なら、
       下記のサンプルのように、スキャンモードを使えばいいと思います。
       このサンプルは、あまり高い精度を考えてはいませんが、もしも測定精度を高くしたいなら、入力の分圧抵抗について、
       値の調整とインピダンスの見直しが必要です。※詳細はマニュアルの「許容信号源インピーダンスについて」を参照。


写真


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


ハイパーターミナルの設定  ※9600BPSではなく、38400BPSなので注意!!


回路図


      a)Gnuのクロス環境を使って作ってみる(C言語)

        Gnuのクロス環境で作ってみました。コンパイルは、Cygwin上でmakeします。 

main.c

プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

test0008.lzh

プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)





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

       A/D変換器のスキャンモードを使って、AN0〜2の電圧(0〜10.23[V])を測定し、Windowsパソコンのハイパーターミナルに
       結果を出力するようにしてみました。
       上記のサンプル同様、A/D変換器を使う場合、H8/3664のAVccには5Vが供給されている必要があります。
       (このマイコンボードのAVcc端子に外部から5Vを供給しない場合は、ボードのA−B端子にジャンパーピンを挿しておく
       必要があります。)
       なお、マイコンボードに電源を供給していない時に、入力に電圧を加えてはいけません。


写真  アダプタ基板(表)/(裏)/アダプタ基板を取り付けたイメージ


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


ハイパーターミナルの設定  ※9600BPSではなく、38400BPSなので注意!!


回路図


      a)Gnuのクロス環境を使って作ってみる(C言語)

        Gnuのクロス環境で作ってみました。コンパイルは、Cygwin上でmakeします。 

main.c

プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

test0009.lzh

プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)





    (6)PWM方式・調光器(4.4[V])にしてみる

      a)H8/OSを使って作ってみる(H8/OS + Gnuのクロス環境 + C言語)

       PWM方式の調光器にしてみました。
       ハイパーターミナルから、明るさを1〜99[%]の数字で入力し、'E'文字を押すと、結果を出力します。
       コンパイルは、main.shを実行します。


写真 


回路図 ※「PWM出力」端子に4.8Vの小型の豆電球等をつなぐ


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


ハイパーターミナルの設定  ※9600BPSではなく、38400BPSなので注意!!


オシロで見た波形 


コンパイルイメージ(Cygwin、上記と全く同じ環境) ※作成されたmain.motをライターでマイコンに書き込む

main.c

プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

test.lzh

プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)








    (7)I2C方式のEEP−ROMをつないでみる

      a)Gnuのクロス環境を使って作ってみる(C言語)

       I2C方式のEEP−ROM(アトメル社のAT24C256)をつないでみました。
       ハイパーターミナルから、文字を入力し、'e'をキーインすると、EEPに書き込みを行い、書き込んだ文字を
       読み込んで表示します。


写真 


回路図 


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


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

main.c

プログラムソースサンプル(H8/3664 Gnu-クロス環境 C言語ファイル)

work.lzh

プログラムソースサンプル(H8/3664 Gnu-クロス環境 Cygwinの上記ソースを含むフォルダー全て)








    2.知識ベースを作ってみる

       ※この記事の詳細は、 「(別室)動く作品のページ」 にあります。






H8/3694Fを使ってみる



       秋月電子の「H8/3694F」ボードを使ってみました。
       このMPUは、上記の「H8/3664F」のプログラムを、ほとんどそのまま動かす事ができます。
       (クロックが20MHzに高速化されているので、簡単な修正は必要になります)
       上記の「H8/3664F(SDIP)」ボードのようにRS232コネクタがボードに内蔵されているわけではないので、
       外部にD*SUBコネクタを半田付けしないとプログラムを書き込む事はできませんが、ボードが小型なので、機器に組み込んだり
       する場合は、こちらのほうがいいかも知れません。


ボードのピンレイアウト ※)秋月電子のマニュアルより抜粋




    1.実験ボード・タイプ1A

         簡単な実験ボードを作ってみました。
         このボードは、ADM3202がはじめから内蔵されているので、D*SUB(9ピン)コネクタをつないで、そのままパソコンに
         接続できます。


写真


回路図


     (1)ルーレットにしてみる1

       簡単なルーレットのプログラムを作ってみました。
       ルーレットが回転するだけのプログラムで、H8/3664で作ったものと同じです。
       P5(6)、P5(7)は、I2C兼用端子で2.5V程度にしかならないので、このようなコレクタ接地の回路では
       赤色LED以外は点灯しない可能性があります。


写真/回路図

SAMPLE01.c

サンプル@ プログラムソースサンプル(H8/3694 HEW用 C言語ファイル)



     (2)ルーレットにしてみる2

       上記、ルーレットをP8につないだものです。
       P5につなぐと、P5(6、7)出力が2.5V程度になる制約があるので、このような用途ではP8を使ったほうが良さそうです。
       この場合は、コレクタ接地でも(コレクタ接地にする必要はないのですが、目的が実験なので、なるべく出力に近い電圧が反映
       されるようにしている)、赤色以外のLEDも点灯できます。


写真/回路図

SAMPLE01.c

サンプル@ プログラムソースサンプル(H8/3694 HEW用 C言語ファイル)



     (3)電圧計(0〜5000[mV])にしてみる

       H8/3664F同様、電圧計のサンプルも作ってみました。
       パソコンへの接続は、プログラムの書き込みに使っているTDX,RDXを兼用しています。
       H8/3694Fボードは、3664Fボードより水晶が20MHzにスピードアップされているので、SCIのBRRレートは変更して
       います。
       簡単な保護回路を兼ねて、入力はボルテージフォロアを通していますが、この回路は必ずしも必要なわけではありません。
       入力は電源電圧を超えないように注意する必要があります。
       使用したオペアンプは、安価なレールTOレールオペアンプですが、オフセットの精度は高くはないので、このオペアンプを
       通した場合、0Vを入力しても表示が完全なゼロにはならない可能性があります。


写真/回路図


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


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

SAMPLE01.c

サンプル@ プログラムソースサンプル(H8/3694 HEW用 C言語ファイル)



     (4)PWM出力してみる

       このMPUは、同時に3つのPWM出力をする事ができます。
       サンプルは、FTIOB、FTIOC、FTIOD端子に、それぞれ75%、50%、25%のPWM出力をするものです。


写真/回路図


出力の測定イメージ

SAMPLE01.c

サンプル@ プログラムソースサンプル(H8/3694 HEW用 C言語ファイル)



     (5)クロックを出力してみる

       このMPUは、タイマーA機能を使って、システムクロック及びサブクロックを、4、8,16,32分周したクロック(システム
       クロックが20MHz、サブクロックが32.768KHzの場合、出力は5[MHz]、2.5[MHz]、1.25[MHz]、625[KHz]、8.192[KHz]、
       4.096[KHz]、2.048[KHz]、1.024[KHz]の何れかを選択できる)をTMOW端子に出力する事ができます。
       サンプルは、サブクロックを32分周した1.024KHzを出力するものですが、コメントを外す事で、これらの何れかのクロックを
       選択して出力する事ができます。


写真/回路図/出力をオシロスコープで測定したイメージ(サブクロックを32分周した1.024KHzを出力した場合)

SAMPLE01.c

サンプル@ プログラムソースサンプル(H8/3694 HEW用 C言語ファイル)













H8S/2110Bを使ってみる



  ●H8S/2000シリーズについて

    ・H8S/2000シリーズは、 ルネサスエレクトロニクス社の16ビットのCPUで、
     H8/300、H8/300Hシリーズに対し、オブジェクトレベルで上位互換性を持つ高性能なCPUです。
     また、このCPUは、SCI(UART)やI2C、キーボードバッファコントローラ、LPCといった豊富な周辺機能を内蔵しています。
     このCPUは、16Mバイトのリニアなアドレス空間を扱う事が可能で、
     RAM:2Kバイトと、100回まで書き換え可能なROM:64Kバイトが内蔵されています。
     高性能なCPUながら、秋月電子では200円で購入できます。※H25.12現在
     但し、このCPUはA/Dコンバータやコンパレータといったアナログ回路を内蔵していないので、直接センサーをつないだり
     といった用途では、使いずらいかも知れません。
     
     このMPUの電源電圧は3.3Vなので注意が必要です(5VをかけるとMPUが壊れます)
     
     実験につき省略していますが、未使用の端子はマニュアルに記述されている方法で処置しておく必要があります。



  ●プログラムの書き込み方法について

    プログラムの書き込み方法はいろいろありますが、このMPUは、ルネサスエレクトロニクス社より無償で提供されているFDT
     を使って、UARTで直接プログラムを書き込む事もできます。
     この場合、TxD1、RxD1をADM3202のようなインターフェースICを通してパソコンとつなぐだけでよく、ライター等は不要です。
     特に記述が無い場合、このHPで取り上げている事例は、この方法でプログラムの書き込みをおこなっています。




H8S/2110Bの写真 (100ピンTQFPパッケージ)


H8S/2110Bのピンレイアウト ※ルネサスエレクトロのクス社のデータシートより抜粋


H8S/2110Bを秋月電子の変換基板に取り付けたイメージ

100ピン0.5ミリTQFPパッケージなので、ハンダ付けに自信がある人にしかお勧めはしません



    1.実験ボード・タイプ1A

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


写真   表面/表面(ソケットから抜いたところ)/裏面


回路図
ADM3202は、FDTでプログラムを書き込む時に使用しています。

回路図では省略していますが、VCCとVSSの間には、0.1μFのチップコンデンサをこまめに挿入しています。
これを入れておかないと、MPUの動作が不安定になる可能性があります。


モード切替スイッチについて

このMPUには、ブートモード(プログラムの書き換えで使用)と、2つのユーザープログラムモード
(モード3[ノーマルモード]/モード2[アドバンストモード])がありますが、
特に記述が無い場合、このサンプルのプログラムは、全てモード3でテストしています。

プログラムの書き換えや実行する都度、MD0,MD1のそれぞれのモードスイッチを切り替えてもいいのですが、
プログラムを更新する都度、このような操作をするのは面倒なので、スライドスイッチを追加しています。
このようにしておけば、FDT(UART)でプログラムを書き換える場合、スライドスイッチをブートモードにして
リセットボタンを押すだけで、FDTでプログラムの更新ができます。
プログラムを実行する場合は、スライドスイッチをモード3にしてリセットボタンを押すだけで、
プログラムが実行されます。
但し、スライドスイッチを動かす場合は、電源を切って行なう必要があります。



     (1)ルーレットにしてみる1

       簡単なプログラムを作ってみました。プログラムは、単にLEDの点燈が回転するだけです。
       ポート1,2,3は、最大10mAの電流が流せるので、LEDを直接つなぐことができます。(サンプル@) 


写真


回路図

SAMPLE01.c

サンプル@ プログラムソースサンプル(H8S/2110B HEW用 FDT(UART書き込み)C言語プログラム)




     (2)シリアル通信(SCI)でパソコンにつないでみる




     (3)I2Cを使ってみる




     (4)PWM出力してみる




     (5)キーボードバッファコントローラを使ってみる







ボタンを押すとPICのページへ戻ります
上のボタンを押すとPICのページへ戻ります

ボタンを押すとメニューに戻ります
上のボタンを押すとメニューのページへ戻ります