求汇编语言写一个10s的延时程序!

如题所述

晶体12M

DELAY10S:
LCALL DELAY100MS
INC R1
CJNE R1,#100,DELAY10S
MOV R1,#0
RET

DELAY100MS: ;误差 0us
MOV R7,#100
DL1:
MOV R6,#8EH
DL0:
MOV R5,#02H
DJNZ R5,$
DJNZ R6,DL0
DJNZ R7,DL1
RET
温馨提示:内容为网友见解,仅供参考
无其他回答

汇编语言延时程序,延时10毫秒的延时程序是什么?
首先明确机器执行一条指令耗时大概是1us那么延时10ms的程序如下:MOV AX,50L1:MOV BX,100L2:DEC BX JNZ L2DEC AXJNZ L1执行完之后时间大约为10ms多一点 根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。具体步骤如下:/导致这种情况的原因主要是??

汇编\/C语言设计继电器控制程序,继电器每10s闭合一次,时间为10s,断开时...
while(1);}

汇编语言 通过键盘输入0~9数字 按0退出 按1~9用该值乘以100做延时
18*10 ; 延时 10s CALL DELAY_PROC JMP @0 @EXIT: MOV AH,4CH INT 21H DELAY_PROC PROC NEAR PUSH ES PUSH DX MOV DX,40H MOV ES,DX MOV DX,ES:[006CH]

单片机汇编语言延时程序时间问题
RET ;2 Total=1+10*3+2000*3+2000*250*2+2=1006035,如果晶振为12M的话,约1秒

单片机汇编语言怎么计算延时程序的?
计算单片机汇编语言中的延时程序,通常涉及使用循环结构。通过调整循环次数,可以精确控制延时时间的长短。下面的汇编代码展示了如何计算并实现1秒的延时。首先定义延时时间的层次结构,以实现不同时间分辨率的延时。这段代码使用了三个寄存器R2、R3和R4来分别控制外层、次层和内层的延时循环。在开始延时时,...

51单片机 跑马灯程序
call t10s mov p0,#11111101b ;此时第二个灯亮 call t10s mov p0,#11111011b call t10s mov p0,#11110111b call t10s mov p0,#11101111b call t10s mov p0,#11011111b call t10s jmp start ;此处跳到开始 即 循环 ;延时子程序10秒=250usX2X200X100 t10s:mov r5,#100 ...

求解释!!!汇编语言:延时程序
DELAY:MOV R7,#250 第一层循环250次 DEL1:MOV R6,#100 第二层循环100次 DEL2:MOV R5,#10 第三层循环10次 DJNZ:R5,$ 如果R5不等于0,则跳转到本行,也就是空转10次 DJNZ:R6,DL2 如果R6不等于0,则跳到DL2行,给R5赋值 DJNZ R7,DL1 如果R7不等于0,则跳到DL1...

汇编语言 秒表程序设计
out 63,al ;写方式控制字 call first ;调用first子程序,赋计数初值 begi:hlt 延时等待 sti ;开中断 mov ah,01 int 16 ;检测是否按了键盘 jz begi mov ah,00 ;读键值 int 16 cmp al,0d ;是否按了回车 jnz A1 mov si,4000 not [si+04] ;偏移地址为4004...

10秒50秒100秒的计数定时器单片机编程
EA=1; \/\/打开总中断 ET0=1; \/\/开定时器0中断 TR0=1; \/\/启动定时器0 while(1);\/\/程序在此等待中断的到来 } void T0_time() interrupt 1 { TH0=(65536-45872)\/256; \/\/重装初值 TL0=(65536-45872)%256;num++; \/\/num每加1次判断一次是否到20次 if(num==20) \/\/如果到了...

单片机的延时10ms是多长时间啊?
延时多长时间要看你单片机的频率和使用的语言种类,比如同一个延时程序,在8M晶振单片机跑就比在4M的快接近一倍,用汇编写的延时就比用c的要准些,一般都用c写,用不同软件转换相同延时程序时间也不同。由于软件将你编的程序转成汇编交给单片机识别,它所执行的时间为单片机一个周期*程序运行的条数 ...

相似回答