電子回路に組み込む頭脳を解体
TRSP No.101 マイコンのしくみと動かし方
山本 秀樹 著
B5判 144ページ
定価1,980円(税込)
JAN9784789849012
2008年1月1日発行
好評発売中!
マイコンは,いまやエレクトロニクス製品に欠かせないデバイスです.思ったように電子機器を動かす…「制御」が可能だからです.予約録画のできるHDDレコーダ,洗濯から乾燥までおまかせの洗濯乾燥器など,インテリジェントなシステムには欠かせません.
本書は,その重要な役割を果たすマイコンのしくみや動かし方を解説します.しくみまで分かって動かせば,より細かな処理が可能になり,間違いの少ないプログラムを書くことができ,トラブルの解決も楽になるでしょう. 他の電子回路と信号をやりとりする入出力ポート,時間を測るタイマ,アナログ信号を扱うA-D変換やPWMなど,マイコンに内蔵されているさまざまな機能の基本回路とプログラムからの制御方法を示します.
目次
電子回路に欠かせない存在になっている半導体デバイス
第1章 マイコンとはどのようなものか
1-1 しくみを理解しよう
1-2 電子機器を機能させる
1-3 身近にあるマイコン
1-4 機能や目的に応じて使い分ける
1-5 他の回路との接続
給湯ポットを例にして…
第2章 電子機器の中心的な役割を果たすマイコン
2-1 電動給湯ポットの動作を考えてみよう
2-2 給湯ポットの機能を実現するには
2-3 沸騰/保温の制御と温度の表示
2-4 給湯ロックの解除と再ロック
2-5 一定時間が経過すると自動で給湯ロックする
2-6 レバー操作でお湯を出す
2-7 実際の保温動作にはもう一工夫ある
マイコンのハードウェアとプログラムの関係
第3章 マイコンはプログラムの指示に従って動く
3-1 プログラムとはCPUに送るデータ列
3-2 CPU/メモリ/周辺装置の連携プレー
3-3 CPUがメモリのデータを読み書きするしくみ
3-4 CPUが外部装置を制御するしくみ
LEDの点灯/消灯などを制御するしくみ
第4章 外部の機器を0N/0FF制御する出力ポート
4-1 マイコン内部の切り替えスイッチをON/0FFする
4-2 出力ポートはCPUでON/0FF制御する
4-3 ポートの制御はレジスタを利用して間接的に行う
4-4 レジスタとは
4-5 出力ポートとレジスタの関係
4-6 電動給湯ポットのロック解除LEDを点灯する
4-7 7セグメントLEDとの接続
4-8 使用する端子の数を減らす工夫
4-9 7セグメントLEDに給湯ポットの温度を表示する
スイッチなどからの入力によって動作を変えるしくみ
第5章 外部からの信号を受け付ける入力ポート
5-1 外部からの信号をCPUで扱える形にする
5-2 入力ポート・レジスタを利用する
5-3 入力ポートの電気的特性
5-4 給湯ロック解除スイッチを読み取る
5-5 入出力を兼ねる入出力ポートの使い方
5-6 入出力を切り替えながら使う例
5-8 入出力ポートを出力ポートとして使う
5-9 入出力ポートの出力回路…3ステート・バッファ
5-10 入出力ポートの制御方法
5-11 実際の入出力ポートのハードウェア
5-12 給湯ポットで入出力ポートのハードウェア
時間の経過によって動作を切り替えるためのしくみ
第6章 動作の途中に一定の待ち時間を作れるタイマ
6-1 時間を計るためのいくつかの方法
6-2 マイコンで一定の待ち時間を作る方法
6-3 一定時間ごとにレジスタの値を増やす/減らす
6-4 タイマの使い方
6-5 タイマからCPUへの通知…割り込み
6-6 給湯ポットの自動ロック機能を実現する
アナログ信号をCPUで扱えるようにしてくれる
第7章 アナログ信号をマイコンに取り込むA-D変換
7-1 A-D変換の役割
7-2 A-D変換のしくみ
7-3 プログラムから見たA-D変換
7-4 センサ信号をA-D変換するまで
アクチュエータをアナログ的に制御する
第8章 1と0の中間を出力するPWM出力
8-1 PWM出力とは
8-2 タイマ機能でPWM出力を得る
8-3 PWM出力の使い方
8-4 電動給湯ポットの給湯量の制御
給湯ポットの機能を実現してみよう
第9章 電動給湯ポットのプログラム例
9-1 使用したマイコン
9-2 Part1:沸騰/保温/温度表示機能
9-3 Part2:給湯機能
マイコンを理解するには動かしてみるのがベスト
第10章 実際にマイコンを動かしてみよう
10-1 使用するハードウェア
10-2 マイコンの技術資料
10-3 R8C/15マイコンの内部構成と実験環境の準備
10-4 動作確認プログラムを用意する
10-5 ビルドとダウンロード
10-6 プログラムを実行する
入出力ポートのプログラムによる設定
第11章 マイコンでHigh/Lowの信号を入出力してみよう!
11-1 プログラミング言語のいろいろ
11-2 LED点灯プログラムの処理内容
11-3 プログラムとマイコンのふるまいの関係
11-4 スイッチのON/0FF状態でLEDを点滅させる
時間待ちループの作りかたと実行時間の計算方法
第12章 二つのLEDを交互に点滅させてみよう!
12-1 プログラムの作成
12-2 デバッガを使って点滅プログラムを確認
12-3 時間待ちループの実行時間の計算方法
12-4 クロックを切り替える方法
スタックのふるまいとレジスタの退避・復旧のしくみ
第13章 サブルーチンの呼び出しと復帰
13-2 スタック・ポインタ
13-3 サブルーチンを使ったプログラムの実際
13-4 スタックを使ったレジスタの退避と復旧124
マイコンに効率良く仕事をさせるしくみ
第14章 割り込み処理の基本をマスタしよう
14-1 割り込みとは何か
14-2 割り込みを使わないと損
14-3 割り込みを使って動作を改良した例
14-4 割り込みを利用するための初期設定
14-5 割り込みの処理手順
14-6 レジスタの退避
14-7 割り込みを受け付けたくないときは
14-8 複数の割り込みが必要な場合