• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

SD开发-实现单片机对SD卡的读写控制

   采用SD卡作为存储装置,已经成为大容量数据存储器设计的首选,具有无可比拟的优势,以往控制SD卡通常合用ARM内嵌操作系统控制,系统庞大而复杂,工作稳定性也是问题,硬件成本高,且普通开发人员难以掌握,针对这种情况,我们特别开发了使用 51单片机来驱动控制大容量SD卡的开发学习套件。SD卡开发学习板提供详细的C51源码及注释,电路原理图,外围芯片资料,设计参考资料等你设计所需的资源,只要你有最基本的C语言基础 ,花几天时间看看教程及程序,你就可以按照自己的需要修改程序代码,并下载到学习开发板上,运行程序,看看你修改的程序是什么样的。使用乐诚的开发板,会让艰涩的开发变得无比有趣,赶快购买乐诚开发板尝试吧。

      商品定位


     SD卡开发学习板专为单片机初学都设计,在校师生、单片机爱好者、单片机专业人员均可以在此学习板上进行学习。(欢迎师生或学校团购)。


      硬件资源


1.  CPU采用STC89c53RC


     4V~5V工作电压,15K FLASH程序存储器,512字节SRAM,3个定时器,串口,32个I/O,兼容AT89C52等51内核单片机。


2.. 最大支持2G Byte SD卡


    2G以下的SD卡,Mini SD卡,开发板的驱动程序均支持。


3.  YM12232F液晶显示屏


    内置8192个16*16点汉字库和128个16*8点ASCII字符集图形点阵,可以显示图片,图形。


4.  四个功能按钮


    可以设置成8个状态,调试软件或设计成功能健。


5.  RS232接口


    该接口接上电脑的串口,通过下载软件,可以下载编译好的新程序,也可以作为串行通信接口传输数据。


    接口


1.  标准DB9串行接口


2.  自弹式SD卡坐


3.  空闲I/O口插针引出


4.  四个按钮,为你提供四种状态的淙输入控制


5.  液晶屏数据接口及控制端口


      软件资源 


★   提供版主调试编译好的的 C51源程序,主要的软件功能模块包括SD卡检测,卡内文件数据读取,创建新文件,向指定文件中写数据,删除文件。


★  支持WINDOWS兼容的各种文件类型,可软件修改文件类型。


★   提供完整的程序代码,包括SD卡全功能驱动程序,串行通行程序(可以把指定文件的数据通过串口传输到电脑的串口调试软件中查看),液晶屏驱动程序,汉字显示,切换等功能,键盘的扫描程序代码。


★   提供开发板学习教程,快速上手指南,包括开发工具软件的参数设置,操作流程,下载方法等。


★   提供破解版的KEIL开发工具软件。


★   提供PROTEL 99SE 版本的原理图文件。


★   提供PROTEL电路板设计软件。


★   免费赠送单片机C程序设计源码大全,包括串口程序设计,USB程序设计,定时器程序设计,A/D转换程序设计,网络扩展接口设计,PWM程序设计等等。


      实验项目


1.  学习如何让程序自动检测SD卡座中是否有SD卡插入实验项目


2.  学习如何在空白的SD卡中创建一个*.txt文件(文件名在C51程序中自定义)实验项目


3.  学习如何用程序自动删除一个*.txt文件实验项目


4.  学习如何向指定文件名的文件保存数据实验项目


5.  学习如何从指定文件名的文件中读数据实验项目


6.  学习如何将数据从CPU串行口发送给计算机上运行的《串口调试软件》接收实验项目


7.  学习如何在带汉字库的液晶屏上显示汉字,汉字显示位置调整实验项目


8.  学习单片机如何读取外设信息,按钮信息输入实验项目


9.  单片机I2C数据通信,读/写E2PROM中的数据实验项目


10.单片机驱动蜂鸣器实验项目


11.单片机读写万年历时钟芯片DS1302实验项目


12.单片机驱动一个继电器实验项目


◆   STC单片机无需仿真器,直接通过专用软件从串口下载程序代码到芯片,下载完成后,程序自动复位启动。


      销售清单


1.  SD卡开发学习板一块


2.  5V开关电源


3.  串口延长线一条


4.  配套光盘一张:开发教程,常用开发软件、学习板电路图纸、全部示例程序、相关芯片资料、入门资料


*该开发板可选配1G Byte 金士顿 SD 卡(加30元)


*可选配 12232F(7 X 2 )带汉字库液晶显示屏(加40元)


保修说明:SD卡开发学习板自寄出之日起,一年内所有器件免费维修(人为损坏除外)。期间产生的快递费用由用户支付。


              凡购买我公司产品,我们将长期免费提供技术支持及资料下载服务




    QQ在线咨询:  493743672                                      单片机QQ群:72251561


    乐诚科技:http://www.lcemb.cn/Index.html




全部回复(4)
正序查看
倒序查看
qujian112
LV.1
2
2011-09-05 09:56
   看过了,不错!!!!!!!!!!!!!!
0
回复
qujian112
LV.1
3
2011-09-08 21:29
@qujian112
[图片]  看过了,不错!!!!!!!!!!!!!!

SD卡开发 单片机读写SD卡 模拟SPI总线的子程序

模拟SPI总线的子程序:
sbit CS=P1^0;
sbit CLK= P1^1;
sbit DATaI=P1^2;
sbit DATaO=P1^3;
#define SD_Disable() CS=1 //Disable CS
#define SD_Enable() CS=0 //Enable CS
unsigned char SPI_TransferByte(unsigned char val)
{
  unsigned char BitCounter;
  for(BitCounter=8; BiCounter!=0; BitCounter--)
  {
    CLK=0; DATaI=0; // write
    if(val&0x80) DATaI=1;
    val<<=1; CLK=1;
    if(DATaO)val|=1; // read
  }
  CLK=0;
  return val;
}

 


初始化SD卡的子程序

unsigned char SD_Init(void)
 {
  unsigned char retry,temp;
  unsigned char i;

   for (i=0;i<0x0f;i++)
   { SPI_TransferByte(0xff); //delay }

    SD_Enable(); //Enable Chip select
    SPI_TransferByte(SD_RESET); //send a reset command
    SPI_TransferByte(0x00);
    SPI_TransferByte(0x00);
    SPI_TransferByte(0x00);         
    SPI_TransferByte(0x00);
    SPI_TransferByte(0x95);
    SPI_TransferByte(0xff);
    SPI_TransferByte(0xff);
    retry=0;
    do
    {
        temp=Write_Command_SD(SD_INIT,0); //Send the initialization command
        retry++;
        if(retry==100) //retry 100 times
        {
              SD_Disable(); //disable chip select
              return(INIT_CMD1_ERROR); //If retry fails returns an error number
        }
     }while(temp!=0);
     SD_Disable(); //disable card
     return(TRUE); //return success
}

0
回复
qujian112
LV.1
4
2011-11-17 14:08
@qujian112
SD卡开发单片机读写SD卡模拟SPI总线的子程序模拟SPI总线的子程序:sbitCS=P1^0;sbitCLK=P1^1;sbitDATaI=P1^2;sbitDATaO=P1^3;#defineSD_Disable()CS=1//DisableCS#defineSD_Enable()CS=0//EnableCSunsignedcharSPI_TransferByte(unsignedcharval){ unsignedcharBitCounter; for(BitCounter=8;BiCounter!=0;BitCounter--) {   CLK=0;DATaI=0;//write   if(val&0x80)DATaI=1;   val
不错顶一个!!!!!!!
0
回复
botom
LV.1
5
2012-04-06 16:06
随着电子技术的发展,SD卡作为大容量数据存储器越来越受到广大电子爱好者和客户的衷爱。但是由于SD卡FAT操作的编程复杂,很多电子爱好者望而却步,现在好了,我们推出了这块小巧玲珑的SD卡读卡模块,将复杂的FAT操作集成其内,单片机只需简单的串口操作就能将数据存到SD卡中去,而且支持FAT32。



功能简介:

1. 电源输入范围宽:5~9V,支持3.3V和5V的UART接口。

2. 和单片机的接口简单 UART(串口)接口 可以直接和单片机的UART接口连接

3. 集成FAT32格式系统

4. 文件的读写支持两种模式,一种顺序读写,用以连续的大量数据的读写.一种为给定起始地址的读写,用来随即读写的少量数据的情况,这个功能是的文件的读写非常灵活

5. 波特率可以用拨码开关选择,支持从1200~115200bps

6. 一次性发送数据贞可以长达256字节,有效字节数250

7. 支持<=8G容量的SD卡

8. 读写SD卡模块的速度快

9. 命令结构简单,方便发送

10.能动态监测SD状态有错就会提示

11.模块尺寸小,便于安装与使用。





那个带SD卡的是个模块,带处理器,整合了FAT32,接口是串口(UART)

51单片机串口115200bps读写,写入后文件样子如下:




说明书下载地址:http://www.prog430.com/files/SDV6.pdf


测试软件下载地址:http://www.prog430.com/files/SDV6_test.rar


说明书下载地址:http://www.prog430.com/files/SDV7.pdf


测试软件下载地址:http://www.prog430.com/files/SDV7_test.rar

0
回复