dyx8899 发表于 2023-12-16 15:06

keil C51进行仿真时遇到的do{} while()语句问题

本帖最后由 dyx8899 于 2023-12-16 15:07 编辑

我在keil C51进行仿真时遇到的问题,请教老师帮忙看看有没有什么解决办法:
程序段中用到了do{} while()语句,因为该语句作用是需要和外围芯片建立握手信号,得到明确答复后马上建立通讯,期间不能打断。
这里是需要得到芯片引脚上的一个低电平信号(BC7281_DAT=0),才表示握手成功,否则持续发送请求(反复执行do{}中的语句)。
现在的问题是,在仿真时程序一直停止在这里,无法跳出语句,因为无有效仿真BC7281_DAT=0的条件,
而且“步出”、“跳出”指令均不能让其改变状态。
我该如何操作或者如何设置可以解决这个问题,顺利仿真。


laoxu 发表于 2023-12-17 09:27

方法1,手动修改 BC7281_DAT 标志, 置 1

方法2,直接修改 PC 值, 使其指向 while(BC7281_DAT) ; 语句 , 下一个地址.

dyx8899 发表于 2023-12-17 14:10

研究了半天,才发现,这软件实属强大。居然还可以模拟外围输入,,,。
谢谢老师指点。

zwsam 发表于 2023-12-21 09:07

页: [1]
查看完整版本: keil C51进行仿真时遇到的do{} while()语句问题