打印

STC51+SD卡+znFAT+BIN文件+AT89S52 实现 离线程序烧录器

[复制链接]
2673|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
znmcu|  楼主 | 2012-10-23 23:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
振南的znFAT  单片机上的FAT32文件系统
http://www.znfat.com
http://www.znfat.com/bbs
  QQ 987582714
======================================

源代码下载:点击这里下载
资料占用情况:Program Size: data=207.1 xdata=1024 code=58590


所谓“离线烧录器”,是指不使用计算机,而使用嵌入式、便携式设备完成对单片机或微处理器芯片的程序烧录。说白了,就是“用单片机给另一个单片机下载程序”。如下图所示:

其实很简单。我们来想想,计算机给单片机下载程序,计算机在这个过程中起到的作用:1、存储HEXBIN等程序执行码;2、提供用于下载与数据通信的硬件接口;3、对下载协议和流程的实现。这三点,我们完全可以使用单片机或更高级的微处理器来完成,这就形成了所谓的“离线烧录器”。与待烧录的目标芯片的硬件接口,可以使用IO端口来连接;下载协议和流程通过写程序生成固件来完成(其实就相当于计算机上的下载软件);可执行的代码文件,我们可以放在EEPROMFLASHROM或是其它的一些存储设备上。

“离线烧录器”的好处是不言而喻的!在实际工程中、工业应用现场..........我们希望对设备的固件进行升级或更新,无需带着计算机,只需要带上一个“离线烧录器”,便可以完成对设备的升级工作。

本实验中,使用STC51单片机对另一片51单片机(AT89S52)的程序烧录。可执行代码文件格式为BIN,存在SD卡上。如下图:


我们把待烧录的BIN文件,放在SD卡上,文件系统为FAT32格式。这样我们就可以很方便的存储代码文件。另外,我们还可以把很多的BIN文件都放到SD卡上,因为SD卡的存储容量比较大。而且,还可以通过电脑将BIN文件直接拷入,十分方便。在实际烧录的时候,我们可以选择不同的BIN文件来进行烧录。

最大的问题在于:我们如何用单片机去读取SD卡上的BIN文件?

在这里我们使用 振南的znFAT,一种专门在嵌入式平台上使用的FAT32文件系统的方案。通过它,我们就可以很轻松方便的去操作SD卡上的文件了。

接下来,我们来看一下“离线烧录器”的实验演示视频:

实验说明:SD卡中有三介BIN文件,分别为BINCTR-8k.binPENDB-8k.bintwoball-2k.bin。实验中依次打开各个BIN文件,烧录到AT89S52中。每烧录完一个BIN,会让AT89S52运行3秒钟,用来演示刚刚烧录进去的BIN。这三个BIN的具体功能是三种不同的流水灯。

STC51+SD+znFAT+BIN文件+AT89S52 实现 离线程序烧录器



SD卡中的BIN文件:


实验串口信息:


硬件平台图中板非商用,请勿索求与询价):

相关帖子

沙发
agopie| | 2013-10-19 17:25 | 只看该作者
振南的znFAT -- 单片机上上的FAT32文件系统 www.znfat.com

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:振南的znFAT -- 单片机上上的FAT32文件系统 www.znmcu.cn

4474

主题

5195

帖子

33

粉丝