C语言中没有_nop_()函数。

在51C中一般包含在#include “intrins.h” 头文件中。

该函数是在51单片机中用的延时函数,表示执行一条没有什么意义的指令,延时一个指令周期,有的指令周期是两个或两个以上的机械周期,但是_nop_();指令需要的只是一个机械周期也就是12个时钟周期(震荡周期)。

51单片机中,1个机械周期 = 12个时钟周期 = 12 * ( 1 / f)。(f 为晶振频率)。

如果只用的是12MHZ的晶振,那么 一个机械周期就是1us;也就是说:

nop(); 指令的延迟时间为 1us。可以较为精确得控制延迟时间。

nop指令的作用:
1)就是通过nop指令的填充(nop指令一个字节),使指令按字对齐,从而减少取指令时的内存访问次数。(一般用来内存地址偶数对齐,比如有一条指令,占3字节,这时候使用nop指令,cpu 就可以从第四个字节处读取指令了。)
2)通过nop指令产生一定的延迟,但是对于快速的CPU来说效果不明显,可以使用rep前缀,多延迟几个时钟。
3)i/o传输时,也会用一下 nop,等待缓冲区清空,总线恢复;
4)清除由上一个算术逻辑指令设置的flag位;
————————————————
版权声明:本文为CSDN博主「丿Zero」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38374864/article/details/75401876

_nop_();的由来和作用相关推荐

  1. [ZZ]强签名的由来和作用

    在网上,看到很多初学.NET的网友经常问,强签名是什么,它的作用是什么?一句话,强签名就是唯一标识一个Assembly文件的名称.它由Assembly的文件名.版本号.区域信息.公钥信息和处理器架构信 ...

  2. Cocoa 框架 For iOS(二)对象的分配初始化、内省、单例

    1.Cocoa对象的创建 我们都知道创建一个对象有两步:alloc和init(对象分配和初始化),两步缺一不可.初始化一般都是紧接着对象分配的后面进行,但是这两个操作的作用是完全不同的. 分配对象:就 ...

  3. 学计算机需要多少内存,电脑内存多大才够用

    现在内存的价钱越来越便宜,很多新装机的朋友都已经在使用1GB的内存,而还有很多人也在给老电脑的内存升级.在升级了物理内存之后,如何有效设置虚拟内存才能获得最大限度的性能提升?网上流传的一些优化虚拟内存 ...

  4. 对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与 HTTPS 简介

    文章目录 1.加密算法简介 1.1 对称加密(Symmetric Key Algorithms) 1.2 非对称加密(Asymmetric Key Algorithms) 1.3 非对称加密 RSA ...

  5. java基础知识整理

    Day01 常见DOS命令和环境变量的配置 每天要做的事--笔记.作业.代码 知识点的学习--A:是什么? B:有什么特点? C:如何使用? D:什么时候使用? E:能讲给别人听么? 一.学习的前提 ...

  6. 字节跳动面试题汇总 -- C++后端(含答案)

    malloc和new的区别 new/delete 是 C++关键字,需要编译器支持.malloc/free 是库函数,需要头文件支持 使用 new 操作符申请内存分配时无须指定内存块的大小,编译器会根 ...

  7. 简单了解APP黑暗模式

    本文转载:  关于APP黑暗模式的设计探索 前不久苹果发布会IOS13系统和大家见面了,其中的黑暗模式是一项比较大功能性更新,黑暗模式倒也并不是什么新奇的功能,国内的很多APP早就进行了开发,包括一些 ...

  8. 验证码测试的解决方案

    验证码测试的解决方案 前几天一位新同事向我请教了一个问题,其问题的重点是图文验证码怎么去测试?当时由于时间关系,只是大致给他说了下测试框架,趁着闲暇时间的总结,也把解决方案分享给大家. 1 认识验证码 ...

  9. 【自动化测试】web自动化测试验证码如何测?如何处理验证码问题?解决方案......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

最新文章

  1. 中科元素精准饮食治未病干预 李喜贵:签约华佗国药体系建立
  2. Vue中使用speak-tts插件实现点击按钮后进行语音播报(TTS/文字转语音)
  3. matlab制作小工具,Matlab有用的小工具小技巧
  4. AUTOSAR从入门到精通番外篇(三)-嵌入式中设计模式的艺术
  5. 连续内存分区式内存管理
  6. 爬虫4-正则表达式及Python的re模块
  7. 操作系统系列题型分析(更新中~)
  8. 禁用计算机管理器,任务管理器被禁用怎么关闭adobe
  9. 善用assert函数
  10. 大数据平台系统该如何选择
  11. IOS 打包后安装崩溃,debug正常运行
  12. weblogic部署war冲突解决记录
  13. PAIP.HIBERNATE ORA-02289 sequence does not exist的解决
  14. Android学习之文本编辑控件的使用
  15. 如何查看笔记本电脑固态硬盘接口与接口协议
  16. MySQL从入门到精通:多表查询的灵活运用_02
  17. 表格一分为二html,jsp中,td单元格怎么斜着一分为二
  18. Qt课程设计--用qt实现计算器的功能
  19. html实现弹窗,html实现弹窗的实例
  20. 【GPLT 二阶题目集】L2-004 这是二叉搜索树吗?

热门文章

  1. [反汇编练习] 160个CrackMe之021
  2. python:Base16, Base32, Base64, Base85 数据编码
  3. Windows 8.1 更新错误 0x80073712 解决办法
  4. python生成6位验证码随机数,需包含英文字母大写、小写和数字(含代码和注释)
  5. 电力英语及计算机成绩查询入口官网,考试成绩查询入口
  6. [235]scrapy分布式爬虫scrapy-redis(二)
  7. JSONObject遍历并替换部分json值
  8. 基于模型的无人机开发
  9. 美国大学计算机课程教材,美国大学计算机基础教学课程结构一瞥.pdf
  10. Yolanda,Withings,PICOOC以及RyFit四款智能人体成分秤对比评测