
51单片机使用汇编语言循环延迟时间怎么算? 5
意法半导体(中国)投资有限公司
2023-06-12
展开全部
展开全部
时间精确的延时程序要用汇编语言来编写。
计算延迟时间要查询每一条程序的执行周期数,然后加起来就是了。
在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)+2=2033
延迟时间=2033周期*1微秒=2033微秒
从到这个程序开始到返回到调用的那个程序用了2033微秒
计算延迟时间要查询每一条程序的执行周期数,然后加起来就是了。
在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)+2=2033
延迟时间=2033周期*1微秒=2033微秒
从到这个程序开始到返回到调用的那个程序用了2033微秒

2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
举例来说明吧:
delay:
mov r0,#10 ;1
delay1:
mov r1,#100 ;1*10
djnz r1,$ ;2*100*10
djnz r0,delay1 ;2*10
ret ;2
total=1+1*10+2*100*10+2*10+2=2033
time=total*1/(focse/12)
总结:
第一步:在延时程序没行后边标注该指令执行的机器周期
第二步:在机器周期后边乘以该指令循环的次数
第三步:计算总共用的机器周期数
第四步:计算总延时时间。
delay:
mov r0,#10 ;1
delay1:
mov r1,#100 ;1*10
djnz r1,$ ;2*100*10
djnz r0,delay1 ;2*10
ret ;2
total=1+1*10+2*100*10+2*10+2=2033
time=total*1/(focse/12)
总结:
第一步:在延时程序没行后边标注该指令执行的机器周期
第二步:在机器周期后边乘以该指令循环的次数
第三步:计算总共用的机器周期数
第四步:计算总延时时间。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一步:在延时程序没行后边标注该指令执行的机器周期
第二步:在机器周期后边乘以该指令循环的次数第三步:计算总共用的机器周期数第四步:计算总延时时间。 有的软件也能算、、、、
第二步:在机器周期后边乘以该指令循环的次数第三步:计算总共用的机器周期数第四步:计算总延时时间。 有的软件也能算、、、、
追问
第三部和第四部能不能详细点?
追答
?????什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
;==========<延时子程序>=========882usDELAY882: ;1.085x((202x4)+5)=882MOV R7,#202DELAY882_A:NOPNOPDJNZ R7,DELAY882_ARET
;==========<延时子程序>========1000usDELAY1000: ;1.085x((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET
;==========<延时子程序>========2400usDELAY2400: ;1.085x((245x9)+5)=2397.85MOV R7,#245DELAY2400_A:NOPNOPNOPNOPNOPNOPNOPDJNZ R7,DELAY2400_ARET
;==========<延时子程序>========1000usDELAY1000: ;1.085x((229x4)+5)=999.285MOV R7,#229DELAY1000_A:NOPNOPDJNZ R7,DELAY1000_ARET
;==========<延时子程序>========2400usDELAY2400: ;1.085x((245x9)+5)=2397.85MOV R7,#245DELAY2400_A:NOPNOPNOPNOPNOPNOPNOPDJNZ R7,DELAY2400_ARET
追问
没看懂 ?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询