51单片机中C语言延时如何计算?{;}
延时如下:voiddelay(unsignedinti){unsignedintj;for(;i>0;i--)for(j=0;j<125;j++){;}}经Keil调试后...
延时如下:void delay(unsigned int i)
{
unsigned int j;
for(;i>0;i--)
for(j=0;j<125;j++)
{;}
}
经Keil调试后,生成的汇编:
13: for(j=0;j<125;j++)
C:0x008B E4 CLR A
C:0x008C FD MOV R5,A
C:0x008D FC MOV R4,A
14: {;}
C:0x008E 0D INC R5
C:0x008F BD0001 CJNE R5,#0x00,C:0093
C:0x0092 0C INC R4
C:0x0093 ED MOV A,R5
C:0x0094 647D XRL A,#0x7D
C:0x0096 4C ORL A,R4
C:0x0097 70F5 JNZ C:008E
C:0x0099 EF MOV A,R7
C:0x009A 1F DEC R7
C:0x009B 70E5 JNZ delay(C:0082)
C:0x009D 1E DEC R6
C:0x009E 80E2 SJMP delay(C:0082)
15: }
能不能分析一下时间,或者介绍另一个51的反汇编软件?谢谢。 展开
{
unsigned int j;
for(;i>0;i--)
for(j=0;j<125;j++)
{;}
}
经Keil调试后,生成的汇编:
13: for(j=0;j<125;j++)
C:0x008B E4 CLR A
C:0x008C FD MOV R5,A
C:0x008D FC MOV R4,A
14: {;}
C:0x008E 0D INC R5
C:0x008F BD0001 CJNE R5,#0x00,C:0093
C:0x0092 0C INC R4
C:0x0093 ED MOV A,R5
C:0x0094 647D XRL A,#0x7D
C:0x0096 4C ORL A,R4
C:0x0097 70F5 JNZ C:008E
C:0x0099 EF MOV A,R7
C:0x009A 1F DEC R7
C:0x009B 70E5 JNZ delay(C:0082)
C:0x009D 1E DEC R6
C:0x009E 80E2 SJMP delay(C:0082)
15: }
能不能分析一下时间,或者介绍另一个51的反汇编软件?谢谢。 展开
展开全部
void delay(unsigned int i)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void delay(unsigned int i)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在单片机团队问问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询