微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机的汇编延时程序

单片机的汇编延时程序

时间:11-29 来源:互联网 点击:
50ms延时;一般书上的程序
DEL: MOV R7,#200LO:   MOV R6,#123NOPL1:   DJNZ R6,L1DJNZ R7,L0RET但是这个程序实际上延时50.001ms,多了一个机器周期,其实这个问题是不可能由一个二重循环实现精确延时的,必须采用三重循环我的程序;DEL: MOV R5,#29L0:    MOV R7,#22L1:    MOV R6,#6L2:    DJNZ R6,L2DJNZ R7,L1DJNZ R5,L0RET
此时精确延时50ms,并且三个寄存器里的数值是可以变化的,这里要讨论的是,为什么不能,或说不容易用一个二重循环去实现一些精确的延时程序,而三重循环确一般是可以的,在数学上,是一些函数数值的遍历性,他与连续函数的因连续而具有的介值性有所不同,是不是也存在一些值,用三重循环也不能实现呢?于是我们开始使用四重?充要条件是什么呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top