【单片机】延迟程序&延迟子程序的设计(入门)

前言

大家好吖,欢迎来到 YY 滴小小知识点系列 ,热烈欢迎! 本章主要内容面向接触过单片机知识点的老铁

主要内容含:

欢迎订阅 YY滴C++专栏!更多干货持续更新!以下是传送门!

目录

一.认识基本的空操作指令NOP指令

  • 该指令是延迟系统种比较基础的一环,为一个机器周期

二.认识循环指令DJNZ

  • 认识该指令只需要顾名思义即可
  • JZ:JUMP WHEN ZERO(当值为0时跳转)
  • JNZ:JUMP WHEN NO ZERO(当值不为0时跳转)
  • DJNZ:DELETE 1,JUMP WHEN NO ZERO(值减1,当值不为0时跳转)

三.一个1秒延时子程序的编写过程

  • 先用DJNZ(减1循环),实现了一个500微妙的的延时
  • 因为循环体内会执行2个机器周期
  • 我们再利用NOP,在循环体内加两个NOP空指令(延长循环体内机器周期),即实现

四.理解设计思路:嵌套结构的方法来实现延时程序

相关推荐
嵌入式小站6 小时前
STM32 零基础可移植教程 17:USART + DMA + IDLE,串口不定长接收怎么做
stm32·单片机·嵌入式硬件
史蒂芬_丁6 小时前
Cortex-M内核中断保护机制详解:PRIMASK寄存器的正确使用方法
单片机·嵌入式硬件
榴莲llll6 小时前
LED高亮数码管显示驱动芯片数显屏驱动器最大支持13×3的按键VK16K33A
单片机
IT龟苓膏6 小时前
Redis 数据类型底层原理:SDS、quicklist、intset、skiplist、Bitmap、HyperLogLog 一篇讲清
数据库·redis·skiplist
流星白龙7 小时前
【MySQL高阶】19.变更缓冲区,自适应哈希索引,日志缓冲区
数据库·windows·mysql
晴天¥7 小时前
Oracle中的监听配置与管理(动态、静态监听配置对比以及listener.ora和tnsnames.ora)
数据库·oracle
崇山峻岭之间7 小时前
单片机传感器实验
单片机·嵌入式硬件
瀚高PG实验室8 小时前
python连接HGDB超时
数据库·瀚高数据库·highgo
闪电悠米9 小时前
黑马点评-Redisson-01_why_redisson
java·服务器·网络·数据库·缓存·wpf
Counter-Strike大牛9 小时前
SpringBoot2.7.10+MyBatisPlus实现MySQL+DM双数据库切换
数据库·mysql