Logic Analyzer(逻辑分析仪)是 Keil MDK 内置的强大调试工具,可以在软件仿真模式下无需硬件直接观察引脚波形和变量变化,特别适合调试时序相关的代码。

一、基础配置(关键前提)

在使用 Logic Analyzer 之前,必须正确配置工程,否则会出现 Unknown Signal 错误。

1.1 Target 选项卡设置

点击魔术棒图标 → Target 选项卡:

设置项 说明
Xtal (MHz) 填写实际晶振频率(你的工程是 2MHz
Device 确认选择正确的芯片型号

⚠️ 晶振频率必须与代码配置一致,否则波形时间轴会完全错误。

1.2 Debug 选项卡设置(核心)

点击魔术棒 → Debug 选项卡:

text

✅ Use Simulator          (勾选,使用软件仿真模式)
✅ Run to main()          (勾选,自动运行到main函数)

对于 8051 工程,Dialog DLL 使用默认配置即可,无需像 STM32 那样修改 DARMSTM.DLL。

配置示例

  • Dialog DLL:默认(通常为 S8051.DLL 或空)

  • Parameter:空或 -pAT89C52

配置完成后重新编译(F7),确保 0 Error(s), 0 Warning(s)

二、打开 Logic Analyzer 窗口

  1. 点击 Debug 按钮(放大镜图标)进入调试模式

  2. 菜单栏:View → Analysis Windows → Logic Analyzer

  3. 或者点击工具栏的 系统分析窗口图标(LA 图标)

![Logic Analyzer 打开方式示意]

text

View → Analysis Windows → Logic Analyzer

三、添加观测信号

3.1 添加引脚信号

  1. 在 Logic Analyzer 窗口中点击 Setup 按钮

  2. 在弹出的对话框中,在空白处双击或按 Insert 键

  3. 输入信号名称,按回车确认

3.2 信号命名规则(8051)

信号类型 正确格式 说明
单个引脚 P1.7 观测 P1.7 引脚电平
单个引脚 P3.7 观测 P3.7 引脚电平
整个端口 P1 观测 P1 口所有引脚(十六进制)
全局变量 TICK 观测 TICK 变量的值

📌 注意:格式必须严格使用 Px.yP1^7 或 PORT1.7 等格式会报错

3.3 配置显示属性

选中已添加的信号,在右侧设置:

属性 说明 推荐值
Display Type 显示模式 Bit(引脚)、Analog(变量波形)、State(状态转换)
Color 波形颜色 自定义
Hexadecimal Display 十六进制显示 根据需要勾选

![Setup Logic Analyzer 对话框示意]

text

信号列表:[P1.7] [P3.7] [TICK] ...
显示类型:Bit / Analog / State

3.4 添加变量信号

对于变量(如 TICK),可以直接在代码窗口中选中变量名,右键 → Add 'TICK' to... → Logic Analyzer

⚠️ 限制:只能添加全局变量静态变量,局部变量无法观测。


四、运行并观察波形

4.1 基本操作

操作 方法
运行程序 点击 Run 按钮(F5)
停止程序 点击 Stop 按钮
暂停刷新 点击 Stop 图标(波形停止更新但继续记录)
清除屏幕 点击 Clear 按钮
实时更新 View → Periodic Window Update(勾选)

4.2 波形缩放与测量

缩放波形

  • In(放大):查看细节,网格时间间隔变小

  • Out(缩小):查看整体

  • All:显示完整记录范围

测量时间

  1. 在波形上左键单击设置起始点(出现黄色光标)

  2. 移动鼠标到结束点

  3. 状态栏显示时间差:Delta = xxx ms

设置时间范围

  • Min Time / Max Time:设置显示的时间区间

  • Grid:设置网格间隔

4.3 幅度调节(Analog模式)

对于变量波形:

  • 点击 Auto:自动调节显示范围

  • 手动设置 Min / Max:自定义幅度范围

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐