单片机C语言中延时时间的计算

发布者:sedsedq最新更新时间:2015-10-27 来源: eefocus关键字:单片机  C语言  延时时间 手机看文章 扫描二维码
随时随地手机看文章
C程序中可使用不同类型的变量来进行延时设计。经实验测试,使用unsigned char类型具有比unsigned int更优化的代码,在使用时应该使用unsigned char作为延时变量。  以某晶振为12MHz的单片机为例,晶振为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--);

       }

 

 

计算分析:

 

    程序共有三层循环

    一层循环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--);

}

    三. 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--);

}

    四. 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语言  延时时间 引用地址:单片机C语言中延时时间的计算

上一篇:MSP430的中断嵌套问题
下一篇:]“hello world”字符串输出的简单汇编

推荐阅读最新更新时间:2024-03-16 14:37

意法半导体开始提供基于ePCM的微控制器样片
现在开始提供创新的汽车MCU嵌入式相变存储器(ePCM)样片 在IEDM 2018展会上公布初步基准性能数据 将支持汽车系统对更快和更复杂的计算能力的需求 横跨多重电子应用领域的全球领先的半导体供应商 意法半导体 (STMicroelectronics,简称ST;纽约证券交易所代码 :STM) 在IEDM2018国际电子器件展会上,公布了内置嵌入式相变存储器(ePCM)的28nm FD-SOI汽车微控制器(MCU)技术的架构和性能基准,并从现在开始向主要客户提供基于ePCM的微控制器样片,预计2020年按照汽车应用要求完成现场试验,取得全部技术认证。这些微控制器是世界上首批使用ePCM的微控制器,将被用于汽车传动系
[汽车电子]
如何提高MSP430 C语言编程效率
关于代码效率 MSP430系列的程序设计准则,有利于提高代码效率。应该指出,这些准则基本上是基于MSP430系列的硬件结构特点而提出的。 1.位域类型的执行时很慢的,所以应当在仅仅为了节省数据存储空间时才使用位域方式。如果用户必须使用位域存储,可以用char或unsigned int的位屏蔽操作来代替位域操作。 2.在模块之外不使用的变量应当声明为static,这样在编译时有可能使这些变量分配在寄存器中暂存,从而提高了代码效率。 3.尽可能使用unsigned数据类型。许多情况下,对unsigned数据类型的操作,比对signed数据类型的操作效率更高,尤其对于除法和求模运算更是如此。 4.程序设计中应该使
[单片机]
基于单片机FIash存储器坏块自动检测系统的设计方案
随着电子技术飞速发展,智能电子产品随处可见,如PC机、移动电话、PDA、数码相机、游戏机、数字电视等,而诸如此类的电子产品的核心器件往往离不开存储器。无论是从存储器的物理结构、存储容量、数据读写速度、可靠性、耐用性,还是产品的实用性方面。其种类繁多。然而由于种种原因,越来越多的电子产品采用数据传输快、容量大的NAND型Flash存储器。虽然NAND型Flash具有许多优点,但其有随机产生不可避免的坏块,如果不能很好解决该坏块将导致高故障率。因此,这里提出一种基于DSP的Flash存储器坏块自动检测系统。 1 系统设计方案 图1为Flash存储器坏块自动检测系统结构框图。 本系统设计采用AT89C51自动检测NAND
[单片机]
基于<font color='red'>单片机</font>FIash存储器坏块自动检测系统的设计方案
基于单片机中风机温度控制系统的设计
   0.引言    风机为通用机械,它广泛地使用在国民经济的各个部门中。风机广泛用在工厂、矿井、车辆、建筑物、家用电器等的通风、排尘和冷却;谷物的烘干和选送;风洞风源和气垫船的充气和推进等。另外,在一些对环境温度有特殊要求的场所,要求温度变化在1℃以下,这就需要一种可以根据外界环境温度来确定风机的转动与停止的风机温控系统。    本文设计的风机微小温控系统,可使温度检测精度达到0.01℃,并可手动设定温度上下限,且具有自动声光报警功能。    1.设计要求    本系统采用PT1000温度传感器 检测环境温度(温度检测精度0.01℃),根据环境温度变化控制风机降温,并具备按键手动设定温度上下限、声光报警等功能
[单片机]
基于<font color='red'>单片机</font>中风机温度控制系统的设计
汽车电子MCU技术原理与需求分析
        汽车作为一部大型的机电一体化设备,汽车电子在汽车整体成本中的比例越来越大。目前欧美发达国家汽车电子的平均成本达350美元以上,其涵盖了从车身控制、动力传动、车身安全,到车内娱乐的各个方面。   微控制器(MCU)作为汽车电子系统内部运算和处理的核心,也遍布悬挂、气囊、门控和音响等几十种次系统(Sub-System)中。由于汽车作为高速交通工具承载了对用户生命安全的保障,同时汽车经常工作在十分恶劣的环境中,其对内部电子设备的可靠性要求要远高于一般性电子产品。因此汽车电子所用的MCU与一般性产品的结构差异虽然并不很大,而一般的MCU产品由于可靠性不能符合厂商的要求而并不能被选用,这也是汽车电子产品同一般性电子产品市场
[嵌入式]
单片机模糊PID自整定控制算法的实现及仿真
0 引言 由于液压伺服系统的固有特性(如死区、泄漏、阻尼系数的时变性以及负载干扰的存在),系统往往会呈现典型的不确定性和非线性特性。这类系统一般很难精确描述控制对象的传递函数或状态方程,而常规的PID控制又难以取得良好的控制效果。另外,单一的模糊控制虽不需要精确的数学模型,但是却极易在平衡点附近产生小振幅振荡,从而使整个控制系统不能拥有良好的动态品质。 本文针对这两种控制的优缺点并结合模糊控制技术,探讨了液压伺服系统的模糊自整定PID控制方法,同时利用MATLAB软件提供的Simulink和Fuzzy工具箱对液压伺服调节系统的模糊自整定PID控制系统进行仿真,并与常规PID控制进行了比较。此外,本文还尝试将控制系统通过单片机的
[工业控制]
Freescale发布电容性触摸传感器控制器技术
  飞思卡尔半导体(Freescale)推出一对下一代电容性传感器控制器和一种接近传感软件解决方案。这些控制器和解决方案能够与数百种飞思卡尔微控制器一起运行,这将重新定义对触摸式用户界面。触摸敏感控制提供灵活、可靠而且经济高效的用户界面选择方法,因此正在迅速代替机械按钮、滑片和开关。触摸传感技术有助于设计人员在开发直观的触摸滚轮和直线滑片界面时充分发挥他们的创造力,并且能够隐藏或加亮显示按钮和"morph"触摸板模式。触摸板是密封的,不容易沾染污垢和灰尘,也没有易磨损的移动部件,可以为多种日用和工业产品提供清洁、先进而易于使用的界面。正因为如此,触摸控制技术日益成为设计人员设计手机、便携式媒体播放器、家用电器、远程控制、电子游戏、
[工业控制]
使用高集成度MCU实现网络支持的技术
  在过去 20 年中,许多工业和自动化系统的趋势是向单个节点添加越来越多的数字智能,以提高它们的响应速度。通过使用分布式智能将系统整合到系统系统(也称为“物联网”)中,系统可以变得更加灵活。通过网络控制,可以提供对设备的远程控制,让它们更智能地工作,以节省能源并提供状态和错误反馈。   使用从远程节点收集的数据,云中的服务器可以在警报开始出现时主动安排维护。这些服务器还可以通过使用增强的控制算法使设备协同工作,以获得更节能或更具成本效益的解决方案,这些算法不仅对来自一个设备的数据作出反应,而且还执行传感器融合以使用来自多个设备的输入。   自 1970 年代推出以来,以及随后在 1980 年代更新为使用低成本双绞线电缆,
[单片机]
使用高集成度<font color='red'>MCU</font>实现网络支持的技术
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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