99问答网
所有问题
用汇编怎么写51单片机的延时程序?
如题所述
举报该问题
推荐答案 推荐于2019-08-15
DEL1S:MOV R7,#10
D1: MOV R6,#200
D2: MOV R5,#250
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
说明:1、如果不使用R5、R6、R7可以用别的单元替换,比如换成30H、31H、32H等等
2、这个程序是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/jveXeOBzB7OeOOeXzj.html
相似回答
51单片机用汇编
语言设计1S
延时
子
程序
,晶振为12MHz。 (麻烦附上详细计算...
答:
如果单纯
延时
,可以用实验的办法,在keil
c51
里面仿真 void Delay1S(char n){ char i,j;n=n*4;for(;n;n--){ for(i=6;i;i++){ for(j=7;j;j++) // 一个循环约为1mS ;} } } 看编译后的
汇编
:C:0x0805 7D01 MOV R5,#0x06;j=1,1时钟 C:0x0807 0D INC ...
at89c51
单片机怎么用汇编
语言写“多个
延时程序
”
答:
MAIN:MOV P0,#5AH ;P0上的LED灯间隔点亮 MOV R7,#50 ;R7是
延时
传递参数 LCALL DELAY ;调用延时函数 MOV P0,#0A5H ;P0上LED灯另一半点亮 MOV R7,#100 ;延时时间加长 LCALL DELAY MOV P0,#00H ;LED等全部点亮 MOV R7,#150 ;延时再次加长 LCALL DELAY MOV P0,#0FFH...
求一个
51单片机延时
1秒
的程序
,
用汇编
!!
答:
2、这个
程序
是12M时钟,如果时钟不同,要修改数值。如6M时钟,要把MOV R7,#10 修改成:MOV R7,#5
51单片机中
,写个
延时
函数,延时1ms,该
怎么写
,为什么?
答:
用汇编
语言写可以精确计算,但有时想拼出整数的ms或10ms也不容易,计算方法如下图说明:而C语言靠经验和实验得来的,如下面程序 如果不准(与晶振频率有关),调K的值,,软件仿真查看,直到大致准确,想更精确用定时器 void delay(unsigned char i) //
延时程序
{ unsigned char i,k;for(j=i;j...
51单片机使用汇编
语言循环
延迟时间怎么
算?
答:
时间精确
的延时程序
要
用汇编
语言来编写。计算延迟时间要查询每一条程序的执行周期数,然后加起来就是了。在12m晶振的系统中,每个机器周期是1微秒借用一下:举例来说明吧:delay: mov r0,#10 ;1(周期)delay1: mov r1,#100 ;1 djnz r1,$ ;2 djnz r0,delay1 ;2 ret ;2周期数=1+((1+(2*100)+2)*10...
怎样用单片机的汇编
语言编写一个50ms
的延时程序
。(晶振频率为12MHz)p...
答:
DEL1: MOV R6,#117 DEL2: DJNZ R6,DEL2 NOP DJNZ R7,DEL1 NOP ;此处17个NOP NOP ...NOP RET 1μs+(1+234+1+2)μs*210+2μs+17=50000μs 其实考虑到LCALL调用这个函数的时间,末尾应该再减少2个NOP。另外,实际
使用中
需要精确
延时
的话应该使用定时器中断,一方面是精确,另一方...
求一个
单片机的延时
子
程序延时
20ms 谢谢
答:
12M晶振
51单片机
(一)51C 循环 include <reg51.h> void delay_ms(unsigned int ms) //
延时
子程序 { unsigned int a,b;for(a=ms;a>0;a--)for(b=123;b>0;b--);} void main (){ while(1){ delay_ms(20); //20ms延时,数字即为多少毫秒 //这里写自己
的程序
} } (...
51单片机延迟程序
(
汇编
语言)解析
答:
36H, DLYB ;2us 765+(255*768)+(2*256)=197119 DJNZ 37H,DLYB ;2us 197119+(197122*3)+(2*4)=788493 RET ;2us 所以,从进入函数开始到返回调用地址总
的延时
时间为: 2+2+2+788493+2 = 788501us
51单片机
,求
用汇编
语言编写
延时
1小时的子
程序
,要精确到秒级别
答:
DELAY1H:MOV R7,#180 ;1/1000000 DLY1H:LCALL DELAY_20S ;180*19.960603s +2*180 DJNZ R7,DLY1H ;2*180/1000000 RET 2/1000000 共
延时
时间:3592.9s误差为7.1秒,如果再精确的话,再加一点延时就可以了。DELAY_20S: ;Total=19.960603s MOV R2,# ;1 DLY1:MOV R3,...
大家正在搜
单片机延时程序汇编怎么写
单片机延时子程序的延时时间
单片机延时程序怎么写
单片机延时1s程序汇编
单片机汇编语言延时程序
单片机的延时程序
51单片机延时程序
单片机简单延时程序
单片机延时时间怎么算
相关问题
51单片机汇编的延时DELAY怎么算的
51单片机用定时器T1编写延时10ms汇编程序 谁给写一个 ...
单片机汇编语言怎么计算延时程序的?
用单片机汇编一个100ms的延时程序
单片机中,怎么用汇编语言编写程序实现延迟40ms
51单片机使用汇编语言循环延迟时间怎么算?
单片机延迟1ms用汇编怎么编?