knrt.net
当前位置:首页 >> 51单片机执行一条C语言程序需要多长时间? >>

51单片机执行一条C语言程序需要多长时间?

那要看你这条语句的步数了,用汇编解释这条语句,再查对应会变语句的步数,晶振频率的倒数再乘以12再乘以得到的步数就是该条语句执行的时间

51单片机执行一条语句的时间与指令条件有关. 假设晶振为12MHz,则指令周期为1uS,51分为1指令周期,2指令周期和4指令周期,1指令周期执行为1uS,2指令周期执行为2uS,4指令周期执行为4uS. 单片机(Microcontrollers)是一种集成电

看是哪种单片机,有快有慢 时钟周期T又称为状态周期,是时序中最小的时间单位.具体计算就是1/fosc.也就是说如果晶振为1MHz,那么时钟周期就为1us;6MHz的话,就是1/6us.EDA中国门户网站0Y+MZ8iuB;xt2R3f4V q ` M5l,H t0 2、机器周

C语言脱离了直接对内存的操作,因此不汇编语句那样便于计算,51单片机大概一个机器周期,1.08US,如果 i 是整型变量就不一定了,可以及软件仿真一下就知道了

这个与单片机型号、指令类型和使用的晶振频率有关,比如AT89C51,是一个12个时钟周期等于1个机器周期的单片机,如果使用的晶振是12MHz的话,执行一条单指令的 NOP 需要 12x(1/12M)=1微秒的时间,

不确定,这个和单片机的性能,编译器性能,语句复杂度都有关系.就像你不能要求1.8G的CPU运行速度和2.8G的同样快,单片机的性能很重要.同样一条C语句,不同的编译器可能翻译成不同条数的机器码指令,当然,一般一个单片机只认识很有限编译器编出来的目标码,这条基本可以忽略.还有就是C语句是什么语句,比如运行i++一般只需要一个指令周期,i=i+1却最少需要三个.所以你的问法应该是“核心频率是XXXHz的单片机,每秒能执行多少汇编指令?”

这个需要分情况来看.1.C语言源程序通过预处理然后编译,产生汇编代码,不同的汇编代码和指令有不同的执行时间.2.一个指令的执行时间,用其所需要的指令周期(执行一条指令所需要的时间)来衡量.对于单字节指令,就是一个读取-执行周期(fetch-execute cycle),对于多字节指令,还需要更多的指令周期.3.一个指令周期,一般是由若干个机器周期(完成一次基本操作需要的时间,比如获取变量在RAM当中的地址)组成.4.再一个,时钟周期,这个可以形象一点地和通常所说的主频联系起来,比如CPU核心的主频是2.5GHz,则时钟周期为0.4ns,这个是计算机当中最小的时间计量单位.一个机器周期由若干个时钟周期组成.

上面的不懂别乱说!不能按C语言来计算指令周期,如果要精确计算需要查看生成的汇编文件 C51的确是12个时钟周期=1个机器周期 不过很多指令是2个机器周期的 例如:MOV DATA,#DATA

一个NOP是一个机器周期,具体时间由晶振频率和单片机型号确定 原始的51是一个机器周期等于12个晶振周期 那么NOP的时间就是1/(频率*12)

这个跟单片机的指令周期有关系,跟晶振频率都有关系,一般在几us左右

tongrenche.com | mwfd.net | bestwu.net | 4405.net | gyzld.cn | 网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com