STC12C5A60S2单片机晶振22.1184M,执行一条语句多长时间

如题所述

一个机器周期=1/22.1184us=0.0452us
所以执行一条指令时间=指令周期*0.0452us。
比如NOP就是0.0452us
比如SJMP $就是2*0.0452us
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-01-19
汇编语言
执行一条 1 时钟的 指令 需要 0.0452 uS, 2时钟的 X 2,类推。
如果 C 语言 就不确定了,这需要 编译后 产生的 汇编指令 条数 及 循环 次数。
第2个回答  2014-01-19
执行一个基本指令的时间为一个机器周期=1/(22.1184/12)=0.5425 us
第3个回答  2014-01-19
时钟周期与指令周期是不同的,一个指令周期由多个时钟周期组成,指令周期是执行一条指令所需要的时间,一般由若干个时钟(机器)周期组成,是从取址、取数、计算到存储完所需的全部时间。时钟周期=22*(1/(22*10^6))=0.5us,而指令周期无法确定,只能取平均。
第4个回答  2014-01-19
这种单片机执行的时间是与普通51单片机相同的,他的主要特点是可以配置3倍的普通单片机的速度,就是他所执行的时间在软件上可以配置,是89s52单片机执行速度的3倍

STC12C5A60S2单片机晶振22.1184M,执行一条语句多长时间
所以执行一条指令时间=指令周期*0.0452us。比如NOP就是0.0452us 比如SJMP $就是2*0.0452us

晶振22.1184M的STC12C5A60S2单片机怎么编写ds18b20程序?怎么调呀...
\/*时序调试可以用定时器,首先把准确的时序调好,然后是在wendu()函数里的复位函数while(dsreset());之后有一定的延时;就行了,我的ds18b20接的是单片机P1^7口,之前也是挑不出来,最后就是在复位函数while(dsreset());之后加了个延时才出来的。另外我用的是lcd1602显示*\/ include <reg51.h> in...

STC12C5A60S2单片机无法烧写程序
首先,这款单片机是1T的单片机,当你的外部时钟晶振大于12M时它的最小系统和普通的89C52不太一样,我没试过用普通的最小系统行不行,我是重新焊了一块最小系统好用。能下,我刚试了一下。我的晶振是22.1184MHZ。排除了这个问题,我估计有可能是U转串线坏了或是电脑的U口坏了,我遇到过一回这...

stc单片机中22.1184M晶振匹配多大电容?
一般选择晶振的电容值要比引脚杂散电容高8~10倍,来减少杂散电容影响。 一般IC引脚杂散电容2~3pF,所以应该选择16~30PF的电容比较合适。晶振大小其实影响不大。我们一般选择27P电容。

急!STC12C5A60AD单片机晶振及串口波特率问题
后来,我得出了个结论,赶快换芯片!高速串口STC做的很烂,我的串口最多做到19200bps,再往上,不管是用什么12T还是1T,不管是用波特率加倍还是不加倍,速率都上不去。我用的片子是STC12L5624AD-35I-LQPF32。之后我发誓,以后只要STC不找我不逼我用它,这辈子我绝对不会去用STC,话说回来,深圳宏晶...

请问如何将STC12C5A60S2单片机(晶振12M)的串口2波特率设为9600啊...
void UartInit(void)\/\/9600bps@12MHz { PCON &= 0x7f;\/\/波特率不倍速 SCON = 0x50;\/\/8位数据,可变波特率 AUXR |= 0x40;\/\/定时器1时钟为Fosc,即1T AUXR &= 0xfe;\/\/串口1选择定时器1为波特率发生器 TMOD &= 0x0f;\/\/清除定时器1模式位 TMOD |= 0x20;\/\/设定定时器1为8位自动重装...

STC12C5A单片机范例程序中的串口1程序无法运行,烧写后在串口助手上看...
这里有很多原因,只贴这么个图也不知道是什么原因的,这个STC-ISP选项,有一个关键的,是选内部晶振了还选外部晶振了,看不到啊。你的程序,定义的串口的波特是多少,串口助手的波特率是否一致,要求两者一致才能收到。还有,单片机串口发送的是十六进制数还是ASCII码,要求串口助手也要一致才能看到。所以...

相似回答