在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

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

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

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

        硬件接口

        卡提供9Pin的引腳接口便于外圍電路對(duì)其進(jìn)行操作,9Pin的引腳隨工作模式的不同有所差異。在SPI模式下,引腳1(DAT3)作為SPI片選線CS用,引腳2(CMD)用作SPI總線的數(shù)據(jù)輸出線MOSI,而引腳7(DAT0)為數(shù)據(jù)輸入線MISO,引腳5用作時(shí)鐘線(CLK)。除電源和地,保留引腳可懸空。

        本文中控制卡的MCU是ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位,內(nèi)含8K字節(jié)的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器和256字節(jié)的隨機(jī)存儲(chǔ)數(shù)據(jù)存儲(chǔ)器。由于只有256字節(jié)的數(shù)據(jù)存儲(chǔ)器,而卡的數(shù)據(jù)寫(xiě)入是以塊為單位,每塊為512字節(jié),所以需要在最小系統(tǒng)上增加一片RAM。本系統(tǒng)中RAM選用存儲(chǔ)器芯片HM62256,容量為32K。對(duì)RAM進(jìn)行時(shí),鎖存器把低8位地址鎖存,與P2口的8位地址數(shù)據(jù)構(gòu)成16位地址空間,從而可使SD卡一次512字節(jié)的塊操作。系統(tǒng)硬件圖如圖2所示。

        軟件

        SPI工作模式

        SD卡在上電初期自動(dòng)進(jìn)入SD總線模式,在此模式下向SD卡發(fā)送復(fù)位命令CMD0。如果SD卡在接收復(fù)位命令過(guò)程中CS低電平有效,則進(jìn)入SPI模式,否則工作在SD總線模式。

        對(duì)于不帶SPI串行總線接口的來(lái)說(shuō),用軟件來(lái)模擬SPI總線操作的具體做法是:將P1.5口(模擬CLK線)的初始狀態(tài)設(shè)置為1,而在允許接收后再置P1.5為0。這樣,MCU在輸出1位SCK時(shí)鐘的同時(shí),將使接口芯片串行左移,從而輸出1位數(shù)據(jù)至AT89C52單片機(jī)的P1.7(模擬MISO線),此后再置P1.5為1,使單片機(jī)從P1.6(模擬MOSI線)輸出1位數(shù)據(jù)(先為高位)至串行接口芯片。至此,模擬1位數(shù)據(jù)輸入輸出便完成。此后再置P1.5為0,模擬下1位數(shù)據(jù)的輸入輸出,依此循環(huán)8次,即可完成1次通過(guò)SPI總線傳輸8位數(shù)據(jù)的操作。

        本文的實(shí)現(xiàn)程序把SPI總線功能集成在一起,傳遞的val變量既是向SPI寫(xiě)的數(shù)據(jù),也是從SPI讀取的數(shù)據(jù)。具體程序如下:(程序是在Keil uVision2的編譯環(huán)境下編寫(xiě))

        sbit CS=P3^5;

        sbit CLK= P1^5;

        sbit DataI=P1^7;

        sbit DataO=P1^6;

        #define SD_Disable() CS=1 //片選關(guān)

        #define SD_Enable() CS=0 //片選開(kāi)

        unsigned char SPI_TransferByte(unsigned char val)

        {

        unsigned char BitCounter;

        for(BitCounter=8; BiCounter!=0; BitCounter--)



      評(píng)論


      相關(guān)推薦

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

      關(guān)閉