新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 串行E2PROMAT 24C512在單片機中應用

        串行E2PROMAT 24C512在單片機中應用

        作者: 時間:2012-03-21 來源:網絡 收藏

        (4)寫操作

        寫操作可分為字節寫和頁寫兩種寫入方式。通常E2PROM的寫入占用一定的寫入時間,但AT內部設有128字節的頁寫緩存,使得操作該器件如同操作SRAM一樣方便,頁面緩存使得兩種寫入方式的操作過程相同,區別僅在于寫入數據字節的多少。下面以字節寫入為例介紹寫操作過程。

        在字節寫操作模式下,主器件首先給從器件發送起始信號和從器件地址信息,在從器件送回應答信號后,主器件在發送兩字節的16位地址信息寫入到 AT地址指針,主器件在收到從器件的應答信號后,再發送1個字節的數據到被尋址的存儲單元,從器件在此應答,并在主器件產生停止信號后開始內部數據擦寫,在內部擦寫過程中,從器件不再應答主器件的任何請求,字節寫入操作時序如圖2所示。

        34.gif
        圖2 字節寫操作時序

        (5)讀操作

        讀操作分為立即讀、隨機讀和連續讀。立即讀是在最后操作字節的地址上加1進行讀取,而連續讀則是在立即讀和隨機讀起動后主器件通過應答信號響應完成多個數據的讀取,在主器件發出停止信號后結束讀取過程。下面以隨機讀為例介紹讀操作過程。

        隨機讀操作允許主器件對存儲器的任意字節進行讀操作。操作過程為主器件首先發送起始信號,從器件地址和欲讀取字節的地址執行1個偽寫操作,此時R/W位應置0,在AT應答后,主器件重新發送起始信號和從器件地址,此時R/W位應置1,AT24C512響應并發送應答信號,然后輸出所要求的1個 8位字節數據。主器件不發送應答信號,但產生1個停止信號。字節讀操作時序如圖3所示。

        4

        AT24C512與AT89C2051的硬件連接電路如圖4所示。這里使用了2個AT24C512組成尋址空間為128K字節的E2PROM存儲器電路。其中U2的器件地址為A0H,存儲地址空間為0000-0FFFFH;U3的器件地址為A2H,存儲地址空間為0000-0FFFFH。

        35.gif
        圖3 字節讀操作時序

        由于AT89C2051不具有I2C總線,因此采用P1.0和P1.1口線來模擬I2C總線,AT24C512的SDA和SCL為開漏輸出,故接入10kΩ的上拉電阻器。下面是與上述電路配套的E2PROM讀寫程序:
        ;內存數據定義
        BitCnt DATA 30H;讀/寫數據位數計數器
        ByteCnt DATA 31H;讀/寫數據字節數計數器
        SlvAddr DATA 32H;E2PROM器件地址
        SubAdrl DATA 33H;存儲單元地址高8位
        SubAdr2 DATA 34H;存儲單元地址低8位
        ReadDat DATA 50H;讀操作數據緩沖區
        WriteDat DATA 40H;寫操作數據緩沖區
        ;端口位定義
        SDA BIT P1.0;模擬I2C數據傳送位
        SCL BIT P1.1;模擬I2C時鐘控制位
        ACK BIT 20H;讀非應答標志
        ;主程序



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 广汉市| 安塞县| 太仆寺旗| 武威市| 炎陵县| 梓潼县| 白山市| 黎川县| 石河子市| 宁安市| 台前县| 渝北区| 宁蒗| 昌都县| 临夏县| 伊宁县| 宁晋县| 阿克苏市| 永年县| 哈密市| 平远县| 乐陵市| 嵊州市| 洛阳市| 阿勒泰市| 锦屏县| 准格尔旗| 澄城县| 临湘市| 嘉黎县| 阿拉善盟| 江门市| 正镶白旗| 余庆县| 河津市| 怀宁县| 南澳县| 会东县| 桂阳县| 昭通市| 皋兰县|