電子工作のための PIC18F Q シリーズ活用ガイドブック

[表紙]電子工作のための PIC18F Q シリーズ活用ガイドブック

紙版発売
電子版発売

B5変形判/320ページ

定価3,278円(本体2,980円+税10%)

ISBN 978-4-297-12681-0

電子版

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

書籍の概要

この本の概要

PIC18F Q シリーズは,PICマイコンの中でもリアルタイム制御向けの最新のシリーズです。8ビットマイコンとしては最大級のメモリ容量(最大128kバイト)を誇り,クロック周波数も最高64MHzで,8ビットマイコンでは最速です。

高機能な内蔵モジュールも多数組み込まれ,DMAで高速アクセスできますし,プログラマブルな論理回路(CLC)で高速動作が可能です。日本語フォントやファイルシステムなども利用できるため,これまでの8ビットマイコンよりも格段にできることが増えます。

本書はQシリーズの概要から始め,MPLAB X IDE とXC8コンパイラによるC言語でのプログラム開発方法,MCCによる内蔵モジュールやFATファイルシステムなどのミドルウェアの使い方などを詳細に解説しました。作例としてGPSロガーやCO2濃度が測れるIoTターミナルなども作成しています。

こんな方におすすめ

  • 新しいPICマイコンを使ってみたい
  • 方コストをかけず高性能なガジェットを作りたい方

著者の一言

はじめにより~

 マイクロチップ社のPIC18ファミリには久しく新製品がでていなかったのですが,この度Qシリーズということであらたな製品が発売されました。
このQシリーズで,まず目を引くのがメモリ容量で,最大128kバイト(64kワード)という8ビットマイコンとしては最大級のサイズです。次に,最高64MHzというクロック周波数で,こちらも8ビットマイコンとしては最高速度の部類に入ります。内蔵周辺モジュールも多くの高機能モジュールが組み込まれ,さらにDMA(Direct Memory Access)で高速アクセスも可能となりました。
この高機能な8ビットマイコンを使えば,より大規模なアプリケーションを組み込むことができますから,その可能性に期待が持てます。
これまで8ビットマイコンではちょっと荷が重くて実現が難しかったことが可能になり,個人でもマイコンによる製作可能な世界が拡がりました。
本書でも,この高機能な特徴を活かした作品を紹介しています。マイクロSDカードやQVGAサイズの大きなフルカラーグラフィック液晶表示器を使い,日本語フォントも組み込んでみました。
本書では,このPIC18 Qシリーズの内部構成の解説から始め,主要な内蔵周辺モジュールの使い方を,マイクロチップ社の市販の開発用ボードを使った実際の例で解説しました。これでどなたでも市販のハードウェアを使って試すことができます。
プログラム開発には,最新のコード自動生成ツールであるMCC(MPLAB Code Configurator)を使いましたので,グラフィカルな画面で設定するだけで,周辺モジュールの制御用関数を自動生成してくれます。これでレジスタの内容をデータシートでいちいち調べることなく,自動生成された関数を呼ぶだけで周辺モジュールを使いこなすことができます。この便利な世界を読者の方々にもぜひ体験していただきたいと思います。
本書の製作例では,できるだけ実用的なものということで,筆者自身が日頃これらの作品を使い続けられるものを前提として製作しました。読者の方々が,これらの作品をヒントにして,新たな作品にチャレンジしていただくきっかけとなれば幸いです。

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

目次

第1章 Qシリーズの特徴

  • 1-1 PIC18F Qシリーズの特徴
  • 1-2 PIC18F Qシリーズの種類

第2章 アーキテクチャ

  • 2-1 CPUアーキテクチャ
    • 2-1-1 CPUアーキテクチャ
    • 2-1-2 命令の実行サイクルとパイプライン
    • 2-1-3 命令のアーキテクチャ
  • 2-2 メモリアーキテクチャ
    • 2-2-1 プログラムメモリ
    • 2-2-2 プログラムメモリの読み書き
    • 2-2-3 データメモリ
    • 2-2-4 アドレッシング方式
    • 2-2-5 デバイスコンフィギュレーション
    • 2-2-6 スタックメモリ
  • 2-3 割り込みのアーキテクチャ
    • 2-3-1 割り込みとは
    • 2-3-2 ベクタ割り込み
    • 2-3-3 レジスタ退避と復旧
  • 2-4 DMAのアーキテクチャ
    • 2-4-1 DMAとは
    • 2-4-2 MCCによるDMAの使い方

第3章 ハード設計法

  • 3-1 設計ガイドライン
    • 3-1-1 電源
    • 3-1-2 リセットピン
    • 3-1-3 ICSP
  • 3-2 クロック
    • 3-2-1 クロック回路ブロック
    • 3-2-2 外部主発振回路と外部副発振回路
    • 3-2-3 内蔵発振回路
  • 3-3 リセットとPOR,BOR
    • 3-3-1 リセット
    • 3-3-2 電源とリセット
  • 3-4 入出力ピン
    • 3-4-1 入出力ピンと関連レジスタ
    • 3-4-2 入出力ピンの内部回路構成
    • 3-4-3 入出力ピンの電気的仕様

第4章 プログラム開発方法

  • 4-1 開発環境
    • 4-1-1 ソフトウェアツールの概要
    • 4-1-2 ハードウェアツールの概要
    • 4-1-3 評価ボード
  • 4-2 インストール
    • 4-2-1 ファイルのダウンロード
    • 4-2-2 MPLAB X IDEのインストール
    • 4-2-3 MPLAB XC8コンパイラのインストール
    • 4-2-4 MCCのインストール
  • 4-3 プロジェクトの作成

第5章 MCCの概要

  • 5-1 MCCとは
    • 5-1-1 MCCとは
    • 5-1-2 MCCの対応デバイス
    • 5-1-3 MCCを使ったプログラミング手順
  • 5-2 MCCの詳細
    • 5-2-1 MCCの対応モジュール
    • 5-2-2 自動生成されるコード
    • 5-2-3 システムの初期化
    • 5-2-4 ユーザ記述追加

第6章 周辺モジュールの使い方

  • 6-1 解説用ハードウェアの概要
    • 6-1-1 Curiosity Board
  • 6-2 タイマによるLED点滅制御
    • 6-2-1 例題のシステム構成と機能
    • 6-2-2 システムモジュールの設定
    • 6-2-3 タイマ0の設定
    • 6-2-4 タイマ2の設定
    • 6-2-5 入出力ピンの設定
    • 6-2-6 Generateしてコード生成
    • 6-2-7 メイン関数の完成
    • 6-2-8 書き込み実行
  • 6-3 PWMによる調光制御
    • 6-3-1 例題のシステム構成と動作
    • 6-3-2 PWM1の設定
    • 6-3-3 CCP3の設定
    • 6-3-4 タイマ1の設定
    • 6-3-5 入出力ピンの設定
    • 6-3-6 Generateしてコード完成
  • 6-4 センサデータのWi-Fi送信
    • 6-4-1 例題のシステム構成と機能
    • 6-4-2 Weather Clickの使い方
    • 6-4-3 I2Cモジュールの使い方
    • 6-4-4 WiFi ESP Click の使い方
    • 6-4-5 UARTモジュールの使い方
    • 6-4-6 例題の作成
    • 6-4-7 例題の詳細
  • 6-5 SDカードとファイルシステム
    • 6-5-1 例題のシステム構成と機能
    • 6-5-2 microSD Clickの使い方
    • 6-5-3 FAT File Systemの使い方
    • 6-5-4 例題の完成
  • 6-6 DMAによるシリアル通信
    • 6-6-1 例題のシステム構成と機能
    • 6-6-2 例題の作成
    • 6-6-3 例題の完成
  • 6-7 NCOとDACによる正弦波の出力
    • 6-7-1 例題のシステム構成と機能
    • 6-7-2 DAコンバータの使い方
    • 6-7-3 NCOモジュールの使い方
    • 6-7-4 DMAモジュールの設定
    • 6-7-5 例題の完成
  • 6-8 SPIによるOLEDの制御
    • 6-8-1 例題のシステム構成と機能
    • 6-8-2 SPI モジュールの使い方
    • 6-8-3 OLEDの使い方
    • 6-8-4 例題の作成

第7章 活用製作例

  • 7-1 GPSロガーの製作
    • 7-1-1 GPSロガーの全体構成と仕様
    • 7-1-2 使用部品詳細
    • 7-1-3 ハードウェアの製作
    • 7-1-4 プログラムの作成
    • 7-1-5 ケースへの組み込みと使い方
  • 7-2 MP3プレーヤの製作
    • 7-2-1 MP3プレーヤの全体構成と仕様
    • 7-2-2 仕様部品詳細
    • 7-2-3 ハードウェアの製作
    • 7-2-4 プログラムの製作
    • 7-2-5 ケースへの組み込みと使い方
  • 7-3 波形ジェネレータの製作
    • 7-3-1 波形ジェネレータの全体構成と仕様
    • 7-3-2 使用部品詳細
    • 7-3-3 ハードウェアの製作
    • 7-3-4 プログラムの作成
    • 7-3-5 ケースに組み込む
  • 7-4 バッテリ充放電マネージャの製作
    • 7-4-1 バッテリ充放電マネージャの全体構成と仕様
    • 7-4-2 使用部品詳細
    • 7-4-3 ハードウェアの製作
    • 7-4-4 プログラムの製作
    • 7-4-5 ケースへの組み込みと使い方
  • 7-5 IoT ターミナルの製作
    • 7-5-1 IoT ターミナルの全体構成と仕様
    • 7-5-2 使用部品詳細
    • 7-5-3 ハードウェアの製作
    • 7-5-4 Ambientの使い方
    • 7-5-5 プログラムの製作
    • 7-5-6 ケースへの組み込みと使い方
    • 7-5-7 Ambientの設定
  • 付録

    • 付録1 Eagle CADと基板発注方法
    • 付録2 日本語フォントとLCDライブラリの使い方
      • 付録2-1 フォントデータの作り方
      • 付録2-2 漢字の表示プログラム
      • 付録2-3 12×12ドットのASCIIコード
    • 付録3 コンフィギュレーションビット
    • 索引
    • 参考文献/ダウンロード案内