閲覧総計:14929 (本日:2 昨日:0)
PIC 16F628A内臓のPWM機能を利用し、発光ダイオードの明るさを徐々に変えてみよう。 06/10/28
注)16F628Aの場合、PWM信号はRB3から発信される。
関連MikroC関数
void Pwm_Init(unsigned long freq);
void Pwm_Change_Duty(unsigned short duty_ratio);
void Pwm_Start(void);
void Pwm_Stop(void);
/** * PWM機能で発光ダイオードの明るさを徐々に変える * PIC 16F628A * 発信器:内臓4MHz * 電源:乾電池3本 * RB3: LED (CCP出力) * RB2: LED (照度比較用) * Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON _WDT_OFF * _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT * 言語 MikroC v6.2 */ void main(){ //メイン プログラム unsigned short int i; //使用変数の定義 PORTB = 0b00000000; //PORTBの中身をきれいにする TRISB = 0b00000010; //RB1は1:入力、他のPORTBは0:出力に設定 PWM_Init(5000); //PWMの初期化 (5KHz周期指定) PORTB.F2 = 1; //照度比較用LED ON PWM_Start(); //PWM機能スタート do { //doとwhileの間を繰り返す //LEDの明るさを徐々に変える for (i = 0; i < 256; i++) { PWM_Change_Duty(i); //PWMのDuty変更 Delay_ms(100); //100msec待つ } } while(1); //doとwhileの間を繰り返す } //メイン プログラム終了
★この情報は役に立ちましたか?