【 はじめに 】
フリースケールのマイコン・ファンの間では 「もうとっくに HCS08 や RS08、ついには ColdFire V1 の時代」 と言われることもありますが、まだまだ従来型の HC08マイコンの供給もしっかり続いています。
数ある従来型 HC08マイコンの中でも、とくに使いやすいのが QT/QY/QB です。
これらは、自作もできる安価な開発ツールが使えることで 「ちょっとだけ試してみようか」 という向きにもピッタリなマイコンとなっています。この連載では、その中で比較的新しい MC908QY4A というマイコンを使い、いろいろなサンプル・プログラムをお見せする予定です。よろしくお付き合いください。
続きを読む "HC08マイコンの使い方QY4A編 -
《1》 HC08 QT/QY/QBマイコンの特徴" »
前回は従来型の HC08マイコンについて簡単な紹介をしました。今回からはマイコン初心者(またはHC08マイコン初心者)の方が実際に HC08マイコンを使い始めることを想定して、役に立つ情報を紹介していきます。

続きを読む "HC08マイコンの使い方QY4A編 -
《2》 HC08マイコンを購入しよう" »
HC08マイコンを使い始めるにあたって、参考にできる資料はなるべく見ておきたいものです。フリースケールに限らず、ほとんどのマイコン・メーカから、自社製品の詳しいデータシートが無料で公開されています。ふた昔前では考えにくいことですね(当時は1冊8,000円も出してデータブックを買っていたことを考えると、非常にありがたいことです)。
続きを読む "HC08マイコンの使い方QY4A編 -
《3》 英文・和文データシートを眺めよう" »
フリースケールの HC08マイコンを使った電子工作を始めるためには、二つの準備が必要です。一つはソフトウェア面の準備で、パソコン上でプログラムを書いたりコンパイルしたりデバッグするために使う 統合開発環境 と呼ばれるソフトウェアをパソコンにインストールすること。もう一つはハードウェア面の準備で、HC08マイコンとパソコンを接続してプログラムをマイコンに書き込んだりデバッグするために使う 開発ツール を用意することです。
続きを読む "HC08マイコンの使い方QY4A編 -
《4》 CodeWarrior と開発ツールを準備しよう" »
だいたい準備ができたところで、一度マイコンを実際に動かしてみましょう。HC08スタータ・ボード・キットVer.2 には MC908QY4A マイコンが 1個含まれています(*1)。 これを、プリント基板上に QY/QB と記された 16ピン ICソケットに正しく装着してください。プリント基板のシルク印刷の絵と、マイコンの切り欠きの向きを合わせるようにします。
スタータ・ボードをパソコンのシリアル・ポートに接続した例
続きを読む "HC08マイコンの使い方QY4A編 -
《5》 パソコンとスタータ・ボードを接続しよう" »
◆ CodeWarrior を起動する
★ 始める前に ★ 使用する COMポート番号を COM1 にしてあることを確認してください。本物のシリアル・ポートでも、USBシリアル変換による仮想COMポートでも、どちらでも当てはまります。 Windows XP の場合は マイコンピュータを右クリック → プロパティを選択 → ハードウェア タブを選択、デバイスマネージャをクリック → ポート(COMとLPT) で確認、変更ができます。
ほかのデバイスが COM1 を使用している場合は、それを COM1 以外の番号に変更して逃がしておいてから、使用する COMポート番号を COM1 にします。設定したら必ずパソコンを再起動してください。 参考文献[1] にも詳しい説明があります。
続きを読む "HC08マイコンの使い方QY4A編 -
《6》 CodeWarriorでテスト・プログラムを作ろう" »
(前回からの続きです)
◆ プログラムをMakeする
それでは、プログラムの変更が終わったところで 【Make】 アイコンをクリックしてください。
続きを読む "HC08マイコンの使い方QY4A編 -
《7》 マイコンでテスト・プログラムを動かそう" »
前回の予告どおり、QY4Aマイコンの中身を詳しく説明するより前に、一通りの機能を動かしてみることにします。少しは面白みのあることをやりたいので、今回は A-Dコンバータ と、普通の 入力ポート、それにタイマ・モジュールの応用である PWM出力 を使って LED の明るさを制御してみます。HC08スターター・ボードだけでできる実験です。
まだ内蔵モジュールのレジスタを説明していないという事情もあることですし、よい機会なので半自動的に初期設定プログラムが生成できる Device Initialization (デバイスの初期設定)機能を使ってみることにします。
続きを読む "HC08マイコンの使い方QY4A編 -
《8》 初めてのDevice Initialization(前編)" »
前回からの続きです。
◆ Device Initialization の設定をする
マイコン内部に用意された機能がリストに現れました。ひとつずつ、設定すべき内容を見ていきましょう。最初に 【CPU】 をクリックしてください。
続きを読む "HC08マイコンの使い方QY4A編 -
《9》 初めてのDevice Initialization(中編)" »
(前回からの続きです)
それぞれの内蔵モジュールの設定ができると、下図のようになります。
IRQModule と KBI がグレーのままですが、このテスト・プログラムでは使わないのでそのままにしておきます。長かったような気もしますが、初期設定の内容が決まりましたので、ここで 【Generate code】 をクリックしてください。
続きを読む "HC08マイコンの使い方QY4A編 -
《10》 初めてのDevice Initialization(後編)" »
マイコンを使えるようになるためには、それがどのような仕組みで動くのかを知っておく必要があります。あまり詳しく知らなくてもよいのですが、ある程度は知っておいてからプログラミングの学習を始めると、効率よく理解することができます。
一般的なマイコンのお話に入る前に、QY4Aマイコン の中身を模式的に表した図を以下に示しておきます。後でまた見てください。
続きを読む "HC08マイコンの使い方QY4A編 -
《11》 一般的なマイコンが動く仕組み" »
HC08マイコンの内部レジスタには 2種類あります。 一つは CPU内部のレジスタ、もう 一つは 周辺機能モジュール内部のレジスタ です。後者は I/O(アイ・オー)制御レジスタ とも呼ばれます。 今回は、前回のブロック図で CPU と表記した部分の内部にあるレジスタについて説明をします。
HC08マイコンの CPUレジスタは下図のような構成になっています。これは HCS08 や RS08 ではない従来からある HC08マイコンに共通のものです。
続きを読む "HC08マイコンの使い方QY4A編 -
《12》 HC08マイコンのCPUレジスタ(1)" »
HC08マイコンの CPUレジスタについて学習をしたので、早速それを実験で確かめましょう。 この連載では基本的にC言語を使って解説を進めますが、CPUレジスタの操作はC言語では書けませんから アセンブリ言語 を使うことにします。
続きを読む "HC08マイコンの使い方QY4A編 -
《13》 HC08マイコンのCPUレジスタ(2)" »
Makeでエラーが出なければ、実際に動かして確認をします。 HC08スターター・ボードの電源スイッチをオンにして、【Debug】 アイコンをクリックしてください。下図(ほとんどの画像はクリックで拡大できる)のようにデバッガ画面が開いたら、Data ペインを見てください。先ほど用意した 三つの変数 VarA , VarB , VarC がここに表示されています。中身はまだ設定していないので、この時点では意味のない値になっています。この画像の例では VarA が 127 になっています。
続きを読む "HC08マイコンの使い方QY4A編 -
《14》 HC08マイコンのCPUレジスタ(3)" »
今までの流れを説明しておきます。CPUレジスタ、とくにアキュムレータの実際の使われ方を見る目的で、簡単な足し算をアセンブリ言語を使って記述し、それをステップ実行で確かめています。
今回はその続きを見たあと、同じことをC言語を使ってやってみます。C言語のソース・レベルでステップ実行をした場合はアキュムレータの動きはわかりませんが、CodeWarrior のデバッガはC言語で書いてあってもアセンブリ言語レベルでステップ実行をすることができるので、アキュムレータの動きを見ることが可能です。
続きを読む "HC08マイコンの使い方QY4A編 -
《15》 HC08マイコンのCPUレジスタ(4)" »
第11回 一般的なマイコンが動く仕組み から 第15回 HC08マイコンのCPUレジスタ(4) まで 5回にわたって大まかな CPU の動きを見てきました。その範囲は下図の黄色く塗った部分に該当します(クリックで拡大)。 CPU と ROM、RAM をつないでいる太い矢印状の部分は、CPUバスとか内部バスと呼ばれているもので、制御線・信号線を束にしたものです。
続きを読む "HC08マイコンの使い方QY4A編 -
《16》 入力/出力ポート(1)" »
◆ 入力/出力ポート に関係する I/O制御レジスタ(続き)
ポートBに関するレジスタは次の三つです。ポートAとほとんど同じですが、無関係なビットが入っていない分、ポートAよりもシンプルになっています。
続きを読む "HC08マイコンの使い方QY4A編 -
《17》 入力/出力ポート(2)" »
◆ PTA3 と PTA1 を使うための回路構成を決める
実際に使ってみるにあたって、回路構成を決める必要があります。せっかくここまで順番に勉強してきているので、前回の最後に提示した構成でいくことにします。回路を再掲します。
PTA3 は内部プルアップを有効にする
続きを読む "HC08マイコンの使い方QY4A編 -
《18》 入力/出力ポート(3)" »
前回は、 HC08スタータ・ボード上のプッシュ・スイッチと LED を使った実験を行いました。 そのため、使用するポートはポートAだけに限られていました。 今回はポートB を積極的に使ってみることにします。 HC08スタータ・ボード(Ver.2) には拡張用のコネクタを実装するための空きランドが用意されていますので、それを使って実験を進めます。
TC1602E-13T (SUNLIKE社 SC1602BSLB互換) は青色バックライトに白文字
続きを読む "HC08マイコンの使い方QY4A編 -
《19》 入出力ポート活用例・液晶表示器" »
汎用入出力ポートの使い方が理解できました。これは H,L の 2値の出力つまりディジタル的な電圧を出力するものでした。
次なる欲求としては、何V といったアナログ的な電圧を出力したくなってきます。マイコンの内部ではデータはすべてディジタル値として扱われていますから、アナログ的な出力を得るためには ディジタル-アナログ変換器(略してD-A変換器、DACともいう) が必要になります。 マイコンによっては D-A変換器を内蔵しているものもありますが、MC908QY4A には内蔵されていません。しかし簡単な外付け回路で実現できますから、そんなに困ることはありません。
書籍 「試しながら学ぶHC08マイコン入門」 (CQ出版) で取り上げた HC08ミニマイコン扇風機 では、付属プリント基板上で 4ビットの D-A変換器 を構成しています。
内容見本 p.28 図3-1 操作の面から見たブロック図
続きを読む "HC08マイコンの使い方QY4A編 -
《20》【書籍】R-2Rラダー型D-A変換器(1)" »
書籍 「試しながら学ぶHC08マイコン入門」 (CQ出版) で取り上げた HC08ミニマイコン扇風機 では、付属プリント基板上で 4ビットの D-A変換器 を構成しています。 今回と次回で、R-2Rラダー回路を測定してみます。
続きを読む "HC08マイコンの使い方QY4A編 -
《21》【書籍】R-2Rラダー型D-A変換器(2)" »
書籍 「試しながら学ぶHC08マイコン入門」 で取り上げた HC08ミニマイコン扇風機 では、付属プリント基板上で 4ビットの D-A変換器 を構成しています。 今回は、R-2Rラダー回路の測定結果についてです。
続きを読む "HC08マイコンの使い方QY4A編 -
《22》【書籍】R-2Rラダー型D-A変換器(3)" »
書籍 「試しながら学ぶHC08マイコン入門」 付属プリント基板で学ぶ R-2Rラダー型D-A変換器の4回目です。今回は計算をしてみます。
◆ R と 2R の組み合わせを知る
まず、このシンプルな回路図を見てください。 R-2Rラダーには見えませんが、要素を一つ分だけ取り出してきた構成になっています。
続きを読む "HC08マイコンの使い方QY4A編 -
《23》【書籍】R-2Rラダー型D-A変換器(4)" »
書籍 「試しながら学ぶHC08マイコン入門」 付属プリント基板で学ぶ R-2Rラダー型D-A変換器の 5回目です。 任意の複数ビットの組み合わせを計算してみます。
まだ使っていない人はプリント基板を活用してみよう!
続きを読む "HC08マイコンの使い方QY4A編 -
《24》【書籍】R-2Rラダー型D-A変換器(5)" »
★ 読者プレゼント ★
書籍 「試しながら学ぶHC08マイコン入門」 の部品セットを抽選で 3名の方にプレゼントします。
これは筆者の手元にある余剰部品を提供したもので、マルツパーツ館で販売されている HC08ミニマイコン扇風機製作部品セット とは異なります。応募方法は記事の最後をご覧ください。
書籍 「試しながら学ぶHC08マイコン入門」 付属プリント基板で学ぶ R-2Rラダー型D-A変換器の最終回です。 振り返ってみて理解をさらに深めます。
続きを読む "HC08マイコンの使い方QY4A編 -
《25》【書籍】R-2Rラダー型D-A変換器(6)" »
◆ イントロダクション 新年もすっかり明けまして、お目出度いところで新しい話題に移りたいと思います。 この写真を覚えていらっしゃいますか? 連載
第1回 で示したもので、「
最終的には赤外線リモコン・カーを作ります」 と書いてありました。
最終的な赤外線リモコン・カーの完成イメージ
(実際にはリレーではなくモータ・ドライバICを使う)
続きを読む "HC08マイコンの使い方QY4A編 -
《26》【製作】パラレル式リモコン・カー(1)" »
◆ パラレル式リモコンとマイコン・カー本体の回路設計を行う
今回は具体的に、パラレル式リモコン・カー(パラレル式リモコン+マイコン・カー)の回路設計を行います。 この連載で製作するマイコン・カーのポイントは 前回 書きましたが、とくに電子回路の部分を設計する段階で必要なポイントを書き出してみます。
この連載で製作するマイコン・カーの電子回路を設計するポイント
(1) マイコン MC908QY4A フリースケール・セミコンダクタ を使う。
(2) 電源は単三乾電池 2個(3V) とし、赤外線受光部用に 5Vを用意しない。
(3) モータ・ドライバIC を 2個使ってモータを駆動する。
(4) すでにある 3種のリモコンを 10ピン・リモコン端子に接続できるようにする。
(5) 走行制御スイッチの組み合わせを検討する。
(6) シリアル式リモコンの拡張モジュールとして赤外線式リモコンを追加する。
(7) 圧電サウンダを搭載。 タイマ割り込みや PWM による発音が可能(要検討)。
(8) 1個の LED を搭載。 ポート出力や PWM によるイルミネーション点灯(要検討)。
(9) ユーザ・モード・モニタが使えるように DEBUG 端子を装備する。
続きを読む "HC08マイコンの使い方QY4A編 -
《27》【製作】パラレル式リモコン・カー(2)" »
モータ・ドライバIC MPC17531A (フリースケール)を試そう! 後ほど説明します。
(前回からの続き)
(5) 左右独立制御と一括制御の組み合わせをどう区別するか考える
ここまで見てきたように、走行制御の押しボタン・スイッチには異なる 二つのタイプを採用しています。 一つは 「右正転、右逆転、左正転、左逆転」 を備えたタイプで、これを左右独立制御、または タイプA と呼ぶことにします。 もう一つは 「前進、右折、左折、後退、(停止)」 を備えたタイプで、これを一括制御、または タイプB と呼ぶことにします。(停止) にカッコを付けた理由は、もっと後で説明します。
3種のリモコンは、下記のように分類できます。
3種のリモコン
続きを読む "HC08マイコンの使い方QY4A編 -
《28》【製作】パラレル式リモコン・カー(3)" »
フラット・パッケージIC(*1) のはんだ付けを解説します。 今まで尻込みをしていた人も、これを読んでチャレンジしてみましょう。 MPC17531 以外のはんだ付けにも参考にしてください。
ここで紹介する方法は、筆者が趣味の電子工作をするときに行っている方法です。 これが最善という保障はありません(業務への応用は自己責任でお願いします)。
ダイセンの ICピッチ変換基板を使って 2.54mm ピッチにした
続きを読む "HC08マイコンの使い方QY4A編 -
《29》【製作】パラレル式リモコン・カー(4)" »
部品を仮にユニバーサル基板上に並べてみて、使用するユニバーサル基板のサイズを決めます。 候補として二つのサイズがあるので、メカ部分も含め全体のバランスを考慮して決定していきます。
まずは、使用する部品をテーブルに並べてみました(クリックで拡大)。 ダブル・ギヤ・ボックスとタイヤ部分は前もって組み立て作業を済ませました。
続きを読む "HC08マイコンの使い方QY4A編 -
《30》【製作】パラレル式リモコン・カー(5)" »
今回は
PCBE(高戸谷 隆 氏作) というフリーの基板エディタを使って、95×72mm のユニバーサル基板への部品配置と、はんだ面の配線の引き回しを検討します。 PCBEの使い方は説明しません。
配線引き回しの検討が終了した段階の画面キャプチャを先に示しておきます(クリックで拡大)。 色は見やすいように加工しました。
続きを読む "HC08マイコンの使い方QY4A編 -
《31》【製作】パラレル式リモコン・カー(6)" »
今回は、前回検討したパターンに従って部品をユニバーサル基板へはんだ付けし、裏側の配線を行って回路の基板部分を完成させました。 しかし、動作チェックをしようという段階になって回路変更の必要性に気が付いたため、それを実施してから動作チェックを行いました。
回路変更して動作チェック中 (クリックで拡大)
手前の車輪が回転している
続きを読む "HC08マイコンの使い方QY4A編 -
《32》【製作】パラレル式リモコン・カー(7)" »
今回は木工工作がメインになります。 材料は入手しやすいようにバルサ材を使いました。バルサ材はとても軽くてやわらかいので加工が簡単です。 加工ができたら木ねじ(もくねじ)やタッピング・ビスを使って各パーツを取り付け、配線を行ってクルマの形に仕上げます。
形ができあがったマイコン・カー (クリックで拡大)
ギヤ・ボックスの取り付けを工夫して底面に電池ホルダのスペースを確保した
続きを読む "HC08マイコンの使い方QY4A編 -
《33》【製作】パラレル式リモコン・カー(8)" »
保留にしていた R1,R2 と、モーターのノイズ吸収用コンデンサ C9,C10 を決定します。 そしてパラレル式リモコン(タイプA/タイプB) を作ります。 リモコンのケーブル作成は次回にします。
右: R1,R2 を決定し C9,C10 を検討中の写真 (クリックで拡大)
左: パラレル式リモコンはケーブルを共用するため 6ピン・コネクタを付けた
続きを読む "HC08マイコンの使い方QY4A編 -
《34》【製作】パラレル式リモコン・カー(9)" »
パラレル式リモコン用のケーブルを作成します。 フラット・ケーブル用の 10ピン・コネクタを圧接して取り付けます。
パラレル式リモコン(タイプA/タイプB) とリモコン・ケーブル
続きを読む "HC08マイコンの使い方QY4A編 -
《35》【製作】パラレル式リモコン・カー(10)" »
リモコン用ケーブル作成の続きで 2.5mmピッチのコネクタを取り付けます。 ターミナル(端子)と線材のつなぎ方は、汎用の精密圧着工具を使う方法と、圧着工具を使わず(器用さでカバーして)はんだ付けを行う方法の二種類を紹介します。
ハウジングに挿し込むときは 1番ピンの印を確認すること
続きを読む "HC08マイコンの使い方QY4A編 -
《36》【製作】パラレル式リモコン・カー(11)" »
回路図の最新版を示した後、いろいろなプログラムの説明を始めます。
パラレル式リモコンとマイコン・カーを使ったいろいろなプログラムの計画
(1) 初期設定だけして、あとは何もしないプログラムを作成します。
(2) タイプAのリモコンでクルマを操作できるプログラムを作成します。
(3) タイプBのリモコンで同様のことをしてみます。
(4) タイプBのリモコンで、どれかのボタンを押すとその動作が継続し、「停止」 を
押すと止まるプログラムを作成します。
(5) タイプAのリモコンを接続したときはボタンを押している間だけ動き、タイプBの
リモコンでは 「停止」 を押すまで継続して動く、という使い分けを電源投入時に
判別するプログラムを作ります。
続きを読む "HC08マイコンの使い方QY4A編 -
《37》【製作】パラレル式リモコン・カー(12)" »
(2) タイプAのリモコンをマイコン・カーに接続して動かすプログラムを作成
初期設定だけのフローチャートに、「パラレル式リモコンタイプA処理」 を追加してみましょう。
続きを読む "HC08マイコンの使い方QY4A編 -
《38》【製作】パラレル式リモコン・カー(13)" »
タイプBのリモコンを使った動作仕様の一つ目を、いくつかの方法で作ってみます。
(3) タイプBのリモコンをマイコン・カーに接続して動かすプログラムを作成
前回のタイプAと同様にして、「パラレル式リモコンタイプB処理」 を作ることにします。
続きを読む "HC08マイコンの使い方QY4A編 -
《39》【製作】パラレル式リモコン・カー(14)" »
タイプBのリモコンを使ったもう一つの動作仕様を作った後、タイプAとの自動判別を行います。
前回の宿題の解答から始めましょう。 まず、うまく動作するかどうかですが、答えは 「いいえ」 です。 ではどこがまずいのでしょう? 実際に動かしてみた方はいらっしゃいますか? 「ちゃんと動いたよ!」 という方もいるかもしれません。 では、次のように操作するとどうなるでしょう。
「前進」 と 「右折」 を両方とも押す ⇒ 「前進」 が優先になっているので前進する
「前進」 スイッチだけ指を離す ⇒ 前進を続ける NG
続きを読む "HC08マイコンの使い方QY4A編 -
《40》【製作】パラレル式リモコン・カー(15)" »
ハードウェア関係のまとめです。MPC17529 の利用についても説明します。
◆ まっすぐ進む? 進まない?
実は 第37回 の頃から気になっていたことがあります。 それは・・・・・前進と後退のときにまっすぐ進まないのです。 少しだけとはいえ明らかに右に曲がりながら進んでしまうのです。 ということは、右側のタイヤの回転が遅いということです。 思い付いた要因をいくつか挙げてみました。
(1) 左右のモータの個体差
(2) ダブル・ギヤ・ボックスの左右の摩擦の不均衡
(3) モータ・ドライバIC の左右の不均衡
(4) 左右の電流制限抵抗のばらつき
(5) 右側のモータの劣化
続きを読む "HC08マイコンの使い方QY4A編 -
《41》【製作】パラレル式リモコン・カー(16)" »
パラレル式リモコン・カー追補版です。 パラレル式リモコンとマイコン・カーの学習で作ったプログラムをすべてユーザ・モード・モニタ入りマイコン用に書き直し、デバッガを使った実験を行います。
「試しながら学ぶHC08マイコン入門」 CQ出版(以下単に書籍と表記) で作った USB-HC08デバッグ・ツールの実践編としても活用できるので、タイトルには 【製作】 と 【書籍】 の両方を冠しました。
続きを読む "HC08マイコンの使い方QY4A編 -
《42》【製作】【書籍】モニタとマイコン・カー" »
MC908QY4A マイコンには 10ビット精度の使いやすい A-D変換器が搭載されています。この A-D 変換器の使い方を説明するのに先立って、A-D変換器そのものについて少し学習しておきましょう。 A-D変換器とは Analog to Digital Converter すなわち 「アナログ信号をディジタル信号に変換するもの」 という意味で、ADC とも呼ばれます。
OPアンプ と カウンタIC で作った 4ビット A-D変換器 (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《43》ブレッドボードでA-D変換器を作ろう" »
前回 はブレッドボードを使って計数型A-D変換器を作ってみました。 充分に理解が進んだことと思います。 今回から MC908QY4A マイコンに内蔵された 10ビット精度の逐次比較型 A-D変換器について説明していきます。 前回作った A-D変換器とはまったく同じ仕組みではありませんが、おおかた似たようなものなのでそれほど難しくないはずです。
続きを読む "HC08マイコンの使い方QY4A編 -
《44》QY4A内蔵A-D変換器(1)" »
ADSCR, ADRH, ADRL 各レジスタの説明をしました。 今回は ADCLK の説明をした後、HC08スターター・ボードを使って A-D変換の実験を行います。
A-D変換モジュールのブロック図を再掲します。 説明し忘れていましたが、このモジュールの名称は ADC10 といいます(QC16 に内蔵されているものと同じ)。 なお、Aの付かない初期型 QY4 の A-D変換モジュールはこれとは別物で 8ビット・モード専用です。 ややこしいことに、QY8 には A が付かないのですが QB8 の仲間なので、この ADC10 モジュールを内蔵しています。
続きを読む "HC08マイコンの使い方QY4A編 -
《45》QY4A内蔵A-D変換器(2)" »
A-D変換器の活用例として、簡易電圧計を作ります。 基準電圧には内蔵バンド・ギャップ電圧を利用しました。 この作品は表示方法が少し変わっていて、たとえば 9.58V のときは次のように表示します。
9 → .→ 5 → 8 →(消灯)→ 9 → .→ 5 → 8 →(消灯)→ 繰り返し
0.00V , 9.58V , 18.95V を順に表示する動画
続きを読む "HC08マイコンの使い方QY4A編 -
《46》A-D変換器活用例・7セグLED電圧計(1)" »
テスト・プログラムを作った後、前回 動画で紹介した 7セグLED簡易電圧計のプログラムを作ります。
7セグLED簡易電圧計の回路図 (再掲)
続きを読む "HC08マイコンの使い方QY4A編 -
《47》A-D変換器活用例・7セグLED電圧計(2)" »
HC08ミニマイコン扇風機の A-D変換器の使われ方を説明したあと、同じハードウェアでA-D変換器と入出力ポートだけを使った比較的シンプルなプログラムを紹介します。
HC08ミニマイコン扇風機にテスト・プログラムを書き込む実験のようす
書籍の第3部で製作する USB-HC08デバッグ・ツールを使用した
続きを読む "HC08マイコンの使い方QY4A編 -
《48》【書籍】A-D変換器と入出力ポートの利用" »
A-D変換器をマスタしたところで、抵抗分圧式リモコンの製作に取りかかりましょう。 マイコン・カー本体(第41回 参照) はすでに抵抗分圧式リモコン対応になっているので、今まで使ってきたものをそのまま使うことができます。
動作確認をしているようす (クリックで拡大)
マイコン・カー本体を浮かせておくと作業性が良い
続きを読む "HC08マイコンの使い方QY4A編 -
《49》【製作】抵抗分圧式リモコン(1)" »
マイコンのピンに来ている電圧を確認します。 抵抗分圧式リモコンのスイッチを押している間だけ動くプログラムを作ります。 そして、停止スイッチを押すまで動き続けるプログラムを作り始めます。
A-D入力の電圧を確認しているようす(クリックで拡大)
ジャンパ JP1 の 1~2番ピンをショートさせておく
続きを読む "HC08マイコンの使い方QY4A編 -
《50》【製作】抵抗分圧式リモコン(2)" »
試しに作った 2番目のプログラムが期待通りに動かない理由を説明し、正しく動くプログラムを作ります。 先押し優先のプログラムを二つ紹介します。 前回と今回で作ったプログラムをユーザ・モード・モニタ入りではない普通の QY4A に移植します。
HC08スタータ・ボード を USB-HC08デバッグ・ツールとして使うこともできる
(第21回 を参照)
続きを読む "HC08マイコンの使い方QY4A編 -
《51》【製作】抵抗分圧式リモコン(3)" »
抵抗分圧式リモコンの抵抗値をどのようにして決めたかを説明し、その後で応用例について少し触れます。 今回は補足なので、ざっと眺めて興味のあるところだけお読みいただければ結構です。
◆ 抵抗分圧の考え方
抵抗分圧については、オームの法則を理解していれば自明のことなので、とくに説明は行っていませんでした。 しかし確認の意味もこめて、ちょっとおさらいをしておきましょう。
続きを読む "HC08マイコンの使い方QY4A編 -
《52》【製作】抵抗分圧式リモコン(4)" »
マイコン自体の初期設定を行う コンフィギュレーション・レジスタ 全体の説明をします。 そしてリセット・ピン(RST)機能の使い方を具体的に説明し、HC08スタータ・ボードを使った動作確認を行います。 それ以外の LVI,COP,OSC,IRQ,KBI などは回を改めて取り上げます。
マイコンのブロック図 (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《53》コンフィギュレーションとリセット(RST)" »
今回と次回で、低電圧インヒビット(LVI) の解説を行います。 ブレッド・ボードで簡単な可変電源を組んで、LVI モジュールの効果を確認します。
簡単な可変電源を使った LVI 実験のようす (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《54》低電圧インヒビット(LVI)(1)" »
前回からの続きで低電圧インヒビット(LVI) の解説を行います。 ブレッド・ボードで組んだ簡易可変電源を使って LVI モジュールの効果を確認します。
電流を測定するようす (クリックで拡大)
テスト棒の極性(赤・黒)に注意
続きを読む "HC08マイコンの使い方QY4A編 -
《55》低電圧インヒビット(LVI)(2)" »
コンピュータ動作保証(COP)モジュールは、プログラムの暴走を検知してリセットを掛け、正常な動作に復帰させる仕組みを提供します。 一般にはウォッチ・ドッグ・タイマ(WDT : 番犬タイマの意味)と呼ばれることが多いです。 COP(WDT)の構造はわりと単純であり、効果的に使うためにはユーザの責任で正しく運用する必要があります。
マイコンのブロック図 (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《56》コンピュータ動作保証(COP)(1)" »
コンピュータ動作保証(COP) モジュール解説の続きです(一般にはウォッチ・ドッグ・タイマWDT と呼ばれる)。 また、COP とは直接関係ありませんが RSTピンが出力方向に機能するようすを実験で確認します。
◆ COPを使ってみる(続き) これまでの連載で出てきたプログラムを調べ、COPの使用状況を表にしたものを示します(再掲載)。
続きを読む "HC08マイコンの使い方QY4A編 -
《57》コンピュータ動作保証(COP)(2)" »
発振器(OSC)モジュールは、CPUクロックや各種のクロックを生成します。 マイコン内部のそれぞれの部分は、これらのクロックに従って動作します。 発振器モジュールは、マイコン内外の四つのクロック源から任意のものを選択し、安全に切り替える機能をもちます。

マイコンのブロック図 (クリックで拡大)
図ではクロック・ジェネレータと表記されている
続きを読む "HC08マイコンの使い方QY4A編 -
《58》発振器(OSC)(1)" »
前回に引き続き、発振器モジュールの使い方を解説します。 今回と次回は実験が中心になります。

発振器の周波数を確認しているようす(クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《59》発振器(OSC)(2)" »
発振器モジュールの最終回です。 RC発振器と XTAL発振器を動かしてみます。

発振器の実験に使う部品の例 (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《60》発振器(OSC)(3)" »
今回は予定を変更して、以前から先送りにしていた コンディション・コード・レジスタ(CCR) について説明します。
HC08マイコンの CPUレジスタの図
アキュムレータ(A) , インデックス・レジスタ(H:X) ,
プログラム・カウンタ(PC) は 第12回 で説明済み
続きを読む "HC08マイコンの使い方QY4A編 -
《61》プログラムの分岐と CCR(1)" »
コンディション・コード・レジスタ(CCR)に含まれる各フラグの働きについて、CodeWarrior の VisualizationTool を利用した実験によって確認します。
CodeWorrior 無償版でも使える VisualizationTool を利用 (クリックで拡大)
左側のツマミを変数 var1 に、右側のツマミを変数 var2 に割り当てている。 LED は PTA1 に連動させた。
続きを読む "HC08マイコンの使い方QY4A編 -
《62》プログラムの分岐と CCR(2)" »
CCR に含まれる各フラグの働きを CodeWarrior の VisualizationTool を利用した実験で確認しています。 前回 のプログラムを利用します。
#include <hidef.h>
#include "derivative.h"
unsigned char var1, var2;
void main( void ){
CONFIG1 = 0x01;
PTA_PTA1 = 0;
DDRA_DDRA1 = 1;
for( ; ; ){
if ( var1 == var2 ){
PTA_PTA1 = 1;
} else {
PTA_PTA1 = 0;
}
}
}
続きを読む "HC08マイコンの使い方QY4A編 -
《63》プログラムの分岐と CCR(3)" »
N フラグと V フラグ(続き)の使われ方を見たあと、H フラグと 10進補正 について説明します(図だけ先に示す)。
H フラグと 10進補正の実験の様子 (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《64》プログラムの分岐と CCR(4)" »
各種の有料・無料 CodeWarrior の説明をしたあと、重要な補足情報などを記載します。
筆者の所有する古い CodeWarrior for MacOS & Windows のパッケージ
続きを読む "HC08マイコンの使い方QY4A編 -
《65》製品版CodeWarriorの購入情報" »
前回 はいろいろな CodeWarrior を紹介しました。 今回はその中で出てきた Bean (ビーン) というものについて、簡単な実験を通して学習します。 マイコンの Hello,World!(*1) とも言われる LED チカチカ をタイマ割り込みを利用して、しかも自動生成によってプログラムしてみます。
前回は有料の CodeWarrior を紹介しましたが、今回以降も 無料版 (Special Edition) を使っていきますので、ご安心ください。
プロセッサ・エキスパートを使用したときの CodeWarrior 起動画面(クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《66》初めてのBeanでLEDチカチカ" »
今回は久しぶりの製作記事です。 最初はシリアル式リモコンは割り込みとタイマ・モジュールの解説の後に予定していましたが、あまり延々と説明ばかり続いてもつまらないので順番を変えて 「とりあえず作って動かす」 作戦に出ることにしました。
ちょうど 前回 は Bean を使った実験を行って 「細かいことまで知らなくてもとりあえず動かせる」 ということを体験しましたから、流れとしても無理がなくてよいかもしれません。
続きを読む "HC08マイコンの使い方QY4A編 -
《67》【製作】シリアル式リモコン(1)" »
前回 作ったシリアル式リモコンに搭載したマイコンと、マイコン・カー本体のマイコンにそれぞれプログラムを書き込んで遊べるようにします。 リモコンのプログラムを解説します。 理解を深めるためにシリアル通信の信号波形を示します。
続きを読む "HC08マイコンの使い方QY4A編 -
《68》【製作】シリアル式リモコン(2)" »
前回 のリモコン側プログラムに続き、マイコン・カー本体側のプログラムを解説します。 その後、ユーザ・モード・モニタ入りではない QY4A マイコンを使う場合の手順を説明します。
ユーザ・モード・モニタ入りではない QY4A マイコンの使用例
固有のトリム値を鉛筆でメモ書きしている (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《69》【製作】シリアル式リモコン(3)" »
シミュレータを使ってスタック・ポインタ(SP) の動きを確認します。 最初はアセンブリ言語を使います。
続きを読む "HC08マイコンの使い方QY4A編 -
《71》スタック・ポインタとスタック領域(2)" »
シミュレータを使ってスタック・ポインタ(SP) の動きを確認します。 C言語の変数の性質についていくつか確認し、それらがどこに配置されるかを観察します。
続きを読む "HC08マイコンの使い方QY4A編 -
《72》スタック・ポインタとスタック領域(3)" »
ほとんどのマイコンに備わっている大切な機能のひとつ、割り込みについて学習します。
テレビの生番組に “割り込む” 地震速報
続きを読む "HC08マイコンの使い方QY4A編 -
《73》割り込みの理解" »
外部割り込み(IRQ) は、HC08マイコンの IRQ ピンに外部から信号を与えて割り込みを発生させる機能です。 これはマスク可能な(IRQ機能を有効にしておいても禁止できる)割り込みです。
マイコンのブロック図 (クリックで拡大)
図ではシングル割り込みモジュールと表記されている
続きを読む "HC08マイコンの使い方QY4A編 -
《74》外部割り込み(IRQ)(1)" »
HC08スタータ・ボード・キットを使用して、割り込みを使ったプログラムの書き方を説明します。 今回と次回で アセンブリ言語、C言語(2通り)、そして ユーザ・モード・モニタ入りマイコン用 C言語のサンプル・プログラムをひとつひとつ紹介していきます。
ほかの割り込み要因を使ったプログラムを作る際にも参考にしてください。
外部割り込み(IRQ) の実験のようす
PTA2/ IRQ ピンが接続されている JP3 の 2番ピンを GND に接触させる
続きを読む "HC08マイコンの使い方QY4A編 -
《75》外部割り込み(IRQ)(2)" »
HC08スタータ・ボード・キットを使用して、割り込みを使ったプログラムの書き方を説明します。 今回は
C言語(2通り)と
ユーザ・モード・モニタ入りマイコン用 C言語のサンプル・プログラムを紹介します。
ほかの割り込み要因を使ったプログラムを作る際にも参考にしてください。
外部割り込み(IRQ) 動作確認プログラムのフローチャート(再掲)
続きを読む "HC08マイコンの使い方QY4A編 -
《76》外部割り込み(IRQ)(3)" »
キーボード割り込みモジュール(KBI)は、個別にマスク可能な6本のキーボード入力ピン(KBI0~KBI5) による 一つの割り込み機能を提供します。 KBI の各ピンは、ほかの機能ピンと共用です(IRQ外部割り込み使用時は KBI2 は使用不可)。
今回はキーボード割り込みの基本的な説明を行い、次回 HC08スタータ・ボード・キットを使った簡単な実験を行います。
よくある応用例 「キー・マトリクス・スイッチ」 は低電力モード解説の後で取り上げる予定です。
マイコンのブロック図 (クリックで拡大)
続きを読む "HC08マイコンの使い方QY4A編 -
《77》 キーボード割り込み(KBI)(1)" »