PIC16F1789/1939 (定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ))

PIC16F1939 & MPUトレーナー 1 of 1 / タッチセンサーを使う

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.163-168 PIC16F1789 を PIC16F1939 に差し替える。 main.c // 閾値 を 0x1000 から 0x1600 に変更した以外はテキスト p.168, リスト 19-2 のまま。 /…

PIC16F1789 & MPUトレーナー 18 of 18 / Microwire EEPROM のリード & ライト

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.217-224ターミナルは Tera Term である。 main.c // テキスト p.222, リスト 24-2 のまま

PIC16F1789 & MPUトレーナー 17 / SD カードにアクセスする

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.209-216ターミナルは Tera Term。 main.c // テキスト pp.213-214, リスト 23-6 のまま

PIC16F1789 & MPUトレーナー 16 / SPI EEPROM のリード & ライト

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.197-205ターミナルは Tera Term。 main.c // テキスト p.203, リスト 23-2 のまま

PIC16F1789 & MPUトレーナー 15 / I2C EEPROM のリード & ライト

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.189-196 main.c //テキスト p.193、リスト 22-2 のまま

PIC16F1789 & MPUトレーナー 14 / UART を使う / PC から PIC へ 1 文字送る

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.169-176 main.c #include "mcc_generated_files/mcc.h" #define LED0 RB2 #define LED1 RB3 #define LED2 RB4 char sio_getc() { char ch; ch = EUSA…

PIC16F1789 & MPUトレーナー 13 / ウォッチドッグタイマーを使う

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.149-156 main.c /* テキスト p.155、リスト 17-3 のまま。経過時間を表示するプログラムである。 ウォッチドッグタイマーのタイムアウトピリオドは 4…

PIC16F1789 & MPUトレーナー 12 / PWM を使ったビープ音で音階を発生する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.143-148 main.c #include "mcc_generated_files/mcc.h" volatile int msCnt = 0; void delay_ms(int cnt) { msCnt = cnt; while(msCnt); } void SetB…

PIC16F1789 & MPUトレーナー 11 / DAC で任意の波形を生成する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.131-134 テーブルに格納した 8 ビットデータを順番に読み取って任意波形を生成する。リファレンス電圧には電源電圧を使う。 main.c #include "mcc_ge…

PIC16F1789 & MPUトレーナー 10 / パルス幅を測る

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.99-102 Timer1 のクロックを 1 MHz (= 16 MHz / 4 クロック / 4 分周) にすると、Timer1 は 1 μsec (= 1/(1 MHz)) ごとにインクリメントする。 16 ビ…

PIC16F1789 & MPUトレーナー 9 / 周波数を測る

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.95-98 Timer1 を周波数カウンターに使う。Timer1 のクロックソースを外部クロックに設定し、その外部クロックの数 (下の例では Genuino101 から出力…

PIC16F1789 & MPUトレーナー 8 / 遅延函数を作る

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.77-83

PIC16F1789 & MPUトレーナー 7 / LCD モジュールに何かを表示する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.69-76 main.c #include "mcc_generated_files/mcc.h" #include "lcd.h" #define PUSH_SW0 RA3 #define PUSH_SW1 RB7 #define PUSH_SW2 RE3 volatile …

PIC16F1789 & MPUトレーナー 6 / 7 セグメント LED を使う 2 / 外部スイッチで何かを表示する

main.c #include "mcc_generated_files/mcc.h" #define PUSH_SW0 RA3 #define PUSH_SW1 RB7 #define PUSH_SW2 RE3 #define DIG1 RE0 //千の位 #define DIG2 RE1 //百の位 #define DIG3 RE2 //十の位 #define DIG4 RC1 //一の位 volatile int msCnt = 0; void…

PIC16F1789 & MPUトレーナー 5 / 7 セグメント LED を使う 1

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), p.61, pp.64-65 youtu.be main.c #include "mcc_generated_files/mcc.h" #define DIG1 RE0 //千の位 #define DIG2 RE1 //百の位 #define DIG3 RE2 //十…

PIC16F1789 & MPUトレーナー 4 / 外部スイッチで LED を点滅する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), p.59 main.c #include "mcc_generated_files/mcc.h" #define LED0 RB2 #define LED1 RB3 #define LED2 RB4 #define PUSH_SW0 RA3 #define PUSH_SW1 RB7 …

PIC16F1789 & MPUトレーナー 3 / L チカを行う

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.41-51 1. 前回作った framework.X をフォルダーごとコピーしてフォルダー名を「led_on.X」に変える。 2. MPLAB X IDE を起動する。 3. メニューバー…

PIC16F1789 & MPUトレーナー 2 / フレームワークを作成する

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.28-36 以降共通して使用するためのフレームワークを作成する。 1. MPLAB X IDE を起動し、メニューバーから [File] > [New Project] の順に選択する…

PIC16F1789 & MPUトレーナー 1 / 開発環境を整える

参考: 定番!ARMキット&PIC用Cプログラムでいきなりマイコン制御[DVD-ROM付き] (マイコン活用シリーズ), pp.19-20 下の手順に従って、「統合開発環境 MPLAB X IDE」「C コンパイラ XC8」「コンフィグレーション用ツール MPLAB Code Configurator」の順にイン…