MCS51系列单片机串口下载的原理
本文对目前市面上最常用的MCS51系列单片机的串口下载原理进行了简单的归纳分析。对于尚不了解51单片机ISP及IAP原理的人员,是一篇引导入门的文章。
MCS-51系列单片机串口下载的原理
目前市面上常见的MCS-51系列单片机型号虽然很多,但最常见的程序的串行下载方式只有ISP及IAP两种:
1、ISP(In System Programming):
即在系统编程(也有一种叫法是在线编程),一般目标芯片内包含了专用的接口,接口的定义很像现在ARM等较新的处理器芯片中的JTAG接口,上位机发送编程命令码及编程控制信息后,经过用户电路板完成信息交互,最终由芯片硬件自动完成编程。不过为此用户电路板上需要增加很少的一些资源支持,这算是个缺点吧。
采取这种方式的51单片机不多,典型代表就是ATMEL公司的AT89S5x系列的单片机。
2、IAP(In Applicatin Programmin):
即在应用编程。目前用的比较多的SST、STC两家公司的单片机就属于这种模式。下面以SST公司的89E564为例重点介绍一下IAP的工作流程,触类旁通,其它的原理大致如此:
SST89E564的FLASH分为2块,一块64K,就是我们应用程序要使用的程序空间;另一块8K,现在出厂时一般都预置了自编程的软件代码,IAP的核心内容就是这8K空间的软件,运行后,可以与PC机上运行的下载软件进行通讯,获取应用程序机器码内容,然后对64K的FLASH完成编程操作。这部分软件所用指令全部都是51系列标准的指令代码,只需要对几个专用的特殊功能寄存器进行读写、然后延时、判断,就可以实现对64K区的编程。
软件流程可以描述如下:
本文对目前市面上最常用的MCS51系列单片机的串口下载原理进行了简单的归纳分析。对于尚不了解51单片机ISP及IAP原理的人员,是一篇引导入门的文章。
1) 芯片上电启动后,程序首先在8K的程序空间中运行(此时
相当于89x52芯片)
2) 检测串口有无上位机传递过来的编程命令,有的话应答,开
始对64K区的编程操作。编程操作过程很简单,只要将其代
码从串口接收过来,送到相应的寄存器中,按照要求循环直
到全部代码烧写完毕就可以了。结束后通过软件控制使单片
机复位;
3) 如果串口没有编程命令,则检测64K区是否存在有效的机器
码。如果有则跳转到64K区正式开始执行应用程序,否则返
回2),在8K区中等待,随时接收上位机传送过来的编程命
令。额外说一下,可以在这个环节对64K应用区的代码进行
检查,比如查验校验和,可以判断程序状态是否正常。
由此可见8K区中的软件是可以修改的,假设某种设备有IC卡接
口,就可以通过修改这8K的程序,实现通过IC卡升级软件的功能;同理,如果想通过以太网、U盘等其它方式升级软件理论上也是可行的。
只是这种方式第一次烧写时需要专门的编程器,将8K区的出厂
预装程序换成用户自己需要的升级程序。
小结:MCS51系列的单片机的ISP编程属于纯硬件操作,只要FLASH的物理特性未损坏,就可以实现串口升级,但升级模式是固定的。而IAP模式属于属于软件操作,可以根据用户需要扩展多种升级方式,更灵活。
- 基于PLC控制的航空电镀生产线自动输送
- 中考预测课内外文言文对比阅读2
- 2018-2023年中国商业智能(BI)产业市场
- 中国金融体制改革研究2011new
- 外窗淋水试验方案
- 精益生产(Lean Production)
- 学校安全事故处置和信息报送制度
- Chapter 5 Human Resources Management
- 【小学数学】人教版小学六年级上册数学
- 初中数学解题方法与技巧
- 山东省创伤中心建设与管理指导原则(试
- 函数与数列的极限的强化练习题答案
- 10分钟淋巴按摩消脂
- 网络应急演练预案
- 服装设计入门基础知识
- 初二数学分式计算题练习
- (人教新课标)高二数学必修5第二章 数列
- 最新自主创业项目
- 北京大学 无机化学课件 4第4章 配合物
- 贸易公司业务管理制度




