求助!stc12c5a60s2单片机1秒的延时程序怎么写,如果用定时器呢
谢谢大家了
这不是什么转不转,。他们都同一个内核的。因为STC12的运行速度比51的快,故有些参数你得修改
那请问,1s的延时在stc12上如何编写!谢谢了
这个。你得看你的单片机执行一个指令需要多少周期,再结合你的晶振算的。这个。我没写过。你得调试
哦,明白了,那执行_nop_语句就是一个周期吧!
时钟周期=振荡周期,名称不同而已,都是等于单片机晶振频率的倒数,如常见的外接12M晶振,那它的时钟周期=1/12M。
2、机器周期,8051系列单片机的机器周期=12*时钟周期,之所以这样分是因为单个时钟周期根本干不了一件完整的事情(如取指令、写寄存器、读寄存器等),而12个时钟周期就能基本完成一项基本操作了。(STC12貌似是1T的。而51是12T。就是说。12系类比51系类的快12倍)
3、指令周期。一个机器周期能完成一项基本操作,但一条指令常常是需要多项基本操作结合才能完成,完成一条指令所需的时间就是指令周期,当然不同的指令,其指令周期就不一样的了。
_nop_()要用1个指令周期 ,具体时间得算
在51上用中断的数码管 烧到12上同样结果啊。是不是意味着?
用STC的ISP下载上的延时计算工具
嗯,好的,灰常感谢!
那个软件延时好像只适用于stc15系列的吧
void Delay100ms() //@11.0592MHz
{
unsigned char i, j, k;
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
学习了,以后还会多来逛逛论坛
