TECH PLAY

C言語&MCCによる PICプログラミング大全

3,740円 (税込)

Amazon楽天

C言語&MCCによる PICプログラミング大全

書籍情報

発売日:

著者/編集:後閑 哲也

出版社:技術評論社

発行形態:単行本

書籍説明

内容紹介

PICマイコンの設定はMCCで自動生成。開発環境MPLAB X IDEを使い倒す!

目次

第1部 PICマイコンと開発環境の概要 第1章 マイコンとプログラミング 1-1 マイコンとは 1-1-1 マイコンの出現と進歩 1-1-2 マイクロプロセッサとマイクロコントローラの差異 1-2 マイコンのプログラムとは 1-2-1 マイコンの構成とプログラム 1-2-2 プログラムと命令 1-3 2進数と16進数 コラム なぜ1バイトが8ビットになったか 1-4 マイコンの動かし方 1-4-1 動かすために必要なこと 1-4-2 マイコンでできないこと 第2章 PICマイコンの概要 2-1 F1ファミリの位置付けと種類 2-1-1 PIC16F1ファミリの位置付け 2-1-2 PIC16F1ファミリの種類 2-2 PIC16F1ファミリのアーキテクチャ 2-2-1 全体アーキテクチャ 2-2-2 クロックと命令実行 2-2-3 プログラムメモリのアーキテクチャ 2-2-4 データメモリのアーキテクチャ 2-3 コアインデペンデントペリフェラル 2-3-1 CIPの種類 2-3-2 CIPの適用例 第3章 ハードウェア開発環境の概要 3-1 ハードウェア開発環境概要 3-1-1 ハードウェアツール 3-1-2 評価ボード 3-2 Curiosity HPCボード 3-2-1 Curiosity HPCボードの概要と実装内容 3-2-2 回路構成 3-3 Clickボード 3-3-1 Clickボードとは 3-3-2 mikroBUSとは 3-4 ブレッドボード 3-4-1 ブレッドボードとは 3-4-2 ブレッドボードへの部品実装の仕方 第4章 ソフトウェア開発環境と使い方 4-1 ソフトウェア開発環境概要 4-1-1 2種類の開発環境スタイル 4-1-2 ソフトウェアツール 4-2 ソフトウェアの入手とインストール 4-2-1 ファイルのダウンロード 4-2-2 MPLAB X IDEのインストール 4-2-3 MPLAB XC8コンパイラのインストール 4-2-4 MPLAB X IDEの外観 4-3 プロジェクトの作成 4-3-1 MPLAB X IDEの起動 4-3-2 プロジェクトの作成 4-3-3 ソースファイルの作成 4-3-4 既存プロジェクトの取り扱い 4-3-5 プロジェクトのプロパティ 4-3-6 DFPの役割と選択 4-4 エディタの使い方 4-4-1 エディタの画面構成と基本機能 4-4-2 エディタの基本機能とツールバーの使い方 4-4-3 エディタの各種設定 4-5 コンパイルと書き込み実行 4-5-1 コンパイル 4-5-2 書き込み 4-5-3 SNAP/PICkit4の詳細 4-5-4 ICSPの詳細 4-5-5 書き込み時の注意とツールのエラー対策 4-5-6 ファームウェア不具合の修理方法 4-6 実機デバッグの仕方 4-6-1 デバッグに使う例題プログラム 4-6-2 実機デバッグの開始とデバッグ用アイコン 4-6-3 デバッグオプション機能 4-6-4 メモリ内容表示 コラム コンパイルエラーの原因発見のコツ 第5章 MPLAB X IDEの便利機能 5-1 MPLAB X IDEの便利機能 5-1-1 ファイルの登録と削除 5-1-2 複数プロジェクトの扱い 5-1-3 複数構成のプロジェクト 5-1-4 プロジェクトのコピーとRename 5-1-5 Dashboard 5-1-6 プロジェクト内検索 5-1-7 コンパイラの追加と削除 5-2 エディタの便利機能 5-2-1 ショートカットキー 5-2-2 構造体やレジスタの要素選択 5-2-3 検索と置換 5-3 デバッグ時の便利機能 5-3-1 Hyper Navigation 5-3-2 Navigationメニュー 5-3-3 Call Graph 第2部 MPLAB XCコンパイラの詳細 第1章 XCコンパイラの動作 1-1 コンパイル処理の流れ 1-1-1 MPLAB XC8コンパイルの処理の流れ 1-1-2 セクションとMAPファイル 1-2 プログラム実行時の環境 1-2-1 実行時のメモリレイアウト 1-2-2 main関数とスタートアップコード 1-3 プリプロセッサの使い方 1-3-1 プリプロセッサ指示命令の種類 1-3-2 #defineとマクロ機能の使い方 1-3-3 #includeの使い方 1-3-4 #ifによる条件付きコンパイル 1-4 デバイスヘッダファイルの役割 1-4-1 ヘッダファイルの呼び出し 1-4-2 デバイスヘッダファイルの内容 1-4-3 マクロ機能と組み込み関数の使い方 1-5 pragma指示命令の使い方 1-6 コンパイラの最適化 1-6-1 最適化のレベルと最適化の内容 1-6-2 最適化の設定方法 1-6-3 最適化のサイズ見積もり 第2章 XCコンパイラの仕様 2-1 準拠するC標準 2-1-1 C90標準とC99標準 2-1-2 C90とC99の切り替え 2-2 変数のデータ型 2-2-1 変数の宣言書式 2-2-2 データ型の種類 2-2-3 データ型の修飾子 2-3 定数の書式と文字定数 2-3-1 定数の記述書式 2-3-2 定数の修飾 接尾語 2-3-3 文字の扱い 2-4 変数の宣言位置とスコープ 2-4-1 宣言位置とスコープ 2-4-2 変数の格納方法 2-4-3 自動配置の変数(autoタイプ) 2-4-4 指定配置の変数(Non-autoタイプ) 2-4-5 実際の使用例 2-5 変数の型変換 2-5-1 自動型変換(暗黙の型変換) 2-5-2 明示的型変換(キャスト) 2-6 標準入出力関数 2-6-1 コンソールデバイスと低レベル入出力関数 2-6-2 C90とC99の標準入出力関数の差異 2-6-3 標準入出力関数一覧 2-6-4 入出力関数の使い方 第3章 割り込み処理関数 3-1 割り込み処理の流れとメリット 3-1-1 割り込み処理の流れ 3-1-2 割り込みのメリット 3-2 割り込み要因と許可禁止 3-2-1 割り込み回路ブロックの動作と割り込み許可 3-2-2 割り込み関連レジスタの詳細 3-2-3 割り込み動作の詳細 3-3 割り込み処理の記述方法 第3部 MCCと内蔵モジュールの使い方 第1章 MCCの概要 1-1 MCCとは 1-1-1 MCCの役割と自動生成される内容 1-1-2 MCCの対応デバイス 1-2 MCCのインストール 1-2-1 最新バージョンのインストールの場合 1-2-2 旧バージョンのインストールの場合 1-3 MCCの起動方法 1-3-1 MelodyとClassic 1-3-2 Classicのライブラリの追加方法 1-4 MCCを使ったプログラミング手順 1-5 自動生成されるコードとその関係 1-6 MCCによる割り込み処理の記述 1-6-1 割り込み処理の流れ 1-6-2 ユーザ割り込み処理の記述方法 第2章 システム関連の設定 2-1 コンフィギュレーションビットとその設定方法 2-1-1 コンフィギュレーションビットの役割 2-1-2 コンフィギュレーションビットの種類と内容 2-1-3 MCCによるコンフィギュレーションビットの設定方法 2-1-4 コンフィギュレーションビット設定専用ダイアログの使い方 2-2 マイコンの実行速度を決める 2-2-1 クロック生成ブロックの構成 2-2-2 発振モードの種類 2-2-3 MCCによるクロック指定方法 2-2-4 内蔵クロックの周波数微調整 2-3 時間を高精度にしたい 2-3-1 クリスタル/セラミック発振子モードの使い方 2-3-2 外部発振器モードの使い方 2-4 クロック発振の監視をしたい 2-4-1 リファレンスクロックモジュールの使い方 2-4-2 クロック発振モニタ 2-5 電源変動しても安定に動作させたい 2-5-1 リセットとは 2-5-2 PORとBOR 第3章 LEDやスイッチを使いたい 3-1 入出力ピンとは 3-1-1 入出力ピンとSFRレジスタの関係 3-1-2 実際の使い方と電気的特性 3-2 接続する入出力ピンを自由に選びたい 3-2-1 ピン割り付け機能とは 3-2-2 MCCのPin Manager Gridによるピン割り付け設定 3-3 入出力ピンのオプション機能 3-3-1 MCCのPin Moduleの役割 3-3-2 アナログ入力かデジタル入出力か 3-3-3 スイッチのプルアップ抵抗を省略したい 3-3-4 電圧の異なる相手と接続したい 3-3-5 ピンに名前を付けるとその名前で関数が生成される 3-3-6 その他のオプション機能 3-3-7 突然の短時間の入力変化を知りたい 3-4 入出力ピンの使い方の実際例 第4章 一定のインターバルで実行したい 4-1 長時間のインターバル動作をしたい-タイマ0の使い方 4-1-1 16ビットモードのタイマ0の内部構成と動作 4-1-2 16ビットモードのMCCの設定と生成される関数の使い方 4-1-3 例題による16ビットモードの使い方の説明 4-1-4 8ビットモードのタイマ0の内部構成と動作 4-1-5 8ビットモードのMCCの設定と生成される関数 4-1-6 例題による8ビットモードの使い方の説明 4-2 ゲート制御でパルス幅を測定したい-タイマ1/3/5 の使い方 4-2-1 タイマ1/3/5の内部構成と動作 4-2-2 MCCによる設定と生成される関数の使い方 4-2-3 例題によるタイマ1の使い方の説明 4-3 正確なインターバル動作をしたい-タイマ2/4/6/8/10の使い方 4-3-1 基本構成のタイマ2/4/6の内部構成と動作 4-3-2 MCCによるタイマ2/4/6の設定と生成される関数の使い方 4-3-3 外部リセット付きタイマ2/4/6/8/10の内部構成と動作 4-3-4 HLTタイマのMCCによる設定と生成される関数の使い方 4-3-5 例題によるHLTタイマの使い方の説明 4-4 長周期パルスの高精度測定をしたい-SMTタイマの使い方 4-4-1 SMTの内部構成と動作 4-4-2 MCCによる設定方法と生成される関数の使い方 4-4-3 例題によるSMTの使い方の説明 第5章 パソコンやセンサと通信したい 5-1 パソコンと通信したい-EUSARTモジュールの使い方 5-1-1 同期式と非同期式とは 5-1-2 EUSARTモジュールの内部構成と動作 5-1-3 マルチドロップ方式と9ビットモードの使い方 5-1-4 MCCによる設定と生成される関数の使い方 5-1-5 パソコンとの通信の例題-割り込みを使わないEUSARTの使い方 5-1-6 標準入出力関数による例題 5-1-7 パソコンとの通信の例題-割り込みを使ったEUSARTの使い方 5-2 センサやLCDをデジタル通信で接続したい-I2Cモジュールの使い方 5-2-1 I2C通信とは 5-2-2 I2C通信データフォーマット 5-2-3 MSSPモジュール(I2Cモード)の内部構成と動作 5-2-4 MCCによるMSSP(I2Cマスタモード)の設定と生成される関数の使い方 5-2-5 MCCによるMSSP(I2Cスレーブモード)の設定と生成される関数の使い方 5-2-6 例題によるMSSPモジュール(I2Cモード)の使い方 5-2-7 接続デバイスの仕様 5-2-8 MCCによる例題のI2Cマスタ側のプログラム製作 5-2-9 MCCによるI2Cスレーブ側のプログラム製作 5-2-10 例題の動作確認 5-3 ICやセンサを高速で接続したい-SPIモジュールの使い方 5-3-1 SPI通信とは 5-3-2 SPIの4つの通信モード 5-3-3 MSSPモジュール(SPIモード)の内部構成と動作 5-3-4 MCCによるMSSP2(SPIマスタモード)の設定と生成される関数の使い方 5-3-5 MCCによるMSSP2(SPIスレーブモード)の設定と生成される関数の使い方 5-3-6 例題によるMSSPモジュール(SPIモード)の使い方 5-3-7 接続デバイスの仕様 5-3-8 SPIマスタ側のプログラム製作 5-3-9 MCCによるSPIスレーブ側のプログラム製作 5-3-10 例題の動作確認 5-4 センサを単線シリアル通信で接続したい 5-4-1 1-Wire通信とは 5-4-2 単線シリアル通信の温湿度センサの使い方 5-4-3 例題による単線シリアル通信の使い方 5-4-4 MCCによる例題プログラム製作 第6章 モータの速度制御やLEDの調光制御をしたい 6-1 パルス幅測定やPWM制御をしたい-CCPモジュールの使い方 6-1-1 パルス幅、周期の測定をしたい-キャプチャモード 6-1-2 一定の遅延を生成したい-コンペアモード 6-1-3 PWM制御をしたい-CCPモジュールのPWMモード 6-1-4 フルブリッジをPWM制御したい-ECCPモジュールのPWMモード 6-1-5 MCCによるCCPモジュールの設定と生成される関数の使い方 6-1-6 例題によるCCPモジュールのキャプチャモードの使い方6-1-7 例題のプログラム作成 6-1-8 LEDの調光制御の例題-CCPのPWMモードの使い方 6-1-9 例題のプログラム作成 6-2 Power LEDの調光制御をしたい-PWMモジュールの使い方 6-2-1 10ビット PWMモジュールの内部構成と動作 6-2-2 MCCによるPWMモジュールの設定と生成される関数の使い方 6-2-3 Power LEDの調光制御の例題-PWMモジュールの使い方 6-2-4 例題のプログラム作成 6-3 モータの速度制御をしたい-CWGモジュールの使い方 6-3-1 CWGモジュールの構成と動作 6-3-2 MCCによるCWGモジュールの設定と生成される関数の使い方 6-3-3 フルブリッジによるモータ制御の例題-CWGモジュールの使い方 6-3-4 例題のプログラム作成 第7章 いろいろな種類のパルスを生成したい 7-1 広範囲の周波数のパルスを生成したい-NCOモジュールの使い方 7-1-1 NCOモジュールの内部構成と動作 7-1-2 MCCによるNCOモジュールの設定方法と生成される関数の使い方 7-1-3 例題によるNCOモジュールの使い方-1Hz単位のパルス出力 7-1-4 MCCによる例題のプログラム作成 7-1-5 書き込みと動作確認 7-2 信号を変調したい-DSMモジュールの使い方 7-2-1 DSMモジュールの内部構成と動作 7-2-2 MCCによるDSMモジュールの設定と生成される関数の使い方 7-2-3 例題によるDSMモジュールの使い方 7-2-4 送信側のプログラム製作 7-2-5 受信側のプログラムの製作 7-2-6 書き込みと動作確認 7-3 特殊なパルスを生成したい-16ビットPWMモジュールの使い方 7-3-1 16ビットPWMの内部構成と動作 7-3-2 MCCによる16ビットPWMの設定方法と生成される関数の使い方 7-3-3 例題による16ビットPWMの使い方-RCサーボの使い方 7-3-4 例題のプログラム作成 第8章 消えないメモリにデータを保存したい 8-1 内蔵の消えないメモリを使いたい-EEPROMの使い方 8-1-1 データEEPROMメモリの内部構成と動作 8-1-2 MCCによるEEPROMの使い方 8-1-3 例題によるEEPROMの使い方-EEPROMの読み書き 8-1-4 書き込みと動作確認 8-2 内蔵のフラッシュメモリにデータを保存したい 8-2-1 フラッシュメモリの内部構成と動作 8-2-2 フラッシュメモリのMCCによる設定と関数の使い方 8-2-3 例題によるフラッシュメモリの使い方 8-2-4 書き込みと動作確認 8-3 外付けの大容量フラッシュメモリにデータを保存したい 8-3-1 フラッシュメモリの使い方 8-3-2 例題によるフラッシュメモリの使い方 8-3-3 例題のプログラム作成 8-3-4 書き込みと動作確認 第9章 センサなどの電圧や電流を扱いたい 9-1 センサなどの電圧や電流を計測したい-10/12ビットADコンバータの使い方 9-1-1 10/12ビットADコンバータの内部構成と動作 9-1-2 10ビットADコンバータのMCCの設定と生成される関数の使い方 9-1-3 例題による10ビットADCモジュールの使い方 9-2 ノイズを減らして電圧を計測したい-演算機能付きADCCの使い方 9-2-1 ADCCコンバータモジュールの内部構成と動作 9-2-2 MCCの設定方法と生成される関数の使い方 9-2-3 例題によるBasic_modeの使い方 9-2-4 例題によるADCCのAverage_modeの使い方 9-2-5 例題によるLow_pass_filter_modeの使い方 9-2-6 例題によるAccumulate_modeの使い方 9-3 音やセンサなどの瞬時電圧変化を知りたい-アナログコンパレータの使い方 9-3-1 コンパレータの内部構成と動作 9-3-2 MCCの設定方法と生成される関数の使い方 9-3-3 例題によるコンパレータの使い方 9-4 交流信号の位相を制御したい-ZCDの使い方 9-4-1 ZCDモジュールの内部構成と動作 9-4-2 ZCDのMCCの設定方法と生成される関数の使い方 9-4-3 例題によるZCDの使い方 9-5 任意の一定電圧を出力したい-5/10ビットDAコンバータの使い方 9-5-1 5/8/10ビットDAコンバータの内部構成と動作 9-5-2 MCCによるDAコンバータの設定方法と生成される関数の使い方 9-5-3 FVRモジュールの内部構成と動作 9-5-4 例題によるDAコンバータの使い方 9-6 センサなどの小さな電圧を増幅したい-オペアンプの使い方 9-6-1 オペアンプの内部構成と動作 9-6-2 オペアンプのMCCの設定方法 9-6-3 例題によるオペアンプの使い方 第10章 その他の内蔵モジュールの使い方 10-1 内蔵モジュールの入出力を合成したい-CLCモジュールの使い方 10-1-1 CLCモジュールの内部構成と動作 10-1-2 CLCのMCCの設定方法 10-1-3 例題によるCLCの使い方 10-2 極低消費電力にしたい-スリープと間欠動作 10-2-1 省電力モードの種類と動作 10-2-2 スリープと間欠動作 10-2-3 例題 WDTによる間欠動作 10-3 プログラムの異常動作を知りたい-WDTの使い方 10-3-1 プログラム異常監視とは 10-3-2 ウォッチドッグタイマ(WDT)の内部構成と動作 10-3-3 窓付きウォッチドッグタイマ(WWDT)の内部構成と動作 10-4 メモリ破壊の監視をしたい-CRCとSCANの使い方 10-4-1 CRCモジュールとSCANモジュールの内部構成と動作 10-4-2 CRCモジュールとSCANモジュールのMCCの設定と生成される関数の使い方 10-4-3 例題によるCRCモジュールとSCANモジュールの使い方 第11章 ミドルウェアの使い方 11-1 SDカードにデータを保存したい-FATファイルシステムの使い方 11-1-1 FATファイルシステムとは 11-1-2 例題の構成 11-1-3 MCCによる設定方法と生成される関数の使い方 11-1-4 例題のプログラム作成

著者情報

後閑 哲也

後閑, 哲也, 1947-

類似書籍