14/14 STC单片机片上仿真法 在流水灯的例子中,程序里的函数关系相对简单。只要一直点击“跳过子函数”按钮就可以避开延时函数的单步运行。 每点击一次,你看发现在汇编调试窗口中的黄指针向下移动了一行,而每移动3行(某些程序行数更多)才完成1行C 语句。在运行到“P1=~a;”这行时,你会看到在硬件电路中,第一个LED灯点亮了。然后跳过了延时程序,当再一次 来到“P1=~a;”这行时,第二个LED灯点亮,第一个LED灯熄灭。在这个过程中,你能发现寄存器调试窗口中的数 值在不断变化,那些值就是单片机真实运行时的参数。如果你足够认真,你会发现我们在C语言文件中定义的2个变 量a和i是和寄存器R0~R7中的某2个对应的。也就是说,我们定义的变化,其实就是单片机寄存器上真实的寄存单 元。如果你找到它们,并修改这些值,没错,接下来的运行效果就不同了。在不断点击下去,LED灯继续变化,直到 一个循环结束和另一次循环的开始。熟悉了单步运行之后,再点击“全速运行”看看,那将是一个与真实无异的单片 机运行状态,LED以很快的速度流动着,好像一部正常速度播放的电影。
接下来,请把你之前学过、用过的程序,都用仿真的方法运行一次吧。你一定会遇到问题,不过没有关系,在不能运 行或死机时,重新开始就行了。仿真不比真实,会有一些不确定的因素出现。把握它们,解决它们。
|
|