找回密码
 立即注册
查看: 536|回复: 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的每日心情
    奋斗
    昨天 08:59
  • 签到天数: 143 天

    [LV.7]常住居民III

    27

    主题

    1343

    回帖

    4187

    积分

    论坛元老

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

    使用道具 举报

  • TA的每日心情

    3 天前
  • 签到天数: 73 天

    [LV.6]常住居民II

    3

    主题

    38

    回帖

    91

    积分

    注册会员

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 11:31
  • 签到天数: 86 天

    [LV.6]常住居民II

    3

    主题

    60

    回帖

    546

    积分

    荣誉版主

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

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 08:23
  • 签到天数: 168 天

    [LV.7]常住居民III

    0

    主题

    73

    回帖

    190

    积分

    注册会员

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

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:19
  • 签到天数: 169 天

    [LV.7]常住居民III

    14

    主题

    53

    回帖

    774

    积分

    高级会员

    积分
    774
    发表于 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:10
  • 签到天数: 110 天

    [LV.6]常住居民II

    10

    主题

    583

    回帖

    926

    积分

    高级会员

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

    使用道具 举报

  • TA的每日心情
    难过
    前天 00:10
  • 签到天数: 102 天

    [LV.6]常住居民II

    11

    主题

    69

    回帖

    235

    积分

    中级会员

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

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 07:11 , Processed in 0.069487 second(s), 65 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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