找回密码
 立即注册
查看: 929|回复: 7

STC89c延时是多少,从网友提供的线索能给出判断吗?

[复制链接]
  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    617

    回帖

    1032

    积分

    超级版主

    积分
    1032
    发表于 2023-2-8 13:25:41 | 显示全部楼层 |阅读模式
    本帖最后由 STCAI-32位8051 于 2023-2-8 13:32 编辑

    帮网友提问:想知道在这89c延时是多少吗?现在读出来是乱的数字  应该是时序不对
    STC89c延时是多少,从网友提供的线索能给出判断吗?-1.png
    STC89c延时是多少,从网友提供的线索能给出判断吗?-2.png
    STC89c延时是多少,从网友提供的线索能给出判断吗?-3.png

    代码给的都是1 感觉和网友之前改的别的I2C不太一样




    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    617

    回帖

    1032

    积分

    超级版主

    积分
    1032
     楼主| 发表于 2023-2-8 13:31:00 | 显示全部楼层

    STC89c延时是多少,从网友提供的线索能给出判断吗?




    STC89c延时是多少,从网友提供的线索能给出判断吗?-1.png
    用89单片机,刚才那个延时周期8毫秒,这么慢的吗?
    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
  • TA的每日心情
    奋斗
    11 小时前
  • 签到天数: 123 天

    [LV.7]常住居民III

    26

    主题

    1252

    回帖

    3911

    积分

    论坛元老

    积分
    3911
    发表于 2023-2-8 13:31:19 | 显示全部楼层
    最简单的方法是在主循环里调用延时函数并进行IO口翻转,通过测量IO口翻转时间就知道延时多少时间。例如:
    1. while(1)
    2. {
    3.     P10 = 0;
    4.     skh_delay(1);
    5.     P10 = 1;
    6.     skh_delay(1);
    7. }
    复制代码

    该用户从未签到

    45

    主题

    2903

    回帖

    6524

    积分

    超级版主

    积分
    6524
    发表于 2023-2-8 14:06:35 | 显示全部楼层
    除了IO翻转示波器看时间,还可以看反汇编,数指令时间。

    该用户从未签到

    550

    主题

    9206

    回帖

    1万

    积分

    管理员

    积分
    13920
    发表于 2023-2-8 16:58:12 | 显示全部楼层
    帮问的弱了,要说 STC89C52RC,工作在 24MHz, 想延时10mS, 请给个示例程序
    这时,专家来了: 你不知道 STC51的基本延时程序,STC最新 STC-ISP V6.91J 软件会帮你自动产生
    1.png
    这就是 授人以鱼不如授人以渔 的专业回答,不是帮一次,是帮了一辈子

    该用户从未签到

    1

    主题

    25

    回帖

    79

    积分

    注册会员

    积分
    79
    发表于 2023-2-9 10:47:17 | 显示全部楼层
    你可以试试Debug,里面有时间可以看的,那个很直观,同时弄好debug的话,之后有很多的问题都可以直接用debug调试找到问题然后解决。

    该用户从未签到

    45

    主题

    2903

    回帖

    6524

    积分

    超级版主

    积分
    6524
    发表于 2023-2-9 15:37:54 | 显示全部楼层
    软件延时我都是由编译器帮我确定:
    89/90系列的:

    #define MAIN_Fosc        24000000UL        //定义主时钟, 延时会自动适应.

    void  delay_ms(unsigned int ms)
    {
         unsigned int i;
             do
             {
                    i = MAIN_Fosc / 96000L;                //12T
            //        i = MAIN_Fosc / 48000L;                //6T
                    while(--i)        ;
         }while(--ms);
    }
  • TA的每日心情
    开心
    2023-12-8 18:07
  • 签到天数: 1 天

    [LV.1]初来乍到

    3

    主题

    15

    回帖

    821

    积分

    高级会员

    积分
    821
    发表于 2023-3-2 23:30:20 | 显示全部楼层
    梁工 发表于 2023-2-9 15:37
    软件延时我都是由编译器帮我确定:
    89/90系列的:

    /*********************************************
                    程序名称        :延时函数
    *********************************************/

    //#define MAIN_Fosc 48000000L        //定义主时钟
    //#define MAIN_Fosc 44236800L        //定义主时钟
    //#define MAIN_Fosc 40000000L        //定义主时钟
    //#define MAIN_Fosc 36864000L        //定义主时钟
    //#define MAIN_Fosc 35000000L        //定义主时钟
    //#define MAIN_Fosc 33177600L        //定义主时钟
    //#define MAIN_Fosc 30000000L        //定义主时钟
    //#define MAIN_Fosc 27000000L        //定义主时钟
    //#define MAIN_Fosc 24000000L        //定义主时钟
    //#define MAIN_Fosc 22118400L        //定义主时钟
    //#define MAIN_Fosc 20000000L        //定义主时钟
    //#define MAIN_Fosc 18432000L        //定义主时钟
    #define MAIN_Fosc 12000000L        //定义主时钟
    //#define MAIN_Fosc 11059200L        //定义主时钟
    //#define MAIN_Fosc 6000000L        //定义主时钟
    //#define MAIN_Fosc 5529600L        //定义主时钟

    void Delay(unsigned int ms)                //注:ms_max=65536
            {
                    unsigned int i;
                    do
                            {
    //                                i=MAIN_Fosc/96000L;                //STC89/90_12T
    //                                i=MAIN_Fosc/48000L;                //STC89/90_6T
    //                                i=MAIN_Fosc/14000;                //STC12
                                    i=MAIN_Fosc/13000;                //STC15
    //                                i=MAIN_Fosc/10000;                //STC8
    //                                i=MAIN_Fosc/6030;                        //STC32
                                    while(--i)        ;
                                    }
                            while(--ms);
            }

    STC12、15、8、32都有库函数,一直就差89的延时函数。现在终于集齐了:lol
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-4-25 21:20 , Processed in 0.067269 second(s), 59 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表