单片机中的NOP指令

发布者:daits摸鱼的最新更新时间:2020-03-09 来源: eefocus关键字:单片机  NOP指令  精确定时 手机看文章 扫描二维码
随时随地手机看文章

在单片机中的很多程序中都能看见NOP这条指令的身影,有些人很疑惑这条空空的指令到底有什么用呢,,经过多次的实验,,我终于证实(呀,谁扔的番茄)主要有两条作用:


1,精确定时:NOP指令时间为1个周期,12M晶振的活呢是1US秒的时间。非常的准确。如

如果晶振用12Mz的话,这样一个机器周期为1us。 


          MOV R0,#0FFH

DLY_LP:

           NOP                       执行一次所需时间为1us       

           NOP                       执行一次所需时间为1us

           DJNZ R0,DLY_LP    执行一次所需时间为2us


这个延时程序的总延时时间为:(1+1+2)×255=1020us 。



DELAY:   

           MOV R0,#0FFH

           MOV R1,#0FFH

DLY_LP:

           NOP                          执行一次所需时间为1us

           NOP                          执行一次所需时间为1us

           DJNZ R0,DLY_LP        执行一次所需时间为2us

           MOV R0,#0FFH          执行一次所需时间为1us

关键字:单片机  NOP指令  精确定时 引用地址:单片机中的NOP指令

上一篇:PIC单片机的第一个例程
下一篇:PIC单片机入门_MPLAB 集成开发环境和 MPASM编译器

推荐阅读最新更新时间:2024-11-09 23:42

单片机中LED数码管的介绍
LED 小灯是一种简单的 LED,只能通过亮和灭来表达简单的信息。而这节课我们要来学习一种能表达更复杂信息的器件——LED 数码管。 先给大家提供一张原理图看一下,如图 5-3 所示。 图 5-3 数码管原理图 这是比较常见的数码管的原理图,我们板子上一共有 6 个数码管。前边有了 LED 小灯的学习,数码管学习就会轻松的多了。从图 5-3 可以看出来,数码管共有 a、b、c、d、e、f、g、dp 这么 8 个段,而实际上,这 8 个段每一段都是一个 LED 小灯,所以一个数码管就是由 8个 LED 小灯组成的。我们看一下数码管内部结构的示意图,如图 5-4。 图 5-4 数码管结构示意图 数码管分为共阳和共阴两种,共
[单片机]
<font color='red'>单片机</font>中LED数码管的介绍
飞思卡尔16位单片机(十五)—— 如何批量烧写芯片
我们在进行飞思卡尔单片机开发时,一般使用CodeWarrior软件和usbdm调试器进行。但是在实际生产过程中,采用这种方式烧写芯片效率比较低,而且很多情况下,程序的源码不希望对生产人员开放,本文就是为了这个目的,给大家讲解一下,如何进行芯片的批量烧写。 在进行批量烧写之前,我们默认大家已经安装了飞思卡尔单片机的开发环境,包括软件、调试器驱动。下面我们就进行批量烧写的实现。 首先我们先要找到工程的二进制文件,CodeWarrior中,二进制文件的扩展名为.s19,在工程的bin文件夹下,如下图所示。 将这个文件复制到英文路径下,这一步很关键,因为烧写软件不认中文路径。 接下来将下载器、单片机与计算机连接好。 然
[单片机]
飞思卡尔16位<font color='red'>单片机</font>(十五)—— 如何批量烧写芯片
STM8S003单片机串口通信通信协议分析
最近在用STM8S003这个片子做项目,在做串口通信的时候,发现以前写的协议太简单了,项目中用不适合。 //协议 : 0XDD xx xx xx xx xx xx 0XAA @far @interrupt void UART1_Receive(void) { unsigned char res; res=UART1_DR; if(res==0xDD) //头 { Rec_statu=1; //标志开始接收 Rec_Cnt=0; Rec_End=0; return; } if(res==0xAA) //尾 { Rec_statu=0; Rec_End=1; //标志接收完成 SendData();
[单片机]
C51单片机微调SH-20504程序
/******************************************************************************************************************* * 版权归huaer所有 ** * 功能:SH-20504控制56BYG250C的单片机程序 ** * 输出:PWM
[单片机]
学51单片机-UART口发送一个字符
UART口,又叫做通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),是单片机常用功能的一部分,也是早期台式电脑必备的一个硬件接口。 当年我调试UART口的时候,用的还是超级终端,现在都用串口助手了,比我们当时方便多了。 UART口按位发送和接收字节,虽然相比于并口,慢了很多,但是在有限的IO资源面前,这种方式是非常可取的。 UART口主要用于ASCII码的传输,传输过程遵循ANSI/EIA-232标准。ASCII码是啥?看下表: 就是说,当我想发送字符“A”的时候,我要向串口发送十进制数65,或者十六进制数41。 驱动电
[单片机]
学51<font color='red'>单片机</font>-UART口发送一个字符
基于PIC单片机的智能化逆变电源控制系统
  随着科学技术的进步,电源质量越来越成为各种电气设备正常和良好工作的基础。电源技术领域的一个持续的研究课题即是研究作为电子信息产业命脉的电源的可靠性和稳定性。   而逆变器作为电源的核心部分,其调制技术很大程度上决定了电源输出电压的质量。目前最常用的调制技术是正弦脉宽调制(SPWM)。随着单片机的出现及其广泛应用,智能化控制方法已经逐渐替代传统的分立元件电路产生方法或是专用芯片产生方法。智能化逆变电源的优势在于它不仅能实现调制信号的输出,还为系统数据参数的监控、处理及显示提供接口。同时它与现代计算机技术更好地结合产生了故障自诊断和自我保护功能,可提高系统的稳定性。   在充分考虑工业控制成本及稳定性要求的前提下,本设计采用PIC
[电源管理]
基于PIC<font color='red'>单片机</font>的智能化逆变电源控制系统
51单片机延时程序分析
上一次课中,我们已经知道,程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,下面我们再来看一下其它符号的含义。 〈单片机延时程序〉 MOV:这是一条指令,意思是传递数据。说到传递,我们都很清楚,传东西要从一本人的手上传到另一本人的手上,也就是说要有一个接受者,一个传递者和一样东西。从指令MOV R7,#250中来分析,R7是一个接受者,250是被传递的数,传递者在这条指令中被省略了(注意:并不是每一条传递指令都会省的,事实上大部份数据传递指令都会有传递者)。它的意义也很明显:将数据250送到R7中去,因此执行完这条指令后,R7单元中的值就应当是250。在250前面有个#号,这又是什么意思呢
[单片机]
51<font color='red'>单片机</font>延时程序分析
GigaDevice发布多款基于ARM® CortexTM-M3内核的32位通用MCU
领先的半导体供应商GigaDevice (兆易创新)日前在中国发布14款基于ARM® CortexTM-M3内核的GD32F103系列32位通用MCU产品。目前,该系列产品已经开始提供样片。 GD32系列MCU力争为用户带来优异的系统性能与灵活的应用体验,并在性价比上做得更为出众。为了给用户在研发时有更大的自由选择范围,全新的GD32F103产品线提供从16KB到128KB的Flash容量,并有QFN36,TQFP48,LQFP64和LQFP100多种封装选择。系列产品在软件和引脚封装方面全兼容。 GD32F103系列产品主频为108MHz,提供了出色的处理性能。目前片内闪存(Flash)最大为128KB,RAM最
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved