
当然可以啊,解压前运行都可以。双击你要制作成自解压的压缩包,d出winrar管理界面,点击工具-压缩文件转换为自解压格式,在d出的对话框中点击高级自解压选项,再d出对话框就是你想要的东西了!在解压后运行里面填入你想要运行的程序确定,OK!
补充:你要运行的程序必需在压缩包里面
;003S延时子程序
DELAY30MS:
MOV R6,#60
DL1:
MOV R7,#248
DJNZ R7,$
DJNZ R6,DL1
RET
;006S延时子程序
DELAY60MS:
MOV R6,#120
DL2:
MOV R7,#248
DJNZ R7,$
DJNZ R6,DL2
RET
;002S延时子程序
DELAY20MS:
MOV R6,#40
DL3:
MOV R7,#248
DJNZ R7,$
DJNZ R6,DL3
RET
首先明确机器执行一条指令耗时大概是1us那么延时10ms的程序如下:MOV AX,50L1:MOV BX,100L2:DEC BX JNZ L2DEC AXJNZ L1执行完之后时间大约为10ms多一点
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是……
一句话就行了:
延时
(12000)
调用格式:
〈无返回值〉
延时
(整数型
欲等待的时间)
-
系统核心支持库->系统处理
英文名称:sleep
本命令暂停当前程序的运行并等待指定的时间。本命令为初级命令。
参数<1>的名称为“欲等待的时间”,类型为“整数型(int)”。本参数指定欲暂停程序执行的时间,单位为毫秒。
*** 作系统需求:
Windows、Linux
请采纳,谢谢!
那样的真实速度,尤其是模拟一个延时程序,需要比较长的时间,这里就阐述如何简单和正确的进行延时程序的调试。下面是个典型的AVR延时子程序DELAY:LDI R16,197PUSH R16DEL1:PUSH R16DEL2:PUSH R16DEL3:DEC R16BRNE DEL3POP R16DEC R16BRNE DEL2POP R16DEC R16BRNE DEL1POP R16 z 先将汇编程序中的延时参数197改为3,重新编译后进入调试方式。(更简单的方式是先单步执行初试化部分的指令,当执行完“ldi r16,197”一句后,使用鼠标双击Register窗口中R16寄存器,将R16的值改写为3,这样就不需要重新编译程序了。)
z 使用单步执行的方式执行延时子程序的每一句语句,查看程序的逻辑对不对,能否正确运行,堆栈是如何工作的,SP指针如何变化,各个寄存器如何变化,PC的变化,RAM中数据的变化。这样即了解了AVR的工作原理,也了解程序设计的技巧),或验证程序是否同自己想象的那样正确,而且训练了如何熟练使用DEBUG(熟练使用工具也是很重要的一环)。
z 验证了整个延时程序没有逻辑错误后,可以查看延时子程序的延时时间了。1将延时参数由3改回197,编译后进入调试方式。 2在调用该子程序的语句“rcall delay”处设置一个断点;在接下来的一个语句“sbi portc,0”处设置第二个断点。 3按F5,全速运行程序。 4当程序在第一个断点处停下时,到Processor的选项中(展开该图标)找到Stop Watch子项,双击将其清零。 5按F5,从断点处继续全速运行程序(开始调用延时子程序)。 6等大约十几秒或几十秒后(取决于你的PC速度),程序在第二个断点处停下(子程序模拟运行时,AVR Studio下面状态栏中的运行图标为绿色,暂停为**)。 7查看Processor的选项中Stop Watch的值(本例中为99982675us),它记录下调用子程序返回后的时间,该时间值即为延时子程序的运行时间。 由此验证了延时子程序的执行时间。调节延时参数,可以得到不同的延时时间,通过软件模拟可以精确的得到。这比使用在线实时仿真的手段要方便多了,而直接在目标板上运行,你也不能得到精确的时间。使用软件模拟仿真是现在调试技术的发展方向。
以上就是关于winrar 自解压程序延迟自动运行程序全部的内容,包括:winrar 自解压程序延迟自动运行程序、单片机的延迟程序、求汇编语言延时程序,延时10毫秒的延时程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)