找回密码
 立即注册
查看: 515|回复: 10

关于STC8G-STC8H官方库的延时函数

[复制链接]

该用户从未签到

7

主题

15

回帖

141

积分

注册会员

积分
141
发表于 2023-11-13 16:04:01 | 显示全部楼层 |阅读模式
这个库文件里面有个函数。如下。



void delay_ms(unsigned char ms)
{
        unsigned int i;
        do{
                i = MAIN_Fosc / 10000;
                while(--i);
        }while(--ms);
}


有疑问的是为啥除10000而不是1000呢。
这样算出来while(--i)只会执行100次。
回复 送花

使用道具 举报

  • TA的每日心情
    开心
    6 小时前
  • 签到天数: 130 天

    [LV.7]常住居民III

    26

    主题

    1297

    回帖

    4029

    积分

    论坛元老

    积分
    4029
    发表于 2023-11-13 16:47:25 | 显示全部楼层
    1次循环的指令周期差不多10T,所以除10000
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-21 21:08
  • 签到天数: 70 天

    [LV.6]常住居民II

    3

    主题

    38

    回帖

    77

    积分

    注册会员

    积分
    77
    发表于 2023-11-17 23:13:44 | 显示全部楼层
    点赞
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    前天 11:14
  • 签到天数: 79 天

    [LV.6]常住居民II

    3

    主题

    60

    回帖

    518

    积分

    荣誉版主

    积分
    518
    发表于 2023-11-19 18:46:54 来自手机 | 显示全部楼层
    stc8g是1t单片机的话那么就是一个时钟执行一个机器周期的指令
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    5 小时前
  • 签到天数: 153 天

    [LV.7]常住居民III

    0

    主题

    73

    回帖

    230

    积分

    中级会员

    积分
    230
    发表于 2023-11-21 10:03:34 | 显示全部楼层
    学习了!
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 06:09
  • 签到天数: 153 天

    [LV.7]常住居民III

    14

    主题

    53

    回帖

    710

    积分

    高级会员

    积分
    710
    发表于 2023-11-24 22:22:49 | 显示全部楼层
    延时函授不应该是从stc-isp中生成的吗?
    void Delay1ms()                //@11.0592MHz
    {
            unsigned char data i, j;

            _nop_();
            _nop_();
            _nop_();
            i = 11;
            j = 190;
            do
            {
                    while (--j);
            } while (--i);
    }
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    7

    主题

    15

    回帖

    141

    积分

    注册会员

    积分
    141
     楼主| 发表于 2023-11-27 18:46:51 | 显示全部楼层
    sujingliang 发表于 2023-11-24 22:22
    延时函授不应该是从stc-isp中生成的吗?
    void Delay1ms()                //@11.0592MHz
    {

    这个不方便。每一个延时都要算一下

    点评

    不是工具帮忙计算的吗?  发表于 2024-2-28 20:42
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    7

    主题

    15

    回帖

    141

    积分

    注册会员

    积分
    141
     楼主| 发表于 2024-2-29 18:21:47 | 显示全部楼层
    爱晴海玩偶 发表于 2023-11-27 18:46
    这个不方便。每一个延时都要算一下

    没有通用性
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 08:29
  • 签到天数: 97 天

    [LV.6]常住居民II

    9

    主题

    556

    回帖

    817

    积分

    高级会员

    积分
    817
    发表于 2024-2-29 19:01:53 | 显示全部楼层
    用STC-ISP自动生成1ms的函数,最外出套一层while就可以实现任意ms带参数的延时函数了
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    1 小时前
  • 签到天数: 89 天

    [LV.6]常住居民II

    11

    主题

    68

    回帖

    179

    积分

    注册会员

    积分
    179
    发表于 2024-2-29 19:43:53 | 显示全部楼层
    学习了
    回复 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

    GMT+8, 2024-5-2 16:31 , Processed in 0.067136 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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