PIC24F-MOD-GA002Uには小さなモジュール基板上に、タクトスイッチ、外部装置の接続端子などが実装されているため、ブレッドボードなどを使用しなくても、いろいろな実験を行うことができます。ここでは、コネクタCN5にLEDを接続してPWM表示制御の実験をしてみます。
PICSYS24では、4個までのPWM出力を任意のI/Oピンに接続し、制御することができます。
PWM出力の制御は、基本的に2つの操作で行います。例えばRB0ポートにLEDなどを接続した場合、以下の2つの操作を行います。
PIC24F-MOD-GA002UでPICSYS24を利用する場合には、まず、PICSYS24のパッケージに含まれるpicsys24conf.hを開き、下記の2行のコメントを外し、有効にします。
picsys24conf.h
#define PIC24F_MOD_GA002U // キットの指定
#define XTAL_OSC (32 MHz) // 発振器と周波数の指定
この指定では、MCUを最高の周波数で稼働するように指定していますが、消費電流を抑えたり、発熱を抑えるなどの要求がある場合には、以下の周波数も選択することができます。
PIC24Fシリーズは、高速で大容量のRAMを持つなど、非常に魅力的なシリーズですが、趣味で手軽に使えるDIPパッケージが28ピンまでに限られており、ちょっとした応用に取り組もうとする際に、ピンが足りずに頭を悩ます方も多いのではないでしょうか。
PIC24F-MOD-GA004は、TQFP44のパッケージをDIP40に変換するMCUモジュールキットで、ピン不足に悩むあなたの想像力を支援します。
Microchipの無償の開発環境であるMPLAB IDEとC30 student版を組み合わせ、C言語でプログラム開発を行うことが出来ます。
PICSYSを利用する上での技術的な注意/制約事項を示します。
ピン割り付け機能
PIC24Fの特徴的で協力な機能であるピン割り付けとそれを利用した周辺モジュールの利用機構はまだご提供できていません。
PWM
PICSYSのPWM出力は、LEDの表示の明暗をPWMのデューティー比制御により変化させる程度の簡易的な利用を想定した構成になっています。このため周波数は、ちらつきを感じない62.5Hz程度と低く、また固定されています。また、デューティー比の指定分解能はMCUのクロックによりますが、16-64になっています。
サンプルプログラムのプロジェクトファイルには、プロジェクト設定の中にマクロ定義などを書き込んでいるのでご注意ください。
PICSYSにおけるI/Oピンの指定は、RA0の場合にはRA(0)、RB4の場合にはRB(4)の様に行います。
PICSYSはAVR用のArduinoに触発され、PICでも簡単にプログラミングを行える環境を構築することを目標に開発されたソフトウェアフレームワーク(ライブラリ)です。
PICのプログラミングで以下のようなことを感じたり、これらが利用の障害になっていませんか?
DUO-GL128-PIC24FでPICSYS24を利用する場合には、まず、PICSYS24のパッケージに含まれるpicsys24conf.hを開き、下記の2行のコメントを外し、有効にします。
picsys24conf.h
#define DUO_GL128_PIC24F // キットの指定
#define XTAL_OSC (32 MHz) // 発振器と周波数の指定
この指定では、MCUを最高の周波数で稼働するように指定していますが、消費電流を抑えたり、発熱を抑えるなどの要求がある場合には、以下の周波数も選択することができます。