2017年07月06日

12F1501 RGB LED制御

12F1501 RGB LED制御

マイクロチップ社の8ピンマイコン・PIC12F1501PWM出力を4ポート持っているため、簡単なDCモータ制御やRGB-LED制御に適しています。

今回は下記のような感じでRGBの3色LEDの調光を制御してみました。
12F1501 RGB LED制御

各ポートのPWM出力の波形のキャプチャ。 PWM周期:16kHz(62.5usec)
12F1501 RGB LED制御
12F1501 RGB LED制御


PWM設定は、タイマ2とPWMxCON、PWMxDCx で行います。

// Timer2
T2CON = 0b00000100; // FOSC(16MHz)/4=4MHz
PR2 = 250-1; // PWM 周期=4MHz/250=16kHz

// PWM1~3
PWM1CON = 0b11000000 ; // PWM1機能使用
PWM1DCH = 0 ; // Duty初期 0%
PWM1DCL = 0 ;

PWM2CON = 0b11000000 ; // PWM2機能使用
PWM2DCH = 0 ; // Duty初期 0%
PWM2DCL = 0 ;

PWM3CON = 0b11000000 ; // PWM3機能使用
PWM3DCH = 0 ; // Duty初期 0%
PWM3DCL = 0 ;


ドキュメント参照すると

PWM 周期 = (PR2 + 1) x 4 x TOSC x (TMR2 Prescale Value)
パルス幅 = PWMxDCH:PWMxDCL<7:6> x TOSC x (TMR2 Prescale Value)
 ただし TOSC = 1/FOSC
と書かれています。

PWM周期はパルス幅のクロックに対して4分周されているので
 PWMxDCH = (PR2 + 1)
 PWMxDCL = 0b00******
とした時に、PWM 100%となるようです。



タグ :PIC12F1501PWM

同じカテゴリー(マイコン開発)の記事
Fusion PCBでエレキー
Fusion PCBでエレキー(2020-04-01 19:00)


上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。

削除
12F1501 RGB LED制御
    コメント(0)