單片機讀寫SD卡教程.doc

單片機讀寫SD卡教程.doc

ID:52677872

大小:191.00 KB

頁數(shù):8頁

時間:2020-03-29

單片機讀寫SD卡教程.doc_第1頁
單片機讀寫SD卡教程.doc_第2頁
單片機讀寫SD卡教程.doc_第3頁
單片機讀寫SD卡教程.doc_第4頁
單片機讀寫SD卡教程.doc_第5頁
資源描述:

《單片機讀寫SD卡教程.doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、點這鄭重聲明:本實驗并不是對所有SD卡都能成功運行第一步:打開winhex軟件,用讀卡器讀SD卡,在winhex中查看SD卡點擊查找(ctrl+F)輸入FAT(找到DBR處)發(fā)現(xiàn)DBR起始于0x11200扇區(qū)地址,它必是512整數(shù)倍,因為一個扇區(qū)含512BYTE,所以在程序中讀一個扇區(qū)時一定要是512整數(shù)倍,否則會出錯。11200地址對應的值是0xEB,本程序讀一下這個地址的值看看是否正確。注意有的winhex編址是十進制看看程序吧#include#defineucharunsignedcha

2、r#defineuintunsignedint//=============================================================//定義SD卡需要的4根信號線sbitSD_CLK=P1^1;sbitSD_DI=P1^2;sbitSD_DO=P1^0;sbitSD_CS=P1^3;sbitBeep=P2^0;//用來調(diào)程序標志//===========================================================//==========

3、=================================================//定義512字節(jié)緩沖區(qū),,89C52直接定義成unsignedcharDATA[80];,太大了RAM不夠unsignedcharxdataDATA[512];voiddelay(unsignedintz){unsignedintx,y;for(x=z;x>0;x--);for(y=110;y>0;y--);}//==================================================

4、=========//寫一字節(jié)到SD卡,模擬SPI總線方式voidSdWrite(unsignedcharn){unsignedchari;for(i=8;i;i--){SD_CLK=0;SD_DI=(n&0x80);n<<=1;SD_CLK=1;}SD_DI=1;}//===========================================================//從SD卡讀一字節(jié),模擬SPI總線方式unsignedcharSdRead(){unsignedcharn,i;for(i=

5、8;i;i--){SD_CLK=1;SD_CLK=0;n<<=1;if(SD_DO)n

6、=1;}returnn;}//============================================================//檢測SD卡的響應unsignedcharSdResponse(){uchari=0,response=0;while(i<=8){response=SdRead();if(response==0x00)break;if(response==0x01)break;i++;}r

7、eturnresponse;}//================================================================//發(fā)命令到SD卡voidSdCommand(unsignedcharcommand,unsignedlongargument,unsignedcharCRC){SdWrite(command

8、0x40);/*SdWrite(((unsignedchar*)&argument)[0]);SdWrite(((unsignedchar*)&argument

9、)[1]);SdWrite(((unsignedchar*)&argument)[2]);SdWrite(((unsignedchar*)&argument)[3]);*/SdWrite(argument>>24);SdWrite(argument>>16);SdWrite(argument>>8);SdWrite(argument);SdWrite(CRC);}//================================================================//初始化SD卡u

10、nsignedcharSdInit(void){unsignedchari;unsignedcharresponse=0xFF;P3=0xff;SD_CS=1;for(i=0;i<=0xfe;i++)SdWrite(0xff);SD_CS=0;SdCommand(0x00,0,0x95);SD_DI=1;response=SdResponse();if(response!=0x01){

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。