新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于AT89C52單片機(jī)的SD卡的讀寫設(shè)計(jì)

基于AT89C52單片機(jī)的SD卡的讀寫設(shè)計(jì)

作者: 時(shí)間:2010-01-14 來(lái)源:網(wǎng)絡(luò) 收藏

  數(shù)據(jù)塊的

  完成卡的初始化之后即可進(jìn)行它的操作。卡的操作都是通過(guò)發(fā)送卡命令完成的。SPI總線模式支持單塊(CMD24)和多塊(CMD25)寫操作,多塊操作是指從指定位置開(kāi)始寫下去,直到SD卡收到一個(gè)停止命令CMD12才停止。單塊寫操作的數(shù)據(jù)塊長(zhǎng)度只能是512字節(jié)。單塊寫入時(shí),命令為CMD24,當(dāng)應(yīng)答為0時(shí)說(shuō)明可以寫入數(shù)據(jù),大小為512字節(jié)。SD卡對(duì)每個(gè)發(fā)送給自己的數(shù)據(jù)塊都通過(guò)一個(gè)應(yīng)答命令確認(rèn),它為1個(gè)字節(jié)長(zhǎng),當(dāng)?shù)?位為00101時(shí),表明數(shù)據(jù)塊被正確寫入SD卡。

  在需要讀取SD卡中數(shù)據(jù)的時(shí)候,讀SD卡的命令字為CMD17,接收正確的第一個(gè)響應(yīng)命令字節(jié)為0xFE,隨后是512個(gè)字節(jié)的用戶數(shù)據(jù)塊,最后為2個(gè)字節(jié)的CRC驗(yàn)證碼。

  可見(jiàn),讀寫SD卡的操作都是在初始化后SD卡命令和響應(yīng)完成操作的,寫、讀SD卡的程序流程圖如圖4和圖5所示。

  

  

  結(jié)束語(yǔ)

  實(shí)驗(yàn)結(jié)果表明使用12MHz的晶體振蕩器時(shí),讀寫速度和功耗都基本令人滿意,可以應(yīng)用于對(duì)讀寫速度要求不高的情況下。本文詳細(xì)闡述了用對(duì)SD卡進(jìn)行操作的過(guò)程,提出了一種不帶SD卡控制器,MCU讀寫SD卡的方法,實(shí)現(xiàn)了SD卡在電能監(jiān)測(cè)及無(wú)功補(bǔ)償數(shù)據(jù)采集系統(tǒng)中的用途。


上一頁(yè) 1 2 3 4 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉