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

51单片机烧写程序的原理

crustycrab 2017-07-28 浏览量:2915
一直有个疑问,就是pc上写的程序通过串口或者USB是怎么烧写到内部rom里面的,是rom外部有个专门的硬件电路实现的吗?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 不是有专门硬件的原因

    其实这个跟arduino允许用usb烧写程序是一个道理,就是单片机内部的flash有一块专门的区域用于存放启动代码,只要修改启动代码使其允许从串口获取二进制代码即可实现。获取的二进制代码存放于flash内,bootloader有一个跳转指令可以跳转到该段代码的起始位置

    • 发布于 2017-07-28
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • 首先51的程序下载需要专门的软件;

    猜想他肯定在这数据中加了帧头之类的数据;

    也许是他软件先通过串口给51发了指令,告诉接下来是程序之类的。


    51内部的某个地址应该固定了一个引导程序。

    • 发布于2017-07-28
    • 举报
    • 评论 0
    • 1
    • 0

  • 有三种方式:
    1.把单片机当做一个ROM芯片,早期的单片机都是如此。将单片机放在通用编程上编程时,就像给28C256这样的ROM中写程序的过程一样。只是不同的单片机使用的端口,编程用的时序不一样。
    2.像AT89S52或AVR单片机一样,在单片机上有SPI接口,这时用专用的下载线将程序烧写到单片机中。这时不同的是,单片机的CPU除了执行单片机本身的指令之外,还能执行对ROM进行操作的特殊指令,如ROM擦除、烧写和校验指令。在编程ROM时,下载线先通过传输这些指令给CPU执行(擦除ROM、读入数据、烧写ROM、和校验ROM),这样完成对单片机的ROM的烧写。此外,现在普遍使用的JTAG仿真器也是这样,单片机的CPU能执行JTAG的特殊指令,完成对ROM的烧写操作。
    3.引导程序,即单片机中已经存在了一个烧写程序。启动单片机时首先运行这程序,程序判断端口状态,如果符合“要烧写ROM”的状态存在,就从某个端口(串口、SPI等等)读取数据,然后写入到单片机的ROM中。如果没有“要烧写ROM”的状态,就转到用户的程序开始执行。像AVR单片机的bootloader方式、STC的串口下载方式,还有其他单片机的串口编程等等都是这样。
    • 发布于2017-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这里有一样的问题  不是有答案了吗

    http://www.51hei.com/bbs/dpj-40864-1.html

    • 发布于2017-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 不是有专门硬件的原因

    其实这个跟arduino允许用usb下载程序是一个道理,就是单片机内部的flash有一块专门的区域用于存放启动代码,只要修改启动代码使其允许从串口获取二进制代码即可实现。获取的二进制代码存放于flash内,bootloader有一个跳转指令可以跳转到该段代码的起始位置

    • 发布于2017-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 1. Bootloader有寫好的程序會引導串口燒錄器下來的資料

    2. Bootloader會將資料存放在Flash中

    3. Bootloader燒錄完畢後,會將Flash的資料搬運到RAM

    4. Bootloader會跳轉到RAM起始位置開始運行剛剛燒錄的程序


    • 发布于2017-07-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 固化引导程序


    引脚输入的信号转换成数据并存到片内,烧写就是这样实现的

    • 发布于2017-07-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机上电的时候,会先检测是否是烧录程序,若是,则将程序烧录到单片机中
    • 发布于2017-07-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 51单片机都统一了程序存储区的内存地址,只要有软件可以直接访问片内flash,就可以直接进入bootloader,将程序存储区的用户程序覆写。
    • 发布于2017-07-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

51单片机烧写程序的原理