新闻中心

EEPW首页>嵌入式系统>设计应用> 基于AT89C52单片机的SD卡的读写设计

基于AT89C52单片机的SD卡的读写设计

作者: 时间:2010-01-14 来源:网络 收藏

  数据块的

  完成卡的初始化之后即可进行它的操作。卡的操作都是通过发送卡命令完成的。SPI总线模式支持单块(CMD24)和多块(CMD25)写操作,多块操作是指从指定位置开始写下去,直到SD卡收到一个停止命令CMD12才停止。单块写操作的数据块长度只能是512字节。单块写入时,命令为CMD24,当应答为0时说明可以写入数据,大小为512字节。SD卡对每个发送给自己的数据块都通过一个应答命令确认,它为1个字节长,当低5位为00101时,表明数据块被正确写入SD卡。

  在需要读取SD卡中数据的时候,读SD卡的命令字为CMD17,接收正确的第一个响应命令字节为0xFE,随后是512个字节的用户数据块,最后为2个字节的CRC验证码。

  可见,读写SD卡的操作都是在初始化后SD卡命令和响应完成操作的,写、读SD卡的程序流程图如图4和图5所示。

  结束语

  实验结果表明使用12MHz的晶体振荡器时,读写速度和功耗都基本令人满意,可以应用于对读写速度要求不高的情况下。本文详细阐述了用对SD卡进行操作的过程,提出了一种不带SD卡控制器,MCU读写SD卡的方法,实现了SD卡在电能监测及无功补偿数据采集系统中的用途。


上一页 1 2 3 4 下一页

评论


相关推荐

技术专区

关闭