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

延时1微秒,需要写几条_nop_()语句?| 已解决

[复制链接]
  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2024-04-19 08:18:54

34

主题

85

回帖

670

积分

高级会员

积分
670
发表于 2023-11-23 22:59:34 | 显示全部楼层 |阅读模式
STC15W4K48S4单片机,12MHZ主频,延时1微妙,需要写几条 _nop_(); 语句
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:404
  • 最近打卡:2025-05-30 07:56:43

5

主题

32

回帖

1341

积分

金牌会员

积分
1341
发表于 2023-11-24 08:07:28 | 显示全部楼层
STC-IPS软件有延时计算,输入主频时间,软件自动生成代码
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:139
  • 最近打卡:2025-05-30 16:34:47

15

主题

459

回帖

2509

积分

超级版主

积分
2509
发表于 2023-11-24 09:24:21 | 显示全部楼层


void Delay1us(void)        //@12.000MHz
{
        _nop_();
        _nop_();
        _nop_();
        _nop_();
}


截图202311240923575405.jpg
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2024-04-19 08:18:54

34

主题

85

回帖

670

积分

高级会员

积分
670
发表于 2023-11-24 20:14:14 | 显示全部楼层
不想用函数,只想用 _nop_()语句来实现, 假如一条 _nop_()语句执行时间0.1微秒,那么10条_nop_()语句就可以延时1微秒。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民I
  • 打卡总天数:78
  • 最近打卡:2025-05-30 10:12:50

74

主题

6007

回帖

1万

积分

超级版主

积分
12492
发表于 2023-11-24 20:25:58 | 显示全部楼层
12M主频,要12个NOP才是1us。
同理,24M主频,1us就要24个NOP。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民II
  • 打卡总天数:95
  • 最近打卡:2024-04-19 08:18:54

34

主题

85

回帖

670

积分

高级会员

积分
670
发表于 2023-11-24 20:33:29 | 显示全部楼层
谢谢 梁工,终于得到想要的答案了。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:1
  • 最近打卡:2024-02-29 13:36:28

0

主题

1

回帖

28

积分

新手上路

积分
28
发表于 2024-2-29 17:43:25 | 显示全部楼层
我想补充说明一下:
    12M的时钟,1us有12个时钟周期。
    一条汇编指令(单周期指令)NOP执行,分为三个步骤,分别是取指令、解码、执行。
    4个时钟周期等于一个机器周期,一条NOP需要3个步骤*4个时钟周期 = 12个时钟周期。
    所以一个NOP用时1us,一个NOP等于一个指令周期。C:\Users\a\Desktop\64b88767f23440518b86ada3567c60be.png
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:452
  • 最近打卡:2025-05-31 00:13:42
已绑定手机

19

主题

3217

回帖

5091

积分

论坛元老

积分
5091
发表于 2024-3-12 11:43:51 来自手机 | 显示全部楼层
看时间周期几T的,12兆12T的就是1个nop
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:7
  • 最近打卡:2024-07-29 08:25:23

0

主题

40

回帖

116

积分

注册会员

积分
116
发表于 2024-7-25 09:44:45 | 显示全部楼层
void Delay1us(void)        //@12.000MHz
{
        _nop_();
        _nop_();
        _nop_();
        _nop_();
}
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:217
  • 最近打卡:2025-05-11 11:03:06
已绑定手机

36

主题

563

回帖

1970

积分

荣誉版主

积分
1970
发表于 2024-7-25 11:52:24 | 显示全部楼层
Screenshot_20240725_114935_com.huawei.calculator.jpg

Screenshot_20240725_114803_com.huawei.calculator.jpg

图1是12M主频下一个nop的时间,
图2就是12M主频下实现1us的计算。
知其然,知其所以然,希望有用。
回复 支持 反对

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-5-31 07:57 , Processed in 0.141807 second(s), 122 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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