找回密码
 立即注册
查看: 2577|回复: 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
  • 打卡总天数:435
  • 最近打卡:2025-07-10 10:14:58

5

主题

32

回帖

1475

积分

金牌会员

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

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:156
  • 最近打卡:2025-07-09 10:09:11

16

主题

481

回帖

2660

积分

超级版主

积分
2660
发表于 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微秒。
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:120
  • 最近打卡:2025-07-12 09:53:22

75

主题

6220

回帖

1万

积分

超级版主

积分
13132
发表于 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
  • 打卡总天数:494
  • 最近打卡:2025-07-13 00:59:11
已绑定手机

19

主题

3234

回帖

5405

积分

论坛元老

积分
5405
发表于 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
  • 打卡总天数:219
  • 最近打卡:2025-06-27 10:56:19
已绑定手机

36

主题

563

回帖

1980

积分

荣誉版主

积分
1980
发表于 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-7-14 00:23 , Processed in 0.136769 second(s), 115 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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