当前位置: 首页 > news >正文

【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文件

 

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

相关文章:

  • python学习笔记(3)——元组
  • 【云服务器】在Linux CentOS 7上快速搭建我的世界 Minecraft Fabric 服务器搭建,Fabric 模组详细搭建教程
  • 2. client.chat.completions.create 简单使用
  • 【C++标准IO库】文件的输入输出
  • 批量合并 PDF 文档,支持合并成单个文档,也支持按文件夹合并 PDF 文档
  • 测试模版12
  • springboot453-基于协同过滤推荐算法的食品推荐系统(源码+数据库+纯前后端分离+部署讲解等)
  • GAMES101-现代计算机图形学入门(Animation/simulation)
  • 16-字符串/贪心-相同的字符串
  • docker启动nacos+redis
  • 每日算法----2716. 最小化字符串长度----2025/03/28
  • Android 系统ContentProvider流程
  • 【Hysteria】部署+测试
  • 深入了解Linux内核:task_struct结构详解
  • WinForm真入门-简介
  • react如何引用(按需加载)百度地图,并结合and组件化封装
  • 【leetcode】拆解与整合:分治并归的算法逻辑
  • ​​​​​​Spring Boot热部署插件
  • 【第33节】windows原理:初探PE文件
  • 用 pytorch 从零开始创建大语言模型(三):编码注意力机制
  • 安徽省公安厅原副厅长刘海石主动投案,正接受审查调查
  • 金融街:去年净亏损约110亿元,今年努力实现经营稳健和财务安全
  • “杭州六小龙”的招聘迷局
  • 银川市长信箱被指乱回复:问诗词大会、答工程欠款,官方称工作失误
  • 申花四连胜领跑中超联赛,下轮榜首大战对蓉城将是硬仗考验
  • 印度媒体称印巴在克什米尔再次交火