主にキットで電子工作はいくつもしているけれど、マイコンを自分でプログ
ラミングしたことはない人、パソコンのプログラムは分かるんだけれど、マイコ
ンのプログラムは書いたことがないという人、
マイコンのプログラムというと難しそうと思われていませんか?
アセンブラというと、よく分からないと思われていませんか?
そんなことはありません。本書は気軽にマイコンプログラムを
楽しめるようになるための本です。
電子工作をしていると、このタイミングでパルスが出せればいいんだけど。
この電圧のときには、こういう動作をさせたい。と思うことがよくあります。
そのようなときが、マイコンの出番です。パソコンのプログラムの経験がなく
ても大丈夫です。
またパソコンに簡単なハードウェアをつないで動かしたいときにも、パソコ
ン+マイコンあるいは、マイコン単体の形にすると市販品を組み合わせるより
も、安価に小型に仕上げることが出来ます。パソコンでプログラムを書いた経
験があれば、マイコンだって、難しいものではありません。またマイコンを使
う場合には、アナログ電子回路の知識は、ほとんど必要はないのです。
本書では、MicrochipのPICマイコン (PIC16F877) を使って、PICのアセンブ
ラについて、具体的な応用例をとりあげながら紹介していきます。
下記で各章の紹介をします。各章の見本ページは、CQ出版の書籍紹介ペー
ジ(上記の写真をクリックするとリンクされています)から見ることが出来ま
す。
P.S. 本書の雰囲気を的確に表現されているのが、 シリコンハウス共立さんのシリコンブックレビュー掲載の紹介です。
簡単にワンチップマイコンについて紹介し、PICマイコンとパソコンの違いな どを記しています。
まずPICマイコンがどのようにして動くのかを紹介し、 アセンブラの命令について解説しています。 またマイコンのプログラムでよく使う、2進数、16進数についても解説しています。
2-1 PICの中はどうなっている? 2-2 プログラムはどうやって動くか? 2-3 アセンブリ言語と機械語 2-4 アドレスとラベル 2-5 数字の書き方(2進数,10進数,16進数) 2-6 2進数の加算と減算 2-7 2の補数による負の数値の表現 2-8 論理演算 2-9 ビット・シフト 2-10 PIC16F877A のレジスタ・ファイル 2-11 PICの扱える数字 2-12 STATUSレジスタ 2-13 PIC16F877Aの命令一覧 2-14 命令を分類してみる 2-15 PICプログラミングの基礎 2-16 バンク切り替え 2-17 レジスタ・ファイルの間接アクセス 2-18 アセンブリ言語のルール 2-19 知っていると便利なMPASMの機能 2-20 ラベルと汎用レジスタの使い方 Column…1 n進数の変換 Column…2 レジスタ・ファイルとメモリ Column…3 equとdefineの違い 用語解説
マイコンの命令の解説を読んだだけでは、どのような動作をするか理解しに くいところもあると思います。そこでプログラムを書いて、シミュレー タを使って動作の様子を観察します。 シミュレータを使ってレジスタの変化を見るとマイコンの内部の動作がよくわ かります。またシミュレータはプログラムのデバッグにも役に立ちます。
3-1 シミュレータを使ってみる 3-2 アセンブラに慣れよう 3-3 加減算と論理演算をシミュレータで実行してみる 3-4 比較-基本は引き算-,条件分岐にはビット・テスト 3-5 繰り返し 3-6 サブルーチンの考え方 3-7 条件分岐の仕方(PCLレジスタの計算) 3-8 テーブル・ルックアップ(あらかじめ用意した表の読み出し) 3-9 計算も分解できる 3-10 たくさん覚える-バンク切り替えをする- Column…1 プログラムの最後で無限ループにしているのは Column…2 サブルーチンとスタック Column…3 ファイル・セレクト・レジスタとC言語のポインタ Column…4 2進数の乗算 用語解説
マイコンのプログラムで、もっとも重要になるのがデジタル入出力です。 希望するタイミングでパルスを出せるようになれば、マイコンプログラムの半 分以上は理解できたといっても良いでしょう。 本章ではデジタル入出力とPICマイコンの動作する速度について解説し、 希望するパルスを作れる方法を記しています。
4-1 PICのハードウェアを知る 4-2 回路を組もう 4-3 I/Oポートを使いこなす 4-4 スイッチを読む Column…1 同時って?-人の感覚の特性- Column…2 ダイナミック点灯とスイッチのマトリクス接続 用語解説
デジタル入出力が使えるようになると、今度はアナログ信号を扱いたくなり ます。本章では、まず A/D コンバータの使い方を紹介します。 つぎにデジタル入出力を使ってソフトウェアで処理するのが面倒な、シリアル 通信について内蔵モジュールを利用する方法を紹介します。 さらに、マイコンに他のICを接続する例としてキャラクタ液晶をとりあげます。 マイコンから文字が表示できるようになることで工作の幅が広がります。 また、信号のタイミングをとる別の方法としてタイマの使い方と、割り込みの 使い方を紹介します。
5-1 A-Dコンバータを使いこなす 5-2 USARTモジュールを使いこなそう 5-3 キャラクタ液晶に文字を表示しよう 5-4 タイマ0の使い方 5-5 割り込みを使いこなそう 用語解説
本章ではPICマイコンから、モータを動かすための方法を紹介します。まず 最近のホビーロボットで良く使われるようになっている、ラジコンサーボの使 い方を紹介します。つぎに、DCモータの回転数制御を紹介します。
6-1 ラジコン・サーボを動かしてみよう 6-2 モータを回そう Column…1 PWM周波数 Column…2 モータの制御 用語解説
本章では、本書ではとり上げられなかったPICマイコン内蔵モジュールなどを
使いこなすためのヒントとして、PICマイコンのデータ・シートの読み方を紹
介します。
データ・シートというのは、半導体などのメーカが発行しているデバイスの使
い方を書いた文書です。データ・シートを読みこなせるようになれば、
どのようなデバイスでも扱えるようになるでしょう。
また、スリープ、ウォッチ・ドッグ・タイマの使い方や、ヘッダ・ファイル、
アプリケーション・ノートについても、取り上げます。さらに PIC16F877 以
外のPICマイコンを使う方法についても紹介します。
7-1 データ・シートを読もう 7-2 データ・シートを読んでみる(データ・シートの構成) 7-3 データ・シートを読んでみる(内蔵EEPROMの使い方) 7-4 スリープ 7-5 ウォッチ・ドッグ・タイマ 7-6 アセンブラについてもっと知る 7-7 ヘッダ・ファイルを読む 7-8 アプリケーション・ノートの使い方 7-9 ほかの14ビット・コアPICマイコンを使うには 7-10 デバッグのこつ 7-11 本書の終わりに Column…1 どっちが速い? 用語解説