検索
AND検索
OR検索
トップ
|
リロード
|
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
LEDの明るさを変える(PWM)(16F886) をテンプレートにして作成
★トップ(目次)ページへ
★情報交換掲示板
08/08/14設置
今日の10件
PICとMikroC
(677)
割り込み制御
(2)
ライントレースカー(基本機能のみ搭載)
(2)
PIC-PICの無線通信(ラジコンへの応用)
(2)
LEDの明るさを変える(PWM)(18F2320)
(2)
LCD表示法(24FJ64)
(1)
PIC-PICの通信(USART)
(1)
1024分解能ハードPWM制御自作関数
(1)
PukiWiki
(1)
16F628A PORTAスイッチ入力
(1)
最新の15件
2024-06-21
Try Out Top Local Dating Site In The Usa
Try Out Casual Encounters Site No Cost
Top Dating Website No Cost
Tips For Free Local Hookup Websites To For Just Sex
Try Out Best Local Encounters Platform To For Just Sex
Guide To Local Dating Platforms No Sign Up
Guide To Free Casual Encounters Apps No Cost
Guide To Online Casual Hookup Platforms No Cost
Tips For Free Local Dating Apps Online
Tips For Best Casual Hookup Websites Usa
Guide To Online Dating Platform No Payment
Tips For Free Casual Dating Platforms No Sign Up
Try Out Best Casual Hookup Platform Usa
Tips For Best Discreet Dating Sites For Quick Sex
Tips For Free Discreet Dating Apps Online
#amazon(4798109223)
Total:0/Today:0
開始行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
【目次】(項目をクリックすると、そこへ飛べます)
#contents
~
*発光ダイオード(LED)の明るさを変える(PWM) [#qa665cdd]
PIC内蔵の「PWM(Pulse Width Modulation)機能」を利用した簡...
16F886が持つ2つのCCPの「PWM制御」機能の利用法、稼働を確...
また、HI-TECH C PRO(Lite mode)のPWM関数を作成し、稼働を確...
注)16F886のPWM信号はCCP1がRC2から、CCP2がRC1か発信される。
注)CCP = Compare/Capture/PWM
・内蔵発振器(8MHz)を利用する。
・MCLRはPIC内部プルアップで利用する。
【結果】PWMで2つの発光ダイオード(LED)の明るさを独立して...
出来た。 08/08/15
|&attachref(P1020013.JPG,zoom,150x150,button){新しい写真...
**MikroCのプログラム [#v2cc11fe]
/**
* 16F886のPWM機能の稼働テスト
* PWM機能で2つの発光ダイオードの明るさを徐々に変える
*
* RC1: LED (CCP2出力)
* RC2: LED (CCP1出力)
* RC3: LED (照度比較用)
*
* Clock: 8.0MHz 内蔵発振器使用
* Device Flags:
* _INTRC_OSC_NOCLKOUT _WDT_OFF _PWRTE_ON _MCLRE_OFF
* _CP_OFF _CPD_OFF _BOR_OFF _IESO_ON _FCMEN_ON
* _LVP_OFF _DEBUG_ON _BOR21V _WRT_OFF
*
* MikroC v8.1.0
*/
void
main()
{
//使用変数の定義
unsigned short int i;
//PICの初期化
PORTC = 0b00000000; //PortCの中身をきれいにする
OSCCON = 0b01110000; //内蔵発振器 8MHz使用に設定
// A/D利用PORTの設定 // ANALOG=1, DIGITAL=0 //
ANSEL = 0b00000000; //AN4-0ピンはデジタルで使用
ANSELH = 0b00000000; //AN13-8ピンはデジタルで使用
TRISC = 0b00000000; //PortC 8個全て0:出力設定
//PICの初期化終わり
//PWMの初期化と起動
PWM1_Init(5000); //PWM1の初期化 (5KHz周期指定)
PWM2_Init(5000); //PWM2の初期化 (5KHz周期指定)
PWM1_Start(); //PWM1機能スタート
PWM2_Start(); //PWM2機能スタート
PORTC.F3 = 1; //照度比較用LED ON
while (1)
{
//2つのLEDの明るさを徐々に変える
for (i = 0; i < 256; i++)
{
PWM1_Change_Duty(i); //PWM1のDuty変更
PWM2_Change_Duty(255 - i); //PWM2のDuty変更
Delay_ms(40); //0.04秒(=40ミリ秒)待つ
}
}
}
★この情報は役に立ちましたか?
#vote(はい[58],普通[35],いいえ[39])
- http://www.coachcanadaoutlet.ca http://www.prada-outlet...
- 20190109 junda http://www.coach-factory-outlet-online.u...
- a shop for Pregnancy Essentials | Newborn Baby Products...
- a shop for Pregnancy Essentials | Newborn Baby Products...
- a shop for Pregnancy Essentials | Newborn Baby Products...
#comment_nospam
**HI-TECH C PRO(Lite mode)のプログラム [#w6ac95da]
/**
* 16F886のPWM機能の稼働テスト
* PWM機能で2つの発光ダイオードの明るさを徐々に変える
*
* RC1: LED (CCP2出力)
* RC2: LED (CCP1出力)
* RC3: LED (照度比較用)
*
* HI-TECH C PRO PIC10/12/16 MCU Family(Lite mode) v9.60
* MPLAB v8.14
*/
#include <htc.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT
& DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS & DEBU...
__CONFIG(BORV21);
//__delay_us(), __delay_ms()の制御
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 8000000 //PICのクロックをHzで設定
#endif
//関数のプロトタイプ宣言
void OpenPWM1(char period);
void OpenPWM2(char period);
void SetPWM1(unsigned int dutycycle);
void SetPWM2(unsigned int dutycycle);
void
main(void)
{
//使用変数の定義
unsigned int i;
//PICの初期化
TRISC = 0b00000000; //PORTC全てを0:出力に設定
OSCCON = 0b01110000; //内蔵発振器 8MHz使用に設定
// A/D利用PORTの設定 // ANALOG=1, DIGITAL=0 //
ANSEL = 0b00000000; //AN4-0ピンはデジタルで使用
ANSELH = 0b00000000; //AN13-8ピンはデジタルで使用
PORTC = 0b00000000; //PORTCの中身をきれいにする
//PICの初期化終わり
//PIC 8MHz Tosc = 0.125μsの時
//5000HzのPWM信号を発信する場合
//
//周期 = 5000Hz = 1/5000 = 200μs
//(PR2の範囲は0〜255)
//Timer2のプリスケール 4
//周期 = (PR2 + 1) * 4 * Tosc * (Timer2のプリスケー...
//PR2 = (周期 / (4 * Tosc * (Timer2のプリスケール値)...
//PR2 = (200 / (4 * 0.125 * 4)) - 1
//PR2 = 99
//
//PWM分解能 DC1(Max)は
//duty = DC1 * Tosc * (Timer2のプリスケール値)である...
//DC1 = duty / (Tosc * (Timer2のプリスケール値))
//DC1(Max) = 200 / (0.125 * 4)
//DC1(Max) = 400
//Timer2のプリスケール値設定
T2CON |= 0b00000001; //プリスケール 4
//PWMの初期化と起動
OpenPWM1(99); //引数は0-255 PWM 5000Hz
OpenPWM2(99); //引数は0-255 PWM 5000Hz
RC3 = 1; //照度比較用LED(RC3) ON
while (1)
{
for (i = 0; i < 400; i++) //5000Hz時の分解能は400
{
SetPWM1(i); //PWM1のDuty変更
SetPWM2(400 - i); //PWM2のDuty変更
__delay_ms(20); //0.02秒(=20ミリ秒)待つ
}
}
}
//PWM関数はMPLAB C18のPWM関数を参考に自作 08/08/15
void
OpenPWM1(char period)
{
CCP1CON |= 0b00001100; //PWMモードにする
PR2 = period;
T2CON |= 0b00000100; //Timer2 Enable
}
void
OpenPWM2(char period)
{
CCP2CON |= 0b00001100; //PWMモードにする
PR2 = period;
T2CON |= 0b00000100; //Timer2 Enable
}
void
SetPWM1(unsigned int dutycycle)
{
//解像度10ビットのうち上位8ビットをCCPR1Lレジスタに...
CCPR1L = dutycycle >> 2;
//解像度10ビットのうち下位2ビットをCCP1CONレジスタの...
CCP1CON |= (dutycycle & 0x0003) << 4;
}
void
SetPWM2(unsigned int dutycycle)
{
//解像度10ビットのうち上位8ビットをCCPR2Lレジスタに...
CCPR2L = dutycycle >> 2;
//解像度10ビットのうち下位2ビットをCCP2CONレジスタの...
CCP2CON |= (dutycycle & 0x0003) << 4;
}
★この情報は役に立ちましたか?
#vote(はい[28],普通[1],いいえ[5])
- 突然ですがhi tech用のCaptureの関数も作って頂けませんで...
- 書き忘れました、pic16f88用でお願いいたします。 -- [[ひ...
- http://www.oakleysunglasses.ar.com/ http://www.oakley--...
- http://www.outletonline-michaelkors.com/ http://www.mic...
- http://www.outletonline-michaelkors.com/ http://www.mic...
- http://www.outletonline-michaelkors.com/ http://www.mic...
- Centre http://www.michaelkorsoutlets-online.us.com/ htt...
- chenyingying2017106 http://www.oakley-sunglasses.net.co...
- 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.mulberryhandbagsuk.co.ukhttp://www.mulberryo...
- https://www.comprarextintoresbaratos.es/ https://www.co...
- Getting the most effective DNA boards is not a stroll i...
- https://teletype.in/@swisswatches/7U_9n3H_k https://med...
- https://www.skylinecomposites.com/pvc-foam-board/ -- [[...
- Skyline Composites is a high-quality supplier and ...
- http://www.yeezy-sneakers.us http://www.jordan12.us.com...
- [[chaturbate:https://de.chaturbate.eu.com]] [[chaturbat...
- get the fashion mama hat here https://www.gogomumstore....
- the best children name stamp for clothes https://www.go...
- http://twbaojian.com/goods.php?id=33 -- [[vsdvgsadgfsd]...
- http://www.zhengkang.tw/product/muststate/ -- [[gdsgsag...
- http://www.zhonghua19.tw/goods.php?id=36 -- [[cxggdgds]...
- http://www.nman18.com/goods.php?id=37 -- [[gddsggsadga]...
- [[stripchat:https://stripchat.us.com]] -- [[stripchat]]...
- [[stripchat:https://de.stripchat.eu.com]] -- [[stripcha...
#comment_nospam
終了行:
閲覧総計:&counter(); (本日:&counter(today); 昨日...
【目次】(項目をクリックすると、そこへ飛べます)
#contents
~
*発光ダイオード(LED)の明るさを変える(PWM) [#qa665cdd]
PIC内蔵の「PWM(Pulse Width Modulation)機能」を利用した簡...
16F886が持つ2つのCCPの「PWM制御」機能の利用法、稼働を確...
また、HI-TECH C PRO(Lite mode)のPWM関数を作成し、稼働を確...
注)16F886のPWM信号はCCP1がRC2から、CCP2がRC1か発信される。
注)CCP = Compare/Capture/PWM
・内蔵発振器(8MHz)を利用する。
・MCLRはPIC内部プルアップで利用する。
【結果】PWMで2つの発光ダイオード(LED)の明るさを独立して...
出来た。 08/08/15
|&attachref(P1020013.JPG,zoom,150x150,button){新しい写真...
**MikroCのプログラム [#v2cc11fe]
/**
* 16F886のPWM機能の稼働テスト
* PWM機能で2つの発光ダイオードの明るさを徐々に変える
*
* RC1: LED (CCP2出力)
* RC2: LED (CCP1出力)
* RC3: LED (照度比較用)
*
* Clock: 8.0MHz 内蔵発振器使用
* Device Flags:
* _INTRC_OSC_NOCLKOUT _WDT_OFF _PWRTE_ON _MCLRE_OFF
* _CP_OFF _CPD_OFF _BOR_OFF _IESO_ON _FCMEN_ON
* _LVP_OFF _DEBUG_ON _BOR21V _WRT_OFF
*
* MikroC v8.1.0
*/
void
main()
{
//使用変数の定義
unsigned short int i;
//PICの初期化
PORTC = 0b00000000; //PortCの中身をきれいにする
OSCCON = 0b01110000; //内蔵発振器 8MHz使用に設定
// A/D利用PORTの設定 // ANALOG=1, DIGITAL=0 //
ANSEL = 0b00000000; //AN4-0ピンはデジタルで使用
ANSELH = 0b00000000; //AN13-8ピンはデジタルで使用
TRISC = 0b00000000; //PortC 8個全て0:出力設定
//PICの初期化終わり
//PWMの初期化と起動
PWM1_Init(5000); //PWM1の初期化 (5KHz周期指定)
PWM2_Init(5000); //PWM2の初期化 (5KHz周期指定)
PWM1_Start(); //PWM1機能スタート
PWM2_Start(); //PWM2機能スタート
PORTC.F3 = 1; //照度比較用LED ON
while (1)
{
//2つのLEDの明るさを徐々に変える
for (i = 0; i < 256; i++)
{
PWM1_Change_Duty(i); //PWM1のDuty変更
PWM2_Change_Duty(255 - i); //PWM2のDuty変更
Delay_ms(40); //0.04秒(=40ミリ秒)待つ
}
}
}
★この情報は役に立ちましたか?
#vote(はい[58],普通[35],いいえ[39])
- http://www.coachcanadaoutlet.ca http://www.prada-outlet...
- 20190109 junda http://www.coach-factory-outlet-online.u...
- a shop for Pregnancy Essentials | Newborn Baby Products...
- a shop for Pregnancy Essentials | Newborn Baby Products...
- a shop for Pregnancy Essentials | Newborn Baby Products...
#comment_nospam
**HI-TECH C PRO(Lite mode)のプログラム [#w6ac95da]
/**
* 16F886のPWM機能の稼働テスト
* PWM機能で2つの発光ダイオードの明るさを徐々に変える
*
* RC1: LED (CCP2出力)
* RC2: LED (CCP1出力)
* RC3: LED (照度比較用)
*
* HI-TECH C PRO PIC10/12/16 MCU Family(Lite mode) v9.60
* MPLAB v8.14
*/
#include <htc.h>
__CONFIG(INTIO & WDTDIS & PWRTEN & MCLREN & UNPROTECT
& DUNPROTECT & BORDIS & IESODIS & FCMDIS & LVPDIS & DEBU...
__CONFIG(BORV21);
//__delay_us(), __delay_ms()の制御
#ifndef _XTAL_FREQ
#define _XTAL_FREQ 8000000 //PICのクロックをHzで設定
#endif
//関数のプロトタイプ宣言
void OpenPWM1(char period);
void OpenPWM2(char period);
void SetPWM1(unsigned int dutycycle);
void SetPWM2(unsigned int dutycycle);
void
main(void)
{
//使用変数の定義
unsigned int i;
//PICの初期化
TRISC = 0b00000000; //PORTC全てを0:出力に設定
OSCCON = 0b01110000; //内蔵発振器 8MHz使用に設定
// A/D利用PORTの設定 // ANALOG=1, DIGITAL=0 //
ANSEL = 0b00000000; //AN4-0ピンはデジタルで使用
ANSELH = 0b00000000; //AN13-8ピンはデジタルで使用
PORTC = 0b00000000; //PORTCの中身をきれいにする
//PICの初期化終わり
//PIC 8MHz Tosc = 0.125μsの時
//5000HzのPWM信号を発信する場合
//
//周期 = 5000Hz = 1/5000 = 200μs
//(PR2の範囲は0〜255)
//Timer2のプリスケール 4
//周期 = (PR2 + 1) * 4 * Tosc * (Timer2のプリスケー...
//PR2 = (周期 / (4 * Tosc * (Timer2のプリスケール値)...
//PR2 = (200 / (4 * 0.125 * 4)) - 1
//PR2 = 99
//
//PWM分解能 DC1(Max)は
//duty = DC1 * Tosc * (Timer2のプリスケール値)である...
//DC1 = duty / (Tosc * (Timer2のプリスケール値))
//DC1(Max) = 200 / (0.125 * 4)
//DC1(Max) = 400
//Timer2のプリスケール値設定
T2CON |= 0b00000001; //プリスケール 4
//PWMの初期化と起動
OpenPWM1(99); //引数は0-255 PWM 5000Hz
OpenPWM2(99); //引数は0-255 PWM 5000Hz
RC3 = 1; //照度比較用LED(RC3) ON
while (1)
{
for (i = 0; i < 400; i++) //5000Hz時の分解能は400
{
SetPWM1(i); //PWM1のDuty変更
SetPWM2(400 - i); //PWM2のDuty変更
__delay_ms(20); //0.02秒(=20ミリ秒)待つ
}
}
}
//PWM関数はMPLAB C18のPWM関数を参考に自作 08/08/15
void
OpenPWM1(char period)
{
CCP1CON |= 0b00001100; //PWMモードにする
PR2 = period;
T2CON |= 0b00000100; //Timer2 Enable
}
void
OpenPWM2(char period)
{
CCP2CON |= 0b00001100; //PWMモードにする
PR2 = period;
T2CON |= 0b00000100; //Timer2 Enable
}
void
SetPWM1(unsigned int dutycycle)
{
//解像度10ビットのうち上位8ビットをCCPR1Lレジスタに...
CCPR1L = dutycycle >> 2;
//解像度10ビットのうち下位2ビットをCCP1CONレジスタの...
CCP1CON |= (dutycycle & 0x0003) << 4;
}
void
SetPWM2(unsigned int dutycycle)
{
//解像度10ビットのうち上位8ビットをCCPR2Lレジスタに...
CCPR2L = dutycycle >> 2;
//解像度10ビットのうち下位2ビットをCCP2CONレジスタの...
CCP2CON |= (dutycycle & 0x0003) << 4;
}
★この情報は役に立ちましたか?
#vote(はい[28],普通[1],いいえ[5])
- 突然ですがhi tech用のCaptureの関数も作って頂けませんで...
- 書き忘れました、pic16f88用でお願いいたします。 -- [[ひ...
- http://www.oakleysunglasses.ar.com/ http://www.oakley--...
- http://www.outletonline-michaelkors.com/ http://www.mic...
- http://www.outletonline-michaelkors.com/ http://www.mic...
- http://www.outletonline-michaelkors.com/ http://www.mic...
- Centre http://www.michaelkorsoutlets-online.us.com/ htt...
- chenyingying2017106 http://www.oakley-sunglasses.net.co...
- 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.mulberryhandbagsuk.co.ukhttp://www.mulberryo...
- https://www.comprarextintoresbaratos.es/ https://www.co...
- Getting the most effective DNA boards is not a stroll i...
- https://teletype.in/@swisswatches/7U_9n3H_k https://med...
- https://www.skylinecomposites.com/pvc-foam-board/ -- [[...
- Skyline Composites is a high-quality supplier and ...
- http://www.yeezy-sneakers.us http://www.jordan12.us.com...
- [[chaturbate:https://de.chaturbate.eu.com]] [[chaturbat...
- get the fashion mama hat here https://www.gogomumstore....
- the best children name stamp for clothes https://www.go...
- http://twbaojian.com/goods.php?id=33 -- [[vsdvgsadgfsd]...
- http://www.zhengkang.tw/product/muststate/ -- [[gdsgsag...
- http://www.zhonghua19.tw/goods.php?id=36 -- [[cxggdgds]...
- http://www.nman18.com/goods.php?id=37 -- [[gddsggsadga]...
- [[stripchat:https://stripchat.us.com]] -- [[stripchat]]...
- [[stripchat:https://de.stripchat.eu.com]] -- [[stripcha...
#comment_nospam
ページ名: