First-PICkガイドブック目次

Chapter1 First-PICkの概要 12

1.1  PICマイコンの概要 12

1.1.1  マイクロコントローラ 12

1.1.2  PICとその特徴 13

1.2  装置のセットアップ 14

1.2.1  FIRST PICKについて 14

1.2.2  製品の確認 14

1.2.3  インストール 15

1.2.4  装置のセットアップ 16

1.2.5  サンプルプログラムを実行してみる 17

Chapter2 PICを動かすための基礎知識 20

2.1  コンピュータの基礎(マイクロコントローラとの比較) 20

2.1.1  構造 20

2.1.2  CPUとALU 20

2.1.3  メモリユニット 21

2.1.4  入出力ポート・入出力ユニット 21

2.1.5  バス 21

2.1.6  システムプログラム 22

2.1.7  プログラム開発 23

2.2  ハードウエア 電気の基礎知識 24

2.2.1  抵抗と電圧 24

2.2.2  コンデンサ 26

2.2.3  ダイオード 28

2.2.4  トランジスタとFET 29

2.2.5  IC 31

2.2.6  電気信号とデジタル信号 32

2.2.7  入出力抵抗 33

2.3  ソフトウエア 36

2.3.1  言語と機械語 36

2.3.2  10進数と2進数、16進数 38

2.3.3  BCDコード 38

2.3.4  ASCIIコード 39

2.3.5  2進数の演算 40

Chapter3 PICのアーキテクチャー 44

3.1  PICマイコンの構成と動作 44

3.2  PIC16F84の構造と動作 46

3.3  メモリ空間 48

3.4 代表的なレジスタ 49

3.5  実験基板の取り扱い 53

3.5.1  各部名称と機能 53

3.5.2  実験基板の回路と動作 56

3.5.3  プログラムの実行 59

3.5.4  実行ファイルの生成 60

3.5.5  付属ツールの利用 61

3.5.6  基板の調整 62

Chapter4 PICにチャレンジ 63

Step1  LEDをつけてみよう 64

Step1-1 LEDを点灯させるプログラム 64

Step1-2 LEDの回路 65

Step1-3 プログラムを打ち込もう 67

Step1-4 アセンブラにかける 69

Step1-5 PICに書き込む 72

Step1-6 プログラムを実行する 74

Step1-7 プログラムをプログラムらしくする 76

Step2 Wレジスタを使ってみる 80

Step2-1 複数のLEDを同時に点灯させる 80

Step3 プログラムの動作を確認する 83

Step3-1 複数のLEDを順番に点灯させる 83

Step4 ループ処理とワークメモリ 86

Step4-1 LEDを点滅させる 86

Step4-2 さらにゆっくりLEDを点滅させる 91

Step5 サブルーチン 93

Step5-1 LEDを点滅させる・・・その2 93

Step5-2 LEDの順次点灯をゆっくり点灯させる 97

Step6 いろいろなLED点灯 98

Step6-1 8個のLEDを順次点灯させる 98

Step6-2 2つの表示パターンを交互に表示 100

Step7 ブザーを鳴らす 101

Step7-1 ループ処理を使ってブザーを鳴らす 101

Step7-2 メロディーを作る 105

Step8 条件判断とスイッチの取込 107

Step8-1 8個のLEDを行ったり来たり点灯させる 107

Step8-2 スイッチ操作 109

Step8-3 I/Oポートを調べる 111

Step9 データを+1,−1する命令と、条件判断 112

Step9-1 +1の演算 112

Step9-2 −1の演算 113

Step9-3 dの話 114

Step9-4 ゼロフラグを使用した条件判断 114

Step10 AND・OR・XORの演算 116

Step10-1 ANDの演算 116

Step10-2  ORの演算 117

Step10-3  XORの演算 118

Step11  加算演算 120

Step11-1  加算の演算 120

Step11-2  2バイトの加算の演算 122

Step12  減算演算 123

Step12-1  減算の演算 123

Step12-2  2バイトの減算の演算 125

Step13  減算を使用した大小判別 126

Step13-1  イコールの判定 126

Step13-2 小さく等しいデータの判定 126

Step13-3  大きなデータの判定 127

Step14  タイマ0の機能 129

Step14-1  タイマ0の構造 129

Step14-2  タイマ0プログラム2 132

Step14-3  タイマ0の応用・周波数カウンタを作る 134

Step15  割込機能 136

Step15-1  PIC16F873の割込機能 136

Step15-2  RB0からの外部割込 140

Step15-3  タイマ0による割込プログラム 144

Step16  テーブル参照 147

Step16-1  7セグメントLEDを簡単に表示 147

Step17  ポインタ処理 150

Step17-1  ポインタ処理の実習 150

Step17-2  ポインタを使ったブロック転送 154

Chapter5  実用的なインタフェースとプログラムに挑戦 157

Step18  ウォッチドックタイマ 158

Step18-1  ウォッチドックタイマって何? 158

Step19  スリープ機能 162

Step19-1  スリープって何? 162

Step20  実用的なスイッチ処理 165

Step20-1  スイッチの監視 165

Step20-2  スイッチ入力をカウントする 168

Step20-3  2つのスイッチを取り込む 171

Step21  PWMでモータやランプを動かす 172

Step21-1  PWMって何? 172

Step21-2 PWMの発生プログラム 174

Step21-3  PWMのパルス幅を変化させる 175

Step21-4  PWMを使用したD/A変換 177

Step22  LCD表示器に挑戦 179

Step22-1  LCD表示について 179

Step22-2  LCDを用意する 180

Step22-4  LCDに文字列を表示させる 184

Step23  A/D変換 186

Step23-1  PIC16C711を使用したA/D変換 186

Step23-2  A/D変換の値を取出してみよう 189

Step23-3  A/D変換を利用して電圧計を作る 190

Step24  シリアル通信 193

Step24-1  シリアル通信について 193

Step24-2  通信をさせる 195

Step24-3  シリアル送信のプログラム 198

Step24-4  シリアル送信のプログラムその2 200

Step24-5  シリアル受信プログラム 202

Step24-6  PIC16F873の機能を使った通信 204

Step24-7  割込機能を使った通信 207

Step25  簡単なゲームを作ろう 208

Step25-1  乱数の発生とサイコロ 208

Step25-2  ラッキーゲーム 210

Step25-2  光を捕まえろゲーム 212

Step26  PICの回路を作ってみよう 214

Step26-1  自分でPICを動かす 214

Chapter6  特別編 219

Evolution1  タイマ1 220

Evolution2  タイマ2 223

Evolution3  PWM機能 224

Evolution4  EEPROMデータメモリ 226

Evolution5  SPI通信 229