検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
1024分解能ハードPWM制御自作関数 をテンプレートにして作成
★トップ(目次)ページへ
★情報交換掲示板
08/08/14設置
今日の10件
PICとMikroC
(137)
I2C通信LCD表示法(16F1827 XC8)
(5)
Try Out Top Dating Platform No Payment
(3)
MPLAB Xのデバッガーの使用法
(2)
Take A Look Top OF Models To Sub To
(2)
スイッチ入力(12F683)
(2)
I can not lie.
(2)
PWM分解能をLCDに表示(24FJ64)
(2)
スイッチ入力(16F886)
(2)
モータの前転・後転
(2)
最新の15件
2025-07-11
XC8:コンフィグレーションワード記述書式について
2025-06-28
Try Out Top Local Dating Site No Cost
2025-06-27
Get Started with Casual Dating Websites No Cost
Tips For Best Local Hookup Websites Online
Try Out Free Hookup Platforms To For Just Sex
Free Casual Encounters App Online
Tips For Free Local Dating Platforms No Cost
Get Started with Best Local Hookup Website No Cost
Try Out Free Meetup Website No Sign Up
Guide To Local Hookup Platform No Sign Up
Try Out Top Casual Dating Platform To For Just Sex
Top Local Dating Websites No Sign Up
Guide To Free Dating Websites For Quick Sex
Get Started with Online Casual Hookup Site No Sign Up
Guide To Online Casual Dating Website Usa
#amazon(4798109223)
Total:0/Today:0
開始行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
~
*1024分解能ハードPWM制御自作関数 [#ef01afa1]
MikroCに用意されているPWM関数はPWM分解能が256である。
しかし、PIC16系に組み込まれているハードウエアPWM機能は10...
である。
ハードの性能を100%引き出す、1024分解能のPWM制御を実現す...
を作成したので紹介する。
(発光ダイオード(LED)の明るさを徐々に変えるプログラムで稼...
注)16F628Aの場合、PWM信号はRB3から発信される。
関連自作my_Pwm関数
void my_Pwm_Change_Duty(unsigned int duty_ratio);
関連MikroC関数
void Pwm_Init(unsigned long freq);
void Pwm_Start(void);
void Pwm_Stop(void);
|&attachref(LEDの明るさを変える回路写真.JPG,zoom,150x150,...
/**
* 1024分割制御 自作Pwm関数
* 発光ダイオード(LED)の明るさを徐々に変える
*
* PIC 16F628A
* 発信器:内臓4MHz
* 電源:乾電池3本(4.5V)
* LED: CCP1(RB3) 照度比較用 RB2
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON ...
* _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* 言語 MikroC v6.2
*/
//関数プロトタイプ宣言
void my_Pwm_Change_Duty(unsigned int duty_ratio);
//関数プロトタイプ宣言終わり
//自作my_Pwm関数の使用例
//発光ダイオード(LED)の明るさを徐々に変える
void main() { //メインプログラム
//利用変数の定義
unsigned int i;
//利用変数の定義終わり
//マイコンの初期化
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000000; //PORTBを8つ全て0:出力に設定
Pwm_Init(5000); //PWM機能の初期化
//マイコンの初期化終わり
PORTB.F2 = 1; //照度比較用LED ON
Pwm_Start(); //PWM機能の起動
do { //doとwhileの間を繰り返す
for(i = 0; i < 1024; i++) {
my_Pwm_Change_Duty(i); //LEDの明るさを徐々に...
Delay_ms(20); //0.02秒(=20ミリ秒)待つ
}
} while(1); //doとwhileの間を繰り返す
} //メインプログラム終わり
//自作my_Pwm関数
//【参考資料】
//後関氏「CCPのPWMモードでの使い方」
//http://picfun.com/pic18.html
//久世氏「ハードウェアのPWM機能を使って、数値を変える」
//http://www.kuze.jp/sfc/2006_sp/page17.html
void my_Pwm_Change_Duty(unsigned int duty_ratio) {
// duty_ratio:0〜1023 0:Min 1023:Max
//duty_ratio上位8ビットをCCPR1Lレジスタへ格納
CCPR1L = duty_ratio >> 2;
//08/02/03修正始め
//duty値の下位2ビットを格納するのはCCP1CONレジスタの6...
//4,5ビットであるので修正した。
//【参考】後関氏「CCPのPWMモードでの使い方」
//http://picfun.com/pic18.html
//duty_ratio下位2ビットをCCP1CONレジスタの4,5ビットへ...
CCP1CON.F4 = duty_ratio & 0b00000001;
CCP1CON.F5 = (duty_ratio & 0b00000010) >> 1;
//duty_ratio下位2ビットをCCP1CONレジスタの6,7ビットへ...
//CCP1CON.F6 = duty_ratio & 0b00000001;
//CCP1CON.F7 = (duty_ratio & 0b00000010) >> 1;
//08/02/03修正終わり
}
//自作my_Pwm関数終わり
★この情報は役に立ちましたか?
#vote(はい[57],普通[31],いいえ[55])
- CCP1CONレジスタの6,7ビットなんて無意味じゃないの?? --...
- これって久世氏の間違い箇所まで同じなんですか? 滑稽で...
- my_Pwm_Change_Duty()関数に間違いがありますか。ご指摘あ...
- duty値の下位2ビットを格納するのはCCP1CONレジスタの6,7ビ...
- PWM_Init(14行目)のところがビルドするとエラーがでるの...
- 2015-10-6 xiaozhengm http://www.louisvuitton-lvoutlet....
- Centre http://www.michaelkorsoutlets-online.us.com/ htt...
- http://www.cybermondaydeals.in.net http://www.michaelk...
- http://www.nike-shoes.in.net/ http://www.bostoncelticsj...
- 20190109 junda http://www.coach-factory-outlet-online.u...
- http://www.outletsmichaelkors.us.com http://www.christi...
- chenyingying2017106 http://www.oakley-sunglasses.net.co...
- http://www.nike-id.us/ nike id http://www.katespadeo...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.giuseppezanottioutlet.us.com http://www.cana...
- جيب رانج ...
- http://www.yeezyshoes.us.com/ Yeezy Shoes http://www.ye...
- [[stripchat:https://stripchat.us.com]] -- [[stripchat]]...
- [[stripchat:https://de.stripchat.eu.com]] -- [[stripcha...
- https://www.maalomsta.com/ -- [[معل&#...
- https://www.maalomsta.com/ -- [[معل&#...
- https://www.maalomsta.com/ -- [[معل&#...
- https://www.maalomsta.com/2022/12/hyundai-venue.html ht...
- https://www.maalomsta.com/2022/12/toyota-rush.html http...
#comment_nospam
終了行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
~
*1024分解能ハードPWM制御自作関数 [#ef01afa1]
MikroCに用意されているPWM関数はPWM分解能が256である。
しかし、PIC16系に組み込まれているハードウエアPWM機能は10...
である。
ハードの性能を100%引き出す、1024分解能のPWM制御を実現す...
を作成したので紹介する。
(発光ダイオード(LED)の明るさを徐々に変えるプログラムで稼...
注)16F628Aの場合、PWM信号はRB3から発信される。
関連自作my_Pwm関数
void my_Pwm_Change_Duty(unsigned int duty_ratio);
関連MikroC関数
void Pwm_Init(unsigned long freq);
void Pwm_Start(void);
void Pwm_Stop(void);
|&attachref(LEDの明るさを変える回路写真.JPG,zoom,150x150,...
/**
* 1024分割制御 自作Pwm関数
* 発光ダイオード(LED)の明るさを徐々に変える
*
* PIC 16F628A
* 発信器:内臓4MHz
* 電源:乾電池3本(4.5V)
* LED: CCP1(RB3) 照度比較用 RB2
*
* Device Flags: _BODEN_OFF _BOREN_OFF _CP_OFF _PWRTE_ON ...
* _LVP_OFF _MCLRE_OFF _INTRC_OSC_NOCLKOUT
* 言語 MikroC v6.2
*/
//関数プロトタイプ宣言
void my_Pwm_Change_Duty(unsigned int duty_ratio);
//関数プロトタイプ宣言終わり
//自作my_Pwm関数の使用例
//発光ダイオード(LED)の明るさを徐々に変える
void main() { //メインプログラム
//利用変数の定義
unsigned int i;
//利用変数の定義終わり
//マイコンの初期化
PORTB = 0b00000000; //PORTBの中身をきれいにする
TRISB = 0b00000000; //PORTBを8つ全て0:出力に設定
Pwm_Init(5000); //PWM機能の初期化
//マイコンの初期化終わり
PORTB.F2 = 1; //照度比較用LED ON
Pwm_Start(); //PWM機能の起動
do { //doとwhileの間を繰り返す
for(i = 0; i < 1024; i++) {
my_Pwm_Change_Duty(i); //LEDの明るさを徐々に...
Delay_ms(20); //0.02秒(=20ミリ秒)待つ
}
} while(1); //doとwhileの間を繰り返す
} //メインプログラム終わり
//自作my_Pwm関数
//【参考資料】
//後関氏「CCPのPWMモードでの使い方」
//http://picfun.com/pic18.html
//久世氏「ハードウェアのPWM機能を使って、数値を変える」
//http://www.kuze.jp/sfc/2006_sp/page17.html
void my_Pwm_Change_Duty(unsigned int duty_ratio) {
// duty_ratio:0〜1023 0:Min 1023:Max
//duty_ratio上位8ビットをCCPR1Lレジスタへ格納
CCPR1L = duty_ratio >> 2;
//08/02/03修正始め
//duty値の下位2ビットを格納するのはCCP1CONレジスタの6...
//4,5ビットであるので修正した。
//【参考】後関氏「CCPのPWMモードでの使い方」
//http://picfun.com/pic18.html
//duty_ratio下位2ビットをCCP1CONレジスタの4,5ビットへ...
CCP1CON.F4 = duty_ratio & 0b00000001;
CCP1CON.F5 = (duty_ratio & 0b00000010) >> 1;
//duty_ratio下位2ビットをCCP1CONレジスタの6,7ビットへ...
//CCP1CON.F6 = duty_ratio & 0b00000001;
//CCP1CON.F7 = (duty_ratio & 0b00000010) >> 1;
//08/02/03修正終わり
}
//自作my_Pwm関数終わり
★この情報は役に立ちましたか?
#vote(はい[57],普通[31],いいえ[55])
- CCP1CONレジスタの6,7ビットなんて無意味じゃないの?? --...
- これって久世氏の間違い箇所まで同じなんですか? 滑稽で...
- my_Pwm_Change_Duty()関数に間違いがありますか。ご指摘あ...
- duty値の下位2ビットを格納するのはCCP1CONレジスタの6,7ビ...
- PWM_Init(14行目)のところがビルドするとエラーがでるの...
- 2015-10-6 xiaozhengm http://www.louisvuitton-lvoutlet....
- Centre http://www.michaelkorsoutlets-online.us.com/ htt...
- http://www.cybermondaydeals.in.net http://www.michaelk...
- http://www.nike-shoes.in.net/ http://www.bostoncelticsj...
- 20190109 junda http://www.coach-factory-outlet-online.u...
- http://www.outletsmichaelkors.us.com http://www.christi...
- chenyingying2017106 http://www.oakley-sunglasses.net.co...
- http://www.nike-id.us/ nike id http://www.katespadeo...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.cheapnikenfljerseyswholesale.us http://www.u...
- http://www.giuseppezanottioutlet.us.com http://www.cana...
- جيب رانج ...
- http://www.yeezyshoes.us.com/ Yeezy Shoes http://www.ye...
- [[stripchat:https://stripchat.us.com]] -- [[stripchat]]...
- [[stripchat:https://de.stripchat.eu.com]] -- [[stripcha...
- https://www.maalomsta.com/ -- [[معل&#...
- https://www.maalomsta.com/ -- [[معل&#...
- https://www.maalomsta.com/ -- [[معل&#...
- https://www.maalomsta.com/2022/12/hyundai-venue.html ht...
- https://www.maalomsta.com/2022/12/toyota-rush.html http...
#comment_nospam
ページ名: