C言語によるPICプログラミング入門

[表紙]C言語によるPICプログラミング入門

紙版発売

B5変形判/440ページ/CD1枚

定価2,948円(本体2,680円+税10%)

ISBN 4-7741-1592-4

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

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

書籍の概要

この本の概要

C言語の基礎からPICへの応用まで,C言語を駆使してのPICプログラム構築技法を徹底的に解説。PICを手軽に,そして,さらに高度に使ってみたい方にお勧めの1冊です。

こんな方におすすめ

  • 初級エンジニアの方
  • 電子工学系の学生
  • PICプログラムをC言語で作成したいと考えている方

目次

第1章 C言語とは

  • 1-1 プログラムとは
    • 1-1-1 コンピュータの構成
    • 1-1-2 プログラムと命令
  • 1-2 2進数と16進数
  • 1-3 C言語とは
    • 1-3-1 アセンブリ言語から
    • 1-3-2 C言語の歴史
    • 1-3-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
    • 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のインストール
    • 3-3-1 PCMのインストール
    • 3-3-2 MPLABとの統合
  • 3-4 PCMの使い方
    • 3-4-1 C言語でのプログラム作成の流れ
    • 3-4-2 プロジェクト作成
    • 3-4-3 ソースファイルの作成
    • 3-4-4 コンパイル
  • 3-5 デバッグ方法
    • 3-5-1 MPLABによるデバッグ
    • 3-5-2 標準入出力関数によるデバッグ
  • 3-6 PICへの書き込み
    • 3-6-1 PIC START Plusの場合
    • 3-6-2 PICプログラマ Ver3の場合

第4章 演習用ハードウェア

  • 4-1 演習用PIC汎用ユニットA
    • 4-1-1 概要
    • 4-1-2 機能仕様と回路
    • 4-1-3 インターフェース仕様
    • 4-1-4 使用パーツ
    • 4-1-5 組み立て方
  • 4-2 演習用PIC汎用ユニットB
    • 4-2-1 概要
    • 4-2-2 機能仕様と回路
    • 4-2-3 インターフェース仕様
    • 4-2-4 液晶表示器の接続
    • 4-2-5 使用パーツ
    • 4-2-6 組み立て

第5章 C言語のプログラムとは

  • 5-1 C言語プログラムの基本構成
    • 5-1-1 プログラムの基本構成
    • 5-1-2 関数と式とデータ
  • 5-2 プログラム書式と記述スタイル
    • 5-2-1 書式の約束
    • 5-2-2 プログラミングスタイル
  • 5-3 main関数

第6章 まず動かしてみよう

  • 6-1 デバイス指定とコンフィギュレーション
    • 6-1-1 デバイス指定と#include
    • 6-1-2 コンフィギュレーションと#fuses
  • 6-2 入出力ピンの制御
    • 6-2-1 PICの入出力ピン
    • 6-2-2 C言語でのプログラミング
  • 6-3 標準入出力関数の使い方
    • 6-3-1 RS232Cを使えるようにする
    • 6-3-2 printf関数

第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 バンクと変数の配置

第8章 プログラム構造とフロー制御関数

  • 8-1 3種類の基本構造
  • 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文

第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社独自関数
  • 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 関数の引数と配列

第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章 組み込み関数の使い方

  • 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 割り込み処理
    • 14-5-1 割り込みの概要
    • 14-5-2 割り込み要因
    • 14-5-3 割り込み用プリプロセッサ
    • 14-5-4 割り込み処理のプログラミング
    • 14-5-5 使用例1
    • 14-5-6 レジスタの退避と復旧
    • 14-5-7 使用例2
    • 14-5-8 使用例3
  • 14-6 タイマ0モジュールの使い方
    • 14-6-1 タイマ0の概要
    • 14-6-2 タイマ0用組み込み関数
    • 14-6-3 インターバルタイマとしての使用例
    • 14-6-4 カウンタとしての使用例
  • 14-7 タイマ1モジュールの使い方
    • 14-7-1 タイマ1の概要
    • 14-7-2 タイマ1用組み込み関数
    • 14-7-3 割り込みによるインターバルタイマ例
  • 14-8 A/D変換モジュールの使い方
    • 14-8-1 A/D変換モジュールの概要
    • 14-8-2 A/D変換用組み込み関数
    • 14-8-3 実際の使用例1
    • 14-8-4 実際の使用例2
  • 14-9 USARTモジュールの使い方
    • 14-9-1 USARTの概要
    • 14-9-2 USART用組み込み関数
    • 14-9-3 USARTの使用例(受信割り込み例)
  • 14-10 MSSPモジュールの使い方(SPI通信)
    • 14-10-1 SPI通信の概要
    • 14-10-2 SPI用組み込み関数
    • 14-10-3 SPI通信の例
  • 14-11 MSSPの使い方(I2C通信)
    • 14-11-1 I2C通信の概要
    • 14-11-2 I2C通信用組み込み関数
    • 14-11-3 I2C通信の例1(外付けEEPROM)
    • 14-11-4 I2C通信の例2(PIC間通信)
  • 14-12 CCPモジュールの使い方
    • 14-12-1 キャプチャモード
    • 14-12-2 コンペアモード
    • 14-12-3 PWMモード
    • 14-12-4 CCPモジュール用組み込み関数
    • 14-12-5 キャプチャモードの使用例
    • 14-12-6 コンペアモードの使用例
    • 14-12-7 PWMモードの使用例
  • 14-13 内蔵EEPROMの使い方
    • 14-13-1 内蔵EEPROMの概要
    • 14-13-2 内蔵EEPROM用組み込み関数
    • 14-13-3 使用例
  • 14-14 スリープモードとウェイクアップ
    • 14-14-1 スリープモード
    • 14-14-2 ウェイクアップ
    • 14-14-3 ウェイクアップの要因識別
    • 14-14-4 実際の例

第15章 PIC用リアルタイムOS

  • 15-1 PICROSの概要
    • 15-1-1 特徴と機能
    • 15-1-2 PICROSの構成
    • 15-1-3 タスクと状態遷移
    • 15-1-4 サービス関数
  • 15-2 タスクの作り方
    • 15-2-1 タスク構成例1
    • 15-2-2 タスク構成例2
    • 15-2-3 タスク構成例3
    • 15-2-4 タスク構成例4
    • 15-2-5 タスク構成例5
  • 15-3 PICROS本体
    • 15-3-1 全体構成
    • 15-3-2 TCBの構成
    • 15-3-3 タスクスケジューラの動作
    • 15-3-4 サービス関数の動作
    • 15-3-5 タイマ0の割り込み処理の動作
  • 15-4 PICROSのコンフィギュレーション
    • 15-4-1 コンフィギュレーションファイル(usrconf.h)
    • 15-4-2 タスクディスパッチテーブル(tdt.h)
    • 15-4-3 タスクリンクファイル(tasklink.h)
    • 15-4-4 ユーザー初期化関数(usrini.c)
    • 15-4-5 MPLABプロジェクトの作り方
  • 15-5 実際の使用例
    • 15-5-1 各タスクのプログラム
    • 15-5-2 割り込み処理関数
    • 15-5-3 ユーザー初期化関数
    • 15-5-4 コンフィギュレーション関連ファイル
    • 15-5-5 プロジェクト生成
  • 15-6 デバッグツール
    • 15-6-1 デバッグツールの機能
    • 15-6-2 使い方

著者プロフィール

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

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