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

接下来,请把你之前学过、用过的程序,都用仿真的方法运行一次吧。你一定会遇到问题,不过没有关系,在不能运
行或死机时,重新开始就行了。仿真不比真实,会有一些不确定的因素出现。把握它们,解决它们。


献花(0)
+1
(本文系guitarhua首藏)