版元ドットコム

探せる、使える、本の情報

文芸 新書 社会一般 資格・試験 ビジネス スポーツ・健康 趣味・実用 ゲーム 芸能・タレント テレビ・映画化 芸術 哲学・宗教 歴史・地理 社会科学 教育 自然科学 医学 工業・工学 コンピュータ 語学・辞事典 学参 児童図書 ヤングアダルト 全集 文庫 コミック文庫 コミックス(欠番扱) コミックス(雑誌扱) コミックス(書籍) コミックス(廉価版) ムック 雑誌 増刊 別冊
C言語&MCCによる PICプログラミング大全 後閑 哲也(著/文) - 技術評論社
..

書店員向け情報 HELP

書店注文情報

受注センター:
注文電話番号:
注文FAX番号:
販売促進部:
注文電話番号:
注文FAX番号:
注文サイト:

C言語&MCCによる PICプログラミング大全 (シーゲンゴアンドエムシーシーニヨル ピックプログラミングタイゼン)

コンピュータ
このエントリーをはてなブックマークに追加
発行:技術評論社
B5変型判
520ページ
定価 3,400円+税
ISBN
978-4-297-13364-1   COPY
ISBN 13
9784297133641   COPY
ISBN 10h
4-297-13364-4   COPY
ISBN 10
4297133644   COPY
出版者記号
297   COPY
Cコード
C3055  
3:専門 0:単行本 55:電子通信
出版社在庫情報
不明
書店発売日
登録日
2023年1月23日
最終更新日
2023年3月3日
このエントリーをはてなブックマークに追加

紹介

名著「C言語によるPICプログラミング大全」がさらに使いやすくなりました。
PICのプログラム開発のためには、統合開発環境である「MPLAB X IDE」が便利です。さらに、ここに組み込めるプラグイン「MCC(MPLAB Code Configurator)」を使えば、GUI操作でレジスタを設定したC言語のソースコードを作成してくれるので、いちいちレジスタの設定を調べる必要はありません。ただ、便利なツールなのに、あまりにも多機能すぎて、初心者はどこになにがあるのか、どう操作すればよいのかがわかりにくいというデメリットもあります。本書では、これらの使い方を詳しく解説します。
なお、初心者にとって、学習用ハードウェアの製作は少しハードルが高かったのですが、本書では既製品を活用することで、お手軽にPICマイコンの各種機能を試せるようにしました。
電子工作をマイコンボードで始めたけれど、そろそろ、PICマイコンが気になってきたなという方、また、これまではデータシートにくびっぴきでレジスタ設定コードを書いていたという方、最新のPICの新しい機能を試してみたい方にも、必ず役に立つ1冊です。

目次

第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 例題のプログラム作成

上記内容は本書刊行時のものです。