请各位高手回答一下下面的单片机程序问题!谢谢!

如题所述

若晶振频率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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-12
这个其实就是一个循环嵌套的过程。
for(R1=250;R1>0;R1--)
{
for(R2=200;R2>0;R2--)
{
for(R3=10;R3>0;R3--);
}
}
你的汇编程序就可以这样解释。其实这种定时是不准的,得用软件仿真调试。
你主要还是改R1的值,然后调试。简单的比例修改数值的延时时间是不准的。追问

那请问R1是代表什么意思呢?

R1是什么意思呢?

追答

R1 在汇编里是寄存器,
我这里是R1表示的一个变量。

第3个回答  2014-11-12

需要帮你做设计吗

追问

为什么不用翅片加热的?

设计就不需要了!谢谢

设计就不用了!发错了

追答

好的

相似回答