C言語ではじめる PIC24F活用ガイドブック

[表紙]C言語ではじめる PIC24F活用ガイドブック

紙版発売

B5変形判/472ページ

定価3,520円(本体3,200円+税10%)

ISBN 978-4-7741-3247-1

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

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

書籍の概要

この本の概要

PIC24Fシリーズは,PIC16やPIC18から手軽にグレードアップできる,高速・高性能な16ビットマイコンです。

本書では,PIC24Fシリーズの使い方を,製作例を交えて詳しく解説しています。また,純正CコンパイラのMPLAB C30の使い方も詳しく解説。C言語でPICをはじめる方にもお勧めの1冊です。

こんな方におすすめ

  • パワフルな16ビットマイコンを活用したい方
  • PICの開発をC言語で行いたい方
  • MPLAB-C30の使い方を知りたい方

目次

第1章 PIC24Fファミリの概要

  • 16ビットPICマイコンファミリの概要
  • PIC24Fファミリの特徴
  • PIC24Fファミリの製品一覧
  • ピン配置とピン名称
  • 最小構成のPIC24F基板

第2章 PIC24Fファミリのアーキテクチャ

  • 2-1 PIC24Fファミリの全体構成
  • 2-2 コア部の機能とWレジスタアレイ
    • 2-2-1 Wレジスタアレイ
    • 2-2-2 スタックメモリ
    • 2-2-3 ステータスレジスタ(SR)
    • 2-2-4 REPEATループ
    • 2-2-5 乗算と除算
  • 2-3 プログラムメモリ構成
    • 2-3-1 全体の構成
    • 2-3-2 プログラムカウンタによるアクセス
    • 2-3-3 テーブルリードライト命令によるアクセス
    • 2-3-4 PSVによるアクセス
  • 2-4 データメモリ構成とSFR
    • 2-4-1 データメモリ全体構成
    • 2-4-2 特殊機能レジスタ(SFR)
  • 2-5 割り込み
    • 2-5-1 割り込みの動作
    • 2-5-2 PIC24Fファミリの割り込み方式
    • 2-5-3 割り込み優先レベル
    • 2-5-4 トラップ
    • 2-5-5 汎用割り込み
    • 2-5-6 割り込み関連SFR
  • 2-6 PIC24Fの電源とグランド
    • 2-6-1 絶対最大定格
    • 2-6-2 動作定格と電源供給方法
    • 2-6-3 消費電流
    • 2-6-4 3端子レギュレータによる電源回路
    • 2-6-5 スイッチングレギュレータの使い方
    • 2-6-6 電源とバイパスコンデンサ
    • 2-6-7 電源電圧とクロック周波数
  • 2-7 入出力ピンのインターフェース
    • 2-7-1 内部回路構成
    • 2-7-2 インターフェース仕様
    • 2-7-3 入出力ピン関連SFR
  • 2-8 リセット
    • 2-8-1 リセット要因とリセット制御レジスタ
    • 2-8-2 電源オンリセット
    • 2-8-3 ブラウンアウトリセット(BOR)
  • 2-9 クロック構成と省電力
    • 2-9-1 クロック回路構成
    • 2-9-2 コンフィギュレーションレジスタ
    • 2-9-3 クロック制御レジスタ
    • 2-9-4 クロック切り替え制御と2速度スタートアップ
    • 2-9-5 発振回路構成のポイント
    • 2-9-6 省電力機能
  • コラム 発振回路のC1,C2,Rsの値の最適値を求める

第3章 開発環境

  • 3-1 開発環境
    • 3-1-1 基本の環境
  • 3-2 MPLAB IDEの概要
    • 3-2-2 MPLAB IDEの作業フロー
    • 3-2-3 プロジェクトによる統合管理
  • 3-3 開発ツール
    • 3-3-1 プログラマ
    • 3-3-2 エミュレータ MPLAB REAL ICE

第4章 MPLAB IDEとMPLAB C30コンパイラの使い方

  • 4-1 MPLAB C30コンパイラの概要
    • 4-1-1 特徴
    • 4-1-2 コンパイル作業の流れ
    • 4-1-3 ライブラリ群
  • 4-2 入手とインストール
    • 4-2-1 入手
    • 4-2-2 インストール
  • 4-3 MPLAB IDEとC30コンパイラの使い方
    • 4-3-1 プロジェクトの生成
    • 4-3-2 プログラムの入力とエディタの使い方
    • 4-3-3 プログラムのビルド
  • 4-4 シミュレータによるデバッグ方法
    • 4-4-1 シミュレータの選択
    • 4-4-2 実行制御とブレークポイント
    • 4-4-3 変数やレジスタのチェック
    • 4-4-4 実行時間の測定
    • 4-4-5 擬似入力
    • 4-4-6 コードカバレッジ
  • 4-5 プログラムの書き込み
    • 4-5-1 PICkit2 プログラマの使い方
    • 4-5-2 MPLAB ICD2による書き込み
  • 4-6 MPLIBによるライブラリの作成方法

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

  • 5-1 C言語プログラムの書き方
    • 5-1-1 C言語プログラムの基本構成
    • 5-1-2 関数と式とデータ
    • 5-1-3 プログラム書式と記述スタイル
  • 5-2 プログラム実行時の環境
    • 5-2-1 プログラムメモリとアドレス空間
    • 5-2-2 データメモリとセクション配置
    • 5-2-3 プロジェクトの環境設定
    • 5-2-4 スタートアップとデータ初期化
  • 5-3 データ型と書式
    • 5-3-1 データ型
    • 5-3-2 変数の型宣言とスコープ
    • 5-3-3 数値定数の書式
    • 5-3-4 データのattribute修飾
    • 5-3-5 文字と文字列の書式
    • 5-3-6 文字型データの書式と文字列
  • 5-4 演算子の使い方
    • 5-4-1 算術演算子と自動型変換
    • 5-4-2 関係演算子と論理演算子
    • 5-4-3 インクリメント,デクリメント演算子
    • 5-4-4 ビット演算子とシフト演算子
    • 5-4-5 その他の演算子
  • 5-5 関数の作り方
    • 5-5-1 関数の構造化設計
    • 5-5-2 関数の修飾
  • 5-6 アセンブラとの共存
    • 5-6-1 簡易インラインアセンブル

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

  • 6-1 PIC24F標準基板の製作
    • 6-1-1 ハードウェアの製作
    • 6-1-2 ソフトウェアの製作
  • 6-2 デバイスサポートファイル(ヘッダファイル)の役割
    • 6-2-1 デバイスサポートファイルの内容
    • 6-2-2 マクロの使い方
  • 6-3 ピン割り付け機能
    • 6-3-1 入力ピンの割り付け方
    • 6-3-2 出力ピンの割り付け方
    • 6-3-3 割り付けの保護
  • 6-4 コンフィギュレーション
    • 6-4-1 コンフィギュレーションビットの種類
    • 6-4-2 C言語での記述の仕方
  • 6-5 SFRレジスタによる操作の実際
    • 6-5-1 SFRレジスタによる入出力ピンの制御例
    • 6-5-2 SFRレジスタによるタイマの制御例
  • コラム 入出力ピンへの外部機器の接続

第7章 割り込み処理関数の作り方

  • 7-1 割り込み処理関数の記述方法
    • 7-1-1 割り込みサービスルーチンの作成方法
    • 7-1-2 割り込みサービスルーチン用関数の構文
    • 7-1-3 割り込みサービスルーチン用マクロ
    • 7-1-4 割り込みIRQ用既定ラベル
  • 7-2 割り込みの禁止許可
    • 7-2-1 割り込みの許可手順
    • 7-2-2 割り込みのネスティング(多重割り込み)
  • 7-3 割り込み処理プログラム例
    • 7-3-1 単純な割り込み処理
    • 7-3-2 割り込み優先レベルを制御した例

第8章 標準関数ライブラリとその使い方

  • 8-1 標準関数ライブラリ
    • 8-1-1 組み込み関数
    • 8-1-2 標準C関数ライブラリ
    • 8-1-3 標準C算術関数ライブラリ
  • 8-2 標準入出力関数の使い方
    • 8-2-1 標準入出力関数の使い方
    • 8-2-2 入出力関数の基本的な使い方
    • 8-2-3 printf関数の使い方
  • 8-3 標準入出力によるデバッグ方法
    • 8-3-1 デバッグの仕方
  • コラム パソコン側はハイパーターミナル

第9章 配列とポインタ

  • 9-1 配列
    • 9-1-1 配列の書式
    • 9-1-2 配列の使い方
  • 9-2 文字列の扱い
  • 9-3 ポインタ
    • 9-3-1 ポインタ変数
    • 9-3-2 配列とポインタ
    • 9-3-3 関数の引数とポインタ

第10章 構造体,共用体,列挙型の使い方

  • 10-1 構造体(structure)
    • 10-1-1 構造体の定義と宣言
    • 10-1-2 ビットフィールド
    • 10-1-3 構造体の配列
    • 10-1-4 構造体へのポインタ
  • 10-2 共用体(union)
    • 10-2-1 共用体の定義書式
    • 10-2-2 共用体の使い方
  • 10-3 列挙型(enum)

第11章 内蔵周辺モジュールの使い方

  • 11-1 入出力ピン関連割り込みの使い方
    • 11-1-1 入出力ピン関連割り込みの動作
    • 11-1-2 入出力ピン関連割り込み用レジスタ
    • 11-1-3 割り込みによる入出力プログラム例
  • 11-2 液晶表示器の制御
    • 11-2-1 液晶表示器の規格
    • 11-2-2 液晶表示器とPICの接続
    • 11-2-3 液晶表示器の初期化
    • 11-2-4 液晶表示器ライブラリ
    • 11-2-5 ライブラリ使用例
  • 11-3 タイマの使い方
    • 11-3-1 タイマのタイプと内部構成
    • 11-3-2 タイマの動作モード
    • 11-3-3 タイマの割り込み
    • 11-3-4 インターバルタイマの使用例
    • 11-3-5 イベントカウンタの使用例
  • 11-4 電光掲示板とダイナミック点灯制御
    • 11-4-1 全体構成
    • 11-4-2 表示部の外部インターフェースと制御方法
    • 11-4-3 制御部の製作
    • 11-4-4 プログラムの製作
  • 11-5 リアルタイム クロック カレンダ(RTCC)の使い方
    • 11-5-1 RTCCの特徴と構成
    • 11-5-2 RTCC制御レジスタの使い方
    • 11-5-3 SOSCクロックの制御とRTCCの割り込み
    • 11-5-4 RTCCの使用例
  • 11-6 出力コンペアモジュールとピン割り付けの使い方
    • 11-6-1 単純コンペア動作の場合の構成
    • 11-6-2 PWM動作の場合の構成
    • 11-6-3 関連SFRレジスタ
    • 11-6-4 ピン割り付けと割り込み
    • 11-6-5 実際の使用例
  • 11-7 入力キャプチャとピン割り付けの使い方
    • 11-7-1 入力キャプチャモジュールの構成
    • 11-7-2 関連SFRレジスタ
    • 11-7-3 入力キャプチャの割り込み
    • 11-7-4 実際の使用例
  • 11-8 多機能周波数カウンタの製作
    • 11-8-1 機能仕様と全体構成の検討
    • 11-8-2 内蔵モジュールの使い方
    • 11-8-3 回路設計と製作
    • 11-8-4 プログラム製作
    • 11-8-5 テストと較正
  • 11-9 UARTモジュールの使い方
    • 11-9-1 UARTモジュールの構成
    • 11-9-2 UARTモジュール関連SFR
    • 11-9-3 フロー制御
    • 11-9-4 UARTのピン割り付け設定と割り込み
    • 11-9-5 UARTの初期設定手順
    • 11-9-6 実際の使用例
  • 11-10 A/Dコンバータの使い方
    • 11-10-1 A/Dコンバータの構成と特徴
    • 11-10-2 A/Dコンバータの動作
    • 11-10-3 A/Dコンバータ用関連SFRレジスタ
    • 11-10-4 割り込みの制御
    • 11-10-5 A/Dコンバータの設定と動作詳細
    • 11-10-6 実際の使用例
  • 11-11 SPI通信の使い方
    • 11-11-1 SPIモジュールの構成
    • 11-11-2 SPI通信関連SFRレジスタ
    • 11-11-3 ピン割り付けと割り込み
  • 11-12 SDカードを使ったデータロガーの製作
    • 11-12-1 データロガーの仕様と全体システム構成
    • 11-12-2 SDカードの使い方
    • 11-12-3 FAT16ファイルシステムの使い方
    • 11-12-4 データロガーの製作
    • 11-12-5 プログラムの製作
  • 11-13 I2C(Inter-Integrated Circuit)通信の使い方
    • 11-13-1 I2C通信のしくみ
    • 11-13-2 I2Cモジュールの構成
    • 11-13-3 制御用SFRレジスタ
    • 11-13-4 割り込み
    • 11-13-5 アドレス検出手順
    • 11-13-6 スレーブモードでのI2Cモジュールの使い方
    • 11-13-7 マスタモードでのI2Cモジュールの使い方
  • 11-14 高精度電圧電流計の製作
    • 11-14-1 高精度電圧電流計の仕様と全体構成
    • 11-14-2 18ビットデルタシグマA/Dコンバータの使い方
    • 11-14-3 電圧電流計の製作
    • 11-14-4 プログラムの製作
    • 11-14-5 較正の仕方

著者プロフィール

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

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