当前位置:网站首页 > 编程语言 > 正文

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



  • 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

到此这篇单片机程序的入口地址是 H。(单片机程序的入口地址是0001h)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 制作网页的代码怎么写(用代码制作网页)2024-12-29 19:27:04
  • sgd和adam哪个好(adams和isight)2024-12-29 19:27:04
  • vbf(vb方法名词解释)2024-12-29 19:27:04
  • win32gui(win32gui库)2024-12-29 19:27:04
  • 苹果电脑剪辑视频(苹果电脑剪辑视频好用吗)2024-12-29 19:27:04
  • sigmoid什么意思(siim是什么意思中文)2024-12-29 19:27:04
  • 富文本编辑器插件(富文本编辑器模板)2024-12-29 19:27:04
  • ipv4公网ip(ipv4公网ip有什么用)2024-12-29 19:27:04
  • 双系统卸载win7(双操作系统卸载win7)2024-12-29 19:27:04
  • qq怎么扫描二维码登录手机(用qq怎么扫二维码登录)2024-12-29 19:27:04
  • 全屏图片