11智能在线
新记
为什么 51单片机复位后PC的内容是0000H,但是工作程序并不是从0000H开始连续?
如题所述
举报该文章
相关建议 2020-04-13
前言:这就必须要集成开发环境如keil,iar来背锅咯,它帮我们做了太多东西,以至于弱化了我们的能力。
答:启动文件里,程序从0地址运行,执行跳转指令reset。然后初始化我们MCU时钟、看门狗、中断、设置栈(因为要调用C函数),代码重定位(需要把flash中RW-dota数据搬移到ram当中),最后执行绝对跳转到main函数运行。可以分析反汇编文件,看看具体程序的链接地址,你就知道程序是从main运行的地址。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://11.t2y.org/zz/f7qp4q2f28s72m4m8q4.html
其他看法
无其他回答
相似回答
大家正在搜
相关问题
AT89C51单片机上电后,为什么能够从程序存储器的0000...
51单片机ORG指令能随便写吗,如开头不写ORG 0000h...
52单片机PC寄存器和其它寄存器复位后为什么不一样,PC是0...
使用汇编语言进行51单片机程序编写时,为什么在开头不从ORG...
单片机都是从0000H开始执行指令的吗?
51单片机复位后,PC指向什么ROM地址
所有微控制器复位后程序计数器PC内容都是0000H吗?如不是...
为什么MCS-51单片机的第一条指令要放在ROM的0000H...