微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > ATmega16运行速度

ATmega16运行速度

时间:10-02 整理:3721RD 点击:
本人在设计一个测试系统,采用的是ATmega16,因为对时间要求较高,在调试过程中发现实际的运行速度很慢,所以想请教有关人士,ATmega16编程采用C语言,8 mhz晶振,它的CPU运行速度有多快?执行一条程序指令的时间是多少吗?

补充内容 (2017-5-24 08:13):
我现在用示波器抓取我一次循环的时间为380ms,我想要控制在30m以内,程序已经简化,现在在对不同晶振做实验,除此之外对速度的提高还是没有头绪,用的是ATmega16的单片机,还是说要换型号?要换的话在AVR中有合适的吗?

单片机的运行速度在相同的配置下是固定的,只会因不同的晶振有所不同,在C语言编程下,C语言的一条语句,有可能对应多条机器语言,还有编程所产生的代码的执行效率问题,这样是无法确定C语言下单片机的速度应该是多少。你应该找出速度慢的原因,是配置问题,还是代码执行效率不高,又或者是其他的原因。

mega16内部不用分频,不想51是12分频。所以,51的12M晶振速度只相当于mega16的1M晶振速度。
那就是说我现在学习板上用的是12M晶振,时间就相当于51的12分之一,即是1/12us了希望可以帮到你,

我现在用示波器抓取我一次循环的时间为380ms,我想要控制在30m以内,程序已经简化,现在在对不同晶振做实验,除此之外对速度的提高还是没有头绪

单片机针对同一晶振的速度是固定的,不同的晶振会改变速度,但是你现在的速度和所要求的速度相差了10倍以上,或许你改更换单片机的型号了,单片机的速度应该在所要求的速度至少3倍以上,也就是要求是30ms以内,那单片机正常速度应该可以做到10ms以内,不然对代码要求高,同样也不能有较多的其他干预,这个干预是指设计内容所必须有的以及所必须预防的,估计你需要更换单片机了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top