找回密码
 立即注册
查看: 651|回复: 9

老师们,有没有软件延时1us,10us,1ms,10ms的延时库函数

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:90
  • 最近打卡:2025-04-12 15:58:13

24

主题

70

回帖

644

积分

高级会员

积分
644
发表于 2024-10-10 07:15:12 | 显示全部楼层 |阅读模式
老师们,有没有软件延时1us,10us,1ms,10ms的延时库函数,能够自主适应时钟的。
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:100
  • 最近打卡:2025-06-17 08:13:13

734

主题

1万

回帖

1万

积分

管理员

积分
16692
发表于 2024-10-10 13:55:03 | 显示全部楼层
截图202410101354594336.jpg


截图202410101355289959.jpg

截图202410101356138620.jpg

截图202410101356485747.jpg




回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:176
  • 最近打卡:2025-02-19 17:24:49

15

主题

265

回帖

1387

积分

金牌会员

积分
1387
发表于 2024-10-10 07:46:12 | 显示全部楼层
有啊,自己写很好的。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:90
  • 最近打卡:2025-04-12 15:58:13

24

主题

70

回帖

644

积分

高级会员

积分
644
发表于 2024-10-10 07:50:35 | 显示全部楼层
liuzon*** 发表于 2024-10-10 07:46
有啊,自己写很好的。

应该怎么写?不太会算
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:167
  • 最近打卡:2025-06-10 20:55:54

24

主题

233

回帖

1337

积分

金牌会员

积分
1337
发表于 2024-10-10 08:04:22 | 显示全部楼层
1μs时间太短,软件延时误差很大或需要特殊的时钟频率或无法实现,其他频率可以直接使用ISP软件生成

点评

1us还要自适应主时钟?应该主时钟适应它才对  详情 回复 发表于 2024-10-10 08:07
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:470
  • 最近打卡:2025-06-18 08:23:09
已绑定手机

79

主题

5137

回帖

9138

积分

超级版主

DebugLab

积分
9138
发表于 2024-10-10 08:07:44 | 显示全部楼层
CyberH*** 发表于 2024-10-10 08:04
1μs时间太短,软件延时误差很大或需要特殊的时钟频率或无法实现,其他频率可以直接使用ISP软件生成 ...

1us还要自适应主时钟?应该主时钟适应它才对
DebugLab
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-10-09 13:50:12

3

主题

13

回帖

125

积分

注册会员

积分
125
发表于 2024-10-10 14:01:09 | 显示全部楼层
要是学习,就自己写一次,如果后续开发用,烧录软件里面有工具的,很方便的啦!如果你是用官方配的硬设库,就省事,它里面有个“STC8G_H_Delay”的文件,在里面有ms软件延时,可以通过头文件修改晶振频率,函数里面自动调整,这样不用每次修改晶振的时候,都要用工具算
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:469
  • 最近打卡:2025-06-18 06:25:36
已绑定手机

19

主题

3231

回帖

5289

积分

论坛元老

积分
5289
发表于 2024-10-10 14:03:18 来自手机 | 显示全部楼层
1us估计不行,10ms以上可以。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:244
  • 最近打卡:2025-06-17 21:30:59
已绑定手机

25

主题

353

回帖

1872

积分

金牌会员

积分
1872
发表于 2024-10-20 11:41:43 | 显示全部楼层
STCISP生成的延时程序不带参数,要是能随意填写延时时长就好了,例如 Delay_ms(20); 代表延时20毫秒
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:568
  • 最近打卡:2025-06-18 08:11:24

114

主题

2028

回帖

5823

积分

论坛元老

积分
5823
发表于 2024-10-20 13:01:46 | 显示全部楼层
本帖最后由 xxkj2010 于 2024-10-20 13:07 编辑

us时间太短

ms的,基本可以用,但不可能完全准确,这是以前收存的:
  1. STC单片机自适应毫秒级延时函数:
  2. //#define MAIN_Fosc 48000000L        //定义主时钟
  3. //#define MAIN_Fosc 44236800L        //定义主时钟
  4. //#define MAIN_Fosc 40000000L        //定义主时钟
  5. //#define MAIN_Fosc 36864000L        //定义主时钟
  6. //#define MAIN_Fosc 35000000L        //定义主时钟
  7. //#define MAIN_Fosc 33177600L        //定义主时钟
  8. //#define MAIN_Fosc 30000000L        //定义主时钟
  9. //#define MAIN_Fosc 27000000L        //定义主时钟
  10. //#define MAIN_Fosc 24000000L        //定义主时钟
  11. //#define MAIN_Fosc 22118400L        //定义主时钟
  12. //#define MAIN_Fosc 20000000L        //定义主时钟
  13. //#define MAIN_Fosc 18432000L        //定义主时钟
  14. #define MAIN_Fosc 12000000L        //定义主时钟
  15. //#define MAIN_Fosc 11059200L        //定义主时钟
  16. //#define MAIN_Fosc 6000000L        //定义主时钟
  17. //#define MAIN_Fosc 5529600L        //定义主时钟
  18. void delay_ms(unsigned int ms)                //注:ms_max=65536
  19. {
  20.     unsigned int i;
  21.     do
  22.     {
  23. //          i=MAIN_Fosc/96000L;                //STC89/90_12T
  24. //          i=MAIN_Fosc/48000L;                //STC89/90_6T
  25. //          i=MAIN_Fosc/14000;                //STC11、STC12
  26. //          i=MAIN_Fosc/13000;                //STC15
  27.             i=MAIN_Fosc/10000;                //STC8
  28. //          i=MAIN_Fosc/6030;                 //STC32
  29.             while(--i)        ;
  30.             }
  31.     while(--ms);
  32. }
复制代码


回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-6-18 09:36 , Processed in 0.163549 second(s), 121 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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