سلام من یه پروژه دارم که می خوام تو proteus شبیه سازی کنم. برنامه توی c18 نوشته شده و من کلاک میکرو در پروتوس رو 40M گذاشتم توی کد برنامه:
#pragma config OSC = HSPLL
اما تایمر ها درست جواب نمی دهند و زمان ها رو چرند میده مثلا واسه تایمر 1 من گذاشتم :
که مثلا 10ms یه اینتراپت بده اما تو پروتوس هر 2.5ms اینتراپت میده
یه مشکل دیگه هم توی تایمر 0 هست که قراره یه فرکانس رو از ورودی بخونه من تنظیمات رو اینجور انجام دادم :
اما توی شبیه ساز هیچ موقع TMR0H تغییر نمی کنه
لطفا راهنمایی کنید
#pragma config OSC = HSPLL
اما تایمر ها درست جواب نمی دهند و زمان ها رو چرند میده مثلا واسه تایمر 1 من گذاشتم :
کد:
void timer1_init(void){
T1CON=(1<<4);
TMR1H = 60;
TMR1L = 176;
PIE1bits.TMR1IE=1;
IPR1bits.TMR1IP=1; //Timer1 overflow has high priority interrupt
T1CONbits.TMR1ON=1;
}
یه مشکل دیگه هم توی تایمر 0 هست که قراره یه فرکانس رو از ورودی بخونه من تنظیمات رو اینجور انجام دادم :
کد:
void timer0_init(void)
{
/*
Timer 0 in 16 bit mode with external clock ps:1/2
*/
TMR0H = 0; //clear timer
TMR0L = 0; //clear timer
INTCONbits.TMR0IE=1;
INTCON2bits.TMR0IP=0;
}
لطفا راهنمایی کنید




دیدگاه