Board logo

标题: 延时当中的计数值该如何计算? [打印本页]

作者: flexraybeginer    时间: 2010-8-9 16:47     标题: 延时当中的计数值该如何计算?

MC9S12FX512MLM 1M64J的芯片,晶振由一个4M和一个40M的构成
想延时10微秒,延时程序中的time10us该怎么计算?
void Delay(uint32 D)   
{
uint32 i;
for(;D>0;D--)
   for(i=time10us;i>0;i--);
}


锁相环配置如下:
     PLLCTL_PLLON = 0;       /* Disable the PLL */
    SYNR_SYNDIV = 0x04;        /* Set PLL synthesizer register to 4 */
    REFDV_REFDIV = 0x00;     /* Set PLL divider register to 0 */
   
    /* Fvco = 2*OSCCLK*(SYNR+1)/(REFDV+1) = 8MHz* 5/1 = 40MHz   */
    /*                                    -> VCOFRQ = 00b        */        
    SYNR_VCOFRQ1 = 0;
    SYNR_VCOFRQ0 = 0;
        
    /* Fref = OSCCLK/(REFDV+1) = 4MHz/1 = 4MHz -> REFRQ= 01b     */   
    REFDV_REFFRQ1 = 0;
    REFDV_REFFRQ0 = 1;
   
    PLLCTL_PLLON = 1;   /* PLL enabled */
作者: 康桥人    时间: 2010-8-9 21:13

这种延时只可以做粗略的计算,还不如直接用示波器测试来的快
作者: Hunter.Cheung    时间: 2010-8-9 23:52

要不拿定时器,算个计数值,能比较准的。
作者: flexraybeginer    时间: 2010-8-12 14:49

还是用示波器来观测计较快
作者: zephanshaka    时间: 2010-8-29 19:20

用汇编写,然后查指令手册。看每个指令执行的机器周期,然后就可以算出来总的延时了。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0