110942199 发表于 2013-1-28 01:49:20

各位朋友帮分析下,ATmega16L,这个程序用的是多少M外置晶振,

本帖最后由 110942199 于 2013-1-28 10:59 编辑

各位朋友帮分析下,ATmega16L,这个程序用的应该是多少M外置晶振?

void delay_1ms(void)               //1ms延时函数
{
   unsigned int i;
   for (i=0;i<1140;i++);
}

附件是全部的源程序,需要IAR for AVR打开




NemoGu 发表于 2013-1-28 01:53:19

WinAVR已经有现成的_delay_ms_()和_delay_us_()

110942199 发表于 2013-1-28 02:02:57

NemoGu 发表于 2013-1-28 01:53 static/image/common/back.gif
WinAVR已经有现成的_delay_ms_()和_delay_us_()

是个别人的开源,有源代码和原理图,但是原理图上没有标注晶振的数值

tim 发表于 2013-1-28 02:09:21

一般这么弄延时的,其实都不要求很准

shiy 发表于 2013-1-28 05:46:14

有没有用串口和定时器什么的看那个好算   估计不大2M左右

110942199 发表于 2013-1-28 10:55:22

这个是全部的源程序,需要IAR for AVR打开

tony90 发表于 2013-1-29 23:40:33

貌似是8m,如果没有记错滴话

eblc1388 发表于 2013-1-30 00:47:08

本帖最后由 eblc1388 于 2013-1-30 01:22 编辑

请楼主细心查看一下 Delay.c 文档, 内有【注意:系统时钟8M】 的描述。还有在 lc_meter.c 文档内也可以从以下函数 cal_fre() 看得出来。

/************************************************************
函数:int cal_fre()
用途:频率计算函数
介绍:根据全局变量计算频率,并将结果作为返回值返回
*************************************************************/
unsigned long int cal_fre()
{
    unsigned long int fre;
    fre=8000000/seizedata;    //通过捕获周期时间间隔计算频率
    return fre;
}



110942199 发表于 2013-2-2 11:15:56

eblc1388 发表于 2013-1-30 00:47 static/image/common/back.gif
请楼主细心查看一下 Delay.c 文档, 内有【注意:系统时钟8M】 的描述。还有在 lc_meter.c 文档内也可以从以 ...

嗯,看到了,非常感谢!是我太粗心了
页: [1]
查看完整版本: 各位朋友帮分析下,ATmega16L,这个程序用的是多少M外置晶振,