[其它应用]

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

[复制链接]
1462|16
手机看帖
扫描二维码
随时随地手机跟帖
yufe|  楼主 | 2018-1-27 15:20 | 显示全部楼层 |阅读模式
问下一个NOP()是延时多久,怎么计算的
yufe|  楼主 | 2018-1-27 15:24 | 显示全部楼层

还有88F54这款芯片为什么不支持NOP延时了

使用特权

评论回复
llia| | 2018-1-27 15:26 | 显示全部楼层

不懂,帮顶了

使用特权

评论回复
yufe|  楼主 | 2018-1-27 15:28 | 显示全部楼层
有什么设置问题吗

使用特权

评论回复
langgq| | 2018-1-27 15:32 | 显示全部楼层

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

使用特权

评论回复
wangzsa| | 2018-1-27 15:34 | 显示全部楼层

#include “intrins.h”

LZ可以善用KEIL help 这样更快

使用特权

评论回复
hanwe| | 2018-1-27 15:38 | 显示全部楼层

51里面是一个时钟周期

使用特权

评论回复
guoyt| | 2018-1-27 15:41 | 显示全部楼层
这个延迟时间可以通过KEIL软件 准确debug 出来的?

使用特权

评论回复
lium| | 2018-1-27 15:44 | 显示全部楼层
51里面是一个机器周期吧

使用特权

评论回复
yufe|  楼主 | 2018-1-27 15:47 | 显示全部楼层


好的,我try一下

使用特权

评论回复
hanwe| | 2018-1-27 15:51 | 显示全部楼层
一个NOP()就是一个机器周期.
晶振频率12M
假如是标准51,一个机器周期是1uS.
假如是88F54,一个机器周期是1/12uS.

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

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

使用特权

评论回复
hanwe| | 2018-1-27 15:52 | 显示全部楼层
楼主,这已经超出了其容许的输入电平范围的,会造成系统不稳定的

使用特权

评论回复
lium| | 2018-1-27 16:00 | 显示全部楼层
顺便说下:
标准51是12T,一个机器周期是12个晶振周期.
88F54是1T,一个机器周期是1个晶振周期.运算速度是标准51的12倍.

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

使用特权

评论回复
zhanglli| | 2018-1-27 16:02 | 显示全部楼层
12M中表示1us;6M中表示2us;24M中表示0.5us(微妙) 1S=1000ms=1000 000us;

使用特权

评论回复
zhuww| | 2018-1-27 16:06 | 显示全部楼层
NOP,常在通信驱动中用到,如IIC(I2C)等。。。

使用特权

评论回复
wangzsa| | 2018-1-27 16:10 | 显示全部楼层

包括在库函数intrins.h中的 表示空循环一个机器指令的时间

使用特权

评论回复
yufe|  楼主 | 2018-1-27 16:15 | 显示全部楼层
唉,还是没有什么结果,算了,先结贴吧,多谢大家啦

使用特权

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

本版积分规则

983

主题

10170

帖子

1

粉丝