1. 首页
  2. 综合百科
  3. 8086延时子程序(8086延时程序)

8086延时子程序(8086延时程序)

简介:关于8086延时子程序(8086延时程序)的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

各位好,很多人不知道8086延时子程序(8086延时程序)。下面详细解释一下。现在让我们来看看!

1.8086如何实现装配延迟

;这个程序通过编译正确运行。

代码段

假设CS:Code,DS:Code

;-

;子例程延迟指定的时钟周期数。

;入口:

;Didas=时钟滴答声(大约1秒18.2滴答声,10秒182滴答声)。如果延迟不是秒的10倍,误差稍大)

延迟前进接近

推送dx

推送cx

异或ax,ax

int1ah

电影cs:时代,dx

movcs:Times[2],cx

Read_Time:异或ax,ax

int1ah

子dx,cs:次

sbbcx,cs:Times[2]

cmpdx,Didas

jb读取时间

流行cx

流行dx

浸水使柔软

乘以dw0,0

延迟结束

;-

迪达斯equ182延迟10秒钟

开始:通话延迟;这个延迟子程序与CPU速度无关。它是普遍的。

Exit_Proc:movah,4ch结束程序

int21h

代码结束

结束开始;编译到此结束。

2.跪求8086/8088系统的汇编程序延迟子程序一秒。

默认的时间中断是每秒18.2次。如果要求不准确,将使用18个时钟中断来延迟一秒钟。

该计数器存储在地址0:46c。你可以看看这个,然后加18比较一下。代码如下:

移动轴,0

移动ds,ax

movsi,46ch

lodsw

添加ax,18

movcx,ax

位置1:

movsi,46ch

lodsw

cmpax,cx

jnb位置_2

jmp位置_1

位置2:

如果要求非常精确,就需要直接对定时器编程,通过端口操作来实现。

3.8086如何实现装配延迟

;这个程序通过编译正确运行。

代码段

假设CS:Code,DS:Code

;-

;子例程延迟指定的时钟周期数。

;入口:

;Didas=时钟滴答声(大约1秒18.2滴答声,10秒182滴答声)。如果延迟不是秒的10倍,误差稍大)

延迟前进接近

推送dx

推送cx

异或ax,ax

int1ah

电影cs:时代,dx

movcs:Times[2],cx

Read_Time:异或ax,ax

int1ah

子dx,cs:次

sbbcx,cs:Times[2]

cmpdx,Didas

jb读取时间

流行cx

流行dx

浸水使柔软

乘以dw0,0

延迟结束

;-

迪达斯equ182延迟10秒钟

开始:通话延迟;这个延迟子程序与CPU速度无关。它是普遍的。

Exit_Proc:movah,4ch结束程序

int21h

代码结束

结束开始;编译到此结束。

4.用汇编语言编译一个延时1000个指令周期的子程序。

如果你想写一个延时子程序,不要用定时器。

也不要用C语言,因为C语言的执行时间不确定。

汇编语言最简单,最准确。

51单片机的程序如下:

DL1000:

MOVR7,编号248

DJNZR7美元

MOVR7,250号

DJNZR7美元

浸水使柔软

正好1000个机器周期。

R7为8位寄存器,最大值为255,不能直接存储在500中。

以上解释了8086延时子程序(8086延时程序)。这篇文章已经分享到这里了。希望能帮到大家。

本文主要介绍了关于8086延时子程序(8086延时程序)的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://23.234.50.4:8411/article/198713.html