PICプログラミング入門

PIC (Peripheral Interface Controller 周辺機器接続制御用IC)

最終更新日:2019.06.24
by M.Yanaka

更新情報(上の方が新しい)

2019.06.24 2019年度版へ更新.
2018.07.19 MPLAB X の使い方を追加.
2018.07.19 PICの命令の詳細な説明(instruction_detail.pdf)を追加.
2017.12.07 動作波形(PWM)の説明を掲載.
2017.11.02 PIC16F877用に変更.
2011.06.25 PIC12F675用の例題3(led_2.asm)を掲載.
2010.11.16 PIC16F648A用の例題4(led_3.asm)を掲載.
2010.06.29 PICkitとの接続図を掲載.
2010.06.25 PIC16F648A用の例題3(led_2.asm)を掲載.
2005.01.05 例題と課題とを整理して、課題の一部については解答も掲載.
2004.12.03 3E学生実験用「センサとPICを用いた自律走行ロボットの実験」に改編.
2003.02.26 掲載開始.

例題

例題1 (led_1.asm)
1個のLEDを用いて,一定周期で点灯・消灯を繰り返す.
(I/Oポートへの出力を用いて,LED等の周辺機器のオン・オフ制御について学習する)
例題1の回路図
例題1の実体配線図(PICkitとの接続図を含む)

例題2 (led_2.asm)
1個のスイッチを用いて,点滅速度を切り替える(高速と低速).
(I/Oポートからの入力を用いて,スイッチ等のセンサを利用する方法について学習する)
スイッチ・オン(RB0=0):高速
スイッチ・オフ(RB0=1):低速
例題2の回路図
例題2の実体配線図(PICkitとの接続図を含む)


課題

課題1.例題1について、点滅の周期を増減させてみよ.
課題2.例題1について、周期は一定にして,点灯している期間を増減させてみよ.

繰り返しの周期を短くし,その内の点灯している時間を増減させることで,輝度を制御できる.

課題3.1個のスイッチを用いて,輝度を切り替えよ(明と暗).
例題4.3個のスイッチを用いて,輝度を連続可変させる.

スイッチ1(RB4):明るく
スイッチ2(RB5):暗く
スイッチ3(RB6):初期化(初めの輝度に戻す)


Web上の参考資料

PICの概要 (http://www.picfun.com/picframe.html)
MPLAB X IDEの使い方 (http://www.picfun.com/mpxframe.html)
電子工作の実験室」内にある「PICの基礎」から.
「PICの活用」,「PICの応用」も是非ご覧下さい.
(後閑 哲也さんのWebページ)

PIC16F877のマニュアル (http://ww1.microchip.com/downloads/jp/DeviceDoc/30292A_JP.pdf)
PICmicro Mid-Range MCU Family Reference Manual(英文) (http://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf)
PICkitTM 3 スタータキット ユーザガイド (http://ww1.microchip.com/downloads/jp/DeviceDoc/41628B_JP.pdf)
MPLAB® X IDEユーザガイド (http://ww1.microchip.com/downloads/jp/DeviceDoc/50002027D_JP.pdf)
(上記の4つは,マイクロチップ・テクノロジー・ジャパンのWebページ上のPDFファイル)

マニュアルについては,つぎの資料も利用して下さい.
(New)MPLAB X の使い方

PIC16F877 manual
<項目別抜粋>
ピンレイアウトピンアウトの説明命令セット(New)命令の詳細な説明(英文)レジスタファイル配置図特殊機能レジスタ一覧表
ステータスレジスタ間接アドレス指定コンフィギュレーションビットクロック,リセット

MPLAB X IDEの使い方 (http://zattouka.net/GarageHouse/index.htm)
きむ茶工房ガレージハウス:無料配布ダウンロードと電子工作」 内にある「PIC,Arduino(AVR)を使用した電子工作の情報」から.

MPLAB X IDEの使い方 (http://www2.kaiyodai.ac.jp/~jtahar0/posts/activity19.html)
東京海洋大学 田原研究室」 内にある「研究メモ」から.
「2. プログラムの作成手順」が参考になります.
ただし,「2-5. コンパイラの選択」および「2-8. ファイルの種類の選択」以降はC言語での使用例ですので,読み替えて参考にして下さい.