You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在68HC11 THRSim11模拟器中模拟RTI(实时中断)

在THRSim11中模拟68H711E9的RTI中断并调试ADC读取程序

一、修正RTI中断向量配置

68H711E9的硬件RTI中断向量固定为**$FFF0-$FFF1**,$00EB是Buffalo监控程序的临时跳转向量,模拟器无需依赖这个。直接将RTI中断服务程序(ISR)的入口地址写入硬件向量地址:

ORG     $FFF0
        FDB     RTI_ISR       ; 将RTI服务程序入口地址写入向量

二、开启THRSim11的RTI触发功能

模拟器默认不会自动启用RTI,需手动配置外设:

  • 点击顶部菜单Peripherals > Timer,打开定时器配置窗口
  • 勾选RTI Enable选项,同时设置与硬件一致的分频系数(需匹配程序中RTICTL的配置值)
  • 确认CRG时钟设置与硬件同步,RTI触发依赖CRG模块的时钟源

三、程序中正确配置RTI使能寄存器

必须通过代码开启RTI中断,确保与硬件配置完全一致:

; RTI初始化子程序
INIT_RTI:
        LDAA    #$30        ; 设置RTI分频系数(示例为1024分频,根据硬件实际值调整)
        STAA    $103B       ; 写入RTICTL寄存器($103B)
        LDAA    $103D       ; 读取CRGFLG寄存器($103D)
        ORAA    #$80        ; 置位RTIF位,清除挂起的中断标志
        STAA    $103D
        LDAA    #$80        ; 置位RTIEN位,使能RTI中断
        STAA    $103E       ; 写入CRGINT寄存器($103E)
        CLI                 ; 开启全局中断(总开关)
        RTS

四、适配模拟器的ADC配置

硬件ADC在模拟器中需手动启用:

  • 点击Peripherals > ADC,打开ADC配置窗口
  • 启用程序中使用的ADC通道,可手动设置输入模拟值或选择自动生成测试数据
  • 确保ADCTL寄存器的配置与硬件一致,比如单通道单次转换模式:
; ADC初始化
INIT_ADC:
        LDAA    #$00        ; 配置ADC为单通道单次转换(通道0)
        STAA    $1030       ; 写入ADCTL寄存器($1030)
        RTS

五、调试排查步骤

  • 在RTI_ISR的第一条指令处设置断点,验证中断是否触发
  • 打开模拟器的Interrupt Log窗口,查看RTI中断的触发记录
  • 实时监控CRGFLG、CRGINT、RTICTL寄存器的值,确认配置生效
  • 检查串口输出配置,模拟器需开启Serial Port外设并设置正确的波特率

内容的提问来源于stack exchange,提问作者Jtl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 17:55:15