電子工作のためのPIC18本格活用ガイド

[表紙]電子工作のためのPIC18本格活用ガイド

紙版発売

B5変形判/552ページ/CD1枚,プリント基板1枚

定価3,718円(本体3,380円+税10%)

ISBN 4-7741-2017-0

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

PICは,プロユースにも趣味の電子工作にも,高く評価されているワンチップマイコンです。本書では,さらに使いやすくなったPIC18Fxxxxシリーズのアーキテクチャから,機能,開発環境,プログラミング,製作例までを詳しく解説。開発環境ソフトMPLABや,本書で扱ったプログラムなどを収めたCD-ROM付き。さらに,PICのプログラミング演習に使える汎用ユニットのプリント基板も付けました。PICを始めたい方にも極めたい方にも必携の1冊です。

こんな方におすすめ

  • 新しいPIC18Fxxxxシリーズを使ってみたい方
  • 趣味で電子工作をしている方
  • 仕事でPICを扱う方

目次

第1章 PICの概要

第2章 PICの内部構成

  • 2-1 全体構成
    • 2-1-1 ハーバードアーキテクチャ
    • 2-1-2 PICのアーキテクチャと動作
    • 2-1-3 パイプライン構成とクロック
  • 2-2 命令構成
  • 2-3 メモリ構成
    • 2-3-1 プログラムメモリの構造
    • 2-3-2 テーブルアクセス機能
    • 2-3-3 データメモリの構造
    • 2-3-4 SFR(Special Function Register)
    • 2-3-5 スタックメモリ
    • 2-3-6 高速レジスタスタック
  • 2-4 割り込み
    • 2-4-1 割り込み処理の流れ
    • 2-4-2 PIC18Fシリーズの割り込み
    • 2-4-3 レジスタの退避,復旧
    • 2-4-4 割り込み制御レジスタ

第3章 PICの使い方

  • 3-1 電源
    • 3-1-1 PICの電源仕様
    • 3-1-2 3端子レギュレータの使い方
    • 3-1-3 ブラウンアウトリセット(電源電圧降下検出リセット)
    • 3-1-4 パスコン
  • 3-2 リセット
    • 3-2-1 リセットの種別
    • 3-2-2 電源とリセット
  • 3-3 クロック回路
    • 3-3-1 発振モード
    • 3-3-2 クロックのモード設定
    • 3-3-3 水晶/セラミック発振モード(LP,XT,HSモード)
    • 3-3-4 PLL発振モード(HSPLLモード)
    • 3-3-5 外部発振ユニットを使う場合(EC,ECIOモード)
    • 3-3-6 RC発振モードの回路
    • 3-3-7 内部発振ブロックと2速度スタートアップ
  • 3-4 正常動作の監視
    • 3-4-1 低電圧検出モジュール
    • 3-4-2 ウォッチドッグタイマ
    • 3-4-3 クロックモニタとバックアップ
  • 3-5 入出力ピン
    • 3-5-1 標準入出力内部構成
    • 3-5-2 入出力動作
    • 3-5-3 入出力特性(DC特性)
    • 3-5-4 各ポートの詳細構成
  • 3-6 コンフィギュレーションビット
    • 3-6-1 コンフィギュレーションレジスタの構成
    • 3-6-2 IDコードの使い方
    • 3-6-3 コンフィギュレーションビット
    • 3-6-4 アセンブラ言語での指定方法
    • 3-6-5 デバイスID領域の使い方

第4章 PICの命令体系

  • 4-1 アセンブラ言語
  • 4-2 アセンブラ命令の解説
  • コラム ジャンプ命令の使い分け

第5章 MPLABの使い方

  • 5-1 ソフトウェア開発手順とMPLAB概要
    • 5-1-1 開発環境として必要なもの
    • 5-1-2 MPLABの概要
  • 5-2 入手方法とインストールの仕方
    • 5-2-1 MPLABの入手
    • 5-2-2 インストール
    • 5-2-3 MPLABの起動
  • 5-3 プロジェクトの新規作成
    • 5-3-1 プロジェクトウィザードの使い方
    • 5-3-2 プロジェクトウィザードを使わない場合
  • 5-4 ソースファイルの作成とビルド
    • 5-4-1 ソースファイルの新規作成とエディタの初期設定
    • 5-4-2 ソースファイルの保存と登録
    • 5-4-3 ビルド(アセンブル)
  • 5-5 シミュレーションデバッグ
    • 5-5-1 デバッグ用ツール
    • 5-5-2 デバッグの実際の手順
    • 5-5-3 割り込みのシミュレーション
  • 5-6 PICへの書き込み
    • 5-6-1 PICSTART Plusの場合
    • 5-6-3 MPLAB ICD2の場合
  • 5-7 ICSP
    • 5-7-1 ICSPの接続
    • 5-7-2 PIC側の回路構成
    • 5-7-3 PICSTART Plus用ICSPケーブルの製作
    • 5-7-4 MPLAB ICD2の場合

第6章 アセンブラMPASMの使い方

  • 6-1 MPASMの概要と書式
    • 6-1-1 MPASMの概要
    • 6-1-2 プログラム全体の基本書式
    • 6-1-3 各行の書式
    • 6-1-4 オペランドの記述詳細
    • 6-1-5 標準ヘッダ定義ファイル
    • 6-1-6  数値や文字列の書式
  • 6-2 擬似命令の使い方
    • 6-2-1 擬似命令の種類
    • 6-2-2 基本的な擬似命令の使い方
  • 6-3 マクロ命令
    • 6-3-1 マクロ作成用擬似命令
    • 6-3-2 マクロ命令の使い方
  • 6-4 リロケータブルな開発の仕方
    • 6-4-1 リロケータブルにするメリット
    • 6-4-2 リロケータブル化擬似命令
    • 6-4-3 リロケータブルプログラムの書き方
    • 6-4-4 MPLINKの使い方
    • 6-4-5 MPLIBの使い方

第7章 C言語の使い方

  • 7-1 PIC用Cコンパイラの概要
    • 7-1-1 CCS社Cコンパイラの構成
    • 7-1-2 CCS社Cコンパイラの概要
    • 7-1-3 MPLABと連携した使い方
    • 7-1-4 デバッグ方法
  • 7-2 C言語プログラムの作り方
    • 7-2-1 C言語プログラムの基本構成
    • 7-2-2 プリプロセッサ
    • 7-2-3 データ型の種類と書式
    • 7-2-4 関数と構文
    • 7-2-5 標準関数と組み込み関数

第8章 内蔵モジュールの使い方

  • 8-1 入出力ピンの使い方
    • 8-1-1 入出力モードの設定と入出力
    • 8-1-2 ポートBの使い方
    • 8-1-3 キー入力処理方法
    • 8-1-4 パルス入力と出力
    • 8-1-5 ダイナミック点灯制御
    • 8-1-6 液晶表示器の使い方
    • 8-1-7 C言語による入出力
  • 8-2 タイマ0の使い方
    • 8-2-1 タイマ0の構成
    • 8-2-2 T0CONレジスタ
    • 8-2-3 オーバーフロー割り込み
    • 8-2-4 インターバルタイマとして使う
    • 8-2-5 イベントカウンタとして使う
    • 8-2-6 C言語による使い方
  • 8-3 タイマ1の使い方
    • 8-3-1 タイマ1の構成
    • 8-3-2 タイマ1制御用レジスタT1CON
    • 8-3-3 タイマ1の3種類の入力クロック
    • 8-3-4 タイマ1の割り込み
    • 8-3-5 タイマ1の使用例
    • 8-3-6 C言語による使い方
  • 8-4 タイマ2の使い方
    • 8-4-1 タイマ2の構成
    • 8-4-2 T2CONレジスタ
    • 8-4-3 タイマ2の割り込み
  • 8-5 タイマ3の使い方
    • 8-5-1 タイマ3の構成
    • 8-5-2 タイマ3制御用レジスタT3CON
    • 8-5-3 タイマ3の3種類の入力クロック
    • 8-5-4 タイマ3の割り込み
    • 8-5-5 C言語による使い方
  • 8-6 省電力制御
    • 8-6-1 省電力モードの種類
    • 8-6-2 省電力モードの切り替え方法
    • 8-6-3 各モードの詳細
    • 8-6-4 使用例
  • 8-7 A/D変換入力の使い方
    • 8-7-1 A/D変換回路の構成
    • 8-7-2 A/D変換に必要な時間
    • 8-7-3 計測できる実際の電圧値と精度
    • 8-7-4 A/D変換用制御レジスタ
    • 8-7-5 A/D変換の割り込み
    • 8-7-6 A/D変換のプログラミング
    • 8-7-7 C言語による使い方
  • 8-8 多重割り込みの使い方
  • 8-9 USARTの使い方
    • 8-9-1 USART制御レジスタ
    • 8-9-2 非同期式(調歩同期式)での動作
    • 8-9-3 同期式での動作
    • 8-9-4 アドレスビットの使い方
    • 8-9-5 アセンブラでの使用例
    • 8-9-6 C言語での使い方
  • 8-10 CCPの使い方
    • 8-10-1 制御用レジスタ CCPxCON
    • 8-10-2 CCPの割り込み
    • 8-10-3 キャプチャモード
    • 8-10-4 コンペアモード
    • 8-10-5 PWMモード
    • 8-10-6 モータのPWM制御の実際
    • 8-10-7 C言語によるCCPの使い方
  • 8-11 MSSPの使い方(SPIモード)
    • 8-11-1 SPI通信のしくみと内部構成
    • 8-11-2 MSSP制御用レジスタの内容(SPIモード)
    • 8-11-3 MSSPの割り込み
    • 8-11-4 通信タイミング
    • 8-11-5 SPI通信のプログラミング
    • 8-11-6 C言語でのSPI通信の使い方
  • 8-12 I2C(Inter-Integrated Circuit)通信の使い方
    • 8-12-1 I2C通信のしくみ
    • 8-12-2 SSP(I2Cモードのとき)の構成
    • 8-12-3 制御用レジスタ
    • 8-12-4 割り込み
    • 8-12-5 アドレス検出手順
    • 8-12-6 スレーブモードでのMSSPの使い方
    • 8-12-7 マスタモードでのMSSPの使い方
    • 8-12-8 マスタモードのプログラム例
    • 8-12-9 I2C通信によるPIC間通信の例
    • 8-12-10 C言語によるI2Cのプログラミング
  • 8-13 EEPROMデータメモリの使い方
    • 8-13-1 EEPROMデータメモリのアーキテクチャ
    • 8-13-2 制御レジスタの内容
    • 8-13-3 EEPROMデータメモリの読み書きの手順
    • 8-13-4 EEPROMの割り込み
    • 8-13-5 EEPROMの使用例
    • 8-13-6 C言語によるEEPROMのアクセス方法

第9章 PICを活用した製作例

  • 9-1 低消費電力時計
    • 9-1-1 低消費電力化
    • 9-1-2 時計の回路構成
    • 9-1-3 組み立て
    • 9-1-4 プログラム
  • 9-2 AC電力コントローラ
    • 9-2-1 AC電力の制御方法
    • 9-2-2 ゼロクロス点の検出
    • 9-2-3 回路
    • 9-2-4 部品と組み立て
    • 9-2-5 プログラム
  • 9-3 無線操縦ラジコン車
    • 9-3-1 ラジコン車の構成
    • 9-3-2 車体の組み立て
    • 9-3-3 無線送受信モジュール
    • 9-3-4 受信ユニットの製作
    • 9-3-5 受信ユニットのプログラム
  • 9-4 ラジコン送信機(ジョイスティック)
    • 9-4-1 ラジコン送信機の構成
    • 9-4-2 ジョイスティック
    • 9-4-3 無線通信フォーマット
    • 9-4-4 ラジコン送信機の製作
    • 9-4-5 送信ユニットのプログラム
  • 9-5 ラジコン送信機(加速度センサ)
    • 9-5-1 ラジコン送信機の構成
    • 9-5-2 加速度センサ
    • 9-5-3 ラジコン送信機の製作
    • 9-5-4 送信ユニットのプログラム

付録 汎用ユニット基板の作り方

  • 部品の入手先
  • 付録CD-ROMについて
  • 索引

著者プロフィール

後閑哲也(ごかんてつや)

1947年生まれ。子供のころに電子工作に魅了され,大学,仕事とすべて電子の世界を歩む。この子供のころからの電子工作の趣味の世界と,仕事としているコンピュータの世界を融合した遊びの世界をホームページや書籍で紹介し続けている。