_nop_在c语言里什么作用,单片机c语言中nop函数的使用方法和延时计算
原标题:单片机c语言中nop函数的使用方法和延时计算
标准的C语言中没有空语句。但在 的C语言编程中,经常需要用几个空指令产生短延时的效果。
这在汇编语言中很容易实现,写几个nop就行了。
在C51中,直接调用库函数:
#include // 声明了void _nop_(void);
_nop_(); // 产生一条NOP指令
作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。
NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。
对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。
在选择C51中循环语句时,要注意以下几个问题
第一、定义的C51中循环变量,尽量采用无符号字符型变量。
第二、在FOR循环语句中,尽量采用变量减减来做循环。
第三、在do…while,while语句中,循环体内变量也采用减减方法。
这因为在C51编译器中,对不同的循环方法,采用不同的指令来完成的。
下面举例说明:
unsigned char I;
for(i=0;i<255;i++);
unsigned char I;
for(i=255;i>0;i--);
其中,第二个循环语句C51编译后,就用DJNZ指令来完成,相当于如下指令:
MOV 09Hÿ
_nop_在c语言里什么作用,单片机c语言中nop函数的使用方法和延时计算相关推荐
- c语言中fputc函数的作用是,C语言中fputc函数的用法
C语言中fputc函数的用法 C语言中fputc函数的用法为"int fgetc (FILE *fp)",该函数的作用是从指定的文件中读取一个字符, 读取成功时会返回读取到的字符, ...
- c语言中fputc函数的作用是,C语言中fputc函数的用法_后端开发
Python画ROC曲线和AUC值计算(附代码)_后端开发 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器的优劣.这篇文章将先简单的 ...
- 51单片机c语言中有file,51单片机C语言中.c文件和.h文件的关联
1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明: 2 提供接口:对一个软件包来说可以提供一个给外界的接口(例如: stdio.h). 2)h文件里应该有什么 常量,结构,类 ...
- c语言new的作用,关于c语言中new的使用?
必须使用malloc函数,因为C语言没有new这个操作符,但是如果你的编译器是C++的话,是可以使用new的. 所以程序就是: long *pNumber = (long*)malloc(sizeof ...
- c语言中sizeof函数的作用是,c语言中sizeof函数的用法
C语言sizeof函数如何使用? 怎样利用sizeofCSS布局HTML小编今天和大家分享各种数据类型占用的字节数? (1)sizeof不是函数,它只是一个操作符(operator). (2)size ...
- 单片机c语言idata什么意思,单片机C语言中的data,idata,xdata,pdata,code
从数据存储类型来说,8051系列有片内.片外程序存储器,片内.片外数据存储器,片内程序存储器还分直接寻址区和间接寻址类型,分别对应code.data.xdata.idata以及根据51系列特点而设定的 ...
- c语言说明函数的作用是,C语言中rewind函数的作用是什么?
rewind函数的作用是:使文件位置指针重新返回文件的开始位置. C语言rewind函数 rewind函数是C语言程序中的库函数 功 能:将文件内部的位置指针重新指向一个流(数据流/文件)的开头 注意 ...
- c语言extern的作用6,C语言中extern用法详解
本文基于VC6.0 编译器 首先文档结构如下: myextern.h和myextern.c中定义extern函数 main.c中定义main方法,调用extern函数 1.第一个尝试: myexter ...
- 单片机c语言define什么意思,单片机C语言中typedef和define的区别是什么?
满意答案 vtj2011 推荐于 2019.09.30 采纳率:53% 等级:8 已帮助:263人 1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正 ...
最新文章
- unbalanced enable irq 问题的解决 以及共享的gpio中断引起的问题
- mysql ddl脚本_MySQL学习之路(1):SQL脚本语言
- 记一次 .NET 某市附属医院 Web程序 偶发性CPU爆高分析
- python中多维数组_python学习笔记-多维数组
- c语言元素插入数组并排序,一数组按顺序序存放,插入一个数,按原来排序规律放在相应位置...
- 磕头如捣的拼音及解释
- Git学习笔记(2)——版本的回退,和暂存区的理解
- 什么是运行时Runtime、运行时库Runtime Library、运行时环境Runtime environment
- EndNote 文献管理软件安装包
- java restsharp_RestSharp使用总结
- ABB机器人Test指令
- 软件测试难不难?不是计算机专业也能学吗?
- MySQL两种存储引擎: MyISAM和InnoDB 简单总结
- OpenDaylight是什么?
- java获取浏览器url_java 打开浏览器 url
- 推荐系统入门(六):新闻推荐实践1(附代码)
- Linux arping :向相邻主机发送ARP请求
- html中创建学生对象,在考生文件夹下,存在一个数据库文件“sampl.mdb”。在数据库文件中已经建立了一个表对象“学生基本情_搜题易...
- 引用feignClient对象项目启动异常-Consider defining a bean of type ‘com.xxx.service.xxxRemote‘ in your configura
- 雅虎邮箱停用对网民的影响