8086下求汇编语言延时3秒的代码

8086下求汇编语言延时3秒的代码,第1张

MOV AX,5FFFH可修改0000~0FFFFH之内 越大延时越高

REP2:

MOV CX,5FFFH

REP10MS:

LOOP REP10MS

DEC AXAX-1->AX

CMP AX,0H比较AX和0的大小旅陵

JNE REP2AX不悔拍等于0则跳转到 REP2

就是机器没执行一条指令要170ns,数字仅供参考

让循环重复执行5FFF*5FFF次,达到碧镇羡秒级 具体的要自己调试

你真可爱,不是3秒的延时吗,当然得用定时器中断啦

ORG 0000H

AJMP MAIN

ORG 000BH (定时器0中断)

AJMP INT0

MAIN: MOV A,P1(这里的灯泡连的是P1口)

MOV R3,#03H (三个一秒是三秒)

MOV R5, #14H (我射的单次定时是50毫秒,14H是让他循环20次,14H对应的十进制数20)

SETB TR0(开定时器)

SETB TF0

SETB EA

MOV TOMD,#01H(这里的01H是定时器工作模式1,游答其实一个16位的定时器)

MOV TH0,#3CH

MOV TL0,#0B0H (16进制的第一位应当以十字或字母开头,故是0B0H)

JB R6,NEXT (刚才做的记号是R6=1,JB 的意思是某位为1,则跳到神笑慧NEXT)

NEXT: MOV A,P1 (注意了我这里是8个灯,你要是一个灯的话,那就是你上面的值即可)

RCC A (8个灯循环每隔三秒的流水灯)

MOV P1,A (等在循环亮呢)

AJMP $

INT0: MOV TOMD,#01H(TMOD =01H 时TH0,TL0必须在响应中断时重写一遍)

MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ R5,HUI (未循环到20次即14H,则回(HUI)到主程序继续循环直至20次)

DJNZ R3,HUI (未循环到3次上句话是循环20次的一共一秒的,再循环三次是3秒)

MOV R6,#01H (这是在做升族记号)

HUI: RETI

你算来着了,我今天刚注册的号,我的习惯只回答一次问题,正好我再给国防部做飞机探测器

,你要记住在大多数时是不用循环的,因为又费CPU,又耗时间,像定时炸d都用中断,然后用最普通的肖特基二极管来实现电打火,汇编语言不太熟了,我还得记记。

(狗凯是狗)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12476527.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存