首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

STC单片机统制读写SD卡设计

2012-11-03 
STC单片机控制读写SD卡设计一、选择的芯片:单片机:STC12LE5620AD,采用的单片机中需要有大于512的数据区,扩

STC单片机控制读写SD卡设计
一、选择的芯片:
  单片机:STC12LE5620AD,采用的单片机中需要有大于512的数据区,扩展数据区亦可;
  晶振 :24M晶振;
  SD卡 :可以格式化为FAT32格式的SD卡。
二、采用的方法:
 (1)SD卡以FAT32格式储存
 (2)单片机采用通用口模拟SPI端口
 (3)每次读写都是以块为单位,每块512字节
三、设计流程:
  注:设计中采用的是单片机开电源开始写,关电源停止写,故采用以下流程
 (0)SD初始化;
 (1)读取FAT表,查询未用簇号cu1;
 (2)向查出的未用簇号对应于FAT表中的位置的四个字节写入0XFFFFFFFF;
 (3)读取FDT表,并向其对应的位置写进文件名,文件的大小,首次写进文件的大小为0 ;注:文件名是以由"1"递增;

 (4)采集数据,按程序中函数的参数的要求,计算出数据区对应于cu1的地址,向计算出的地址写进数据,每调用一次函数写进512字节,采用的是单块写;注:写进512字节时,等待写成功返回数据0x05后,不可立即退出写函数,需等待SD卡整理数据,在此期间SPI的读数据线上为ff;
 (5)写FDT表,向其中写进当前文件的大小;
 (6)查询FAT,查找新簇cu2,把cu2的值写进cu1在FAT表中对应的位置,并向cu2在FAT表中对应的位置写进FFFFFFFF;
 (7)转到步骤4,循环;
 
注:SD卡的第0扇区中的数据,可以计算出FAT表和FDT表的首位置,FAT表有两个,写FAT1必须写FAT2,以便能正确的读写;
  具体实现细节可见程序,程序可与我联系。


[解决办法]
在展示成果吗?
[解决办法]
这块单片机不是有硬件SPI么、还模拟个什么、
[解决办法]
在展示成果吗?
[解决办法]
能给我发一份吗,我现在在做这个方面的毕业设计,文件系统是FAT格式

热点排行