精华内容
下载资源
问答
  • 单片机延时程序单片机延时程序单片机延时程序单片机延时程序单片机延时程序
  • 本文主要讲了单片机延时程序怎么写?希望对你的学习有所帮助。
  • AVR单片机延时程序

    2020-07-23 17:10:08
    AVR单片机延时程序
  • 单片机延时计算小程序.rar 单片机延时计算小程序.rar 单片机延时计算小程序.rar 单片机延时计算小程序.rar
  • 单片机延时计算程序

    2012-01-02 22:42:37
    单片机延时计算程序 可以精确计算延时时间 自动生成程序
  • 本文关于单片机延时程序图解分析
  • 单片机延时计算程序
  • 51单片机精确延时程序(晶振12MHz,一个机器周期1us.)几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响.
  • 单介绍单片机延时程序的分析
  • 典型8051单片机延时程序延时时间计算小软件
  • 单片机延时程序就是执行多次同一条指令,需要多长时间是否满足我们的要求?就得根据计算机访问存储器的时间即机器周期来定。一个机器周期包括12个时钟周期。下面让我们算一下一个机器周期是多长时间吧。设一个单片机...
  • 本文主要讲了如何写单片机延时程序,希望对你的学习有所帮助。
  • 应用keil4软件,实现单片机延时程序,文件内含延时50ms、200ms、500ms、1s的设计,实现延时程序。含编程文件以及计算方法。
  • 本文档中具有51单片机延时程序的常见延时方法、常用延时时间的标准程序
  • 51单片机延时程序详解
  • 我们已经知道,单片机程序中的符号R7、R6是代表了一个个的RAM单元,是用来放一些数据的,执行多次同一条指令就是为了达到延时效果。
  • PIC单片机延时程序

    2009-09-16 22:00:56
    PIC单片机延时程序集 介绍了多种PIC单片机上的延时程序
  • 51单片机延时程序 精确度经过试验论证
  • 本文主要讲了单片机定时器延时程序,下面来学习下
  • 当我们在应用单片机的时候,经常会遇到需要短时间延时的情况,本文就来介绍一下51单片机延时程序的设计方法。
  • 一个很好的,51单片机延时程序设计软件。 用起来很好。希望分享
  • 单片机延时程序代码

    2015-12-30 01:04:54
    单片机延时程序代码,精准延时! #include void Delay999ms() //@24.000MHz { unsigned char i, j, k; _nop_(); i = 16; j = 48; k = 20; do { do { while (--k); } while (--j); } while (--i); } 这个差不多是1m...
  • 介绍了关于51单片机精确延时程序的详细说明,提供单片机的技术资料的下载。
  • 单片机延时程序

    2013-04-21 01:45:02
    延时子程序C语言延时程序:10ms延时子程序(12MHZ) void delay10ms(void) { unsigned char i,j,k; for(i=5;i>0;i--) for(j=4;j>0;j--) for(k=248;k>0;k--); } 或者 void delay10ms() { for(a=100;a>0;...
  • 在交通灯的控制程序中,需要控制红灯亮的时间持续30秒,就可以通过延时程序来完成。延时程序是如何实现的呢?下面让我们先来了解一些相关的概念。 一、机器周期和指令周期 1.机器周期是指单片机完成一个基本操作所...
  • 单片机常用延时程序单片机常用延时程序单片机常用延时程序
  • 单片机延时C语言程序

    2020-12-27 09:54:18
    500ms延时程序 程序: void delay500ms(void){ unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 产生的汇编: C:0x0800 7F0F MOV R7,#...
    (晶振12MHz,一个机器周期1us.)
    一. 500ms延时子程序
    程序:
    void delay500ms(void){
       unsigned char i,j,k;
       for(i=15;i>0;i--)
         for(j=202;j>0;j--)
           for(k=81;k>0;k--);
    }
    产生的汇编:
    C:0x0800     7F0F      MOV       R7,#0x0F
    C:0x0802     7ECA      MOV       R6,#0xCA
    C:0x0804     7D51      MOV       R5,#0x51
    C:0x0806     DDFE      DJNZ      R5,C:0806
    C:0x0808     DEFA      DJNZ      R6,C:0804
    C:0x080A     DFF6      DJNZ      R7,C:0802
    C:0x080C     22        RET      
    计算分析:
    程序共有三层循环
    一层循环n:R5*2 = 81*2 = 162us                   DJNZ   2us
    二层循环m:R6*(n+3) = 202*165 = 33330us          DJNZ   2us + R5赋值 1us = 3us
    三层循环: R7*(m+3) = 15*33333 = 499995us        DJNZ   2us + R6赋值 1us = 3us
    循环外:    5us             子程序调用 2us + 子程序返回 2us + R7赋值 1us = 5us
    延时总时间 = 三层循环 + 循环外 = 499995+5 = 500000us =500ms
    计算公式:延时时间=[(2*R5+3)*R6+3]*R7+5

    二. 200ms延时子程序
    程序:
    void delay200ms(void){
       unsigned char i,j,k;
       for(i=5;i>0;i--)
         for(j=132;j>0;j--)
           for(k=150;k>0;k--);
    }
    产生的汇编
    C:0x0800     7F05      MOV       R7,#0x05
    C:0x0802     7E84      MOV       R6,#0x84
    C:0x0804     7D96      MOV       R5,#0x96
    C:0x0806     DDFE      DJNZ      R5,C:0806
    C:0x0808     DEFA      DJNZ      R6,C:0804
    C:0x080A     DFF6      DJNZ      R7,C:0802
    C:0x080C     22        RET

    三. 10ms延时子程序
    程序:
    void delay10ms(void){
       unsigned char i,j,k;
       for(i=5;i>0;i--)
         for(j=4;j>0;j--)
           for(k=248;k>0;k--);
    }
    产生的汇编
    C:0x0800     7F05      MOV       R7,#0x05
    C:0x0802     7E04      MOV       R6,#0x04
    C:0x0804     7DF8      MOV       R5,#0xF8
    C:0x0806     DDFE      DJNZ      R5,C:0806
    C:0x0808     DEFA      DJNZ      R6,C:0804
    C:0x080A     DFF6      DJNZ      R7,C:0802
    C:0x080C     22        RET      

    四. 1s延时子程序
    程序:
    void delay1s(void){
       unsigned char h,i,j,k;
       for(h=5;h>0;h--)
         for(i=4;i>0;i--)
           for(j=116;j>0;j--)
             for(k=214;k>0;k--);
    }
    产生的汇编
    C:0x0800     7F05      MOV       R7,#0x05
    C:0x0802     7E04      MOV       R6,#0x04
    C:0x0804     7D74      MOV       R5,#0x74
    C:0x0806     7CD6      MOV       R4,#0xD6
    C:0x0808     DCFE      DJNZ      R4,C:0808
    C:0x080A     DDFA      DJNZ      R5,C:0806
    C:0x080C     DEF6      DJNZ      R6,C:0804
    C:0x080E     DFF2      DJNZ      R7,C:0802

    C:0x0810     22        RET

     

     

     

    时钟周期    时钟周期也称为振荡周期,定义为时钟脉冲的倒数(可以这样来理解,时钟周期就是单片机外接晶振的倒数,例如12M的晶振,它的时间周期就是1/12 us),是计算机中最基本的、最小的时间单位。   在一个时钟周期内,CPU仅完成一个最基本的动作。对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1us;若采用4MHZ的时钟频率,则时钟周期为250us。由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。显然,对同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟周频率范围也不一定相同。我们学习的8051单片机的时钟范围是1.2MHz-12MHz。   在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。机器周期    在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。一般情况下,一个机器周期由若干个S周期(状态周期)组成。8051系列单片机的一个机器周期同6个S周期(状态周期)组成。前面已说过一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示),8051单片机的机器周期由6个状态周期组成,也就是说一个机器周期=6个状态周期=12个时钟周期。指令周期    指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。指令不同,所需的机器周期数也不同。对于一些简单的的单字节指令,在取指令周期中,指令取出到指令寄存器后,立即译码执行,不再需要其它的机器周期。对于一些比较复杂的指令,例如转移指令、乘法指令,则需要两个或者两个以上的机器周期。    通常含一个机器周期的指令称为单周期指令,包含两个机器周期的指令称为双周期指令。<h1 class="mb-5" style="margin: 0px; padding: 0px;"><span class="ask-title">当80C51单片机晶振频率为12MHz时,时钟周期.机器周期各是多少?</span></h1><pre id="answer-content-375512566" class="answer-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word;">答:1.时钟周期为晶振频率的倒数:1/12微秒;    2.机器周期为12个时钟周期:1微秒;

     

     

    想要学习单片机语言的盆友可以加xyd118118领取线下免费试听课程

     

     

    展开全文
  • 有关单片机延时程序的小汇总,主要是一些常用的延时程序
  • 记录种51单片机延时30ms的程序 第一种 void delay30ms() { unsigned char i,j; for(i=0;i<30;i++) for(j=0;j<120;j++) } 第二种 void delay30ms() { unsigned char i,j; for(i=0;i<100;i++) for(j...

    记录三种51单片机延时30ms的程序

    第一种

    void delay30ms()
    {
      unsigned char i,j;
      for(i=0;i<30;i++)
        for(j=0;j<120;j++)
    }
    

    第二种

    void delay30ms()
    {
      unsigned char i,j;
      for(i=0;i<100;i++)
        for(j=0;j<100;j++)}
    

    第三种

    void delay30ms()
    {
      unsigned char i,j;
      for(j=101;j>0;j--)
        for(i=147;i>0;i--)
    }
    

    小白正在学习中,如有错误,请指正。

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,450
精华内容 7,780
关键字:

单片机延时30秒程序