延时1微秒,需要写几条_nop_()语句?| 已解决
查看: 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的计算。
知其然,知其所以然,希望有用。
回复
支持
反对
使用道具
举报
送花