2025年单片机程序的入口地址是 H。(单片机程序的入口地址是0001h)

单片机程序的入口地址是 H。(单片机程序的入口地址是0001h)STC 型号 STC8H3K64S4 Keil uVision V5 20 0 0 vscode Vision 1 52 1 单片机复位后 程序计数器 PC 的内容为 0000H 从 0000H 单元开始执行程序 中断服务程序的入口地址 又称中断向量 也位于程序存储器单元 每个中断都有一个固定的入口地址 当中断发生并得到响应后 单片机就会自动跳转到相应的中断入口地址去执行程序 外部中断

大家好,我是讯享网,很高兴认识大家。



  • STC型号:STC8H3K64S4
  • Keil uVision V5.20.0.0
  • vscode Vision: 1.52.1

bios中断程序入口地址 中断程序的入口地址_服务程序
讯享网

  • 单片机复位后,程序计数器(PC)的内容为 0000H,从 0000H 单元开始执行程序
  • 中断服务程序的入口地址(又称中断向量)也位于程序存储器单元
  • 每个中断都有一个固定的入口地址,当中断发生并得到响应后,单片机就会自动跳转到相应的中断入口地址去执行程序

  • 外部中断 0(INT0)的中断服务程序的入口地址是 0003H
  • 定时器/计数器 0(TIMER0)中断服务程序的入口地址是 000BH
  • 外部中断 1(INT1)的中断服务程序的入口地址是 0013H
  • 定时器/计数器 1(TIMER1)的中断服务程序的入口地址是 001BH

由于相邻中断入口地址的间隔区间仅仅有 8 个字节,一般情况下无法保存完整的中断服务程序,因此在中断响应的地址区域存放一条无条件转移指令,指向真正存放中断服务程序的空间去执行。

bios中断程序入口地址 中断程序的入口地址_中断向量表_02

  • 000H~002H 前3个字节为主程序入口跳转指令
  • 003H~163H 为45个中断的跳转指令,中断号为0~44
  • bin文件中,003~163H并不会全部是中断跳转指令,要看你用到的最大中断号, 中断向量表会以最大中断号而截至,如最大中断号为3,中断向量表范围为003H~001BH+2.
  • 用户程序只能读写EEPROM区,此区域大小,在下载时设置
  • EEPROM一般放置在Flash最后面,以上面0.5K为例,EEPROM 起始地址为FE00~FFFF
  • 对非空区域写入值,需要先擦除再写,擦除Flash以0.5K为单元,也就是0x200

eeprom.h

eeprom.c

改写STARTUP.A51

增加中断向量映射,为程序跳转准备

程序地址偏移

bios中断程序入口地址 中断程序的入口地址_服务程序_03

为了减少不必要的麻烦,bootloader中尽量不使用中断

printf,非中断实现

以查询的方式,检查发送完成

改变中断向量表

中断向量表范围为0000H-0200H

中断向量表便宜至App最后1K位置,占用0.5k,剩余0.5k可以用作程序参数区

bios中断程序入口地址 中断程序的入口地址_bios中断程序入口地址_04

bios中断程序入口地址 中断程序的入口地址_服务程序_05

bios中断程序入口地址 中断程序的入口地址_bios中断程序入口地址_06

添加,如下图所示:

bios中断程序入口地址 中断程序的入口地址_bios中断程序入口地址_07

经过以上操作,编译时就会自动产生bin文件

bios中断程序入口地址 中断程序的入口地址_中断向量表_08

提取码:yv4x

  • 先添加地址靠后的APP的bin文件
  • 添加其次靠后的APP,勾选插入
  • 最后添加bootloader的bin文件,勾选插入
  • 点击合并

bios中断程序入口地址 中断程序的入口地址_中断向量表_09

小讯
上一篇 2025-05-10 11:18
下一篇 2025-05-06 18:07

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/174553.html