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