基于單片機和FAT16的SD卡讀寫(xiě)系統設計
3.3.2 SD卡的初始化
SD卡的初始化流程如圖7所示。SD卡上電延時(shí)74個(gè)時(shí)鐘周期后,單片機向SD卡發(fā)送復位命令CMDO,使SD卡進(jìn)入SPI模式。之后循環(huán)發(fā)送激活SD卡指令CMD1,直到接收到SD卡響應的第0位為0。
3.3.3 SD卡數據塊的讀寫(xiě)
完成SD卡的初始化后,就可以對SD卡進(jìn)行讀寫(xiě)操作。讀寫(xiě)操作都是通過(guò)指令來(lái)完成的:?jiǎn)螇K寫(xiě)命令CMD24,多塊寫(xiě)命令CMD25;單塊讀命令 CMD17,多塊讀命令CMD18。單塊讀寫(xiě)時(shí),數據塊的長(cháng)度為512字節,多塊讀寫(xiě)時(shí)SD卡收到1個(gè)停止命令CMD12后停止讀寫(xiě)。圖8、圖9分別是單塊讀、寫(xiě)SD卡的軟件流程。
3.4 FAT16文件讀寫(xiě)
按照FAT16文件系統的文件組織規范,編寫(xiě)讀文件函數和寫(xiě)文件函數。FAT16文件讀寫(xiě)的軟件流程如圖10所示。
結 語(yǔ)
通過(guò)串口將本系統連接到PC進(jìn)行測試,結果表明本系統完成了對FAT16文件系統下文件的讀寫(xiě)。當采用11.059 2 MHz晶振時(shí),讀寫(xiě)速度和質(zhì)量都令人滿(mǎn)意。本系統采用51架構的AT89S52單片機,實(shí)現了基于FAT16文件系統的讀寫(xiě)SD卡設計,整套系統成本較低,在嵌入式數據記錄和存儲中有廣泛應用前景。
pos機相關(guān)文章:pos機原理
評論