伟福6000仿真执行速度

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:33:28
如题,“全速执行”是什么意思?全速执行时执行一条指令的时间就是单片机的相应的指令周期吗?我用12MH晶振设计一个实时时钟程序,为何全速执行时显示的时分秒与实际的时间不一致呢?
单步执行 跟踪 全速执行

全速执行只有在硬件仿真时采用,软件仿真是不用。全速执行时执行一条指令的时间就是单片机的相应的指令周期。

单步执行就是一条条指令的执行
跟踪类似
全速就是从头执行到尾 你看不到中间计算过程的
比如一个程序你全速执行了 大概几十毫秒他就执行完了 当你按下暂停时他会停在SJMP L2这步上 这是一个无限循环的指令
我建议你还是但不执行啊!!

12MH晶振周期应该是1us的。
定时时间t=(M-X)*Tosc
M的取值:方式0:2^13
方式1:2^16
方式2:2^8
Tosc为机器周期
计数器初值X=M-t/Tosc
比如,单片机采用12Mhz晶振,定时器在方式0,定时时间为5ms,那么TH0及TL0的设置如下:
X=8192-5000/1=3192=C78H=110001111000
其中:TL0取低5位,其余为TH0,那么TH0=63H;TL0=18H
如果计数器每次计数为5ms的话,循环200次就是1秒。
对于方式零,计数器初值为#6318H
对于方式一,计数器初值为#EC78H
...
若芯片可能是6MHZ的,那机器周期就是2us,做计数初值的相应更改就行了。
另外还要注意寄存器的使用是否有冲突的地方。