微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求助!stc12c5a60s2单片机1秒的延时程序怎么写,如果用定时器呢

求助!stc12c5a60s2单片机1秒的延时程序怎么写,如果用定时器呢

时间:10-02 整理:3721RD 点击:
本人最近刚从51单片机转到stc12,所以51上能用的延时定时器到stc12上都变了,不知道如何来计算它的延时..
谢谢大家了

这不是什么转不转,。他们都同一个内核的。因为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);
}

学习了,以后还会多来逛逛论坛

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

网站地图

Top