PIC24F

PWMによるLED表示

PIC24F-MOD-GA002Uには小さなモジュール基板上に、タクトスイッチ、外部装置の接続端子などが実装されているため、ブレッドボードなどを使用しなくても、いろいろな実験を行うことができます。ここでは、コネクタCN5にLEDを接続してPWM表示制御の実験をしてみます。

PICSYS24では、4個までのPWM出力を任意のI/Oピンに接続し、制御することができます。
PWM出力の制御は、基本的に2つの操作で行います。例えばRB0ポートにLEDなどを接続した場合、以下の2つの操作を行います。

  • pinMode(RB(0), OUT_PWM1):RB0にPWM出力機能の1番目を割り当てる
  • digitalWrite(RB(0), 50):RB0のPWMデューティ比を50%に設定する

構成の設定

クロック

PIC24F-MOD-GA002UでPICSYS24を利用する場合には、まず、PICSYS24のパッケージに含まれるpicsys24conf.hを開き、下記の2行のコメントを外し、有効にします。

picsys24conf.h



#define PIC24F_MOD_GA002U // キットの指定 #define XTAL_OSC (32 MHz) // 発振器と周波数の指定

この指定では、MCUを最高の周波数で稼働するように指定していますが、消費電流を抑えたり、発熱を抑えるなどの要求がある場合には、以下の周波数も選択することができます。

  • 8 MHz

DOZEモード

PIC24F-MOD-GA004

概要

PIC24Fシリーズは、高速で大容量のRAMを持つなど、非常に魅力的なシリーズですが、趣味で手軽に使えるDIPパッケージが28ピンまでに限られており、ちょっとした応用に取り組もうとする際に、ピンが足りずに頭を悩ます方も多いのではないでしょうか。

PIC24F-MOD-GA004は、TQFP44のパッケージをDIP40に変換するMCUモジュールキットで、ピン不足に悩むあなたの想像力を支援します。

Microchipの無償の開発環境であるMPLAB IDEとC30 student版を組み合わせ、C言語でプログラム開発を行うことが出来ます。

PICSYS技術的注意/制約事項

PICSYSを利用する上での技術的な注意/制約事項を示します。


PICSYS24

ピン割り付け機能

PIC24Fの特徴的で協力な機能であるピン割り付けとそれを利用した周辺モジュールの利用機構はまだご提供できていません。

PWM

PICSYSのPWM出力は、LEDの表示の明暗をPWMのデューティー比制御により変化させる程度の簡易的な利用を想定した構成になっています。このため周波数は、ちらつきを感じない62.5Hz程度と低く、また固定されています。また、デューティー比の指定分解能はMCUのクロックによりますが、16-64になっています。

PICSYSダウンロード


PICSYS16の0.90をリリースしました。
MPLAB IDEのパッケージに付属するPICC PROをコンパイラとして利用します。
かなりやっつけ仕事になっていますので、つわものの方々のみご利用ください。 :-P

サンプルプログラムのプロジェクトファイルには、プロジェクト設定の中にマクロ定義などを書き込んでいるのでご注意ください。


PICSYS18の1.00RCをリリースしました。

  • USBブートローダに対応しました
  • PICSYS18-SP, PICSYS18-XBEEのサポートを追加しました
  • USB CDCのサポートを追加しました
  • 現時点では、PIC18F-MOD-2553でPICSYS18のUSB CDCがうまく機能していません???

PICSYS コア・リファレンス

ピン入出力

PICSYSにおけるI/Oピンの指定は、RA0の場合にはRA(0)、RB4の場合にはRB(4)の様に行います。

  • void pinMode(byte pin, byte mode)
    I/Oピンの使用法を指定します。
    例1:pinMode(RB(7), INPUT):RB7を入力に設定します。
    例2:pinMode(RA(2), OUT_SERVO3):RA2をRCサーボ制御出力に設定します。
    例3:pinMode(RC(0), OUT_BEEP):RC0をビープ音出力用に設定します。
    指定モード一覧

    • INPUT:ビット入力
    • INPUT_PU:プルアップ付きビット入力(PICSYS24/PICSYS30)
    • OUTPUT:ビット出力

PICSYS概要紹介

PICSYSはAVR用のArduinoに触発され、PICでも簡単にプログラミングを行える環境を構築することを目標に開発されたソフトウェアフレームワーク(ライブラリ)です。

PICのプログラミングで以下のようなことを感じたり、これらが利用の障害になっていませんか?

  • コンフィグの設定がわからない
  • クロック発信器の設定がわからない
  • 入出力ピンの設定がわからない
  • 入出力ピンが思うように動かない(例えばアナログ入力との絡みで)
  • AD変換の利用法がわからない
  • タイマーの利用法、時間の管理法がわからない
  • 割り込みの利用法がわからない
  • 音の出し方がわからない
  • 文字LCDの表示法がわからない
  • 7セグメントLEDの利用法がわからない

PICSYSフレームワーク:PICでArduino?

さて、何のプログラムでしょう?
ぱっと見はArduinoの簡単なプログラムの様ですが。。。

あれ?、でも微妙に変。

構成の設定

クロック

DUO-GL128-PIC24FでPICSYS24を利用する場合には、まず、PICSYS24のパッケージに含まれるpicsys24conf.hを開き、下記の2行のコメントを外し、有効にします。

picsys24conf.h



#define DUO_GL128_PIC24F // キットの指定 #define XTAL_OSC (32 MHz) // 発振器と周波数の指定

この指定では、MCUを最高の周波数で稼働するように指定していますが、消費電流を抑えたり、発熱を抑えるなどの要求がある場合には、以下の周波数も選択することができます。

  • 8 MHz

DOZEモード

コンテンツ配信