STC12的1T模式与12T模式哪个稳定?
发布网友
发布时间:2022-05-08 23:41
我来回答
共2个回答
热心网友
时间:2024-01-27 15:59
1T和12T
1T和12T只有在STC12系列以后的单片机里才出现的。前面我们已经说到了,传统的单片机其实就是12T单片机,也就是晶振频率会被12分频后才是指令运行的频率。到时STC12系列以后的STC单片机出现1T模式,也就是有些指令的执行时只需要两个晶振周期就能执行完。理论上来说,这样的运行速度会比传统单片机快6倍,为什么加“理论”,因为不是所有的指令都快6倍,只是一部分,还有些是快4倍,快3倍的。具体的需要看STC官方数据手册,如下图。
仔细的小伙伴会看到在第5列的第一行里有个小括号(采用STC-Y2 CPU内核指令集),STC12用的就是这个内核,而到了STC15系列芯片用的是STC-Y5内核,STC8系列用的是STC-Y6内核,Y后面的数字越大,指令优化的越厉害,表现出来的就是运行的更快,STC-Y5内核的指令集里,大部分的汇编指令到时一个晶振周期就执行完成的了,也就是比传统单片机快12倍。 现在我在做单片机开发的时候,绝大部分都是采用的C语言开发,你还在用汇编,那我只能是膜拜你了。C语言编程的程序方便移植,好理解,容易入门,不需要去记住那些复杂的寄存器,但是确定也明显,就是效率不高,运行速度我们没办法准确的计算出来。编译器在把C语言代码转化为汇编语言的过程我们是没法控制的,这样编译出来的机器代码我们就没办法去计算时间的指令运行时间。 >>>>
软件仿真和实际开发板
仿真软件,外国老表开发的,STC国产(好吧,内核还是人家的)。不知道什么原因,我们不知道,也不敢问,在仿真软件里就是没有STC的单片机芯片可以选择,没有STC的单片机,我们只能选择传统51单片机,这样一来,仿真的时候,程序运行的速度是传统的12T模式,也就是晶振频率12分频后才是执行的实际频率。 单片机开发板运行时,因为提问小伙伴用的单片机是STC12系列的芯片,就算他运行在12T模式下,指令系统还是有优化,速度肯定比传统的指令集要快。更何况呢,他连1T和12T都分不清,运行在1T模式下也是有可能的,所以,今天的问题就来了。实际开发板运行速度肯定会比软件仿真快。 写在最后 在很久之前,我就写过一篇文字,就说了不建议初学单片机的菜鸟从软件仿真开始。现在还有多少高校的单片机课程还在是以仿真运行的呢,希望是没有了,但我想,仅仅是我想想。 其实,小代觉得,学单片机的最终是要自己设计属于自己的东西,比如自己的毕设,更或是亲手做一个小礼物俘获女神的芳心。但是自己写的代码永远都运行在软件里,没有实际电路,你又怎么可能会自己设计电路呢。你不自己看见过电阻,又怎么可能会知道一个长得很像电阻的电子元件它其实是二极管。 最最后,回到今天的问题上,当我们把软件仿真运行完美的代码移植到实际开发板上运行时,代码是需要做单片机的适配的,比如,采用代码方式实现的延时函数,比如IO端口的配置,比如某些中断的入口,比如某些寄存器的定义等等。在移植之前,还是得拿目标芯片的数据手册来看看。
热心网友
时间:2024-01-27 16:00
一样稳定。只要供电和时钟稳定可靠,二者没啥区别。12T模式说白了就是放慢步子装成一个标准51核。
STC12的1T模式与12T模式哪个稳定?
1T和12T只有在STC12系列以后的单片机里才出现的。前面我们已经说到了,传统的单片机其实就是12T单片机,也就是晶振频率会被12分频后才是指令运行的频率。到时STC12系列以后的STC单片机出现1T模式,也就是有些指令的执行时只需要两个晶振周期就能执行完。理论上来说,这样的运行速度会比传统单片机快6倍,...
定时器的1T和12T模式
这是STC单片机才有的1T模式。定时器的1T和12T模式,肯定是不同的,1T模式,是对时钟脉冲计数了,定时的时间肯定短了。用于定时,不用选1T模式。而在用于控制串口波特率时,用1T模式,波特率可以提高12倍的。对于传统的51单片机,串口波特率最高只能达到19200。而STC单片机采用1T模式后,可达到115200。所以...
12T和1T单片机的一个机器周期相同吗?
他们是12倍的关系,所以1T模式相对于12T模式来说速度要快不少,比如NOP,速度就是12倍,当然不是所有指令都是12倍的关系,有些可能是6倍,有些可能是4倍等等,可以查STC相关的数据手册。
STC-ISP定时器时钟什么时候选1T,什么时候选12T。
先选定是STC的哪个系列的单片机,再选择1T或12T。从STC12以上系列的单片机就为1T的单片机,就可以选1T的,但写程序时,要设置定时器为1T的。但默认的都是12T的。如果想设置成1T的,那定时的时间就会变短的。想要最长的定时,就选12T。
12T和1T的单片机
首先是时钟周期和晶振周期的区别,时钟周期不一定等于晶振周期,例如倍频的时候。其次,1T在这里所指的就是一个机器周期为一个时钟周期,而指令的执行时间是以机器周期为单位的。额外补充:STC的1T系列单片机除了一个机器周期为一个时钟周期外,还对指令进行了优化,令一些指令执行所需的机器周期较原来的要...
STC12C5A32S2设置串口波特率是为什么只能使用12T模式,但是STC12C5A32S...
有个寄存器,设置定时器或者波特率发生器使用osc还是osc/12的,没仔细看吧……默认时是osc,相当于把波特率增大12倍,这样9600的波特率就变成115200了。
基于1T单片机的画点函数与基于12T的有什么不同
1T和12T单片机执行速度别很大的,液晶屏是慢速器件,写入时要插入较长的延时时间,晶振频率相同情况下,同样的延时函数,用1T单片机延时时间只有12T的1/10到1/12,所以会造成读写错误
stc12系列的单片机执行一条指令的时间 是多少?
51单片机,stc12系列的12M晶振,晶振周期1/12微妙,一个机器周期包含12个晶振周期,所以12M晶振时机器周期=12x(1/12)微妙=1微妙。DJNZ R0,REL指令周期包含2个机器周期,执行完后要花费2微妙时间。
stc的单片机说定时器0可以工作在1T模式。。1T模式是什么
传统的是12个时钟/机器周期即12T,1T就是1个时钟/机器周。
单片机的振荡周期,机器周期有什么关系
单片机的振荡周期就是晶振的震荡周期。单片机的机器周期对于不同单片机或者单片机的不同模式不同,比如STC12C5A60S2,当为12T模式时,机器周期=12倍振荡周期。当为1T模式时,机器周期=振荡周期。