谁能解答这个问题?

2019-07-15 23:59发布

用keil调试C51,怎么用单步运行调试从while(1)到中断服务程序?如下程序:
  {
   ……………………       TMOD=0x00; //T0方式times New Roman">0TH0=(8192-2000)/32; //2ms定时TL0=(8192-2000)%32;IE=0x82;TR0=1; //启动T0while(1);}//T0中断函数void LED_Screen_Display() interrupt 1{TH0=(8192-2000)/32; //恢复初值TL0=(8192-2000)%32;P0=0xff; //输出位码和段码………………}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
那低头一笑的温
1楼-- · 2019-07-16 05:49
 精彩回答 2  元偷偷看……
hobbye501
2楼-- · 2019-07-16 07:37
在中断里设置断点就可以了啊!
一抹阳光
3楼-- · 2019-07-16 13:32
1.将程序执行至while(1)内部,只要定时器配置好了,while(1)上面可以的。
2.依次打开菜单Peripherals -> tiemr -> timer0 . Peripherals菜单下主要包括了外部中断,IO口、串口、定时器的寄存器配置,可以进行手动置位,从而模拟IO口输入,中断产生。
3.将定时器0的中断标志位 TF0勾选置位.此时便模拟了定时时间到来,产生中断了。
4.继续单步运行程序,这时将进入定时器中断函数,TF0自动清除,重复3、4步即可。  同理可以模拟外部中断产生,IO口输入等等。

1.将程序执行至while(1)内部

1.将程序执行至while(1)内部

2.依次打开菜单

2.依次打开菜单

勾选TF0中断标志

勾选TF0中断标志

继续单步运行程序

继续单步运行程序

一周热门 更多>