「改訂版 C言語によるPICプログラミング入門」

 技術評論社    ISBN 978-4-7741-3778-0
 全国書店にて3月3日発売開始です。
    \2,980+税 = 3,129円
 後閑 哲也著



  C言語によるPICプログラミング入門の改定版です。
  C言語の入門者用です。

 改定にあたり、PIC16ファミリだけだったのをPIC18ファミリも加えました。
CCS社のCコンパイラであるPCMとPCHを使ってPICの内蔵モジュールの
実際の使用例を中心にして詳細にC言語の使い方を解説しました。
C言語の初心者の方でも、PICマイコンが初めての方でも本書により、PIC
が自由に使えるようになります。

    【 目   次 】

■第1章 C言語とは
 1-1 プログラムとは
  1-1-1 コンピュータの構成
  1-1-2 プログラムと命令
  1-1-3 2進数と16進数
 1-2 C言語とは
  1-2-1 アセンブリ言語から
  1-2-2 C言語の歴史
  1-2-3 C言語の特徴

■第2章 PICの概要
 2-1 PICとは
  2-1-1 PICの概要
  2-1-2 PICのアーキテクチャ概要
  2-1-3 PICのメモリ構成
  2-1-4 命令の構成
  2-1-5 特殊レジスタ
 2-2 プログラム開発環境
  2-2-1 基本環境
  2-2-2 MPLAB IDE
  2-2-3 PICプログラマ

■第3章 PIC用Cコンパイラ
 3-1 PIC用Cコンパイラ
 3-2 CCS社Cコンパイラ
  3-2-1 CCS社Cコンパイラの構成
  3-2-2 CCS社Cコンパイラの概要
  3-2-3 制約事項
 3-3 PCM/PCH のインストール
  3-3-1 PCM/PCHのインストール
  3-3-2 MPLABとの統合
 3-4 PCM/PCHの使い方
  3-4-1 C言語でのプログラム作成の流れ
  3-4-2 プロジェクト作成
  3-4-3 ソースファイルの作成
  3-4-4 コンパイル
 3-5 デバッグ方法
  3-5-1 MPLAB IDEのシミュレータによるデバッグ
  3-5-2 MPLAB ICD2による実機デバッグ
  3-5-3 標準入出力関数によるデバッグ
 3-6 PICへの書き込み
  3-6-1 PICkit2プログラマによる書き込み
  3-6-2 MPLAB ICD2による書き込み

■第4章 演習用ハードウェア
 4-1 演習用PIC汎用ユニット
  4-1-1 概要
  4-1-2 機能仕様と回路
  4-1-3 インタフェース仕様
  4-1-4 外部機器の接続
  4-1-5 使用パーツ
  4-1-6 組み立て方

■第5章 C言語のプログラムとは
 5-1 C言語プログラムの基本構成
  5-1-1 プログラムの基本構成
  5-1-2 関数と式とデータ
 5-2 プログラム書式と記述スタイル
  5-2-1 書式の約束
  5-2-2 プログラミングスタイル
  COLUMN MPLAB IDEのエディタ関連の設定
 5-3 main関数
  COLUMN アセンブリ言語とC言語

■第6章 まず動かしてみよう
 6-1 デバイス指定とコンフィギュレーション
  6-1-1 デバイス指定と#include
  6-1-2 コンフィギュレーションと#fuses
  COLUMN コンフィギュレーションビット
 6-2 入出力ピンの制御
  6-2-1 PICの入出力ピン
  6-2-2 C言語でのプログラミング
  COLUMN PICの入出力ピンの回路構成
 6-3 標準入出力関数の使い方
  6-3-1 RS232Cを使えるようにする
  6-3-2 printf文
  COLUMN パソコン側はハイパーターミナル

■第7章 プリプロセッサ
 7-1 プリプロセッサの分類と一覧
 7-2 記号定義とファイルインクルード
  7-2-1 記号定義プリプロセッサ
  7-2-2 ファイルのインクルード
 7-3 条件付きコンパイル
  7-3-1 #if文の使い方
  7-3-2 #ifdef文の使い方
  7-3-3 #error文の使い方
 7-4 デバイス特有の制御用プリプロセッサ
  7-4-1 ページとプログラムの配置
  7-4-2 #inline と#separate
  7-4-3 バンクと変数の配置
  COLUMN EEPROMデータメモリに初期値を定義する方法

■第8章 プログラム構造とフロー制御関数
 8-1 3種類の基本構造
  COLUMN 中括弧の使い方
 8-2 if文の使い方
  8-2-1 if文の書式
  8-2-2 if 文のネスト
  8-2-3 条件式の記述方法
  8-2-4 複合条件式の記述方法
 8-3 while文とdo while文
  8-3-1 while文
  8-3-2 do while文
 8-4 for文の使い方
 8-5 switch文の使い方
 8-6 break文とcontinue文
  8-6-1 break文
  8-6-2 continue文
  COLUMN 構造化プログラミングとは

■第9章 データ型と演算子
 9-1 データ型の種類と書式
  9-1-1 数値定数の書式
  9-1-2 変数とデータ型
  9-1-3 変数の宣言書式
  9-1-4 文字コードとchar型
  9-1-5 文字型データの書式と文字列
 9-2 演算子の使い方
  9-2-1 算術演算子と自動型変換
  9-2-2 関係演算子と論理演算子
  9-2-3 インクリメント演算子とデクリメント演算子
  9-2-4 ビット演算子とシフト演算子
  9-2-5 その他の演算子
  9-2-6 演算子の優先順位

■第10章 モジュール化と関数
 10-1 プログラムのモジュール化
  10-1-1 構造化プログラミング手法
  10-1-2 よいプログラムとは
 10-2 関数の作り方
  10-2-1 関数の基本書式
  10-2-2 引数と戻り値
  10-2-3 関数のプロトタイプ宣言
 10-3 変数の記憶クラスと有効範囲
  10-3-1 変数の性質と有効範囲(スコープ)
  10-3-2 ローカル変数とグローバル変数
  10-3-3 実際の例

■第11章 標準関数と標準入出力関数
 11-1 標準関数
  11-1-1 標準関数
  11-1-2 CCS社独自関数
  COLUMN メモリ処理関数は高速
 11-2 標準入出力関数
  11-2-1 標準入出力関数の一覧
  11-2-2 putc関数とgetc関数
  11-2-3 printf関数の拡張
  11-2-4 puts関数とgets関数

■第12章 配列とポインタ
 12-1 配列とは
  12-1-1 配列の書式
  12-1-2 配列の使い方
 12-2 文字列の扱い
 12-3 ポインタ
  12-3-1 ポインタ変数
  12-3-2 配列とポインタ
  12-3-3 関数の引数とポインタ
  12-3-4 関数の引数と配列
  COLUMN ポインタのメカニズム

■第13章 構造体と共用体
 13-1 構造体
  13-1-1 構造体の定義と宣言
  13-1-2 構造体メンバーの参照
  13-1-3 ビットフィールド
  13-1-4 構造体の配列
  13-1-5 構造体へのポインタ
 13-2 共用体
  13-2-1 共用体の定義書式
 13-3 列挙型

■第14章 PIC16F/PIC18F共通組み込み関数
 14-1 ディレイ関数
  14-1-1 ディレイ関数の概要
  14-1-2 ディレイ関数の使い方
 14-2 入出力ピンの制御
  14-2-1 入出力モード設定
  14-2-2 入出力ピン制御用組み込み関数
 14-3 ダイナミック点灯制御
  14-3-1 セグメント発光ダイオードの概要
  14-3-2 点灯制御方法
  14-3-3 具体例
 14-4 液晶表示器の制御
  14-4-1 液晶表示器の概要
  14-4-2 インタフェース仕様
  14-4-3 初期化手順
  14-4-4 液晶表示器制御ライブラリ
  14-4-5 ライブラリ使用例
 14-5 内蔵EEPROMの使い方
  14-5-1 内蔵EEPROMの概要
  14-5-2 内蔵EEPROM用組み込み関数
  14-5-3 内蔵EEPROMの使用例
 14-6 USARTモジュールの使い方
  14-6-1 非同期式(調歩同期式)での動作
  14-6-2 USART制御レジスタ
  14-6-3 アドレスビットの使い方
  14-6-4 USART用組み込み関数
  14-6-5 USARTの使用例(受信割り込み例)
 14-7 MSSPモジュールの使い方(SPI 通信)
  14-7-1 SPI通信の概要
  14-7-2 SPI組み込み関数
  14-7-3 SPI通信の例
 14-8 MSSPの使い方(I2C通信)
  14-8-1 I2C通信の概要
  14-8-2 I2C通信用組み込み関数
  14-8-3 I2C通信の例(1)(外付けEEPROM)
  14-8-4 I2C通信の例(2)(PIC 間通信)
 14-9 CCPモジュールの使い方
  14-9-1 制御用レジスタ
  14-9-2 キャプチャモード
  14-9-3 コンペアモード
  14-9-4 単純PWMモード
  14-9-5 ECCPのPWM モード
  14-9-6 CCPモジュール用組み込み関数
  14-9-7 キャプチャモードの使用例
  14-9-8 コンペアモードの使用例
  14-9-9 単純PWMモードの使用例
  14-9-10 ECCPモードのPWMの使用例

■第15章 PIC16Fファミリ専用組み込み関数
 15-1 割り込みコントローラ
  15-1-1 割り込みの概要
  15-1-2 割り込み要因
  15-1-3 割り込み用プリプロセッサ
  15-1-4 割り込み処理のプログラミング
  15-1-5 使用例(1)
  15-1-6 レジスタの退避と復旧
  15-1-7 使用例(2)
  15-1-8 使用例(3)
 15-2 タイマ0モジュールの使い方
  15-2-1 タイマ0の概要
  15-2-2 タイマ0用組み込み関数
  15-2-3 インターバルタイマとしての使用例
 15-3 タイマ1モジュールの使い方
  15-3-1 タイマ1の概要
  15-3-2 タイマ1用組み込み関数
  15-3-3 割り込みによるインターバルタイマ例
 15-4 タイマ2モジュールの使い方
  15-4-1 タイマ2の概要
  15-4-2 タイマ2用組み込み関数
 15-5 A/D変換モジュールの使い方
  15-5-1 A/D変換モジュールの概要
  15-5-2 A/D変換用組み込み関数
  15-5-3 実際の使用例(1)
  15-5-4 実際の使用例(2)
 15-6 コンパレータと電圧リファレンス
  15-6-1 アナログコンパレータの構成
  15-6-2 コンパレータの使い方
  15-6-3 電圧リファレンスの構成
  15-6-4 コンパレータ用組み込み関数
  15-6-5 コンパレータの使用例
 15-7 省電力化と高信頼化
  15-7-1 内部発振ブロック
  15-7-2 2速度スタートアップとフェールセーフクロックモニタ機能
  15-7-3 スリープモードとウェイクアップ
  15-7-4 ウォッチドッグタイマ
  15-7-5 省電力、高信頼化用組み込み関数
  15-7-6 省電力化の使用例

■第16章 PIC18Fファミリ専用組み込み関数
 16-1 PIC18Fファミリの割り込み
  16-1-1 PIC18Fファミリの割り込み概要
  16-1-2 多重割り込み処理
  16-1-3 割り込み用組み込み関数
  16-1-4 割り込みの使用例
  16-1-5 多重割り込みの使用例
 16-2 タイマ
  16-2-1 タイマ0
  16-2-2 タイマ1
  16-2-3 タイマ3
  16-2-4 タイマの使用例
 16-3 A/Dコンバータモジュールの使い方
  16-3-1 概要
  16-3-2 A/Dコンバータ用組み込み関数
  16-3-3 実際の使用例
 16-4 アナログコンパレータと電圧リファレンス
  16-4-1 アナログコンパレータの構成
  16-4-2 電圧リファレンスの構成
  16-4-3 コンパレータ用組み込み関数
  16-4-4 コンパレータの使用例
 16-5 省電力化と高信頼化
  16-5-1 内部発振ブロック
  16-5-2 省電力モード
  16-5-3 2速度スタートアップとフェールセーフクロックモニタ機能
  16-5-4 ウォッチドッグタイマ
  16-5-5 低電圧検出モジュール(LVD)
  16-5-6 省電力、高信頼化用組み込み関数
  16-5-7 省電力化の使用例
 16-6 プログラムメモリのアクセス
  16-6-1 テーブルアクセスの概要
  16-6-2 テーブルリード動作
  16-6-3 テーブルライト動作
  16-6-4 組み込み関数
  16-6-5 プログラムメモリアクセスの使用例

■付録 MPLAB IDEのインストールの仕方