
请各位高手回答一下下面的单片机程序问题!谢谢!
4个回答
展开全部
若晶振频率Fosc=12MHz,
机器周期 = 12/Fosc = 12/(12x10^6Hz) =1μs
执行 DJNZ Rn, rel 指令耗用2个机器周期,即2μs
该段程序执行该类指令总次数=250x200x10=500000
耗用时间 = 500000x2μs = 10^6μs =1s
若改为延时0.1 第三行指令改为 LOOP1: MOV R1, #01
若改为延时0.5s, 第三行指令改为 LOOP1: MOV R3, #05
若改为延时2s, 第三行指令改为 LOOP1: MOV R1, #20
机器周期 = 12/Fosc = 12/(12x10^6Hz) =1μs
执行 DJNZ Rn, rel 指令耗用2个机器周期,即2μs
该段程序执行该类指令总次数=250x200x10=500000
耗用时间 = 500000x2μs = 10^6μs =1s
若改为延时0.1 第三行指令改为 LOOP1: MOV R1, #01
若改为延时0.5s, 第三行指令改为 LOOP1: MOV R3, #05
若改为延时2s, 第三行指令改为 LOOP1: MOV R1, #20
展开全部
这个其实就是一个循环嵌套的过程。
for(R1=250;R1>0;R1--)
{
for(R2=200;R2>0;R2--)
{
for(R3=10;R3>0;R3--);
}
}
你的汇编程序就可以这样解释。其实这种定时是不准的,得用软件仿真调试。
你主要还是改R1的值,然后调试。简单的比例修改数值的延时时间是不准的。
for(R1=250;R1>0;R1--)
{
for(R2=200;R2>0;R2--)
{
for(R3=10;R3>0;R3--);
}
}
你的汇编程序就可以这样解释。其实这种定时是不准的,得用软件仿真调试。
你主要还是改R1的值,然后调试。简单的比例修改数值的延时时间是不准的。
更多追问追答
追问
那请问R1是代表什么意思呢?
R1是什么意思呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
需要帮你做设计吗
更多追问追答
追问
为什么不用翅片加热的?
设计就不需要了!谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询