閲覧総計:11324 (本日:1 昨日:1)
PWM機能の使い方を確認する目的で、PWM信号のdutyを変更し、LEDの明るさを
変えるプログラムを作成した。
新型の16F1XXXシリーズは、旧16Fシリーズと比較してPWM機能がとても高機能に
なっているが、その分操作法が風雑になっている。
今回はCCP(RA3)からPWM信号を発振する。Timer2を使用する。
【ポイント】
・16F1827のPWM機能に関する解説は↓こちらのページに詳しい
http://www.geocities.jp/zattouka/GarageHouse/micon/MPLAB/16F1827/memo.htm
PICの動かせ方入門「16F1827覚書」
/* PWM機能の確認(LEDの明るさを徐々に変える) * PIC16F1827 * XC8 v1.20 * LED:RA2,RA3 */ #include <xc.h> #pragma config FOSC = INTOSC, WDTE = OFF, BOREN = OFF, IESO = OFF, FCMEN = OFF #pragma config PLLEN = OFF, STVREN = OFF, LVP = OFF //__delay_us(), __delay_ms()へのクロック情報の設定 #define _XTAL_FREQ 8000000 //PICのクロックをHzで設定(8MHz) int main(void) { //使用変数の定義 unsigned int dutycycle; //0〜65535 //PICの初期設定 OSCCON = 0b01110000; //PLL:OFF, 内部クロック8MHzで駆動 ANSELA = 0b00000000; //RA4(AN4)-RA0(AN0)は全て0:デジタルI/Oとする TRISA = 0b00000000; //PORTA全てを0:出力に設定 PORTA = 0b00000000; //PORTAの中身をきれいにする //CCP3(RA3)へPWM信号を出力(Timer2使用) //PWM各種設定値の計算 //クロック8MHz Tosc = 0.125μsの時 //3000HzのPWM信号を発信する場合 // //周期 = 3000Hz = 1/3000 = 333μs //(PR2の範囲は0〜255) //Timer2のプリスケール 4 //周期 = (PR2 + 1) * 4 * Tosc * (Timer2のプリスケール値)であるから //PR2 = (周期 / (4 * Tosc * (Timer2のプリスケール値)) - 1 //PR2 = (333 / (4 * 0.125 * 4)) - 1 //PR2 = 165 // //PWM分解能 DC1(Max)は //duty = DC1 * Tosc * (Timer2のプリスケール値)であるから //DC1 = duty / (Tosc * (Timer2のプリスケール値)) //DC1(Max) = 333 / (0.125 * 4) //DC1(Max) = 666 //PWM各種条件設定 //CCP3(RA3)へPWM信号を出力 CCPTMRS = 0b00000000; //CCP3はTimer2使用に設定 CCP3CON = 0b00001100; //PWMモードを使用する T2CON = 0b00000001; ////プリスケール 4に設定 PR2 = 165; //PWM周波数3000Hzに設定 TMR2 = 0; //Timer2カウンターをクリアー T2CONbits.TMR2ON = 1; //Timer2 ON //メイン処理 LATAbits.LATA2 = 1; //RA2:パワーオンを示すLED点灯,照度比較用LED while(1) { for(dutycycle = 0; dutycycle < 666; dutycycle++) { //3000Hz時の分解能は666 //LEDの明るさを徐々に変える //dutycycleの変更 //解像度10ビットのうち上位8ビットをCCPR3Lレジスタに格納 CCPR3L = dutycycle >> 2; //解像度10ビットのうち下位2ビットをCCP3CONレジスタの4,5ビットへ格納 CCP3CON |= (dutycycle & 0x0003) << 4; __delay_ms(10); //0.01秒(=10ミリ秒)待つ } } }
★この情報は役に立ちましたか?
اذاعة القران الكريم
اذاعة القران الكريم بث مباشر
اذاعة القران الكريم من القاهره
اذاعة القران الكريم مصر
اذاعة القران الكريم يوتيوب
اذاعة القران الكريم
اذاعة القران الكريم بث مباشر
اذاعة القران الكريم من القاهره
اذاعة القران الكريم مصر
اذاعة القران الكريم يوتيوب
اذاعة القران الكريم
اذاعة القران الكريم بث مباشر
اذاعة القران الكريم من القاهره
اذاعة القران الكريم مصر
اذاعة القران الكريم يوتيوب
اذاعة القران الكريم
اذاعة القران الكريم بث مباشر
اذاعة القران الكريم من القاهره
اذاعة القران الكريم مصر
اذاعة القران الكريم يوتيوب
اذاعة القران الكريم
اذاعة القران الكريم بث مباشر
اذاعة القران الكريم من القاهره
اذاعة القران الكريم مصر
اذاعة القران الكريم يوتيوب
اذاعة القران الكريم اذاعة القران الكريم بث مباشر اذاعة القران الكريم من القاهره اذاعة القران الكريم مصر اذاعة القران الكريم يوتيوب -- be1ch? 2019-03-16 (土) 08:38:09