找回密码
 立即注册
查看: 522|回复: 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
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15646
发表于 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
  • 打卡总天数:156
  • 最近打卡:2025-04-29 00:51:09

24

主题

229

回帖

1281

积分

金牌会员

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

点评

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:425
  • 最近打卡:2025-05-03 00:09:43
已绑定手机

77

主题

4850

回帖

8388

积分

超级版主

DebugLab

积分
8388
发表于 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

回帖

117

积分

注册会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:424
  • 最近打卡:2025-05-03 00:02:01
已绑定手机

19

主题

3191

回帖

4876

积分

论坛元老

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

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:200
  • 最近打卡:2025-05-03 00:16:59
已绑定手机

24

主题

345

回帖

1637

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:522
  • 最近打卡:2025-05-03 13:32:44

109

主题

1900

回帖

5218

积分

论坛元老

积分
5218
发表于 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-5-3 15:01 , Processed in 0.155231 second(s), 111 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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