找回密码
 立即注册
楼主: 幸福来陪伴

us延时函数

[复制链接]

2

主题

4

回帖

30

积分

新手上路

积分
30
发表于 2023-12-18 11:25:08 | 显示全部楼层

ISP是可以给出,但是是固定的,我先做一个通用的带参数的,10uS左右能够精确的函数
回复 支持 反对

使用道具 举报 送花

2

主题

4

回帖

30

积分

新手上路

积分
30
发表于 2023-12-18 11:26:11 | 显示全部楼层
嵌入*** 发表于 2023-12-14 20:56
您好,建议自己使用Keil进行debug 计算一个__nop__的时间, 然后自行调整for循环的层数, 这样才是最准确的.  ...

这个我试过了,对于小于10us的使用for函数,误差很大
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:520
  • 最近打卡:2025-05-01 08:06:21

109

主题

1897

回帖

5204

积分

论坛元老

积分
5204
发表于 2023-12-18 11:40:29 | 显示全部楼层
本帖最后由 xxkj2010 于 2023-12-18 11:46 编辑
幸福*** 发表于 2023-12-18 11:22
是的,我用带参数的用10uS这种误差太大了,DS18B20时序一直有问题,所以想在论坛请教一下大神 ...

如果是为了驱动,建议用固定延时,不带函数的,这样更准确些,特别是短延时的。

  1. //STC12C5A60S2
  2. //函数名称:void delay_50US(unsigned int t)
  3. //功能: 延时50*t(us)
  4. void delay_50us(uint t)
  5. {
  6.         unsigned char i;
  7.         for(;t>0;t--)         
  8.         {
  9.         _nop_();
  10.         i = 135;
  11.         while (--i);
  12.         }
  13. }
  14. //8微秒延时基准程序
  15. void delay_8us(uint t)
  16. {        unsigned char i;
  17.         do{
  18.                 i = 19;
  19.                 while (--i);
  20.         }
  21.         while(--t);
  22. }
  23. //3微秒延时程序
  24. void delay_3us()
  25. {
  26.         unsigned char i;
  27.         _nop_();
  28.         i = 5;
  29.         while (--i);
  30. }
复制代码


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:449
  • 最近打卡:2025-04-30 10:57:37

17

主题

533

回帖

1326

积分

金牌会员

积分
1326
发表于 2023-12-18 13:38:06 | 显示全部楼层
幸福*** 发表于 2023-12-18 11:25
ISP是可以给出,但是是固定的,我先做一个通用的带参数的,10uS左右能够精确的函数 ...

那你只能使用keil  去debug找精确的延时了. 或者示波器io翻转自己测量一个
自信就会温和,温和就会坚定!
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:487
  • 最近打卡:2025-05-01 15:22:54
已绑定手机

27

主题

693

回帖

1950

积分

金牌会员

打工人

积分
1950
发表于 2023-12-18 15:44:15 | 显示全部楼层
幸福*** 发表于 2023-12-18 11:24
ISP是可以给出,但是是固定的,我先做一个通用的带参数的,10uS左右能够精确的函数 ...

那就得自己修改一下了。做个变量。
打工人
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:364
  • 最近打卡:2025-05-01 09:26:00

1

主题

22

回帖

1751

积分

金牌会员

积分
1751
发表于 2023-12-27 08:48:32 | 显示全部楼层
我在坛子里发过一个,你可以找找
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:364
  • 最近打卡:2025-05-01 09:26:00

1

主题

22

回帖

1751

积分

金牌会员

积分
1751
发表于 2023-12-27 08:51:16 | 显示全部楼层
xueye*** 发表于 2023-12-27 08:48
我在坛子里发过一个,你可以找找

KeilC写了一个STC8系列的软件延时程序,有需要的可以参考一下。
https://www.stcaimcu.com/forum.php?mod=viewthread&tid=2772
(出处: 国芯论坛-STC全球32位8051爱好者互助交流社区)
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:133
  • 最近打卡:2025-04-30 13:40:52

13

主题

65

回帖

594

积分

高级会员

积分
594
发表于 2023-12-30 16:11:14 | 显示全部楼层
这还到处要,自己写
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:166
  • 最近打卡:2025-03-23 14:26:30

13

主题

25

回帖

46

积分

新手上路

积分
46
发表于 2024-1-18 08:37:51 | 显示全部楼层
xueye*** 发表于 2023-12-27 08:51
KeilC写了一个STC8系列的软件延时程序,有需要的可以参考一下。
https://www.stcaimcu.com/forum.php?mod ...

感谢,找了很久终于找到了
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:364
  • 最近打卡:2025-05-01 09:26:00

1

主题

22

回帖

1751

积分

金牌会员

积分
1751
发表于 2024-1-18 08:48:32 | 显示全部楼层
wei*** 发表于 2024-1-18 08:37
感谢,找了很久终于找到了

我也是在调试DS18B20的时候为了方便调试写的。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-2 06:51 , Processed in 0.279709 second(s), 118 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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