You are here

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%に設定する

PWMパルスの継続的な出力処理は、PICSYS24が自動的に行います。

expwmled1.c: 1個のLEDのPWM制御



#include "picsys24.h" void setup() { pinMode(CN5, OUT_PWM1) ; // PWM出力の割り付け pinMode(SW2, INPUT_PU) ; pinMode(SW3, INPUT_PU) ; } int duty = 0 ; void loop() { delayMilliseconds(50) ; if (digitalRead(SW2) == LOW) duty += 2 ; if (digitalRead(SW3) == LOW) duty -= 2 ; /* 値は0(%)から100(%) */ if (duty > 100) duty = 100 ; if (duty < 0) duty = 0 ; digitalWrite(CN5, duty) ; // PWMのデューティー比の設定 }

CN5はPIC24F-MOD-GA002Uに実装されたLEDで、具体的にはpic24f-mod-ga002u.hで、#defineによりRB(9)と定義されています。

開発ソフト: 
チップファミリー: 
MCUチップ: 
技術: