目录

  • 分析
    • delay的方式
    • 定时器的方式
  • 结束

分析

为了将这个问题讲清楚,首先我们要了解delay和定时器这两种方式的实现原理以及实现的目的。

delay的方式

delay的方式就是使用单片机的空指令nop、单片机的逻辑指令如while if等组成的达到延时效果的函数比如

void Delay1us()      //@11.0592MHz
{_nop_();_nop_();_nop_();
}void Delay100us()      //@11.0592MHz
{unsigned char i, j;_nop_();_nop_();i = 2;j = 15;do{while (--j);} while (--i);
}

上述程序都是delay函数,通过组合nop、while函数等达到使单片机cpu空转,也就是什么都不做但是会占用系统的时间来达到完成延时的目的,其中一个nop指令会占用一个周期,并且执行nop指令期间cpu是什么都不会执行的,相当于白白等着时间流逝,而这个时间如何算呢?一个nop指令是一个机器周期,如果用普通的AT8951单片机并且12M的晶振来看一个nop指令的时间为12*(1/12M)=1us,乘以12的原因是此款单片机是12T的单片机,也就是我们常说的12的时钟周期才是一个机器周期。那么我们stc15f2k61s2的单片机nop指令又是多少时间呢?是(1/12M),因为这款单片机是1T的单片机,这个需要结合具体的芯片手册去看。使用这种方式让cpu在一段时间内不作任何操作,达到延时的目的,这种方式就叫做delay方式。

定时器的方式

首先说一下单片机的定时器的原理,单片机的定时器是一个结合触发器、寄存器等组成的一个达到定时器效果并且可以实现中断功能的模块。
简要说一下定时器的工作的流程

定时器首先会使用寄存器来设定初始值来达到设定定时时间的目的,然后开启定时器计时后,定时器到了指定时间触发中断程序然后重载定时器的初值后,继续工作,一直循环下去,也就是每隔设定时间后就会执行指定的程序。这个时候就会有人问了?定时器在等待时间到来的时候不是也没有做什么吗?
其实不是这样的
在定时器开启后,cpu就不会再管定时器的计时部分了,这个时候cpu就去做其他你写的程序了,然后等到时间到了,中断触发程序就会通知cpu叫它去处理定时器时间到了后的中断程序了。
这样在等待时间到的这段时间cpu是在正常工作的,大大加大了cpu的效率!

结束

这里我只是简单说了一下原因,当然,对定时器的了解当然不止于此,需要自己结合芯片手册看,定时器还有计数模式,还有更高级的比如PCA定时器等,有兴趣可以自己下去了解。

单片机为什么不推荐使用delay而要使用定时器呢?相关推荐

  1. 基于单片机的毕业设计推荐

    ** 2023基于单片机的毕业设计推荐: ** 1.基于51单片机的多功能门禁系统(低端.功能限制较大). 2.基于单片机的多功能实时时钟. 3.基于单片机的音乐播放器. 4.基于STM32单片机的多 ...

  2. 超实用的电子/嵌入式/单片机设计软件工具推荐

    超实用的电子/嵌入式/单片机设计软件工具推荐 DC-DC电源设计工具:DCDCDesigner 3.12 代码/文本/内容搜索工具:Archivarius 3000 PCB阻抗设计工具:Polar S ...

  3. LPC2124单片机的基础操作——GPIO、外部中断、定时器和串口

    LPC2124单片机的基础操作--GPIO.外部中断.定时器和串口 LPC2124的简介 LPC2124之GPIO GPIO简介 编程习惯 代码编写 LPC2124之EINT(外部中断) EINT简介 ...

  4. 蓝桥杯单片机比赛学习:6、中断系统之定时器中断的基本原理

    上节我们讲了中断的外部中断,基本的了解了一下中断,这一节我们继续来学习中断系统的定时器中断基本原理,本节很重要无论是在比赛中还是在单片机.嵌入式等的学习上都有着很重要的地位.如对本作者有兴趣可以去我主 ...

  5. 跟着吴坚鸿学单片机——第2天:delay()延时实现LED灯的闪烁

    原文链接:delay()延时实现LED灯的闪烁. 文章目录 原文 读后感 自我练习 原文 第二节:delay()延时实现LED灯的闪烁. 开场白: 上一节鸿哥列出了初学者七大误区,到底什么才是初学者关 ...

  6. c语言void delay是什么意思,51单片机程序解答,void delay (u6i)是什么意思?

    /************************************************************************************** *           ...

  7. 单片机 毕业设计选题推荐及论文书写框架

    目录 选题方向 一.智能家居控制 二.环境数据监测 三.汽车智能提升 四.使用工具设计 五.针对上述进行扩展 功能总结: 论文书写方面 一.论文整体架构 接单片机定做,有需要可以联系我 : WX:co ...

  8. 计算机单片机英语书籍推荐,英语翻译近十几年来,单片机作为微计算机一个很重要的分支,应用广泛,发展迅速,已经对人类社会产生了深远的影响.本文介绍了基...

    共回答了19个问题采纳率:78.9% Over the last decade, single-chip micro-computer as a very important branch of a ...

  9. 2023最新51单片机毕设选题推荐

    文章目录 1前言 2 STM32 毕设课题 3 如何选题 3.1 不要给自己挖坑 3.2 难度把控 3.3 如何命名题目 4 最后 1前言

最新文章

  1. zabbix-2:自定义监控项目
  2. SharePoint Hello World Web Part
  3. 这样讲 Netty 中的心跳机制,还有谁不会?
  4. java 简单的webshell_Java Web使用JSPX白名单绕过上传WebShell | kTWO-个人博客
  5. python编程 书籍_Python编程十大最佳书籍
  6. oracle的热备份和冷备份
  7. leetcode 39. Combination Sum(回溯算法)
  8. python爬虫如何连接数据库_Python爬虫框架和数据库连接
  9. 华为手机照片 计算机,教你华为手机怎么传照片到电脑上去
  10. 关于matlab中的gcf,gca
  11. 2022年嵌入式系统设计师考试大纲
  12. 基于PHP的华为手机商城系统(完整前后台)
  13. 第三月模拟题——炉石传说
  14. 路路通软件android版,家校路路通app
  15. 单词倒排 与 IP整数转换
  16. 穷人跨越阶层有多难?
  17. Apple Mac放大招——搭载M1 Ultra,性能完胜RTX 3090,功耗降低200W
  18. 人脸识别实名认证在景区门禁系统中的应用
  19. android编译集成dialer应用,Comet Android Dialer
  20. mysql分库分表 ppt_数据库分库分表中间件架构解析.ppt

热门文章

  1. 【Lucene】TokenStream-语汇单元的项、偏移量、类型和位置增量
  2. 命令提示符已被系统管理员停用.请按任意键继续……
  3. 14、配置路由器的静态路由
  4. 【Linux】Linux网络配置详解
  5. 机器学习算法优缺点整理
  6. 问卷工具选择要看哪些方面?
  7. 华为nova10和nova10pro的区别 华为nova10和华为nova10pro参数配置
  8. 苹果Safari浏览器最常用快捷键实用技巧合集
  9. hihoCoder挑战赛12 永恒游戏 模拟
  10. java int转换float_java float转换int