欢迎来到天天文库
浏览记录
ID:13004723
大小:372.50 KB
页数:5页
时间:2018-07-20
《avr单片机 外部晶振 延时》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于WINAVR+avrstudio4使用外部晶振时及延时可能遇到的问题By-炬本第一步,使用外部晶振1.连接isp下载线2.打开avrfightera.如下界面,在熔丝位那框架,点击“读取”(注:上图是默认的熔丝位)b.单击鼠标,把熔丝位改为下图(仅是JTAGEN和CKOPT为0),单击写入:这样就能使用外部晶振啦~修改过一次下次就不用修改了,但注意这是外部晶振,而不是RC振荡器,还有不要乱改熔丝位,乱改会锁芯片的。第二步,使用gcc自带延时函数及设置avrstudio例:#include2、il/delay.h>//声明//us级别的延时函数voidDelayus(unsignedintlus){while(lus--){_delay_loop_2(3);//_delay_loop_2(1)是延时4个时钟周期,参数为4则延时16//个时钟周期,本实验用12M晶体,则12个时钟周期为12/12=1us}}//ms级别的延时函数voidDelayms(unsignedintlms){while(lms--){Delayus(1000);//延时1ms}}Avrstudio设置:在avrs3、tudio菜单栏上点击project单击ConfigurationOptions要正确使用它们是有如下条件的:1.首先,你要正确定义你的F_CPU的值,也就是你的AVR单片机实际的频率。否则延时不准,这个就是Frequency的值。2.你在编译时一定要打开优化,Makefile中OPT不要选0,如果AVR_studio不要选O0。要不然就会出现#warning"Compileroptimizationsdisabled;functionsfromwon'tworkasd4、esigned"编译警告,且延时失准。====================================================================================================-00无优化。-01减少代码尺寸和执行时间,不进行需要大量编译时间的优化。-O2几乎执行所有优化,而不考虑代码尺寸和执行时间。-O3执行-O2所有的优化,以及内联函数,重命名寄存器的优化。-OS针对尺寸的优化。执行所有-O2优化而不增加代码尺寸。=========5、===========================================================================================复选框:1.所有char认为是unsinedchar2.所有bitfields认为是unsigned3.定义结构体时,连续存储4.定义枚举类型时,使用最大需要的存储空间(3,4两项真是多余,不选中肯定出错)一般选-OS优化,复选框全选。2012/7/4
2、il/delay.h>//声明//us级别的延时函数voidDelayus(unsignedintlus){while(lus--){_delay_loop_2(3);//_delay_loop_2(1)是延时4个时钟周期,参数为4则延时16//个时钟周期,本实验用12M晶体,则12个时钟周期为12/12=1us}}//ms级别的延时函数voidDelayms(unsignedintlms){while(lms--){Delayus(1000);//延时1ms}}Avrstudio设置:在avrs
3、tudio菜单栏上点击project单击ConfigurationOptions要正确使用它们是有如下条件的:1.首先,你要正确定义你的F_CPU的值,也就是你的AVR单片机实际的频率。否则延时不准,这个就是Frequency的值。2.你在编译时一定要打开优化,Makefile中OPT不要选0,如果AVR_studio不要选O0。要不然就会出现#warning"Compileroptimizationsdisabled;functionsfromwon'tworkasd
4、esigned"编译警告,且延时失准。====================================================================================================-00无优化。-01减少代码尺寸和执行时间,不进行需要大量编译时间的优化。-O2几乎执行所有优化,而不考虑代码尺寸和执行时间。-O3执行-O2所有的优化,以及内联函数,重命名寄存器的优化。-OS针对尺寸的优化。执行所有-O2优化而不增加代码尺寸。=========
5、===========================================================================================复选框:1.所有char认为是unsinedchar2.所有bitfields认为是unsigned3.定义结构体时,连续存储4.定义枚举类型时,使用最大需要的存储空间(3,4两项真是多余,不选中肯定出错)一般选-OS优化,复选框全选。2012/7/4
此文档下载收益归作者所有