打印
[其它应用]

问下一个NOP()是延时多久,怎么计算的

[复制链接]
1088|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2022-3-5 16:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
问下一个NOP()是延时多久,怎么计算的

使用特权

评论回复
沙发
zwll| | 2022-3-5 16:29 | 只看该作者
还有88F54这款芯片为什么不支持NOP延时了

使用特权

评论回复
板凳
stly| | 2022-3-5 16:31 | 只看该作者
不懂,帮顶了

使用特权

评论回复
地板
pengf| | 2022-3-5 16:33 | 只看该作者
有什么设置问题吗

使用特权

评论回复
5
gongche|  楼主 | 2022-3-5 16:34 | 只看该作者

就是汇编NOP指令了。
和芯片没有关系,看看KEIL的帮助,要包含一个H文件。

使用特权

评论回复
6
guijial511| | 2022-3-6 10:48 | 只看该作者
一个指令周期

使用特权

评论回复
7
bqyj| | 2022-3-6 18:15 | 只看该作者

#include “intrins.h”

LZ可以善用KEIL help 这样更快

使用特权

评论回复
8
renyaq| | 2022-3-6 18:17 | 只看该作者
51里面是一个时钟周期

使用特权

评论回复
9
huangchui| | 2022-3-6 18:19 | 只看该作者
这个延迟时间可以通过KEIL软件 准确debug 出来的?

使用特权

评论回复
10
liuzaiy| | 2022-3-6 18:21 | 只看该作者
51里面是一个机器周期吧

使用特权

评论回复
11
gongche|  楼主 | 2022-3-6 18:24 | 只看该作者
好的,我try一下

使用特权

评论回复
12
songqian17| | 2022-3-6 18:26 | 只看该作者
一个NOP()就是一个机器周期.
晶振频率12M
假如是标准51,一个机器周期是1uS.
假如是88F54,一个机器周期是1/12uS.

88F54可以使用_nop_().只是你仿真时,如在_nop_()处设断点,程序不一定会停在此处.

正确的做法是:_nop_();_nop_();_nop_();_nop_();//

使用特权

评论回复
13
chenho| | 2022-3-6 18:28 | 只看该作者
楼主,这已经超出了其容许的输入电平范围的,会造成系统不稳定的

使用特权

评论回复
14
tian111| | 2022-3-6 18:30 | 只看该作者

顺便说下:
标准51是12T,一个机器周期是12个晶振周期.
88F54是1T,一个机器周期是1个晶振周期.运算速度是标准51的12倍.

还有些51是2T,运算速度是标准51的6倍.
还有些51是6T,运算速度是标准51的2倍.

使用特权

评论回复
15
wyjie| | 2022-3-6 18:33 | 只看该作者
12M中表示1us;6M中表示2us;24M中表示0.5us(微妙) 1S=1000ms=1000 000us;

使用特权

评论回复
16
jlyuan| | 2022-3-6 18:35 | 只看该作者
NOP,常在通信驱动中用到,如IIC(I2C)等。。。

使用特权

评论回复
17
pengf| | 2022-3-6 18:37 | 只看该作者
包括在库函数intrins.h中的 表示空循环一个机器指令的时间

使用特权

评论回复
18
gongche|  楼主 | 2022-3-6 18:39 | 只看该作者
唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
19
NJZR| | 2022-3-6 23:42 | 只看该作者
gongche 发表于 2022-3-6 18:39
唉,还是没有什么结果,算了,多谢大家啦

就是一个指令周期啊,啥叫没有什么结果?

使用特权

评论回复
20
huquanz711| | 2022-3-8 19:37 | 只看该作者
一般是一个指令周期

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

粉丝