1章 PICマイコンの概要
1.1 マイコンとは
1.2 マイコンとマイクロプロセッサの違い
1.3 PIC マイコンとは
1.4 PIC マイコンの種類
2章 PIC16F1827の構成と動作
2.1 概要
2.2 PIC16F1827 マイコンの構成
2.3 コア部の内部構成
2.4 命令実行の内部動作
2.5 メモリアーキテクチャ
2.5.1 プログラムROM
2.5.2 データRAM
2.5.3 EEPROM データメモリ
3章 プログラムの作成
3.1 概要
3.2 MPLAB X IDE のダウンロードとインストール
3.3 XC8 コンパイラのダウンロードとインストール
3.4 MPLAB X IDE の起動とプロジェクトの作成
3.4.1 MPLAB X IDE の画面
3.4.2 プロジェクトの作成
3.5 プログラムの作成
3.5.1 XC8 によるプログラミング
3.5.2 ソースプログラムの基本的な記述
3.5.3 デバイス・コンフィギュレーションの指定
3.5.4 オシレータ・クロック周波数の指定
3.5.5 OPTION_REG レジスタの設定
3.6 ビルド
3.7 デバイスへの書き込み
4章 I/Oポートと基本的なディジタルI/O処理
4.1 I/O ポート
4.2 入出力モードの切り替え
4.3 PORT レジスタとLAT レジスタ
4.4 LED の点灯・消灯
4.5 LED の点滅システムの作成
コラム オープンドレイン
5章 7セグメントLEDへの数字の表示
5.1 7 セグメントLED
5.2 7SEG への数字表示システムの作成
5.3 複数の7SEG のダイナミック点灯
6章 割り込み
6.1 割り込みとは
6.2 割り込み処理時のハードウェア動作
6.2.1 割り込み関連のSFR
6.2.2 割り込み発生時のハードウェアでの処理
6.2.3 外部(INT ピン)割り込み
6.3 C 言語(XC8)による割り込み処理の記述
6.4 INT ピン割り込みによるLED 点滅時間の切り替えシステムの作成
7章 タイマ制御
7.1 概要
7.2 タイマ0
7.2.1 タイマ0の動作
7.2.2 タイマ0/INT ピン割り込みによるLED 点滅切替えシステムの作成
7.3 タイマ1
7.3.1 タイマ1の動作
7.3.2 時計用オシレータを用いたリアルタイムクロックの実現
7.3.3 タイマ1のゲート制御
8章 LCD接続
8.1 概要
8.2 LCD SC1602 の構成と表示動作の基本
8.3 LCD への文字表示システムの作成
9章 UART/USARTによるシリアル通信
9.1 シリアル通信
9.2 UART
9.3 UART によるパソコンとのメッセージ通信システムの作成
9.4 USART
コラム Bluetooth によるパソコンとの接続
10章 AD, DA変換
10.1 概要
10.2 AD 変換(ADC)
10.3 温度測定システムの作成
10.4 DA 変換(DAC)
11章 CCP機能
11.1 概要
11.2 キャプチャ機能
11.3 コンペア機能
11.4 PWM によるDC(直流)モータ回転制御
11.4.1 DC モータ
11.4.2 モータのオン/オフ制御
11.4.3 モータ回転速度の制御
11.4.4 モータの正転/逆転の制御
11.4.5 DC モータの回転制御システムの作成
コラム PWM 周波数をどの程度にすべきか
12章 MSSP
12.1 MSSP とは
12.2 SPI
12.2.1 SPI によるデータ送受信
12.3 I2C
12.3.1 I2C によるデータ送受信
12.3.2 I2C インタフェースを有するLCD の接続
付録A CPUボードの作成
A.1 概要
A.2 部品
A.3 回路
A.4 実装上の注意点
付録B 各ピンの機能およびAPFCONレジスタ
B.1 各ピンの機能
B.2 APFCON レジスタ
付録C XC8言語の仕様(一部)
C.1 データ型
C.2 演算子
C.3 リテラル定数の型と書式
C.4 型修飾子
C.5 static/auto 変数
C.6 メイン,スタートアップ,リセット
付録D プログラムのデバッグ
D.1 概要
D.2 MPLAB X IDE のシミュレータ機能によるデバッグ
D.3 PICkit4 ICD によるインサーキット・デバッグ