• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于单片机上电后的运行过程

沃尔夫斯堡的羊 2017-10-27 浏览量:1278
单片机上电后的具体运行过程,大神能否详细解释一下?程序计数器寄存器和程序计数器指针到底是做什么的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 下载进单片机的程序会保存在内存中,以某个地址为起始位,初始化后程序计数器指针指向程序开头的内存地址,一条条读下来,读到cpu里面执行指令。程序计数器寄存器保存程序计数器指针的值。​如果想详细了解,可以看看51的架构,从汇编角度来看的话会明显很多。
    • 发布于 2017-10-27
    • 举报
    • 评论 1
    • 0
    • 0
沃尔夫斯堡的羊 回复了 day_day:谢谢您的解答,那为什么程序计数器会叫计数呢? 回复

其他答案 数量:6
  • 这个要根据具体的单片机了,51单片机和stm32的启动不一样的
    • 发布于2017-10-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 单片机在上电时通常都从地址0x00000000处开始执行,而在这个地址处安排的通常就是单片机的Boot Loader程序。
    • 发布于2017-10-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 单片机的内存的某个地址固化了bootload会进行程序引导。
    • 发布于2017-10-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 上电后是从启动文件开始的,就是那个.s的文件,用汇编写的。
    • 发布于2017-10-31
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :只有rohs认证https://www.mouser.com/catalog/additional/Wurth_Elektronik_5111_RoHS_Certificate.pdf 回复

  • 无论51还是STM32,规律都是一样的,就是从片上存储的0x00000000位置开始执行,那个地方存放bootloader,然后bootloader会引导后续的程序执行,后续的程序可以存放在外部flash、SD卡甚至U盘中

    寄存器一般用于操作单片机的某个子系统,如IO口、串口,给寄存器赋值相当于指定这些子系统的功能


    • 发布于2017-11-01
    • 举报
    • 评论 1
    • 0
    • 0
沃尔夫斯堡的羊 回复了 chen0000009 :谢谢指点迷津! 回复

  • 先从地址0BOOTLOADER开始,然后跳转位置就视乎每种单片机不同而不同了。

    • 发布于2017-12-25
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :配套端子:SWPT-001T-P025 (26-22AWG) 回复

相关问题

问题达人换一批

关于单片机上电后的运行过程