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

2142 / 2025-06-15 01:19:10 世界杯主题歌

查看: 2317|回复: 10

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

[复制链接]

liuyan***

liuyan***

当前离线

积分670

打卡等级:常住居民II

打卡总天数:95

最近打卡:2024-04-19 08:18:54

34

主题85

回帖670

积分

高级会员

高级会员, 积分 670, 距离下一级还需 330 积分

高级会员, 积分 670, 距离下一级还需 330 积分

积分670

电梯直达

楼主

发表于 2023-11-23 22:59:34

|

只看该作者

|只看大图

|倒序浏览

|阅读模式

STC15W4K48S4单片机,12MHZ主频,延时1微妙,需要写几条 _nop_(); 语句

收藏1

淘帖0

支持0

反对0

0

回复

使用道具

举报

送花

小***

小***

当前离线

积分1385

打卡等级:以坛为家II

打卡总天数:415

最近打卡:2025-06-14 07:56:07

5

主题32

回帖1385

积分

金牌会员

金牌会员, 积分 1385, 距离下一级还需 1615 积分

金牌会员, 积分 1385, 距离下一级还需 1615 积分

积分1385

沙发

发表于 2023-11-24 08:07:28

|

只看该作者

STC-IPS软件有延时计算,输入主频时间,软件自动生成代码

回复

支持

反对

使用道具

举报

送花

AI***

AI***

当前离线

积分2563

打卡等级:常住居民III

打卡总天数:145

最近打卡:2025-06-13 11:51:35

15

主题469

回帖2563

积分

超级版主

积分2563

板凳

发表于 2023-11-24 09:24:21

|

只看该作者

void Delay1us(void) //@12.000MHz

{

_nop_();

_nop_();

_nop_();

_nop_();

}

截图202311240923575405.jpg (211.01 KB, 下载次数: 8)

下载附件

2023-11-24 09:23 上传

回复

支持

反对

使用道具

举报

送花

liuyan***

liuyan***

当前离线

积分670

打卡等级:常住居民II

打卡总天数:95

最近打卡:2024-04-19 08:18:54

34

主题85

回帖670

积分

高级会员

高级会员, 积分 670, 距离下一级还需 330 积分

高级会员, 积分 670, 距离下一级还需 330 积分

积分670

地板

发表于 2023-11-24 20:14:14

|

只看该作者

不想用函数,只想用 _nop_()语句来实现, 假如一条 _nop_()语句执行时间0.1微秒,那么10条_nop_()语句就可以延时1微秒。

回复

支持

反对

使用道具

举报

送花

梁***

梁***

当前离线

积分12713

打卡等级:常住居民II

打卡总天数:93

最近打卡:2025-06-14 13:12:15

74

主题6088

回帖1万

积分

超级版主

积分12713

5#

发表于 2023-11-24 20:25:58

|

只看该作者

12M主频,要12个NOP才是1us。

同理,24M主频,1us就要24个NOP。

回复

支持

反对

使用道具

举报

送花

liuyan***

liuyan***

当前离线

积分670

打卡等级:常住居民II

打卡总天数:95

最近打卡:2024-04-19 08:18:54

34

主题85

回帖670

积分

高级会员

高级会员, 积分 670, 距离下一级还需 330 积分

高级会员, 积分 670, 距离下一级还需 330 积分

积分670

6#

发表于 2023-11-24 20:33:29

|

只看该作者

谢谢 梁工,终于得到想要的答案了。

回复

支持

反对

使用道具

举报

送花

slic***

slic***

当前离线

积分28

打卡等级:初来乍到

打卡总天数:1

最近打卡:2024-02-29 13:36:28

0

主题1

回帖28

积分

新手上路

新手上路, 积分 28, 距离下一级还需 22 积分

新手上路, 积分 28, 距离下一级还需 22 积分

积分28

7#

发表于 2024-2-29 17:43:25

|

只看该作者

我想补充说明一下:

12M的时钟,1us有12个时钟周期。

一条汇编指令(单周期指令)NOP执行,分为三个步骤,分别是取指令、解码、执行。

4个时钟周期等于一个机器周期,一条NOP需要3个步骤*4个时钟周期 = 12个时钟周期。

所以一个NOP用时1us,一个NOP等于一个指令周期。C:\Users\a\Desktop\64b88767f23440518b86ada3567c60be.png

回复

支持

反对

使用道具

举报

送花

so***

so***

当前在线

积分5275

打卡等级:以坛为家II

打卡总天数:466

最近打卡:2025-06-14 00:00:17

已绑定手机19

主题3231

回帖5275

积分

论坛元老

论坛元老, 积分 5275, 距离下一级还需 9994724 积分

论坛元老, 积分 5275, 距离下一级还需 9994724 积分

积分5275

8#

发表于 2024-3-12 11:43:51

来自手机

|

只看该作者

看时间周期几T的,12兆12T的就是1个nop

回复

支持

反对

使用道具

举报

送花

23006***

23006***

当前离线

积分116

打卡等级:初来乍到

打卡总天数:7

最近打卡:2024-07-29 08:25:23

0

主题40

回帖116

积分

注册会员

注册会员, 积分 116, 距离下一级还需 84 积分

注册会员, 积分 116, 距离下一级还需 84 积分

积分116

9#

发表于 2024-7-25 09:44:45

|

只看该作者

void Delay1us(void) //@12.000MHz

{

_nop_();

_nop_();

_nop_();

_nop_();

}

回复

支持

反对

使用道具

举报

送花

Yim_***

Yim_***

当前离线

积分1970

打卡等级:以坛为家I

打卡总天数:217

最近打卡:2025-05-11 11:03:06

已绑定手机36

主题563

回帖1970

积分

荣誉版主

积分1970

10#

发表于 2024-7-25 11:52:24

|

只看该作者

Screenshot_20240725_114935_com.huawei.calculator.jpg (324.81 KB, 下载次数: 1)

下载附件

2024-7-25 11:50 上传

Screenshot_20240725_114803_com.huawei.calculator.jpg (301.55 KB, 下载次数: 3)

下载附件

2024-7-25 11:50 上传

图1是12M主频下一个nop的时间,

图2就是12M主频下实现1us的计算。

知其然,知其所以然,希望有用。

回复

支持

反对

使用道具

举报

送花