这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 51单片机读写SD卡程序!!!

共17条 2/2 1 2 跳转至
助工
2009-10-25 00:03:35     打赏
11楼
接口电路如下:


一定要注意SD卡是3.3V的工作电压,一定要做电平转换,否则会烧坏SD卡!也可以直接让单片机在3.3V下工作。

模拟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 
}





























有关于SD卡的其他操作,可以参考SD Specifications
http://www.sdcard.org/developers/tech/sdcard/pls/Simplified_Physical_Layer_Spec.pdf

菜鸟
2010-03-03 09:26:07     打赏
12楼
请问,我的microSD卡被不小心加密锁死了,有没有什么方法可以清除密码啊

菜鸟
2010-03-08 09:32:13     打赏
13楼
ARM CortexA8开发板、智能本、上网本、平板电脑MID、智能手机、高清 HD 720P、嵌入式开发板
继成功推出基于i.MX27 i.MX31 i.MX35 i.MX37等系列开发板之后,辰汉电子最新推出大受追捧的i.MX515开发板:i.MX51 MPK1。基于Freescale i.MX515嵌入式多媒体微处理器,为智能本(SmartBook)、MID等手持上网终端市场注入了新的活力。 i.MX515能以较低的功耗驱动高性能的处理内核及丰富的多媒体性能,以较低的系统成本为产品要求越来越高的多媒体终端市场提供了最前沿的解决方案。以ARM Cortex A8为核心构架;工作主频面对不同的行业要求可以扩展至800M—1.2GHz;拥有32K的指令缓存和数据缓存以及256K的二级缓存,是之前ARM11产品的2倍 ;同时集成了几乎全系多媒体硬件加速单元:3D和2D图形加速的OpenGL ES 2.0和OpenVG 1.1;多格式(H.264/H.263/Mpeg-4/Mpeg-2/VC-1/DivX等)高清HD 720P视频解码模块和多格式标清D1分辨率的视频编码模块,并且支持720P模拟视频信号的直接输出。 DVFS(Dynamic Volt Frequency Scalling)和SmartSpeed技术则为以上优秀的性能提供了功率管理保障。 i.MX515开发板i.MX51 MPK1以较高的集成度和丰富的外设接口为客户面对系统要求较高的产品提供了良好的设计基础,从功能接口的设置及元器件的选型等各方面做了产品级的优化设计,帮助客户快速将产品推向市场。 i.MX51 MPK1 主要功能接口:多种显示接口支持:1)DVI高清视频输出接口(同时可以支持VGA显示输出) 2)LVDS模拟显示输出以 3) LCD数字显示接口。 USB接口:HS USB-OTG(i.MX51 Phy)*1;扩展至4个HS USB Host接口 SD/MMC接口:2个SD接口,可用作Boot SD. HDD接口:SATA HDD接口,可直接连接SATA硬盘。 Mini PCIe接口:可连接3G模块或Wifi&BT模块 UART接口:可外接DB9接口,用于调试或Boot启动 FEC:10/100M自适应快速以太网接口 Camera:两路CMOS或CCD摄像头接口 Audio:音频输入输出接口 扩展接口:提供多个UART、GPIO、I2C接口以及S/PDIF高清音频输出接口。 i.MX515开发板系统框图:(网络图片地址:) http://image215.poco.cn/mypoco/myphoto/20091209/17/52518489200912091717514142190595791_000.jpg i.MX51 MPK1 可广泛应用于消费电子、汽车多媒体及工业计算机、工业控制等领域。是智能本(SmartBook)、智能手机、MID、电子书(eBook)、数码相框、家庭信息娱乐终端、V2IP、汽车信息娱乐系统、工业计算机、工厂自动化、HMI等产品的上上之选。另外在多媒体播放器领域,辰汉电子早前推出了基于i.MX37多媒体处理器的GPS+DTV一体化解决方案,可以实现GPS、Wifi无线上网、DTV/CMMB、H.264视频播放等强大功能的集成,并且将系统成本降至最低,自推出以来一直受到业界强烈的关注。 

Jasmine.zheng(郑娟)销售总监
上海辰汉电子科技有限公司
电话:86+21-54305547 
手机:86+13661567912 
邮箱:jasmine.zheng@morninghan.cn 
公司网站 www.morninghan.com

菜鸟
2011-10-19 10:25:10     打赏
14楼

我也做了一个板子,发现2G跟2G以下的卡都能正常操作,2G以上的卡就不行,不知道是怎么没回事,想请教各位高手


工程师
2011-10-19 14:36:08     打赏
15楼

容量这个问题不清楚。没有研究容量和驱动的具体关系……


菜鸟
2013-06-07 09:51:48     打赏
16楼

菜鸟
2013-10-02 16:54:58     打赏
17楼

没有内容呀



共17条 2/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]