PIC専用のスレ Part37at DENKI
PIC専用のスレ Part37 - 暇つぶし2ch552:774ワット発電中さん
12/04/02 01:36:06.29 1jawfykr
MPLAB v8.76
PCH V4.112
PIC18F4525

10MHzのセラミック発振子を使用
18S-03A-4(12.8MHz)水晶発振器の出力にVCC(5V)とGNDから10kΩの抵抗で分圧してRC0/T1OSO/T13CKIに接続
TIMER1を10msの割込にしてA2をトグル動作させてオシロで波形を測定

計算ではこれで50Hzの波形が測定できるはずだったんだけど、実測155Hzぐらい
それとH4を有効にして40MHz動作させると実測174Hzぐらいになる
やりたい事は動作させるクロックと時間をカウントさせるクロックを分けて正確な時間の時計が作りたい
それとH4の設定をしたときに周波数のズレが出た原因も知りたい
原因わかる方お願いします

12.8MHzの出力をOSC1/CLKI/RA7に繋いで下記部分を変更すると計算通り50Hzの波形が測定できた
#fuses NOWDT,NOPROTECT,NOPUT,BROWNOUT,NOLVP,MCLR,NOIESO,NOFCMEN,NOPBADEN,EC//HS,H4
// setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);

/****************************************
* LED時計
***************************************/
#include <18f4525.h>
#fuses NOWDT,NOPROTECT,NOPUT,BROWNOUT,NOLVP,MCLR,NOIESO,NOFCMEN,NOPBADEN,HS//,H4
#use fast_io(B)

#INT_TIMER1
void intval()
{
set_timer1(33535);
output_toggle(pin_a2);
}

///// メイン関数
void main()
{
set_tris_a(0x00);
set_tris_b(0x00);
set_tris_c(0x01);
set_tris_d(0x00);
set_tris_e(0x00);

//クロック設定
setup_oscillator(OSC_NORMAL);

// setup_timer_1(T1_EXTERNAL | T1_CLK_OUT | T1_DIV_BY_8);
setup_timer_1(T1_EXTERNAL | T1_DIV_BY_1);
// setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);

SET_TIMER1(16000);

//割り込み設定
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);

while(1) //永久ループ
{
output_toggle(pin_a3);
}
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch