标题: STC51+SD卡+znFAT+BIN文件+AT89S52 实现 离线程序烧录器 [打印本页]

作者: hesheng    时间: 2013-8-16 22:23
标题: STC51+SD卡+znFAT+BIN文件+AT89S52 实现 离线程序烧录器
源代码下载:点击这里下载 offlinePro.rar (140.14 KB, 下载次数: 458)
资料占用情况:Program Size: data=207.1 xdata=1024 code=58590
振南首发于51hei论坛的znFAT--单片机上的FAT32文件系统
  QQ 987582714


所谓“离线烧录器”,是指不使用计算机,而使用嵌入式、便携式设备完成对单片机或微处理器芯片的程序烧录。说白了,就是“用单片机给另一个单片机下载程序”。如下图所示:
其实很简单。我们来想想,计算机给单片机下载程序,计算机在这个过程中起到的作用: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 实现 离线程序烧录器
http://player.youku.com/player.php/sid/XNDY1ODgyMzY4/v.swf  
SD卡中的BIN文件:

实验串口信息:

硬件平台



作者: HUFUHA    时间: 2013-10-9 02:21
看看学习学习。。
作者: asn60    时间: 2013-10-11 10:18
这个对于我来说实在是太高端了。
作者: 13620819446    时间: 2013-10-13 23:06
不错过来看看
作者: zhonsir    时间: 2014-4-19 16:51
很好的程序,正想学习一下。谢谢分享了
作者: 枯叶    时间: 2014-4-27 00:17
很好感谢楼主
作者: rich3524    时间: 2014-5-26 16:01
感谢楼主
作者: jjbboox    时间: 2014-6-1 15:10
有创意,好东西啊!
用更高速度的MCU能实现其他应用。
作者: sz1001    时间: 2014-7-17 21:58
真累啊,话说买个简单的烧录器也没多少M~~
作者: yamglang    时间: 2014-8-16 23:00
这个对于我来说实在是太高端了。
作者: 13304563556    时间: 2014-9-5 13:23
感觉不错啊
作者: tangmingming    时间: 2014-9-13 22:38
高手哇,学习学习。
作者: blj178    时间: 2014-10-22 13:56
玩单片机能玩到这份 真是不容易啊
作者: hjlost    时间: 2014-10-24 14:03
掘墓高手,专挖古墓,一挖一个坑,坑坑见墓。。

作者: 554323er    时间: 2014-12-12 16:15
AT的也可以离线下载?
作者: c2541    时间: 2014-12-14 23:39
这个需要可视化吗?
作者: pps111    时间: 2014-12-19 21:35
哦,原来这样
作者: pps111    时间: 2014-12-19 21:35
学习了
作者: seeking1005    时间: 2015-1-21 01:33
51Hei(51黑)论坛有你更精彩
作者: flash3g    时间: 2015-1-21 08:08
你流B            
作者: eviltomato    时间: 2015-5-9 20:06
很惊讶,单片机都能够玩到这么的程度
作者: kaixinjiuhaoha    时间: 2015-5-30 10:26
很实用的功能,收藏了
作者: 1678    时间: 2015-8-7 18:47
高大上啊
作者: 123456love    时间: 2015-10-15 16:21
很好的程序,就是现在不太会用
作者: yangkai3bu    时间: 2015-10-16 18:46
牛逼啊,这都能想到。被充电宝启发得吧
作者: langxing08    时间: 2015-12-8 09:04
太赞啦!
作者: king19880101    时间: 2015-12-8 15:41
玩出花来了
作者: ambitjohnson    时间: 2015-12-10 21:44
学习学习,看能用不,先谢谢楼主分享.

作者: djk0125    时间: 2016-1-26 16:38
学习了!谢谢啊
作者: xx1218    时间: 2016-2-19 17:57
很好,正准备做一个

作者: karryking    时间: 2016-3-26 09:45
赞赞赞,重要事情说三遍;正打算做个。
作者: nome2016    时间: 2016-4-3 02:05
离线烧录!!!楼主6的不行
作者: 526867982    时间: 2016-7-15 09:21
学习学习
作者: hongsy11    时间: 2016-7-30 22:11
厉害,批量的时候就不用一个一个用电脑点击了
作者: 随性自由派    时间: 2016-7-31 12:26
赞一个
作者: 别问我不在    时间: 2016-8-1 23:25
厉害了
作者: kevintang    时间: 2016-12-14 20:12
很好的程序,正想学习一下。谢谢分享了
作者: xqd    时间: 2017-2-10 10:53
请问一下楼主用的是哪种板子?
作者: xxxevery    时间: 2017-2-13 02:17
太厉害了,向你学习
作者: bg4bpm    时间: 2018-2-6 19:26
xuexi                                       
作者: IdeaMing    时间: 2018-2-23 15:34
AT89的单片机烧录协议是怎么搞到的?
作者: liuqian8421@126    时间: 2018-9-10 09:10
我也想下载来学习学习!!
作者: 111xiaomi222    时间: 2019-6-5 14:57
有具体的原理图吗,用不了
作者: vkbvfhp    时间: 2019-6-20 14:52
谢谢分享,向楼主学习。
作者: vkbvfhp    时间: 2019-6-20 15:42
我前几年文件系统,第一个就是向振南学习等到的,谢谢。
作者: james7811    时间: 2020-8-7 19:20
我是初学者,BIN文件是怎么来的?
作者: ninghuchong    时间: 2022-7-4 11:23
很好的程序,正想学习一下。谢谢分享了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1