【keil】单步调试

一、步骤

1、打开stc-isp软件

2.打开keil仿真设置,选择对应的单片机型号

3.点击将所选目标单片机设置为仿真芯片,点击下载,按一下单片机打下载按钮

4.此时已经将仿真程序下载到单片机

5.此时点击options,找到debug选择STC Montor 51 Driver

找到当前对应的端口号(和stc里面的端口号对应)

6.点击进入调试界面

注意点:默认状态选择到左边,应修改到选择右边

也可以看右下角,如果是simulation 显示的是STC Monitor-51才是对的

7.run开始运行 stop停止运行

二、单步调试

1、数码管显示不正常

点击数组后,点击watch Windows

取消16进制显示

将刚才打印到的数组添加进去

注意的是,只用在停止状态数据才会刷新,程序运行过程中不会刷新

可以看到,这个数组是正确的

下面继续排查 数码管转换函数中的另一个数组,一定要在停止状态添加,然后再运行,否则数据无法刷新

查看watch窗口可以看到,除了第一个,后面的都是空

因此,目前可以确定,错误在数码管转换函数里

进入函数发现,变量的初始条件没有设置

如果发现错误要进行修改,一定要退出调试界面,否则无法成功修改,要退出调试界面重新编译后,再进入调试界面,这个程序才会被更新

2.忘记写EA=1

在其他地方打断点不会听,说明没有执行到这里

然后再逐层往下面大断点

发现时间变量是0,这是不合理的

将断点打到这里,程序仍然没有停,说明程序没有运行到中断服务程序

然后再去看中断服务程序的初始化

看到是正确的,那么就可能是总中断没有开

3.断点的删除

删除所有断点

当然也可以手动删除

断点所停的行代表没有执行

4.功能按键

点击step是进入函数和执行当前这一步

点击step over是跳过这一个,是执行完再跳到下一步

step和step over的区别是:如果是函数,step会进入这个函数,step over是无论是不是函数,都执行到下一行

点击step out是 往下执行完函数,直到退出当前的函数

5.关于按键

在调试模式下,矩阵键盘上面的两行按键不能使用,由于P30和P31用到了串口通信,一旦按下上两行的按键,就会干扰串口通信调试就会崩溃掉

如果程序里用到了这两行,就可以换两个按键,比如67改成89

在独立按键模式下,就可以换一下45

6.头文件

当发现报一串错误时,可能是头文件的函数没有加分号

三、打包文件夹

选中两个,然后压缩到zip文件

然后以准考证号命名压缩包

相关推荐
小麦嵌入式3 小时前
Linux驱动开发实战(九):Linux内核pinctrl_map详解与优势分析
linux·c语言·汇编·驱动开发·stm32·嵌入式硬件·硬件工程
傍晚冰川7 小时前
【STM32】最后一刷-江科大Flash闪存-学习笔记
笔记·科技·stm32·单片机·嵌入式硬件·学习·实时音视频
电子艾号哲8 小时前
STM32单片机入门学习——第1-2节: [1-1、2]课程和STM32简介
stm32·单片机·学习
annekqiu9 小时前
MPLAB X IDE 环境中配置字的注意点
c语言·单片机
程序员JerrySUN9 小时前
嵌入式图像采集与显示系统实战详解:基于V4L2与Framebuffer的实现
linux·嵌入式硬件
电子艾号哲9 小时前
51单片机总结
单片机·嵌入式硬件·51单片机
szpc162110 小时前
60V单通道高精度线性恒流LED驱动器防60V反接SOD123封装
c语言·开发语言·单片机·嵌入式硬件·计算机外设
2035去旅行10 小时前
嵌入式系统简介
嵌入式硬件
Ronin-Lotus10 小时前
嵌入式硬件篇---USB&UART串口
嵌入式硬件·c·uart·usb
云山工作室11 小时前
基于单片机的智能奶茶机(论文 +源码)
单片机·嵌入式硬件