SPI IIC UART CAN傳輸協議的區別
阿新 • • 發佈:2019-02-07
型號 容量 器件/業面定址位元組 可定址位 模組
24C01 128B (1010)(A2)(A1)(A0)(0或1) 3 128B
24C02 256B (1010)(A2)(A1)(A0)(0或1) 3 256B
24C04 512B (1010)(A2)(A1)(P0)(0或1) 2 2X256B
24C08 1024B (1010)(A2)(P1)(P0)(0或1) 1 4X256B
24C16 2048B (1010)(P2)(P1)(P0)(0或1) 0 8X256B
解析:IIC匯流排介面器件24C系列非易失性儲存器與89C51介面採用軟體模擬IIC。24C系列
儲存器器件地址統一為1010XXXX,不要問為什麼,這是廠家出廠的時候規定好的了。至
於24C的引腳功能和89C51的介面我就不多說了,本文的重點主要是如何應用。
上面說了,器件的地址位元組的高位是1010,那麼低4位呢?先說最後一位吧,最後一
位為0的時候表示89C51要寫資料入儲存器,1的時候表示要從儲存器讀資料。還剩下中
三位A2,A1和A0。它們的高低電平取決於24C的A2,A1,A0是接高電平還是接地。A2,
A1 和A0有8個組合,因此可以擴充套件8個相同的器件,根據A2、A1、A0的不同,一樣的器件
也會有不同的地址。那麼是不是每一個24C都可以擴充套件8個呢?不是的。注意上表,24C01
有三個可定址位,A2,A1,A0,所以可以擴充套件8個,24C02也一樣。而04則只可以擴充套件4個
08只可以擴充套件2個,16就沒有擴充套件了,只可以掛一片24C16。為什麼呢?因為訪問24C系列
除了訪問器件地址外,還要訪問器件內的位元組的地址。例如24C01,要對其操作,就先選
選中它的地址,然後操作第一個位元組或其他位元組,這些位元組也是有地址的,分模組,用
一個位元組表示,最多可以操作256個位元組。24C01和24C02不大於256個位元組,對其操作就
簡單得多了。但24C04,08和16呢?他們都大於256個位元組,怎麼辦?分模組。注意到上
表的P0,P1,P3沒有?把04分成兩個模組,2X256B,08四個模組,16就八個模組。究竟
怎麼
模組操作呢?拿24C08為例,有A2 P1 P0。A2只可以0或1,所以只能擴充套件2個24C08,其
內有4個256位元組的模組,要操作哪個模組取決於P1,P0的組合。例如,24C08的地址位元組
為1010000X第一個位元組地址為0,第256個地址為255,如果地址位元組是1010001X,那麼第
256個位元組的地址為0,第512個位元組的地址為255。就如此。
再用24C08舉例說明如何擴充套件,當兩個24C08的A2腳分別接高電平和地的時候,就可
以了,這樣就擴充套件了,他們的器件地址分別是1010000X和1010100X。當要讀第一個(A2
接地)
24C08的的第一個模組的資料時候,微控制器先發送地址位元組10100001;當要把資料寫
進第二個(A2接高電平)24C08的第二個模組的時候,應傳送10101010地址位元組。
24C01 128B (1010)(A2)(A1)(A0)(0或1) 3 128B
24C02 256B (1010)(A2)(A1)(A0)(0或1) 3 256B
24C04 512B (1010)(A2)(A1)(P0)(0或1) 2 2X256B
24C08 1024B (1010)(A2)(P1)(P0)(0或1) 1 4X256B
24C16 2048B (1010)(P2)(P1)(P0)(0或1) 0 8X256B
解析:IIC匯流排介面器件24C系列非易失性儲存器與89C51介面採用軟體模擬IIC。24C系列
儲存器器件地址統一為1010XXXX,不要問為什麼,這是廠家出廠的時候規定好的了。至
於24C的引腳功能和89C51的介面我就不多說了,本文的重點主要是如何應用。
上面說了,器件的地址位元組的高位是1010,那麼低4位呢?先說最後一位吧,最後一
位為0的時候表示89C51要寫資料入儲存器,1的時候表示要從儲存器讀資料。還剩下中
三位A2,A1和A0。它們的高低電平取決於24C的A2,A1,A0是接高電平還是接地。A2,
A1 和A0有8個組合,因此可以擴充套件8個相同的器件,根據A2、A1、A0的不同,一樣的器件
也會有不同的地址。那麼是不是每一個24C都可以擴充套件8個呢?不是的。注意上表,24C01
有三個可定址位,A2,A1,A0,所以可以擴充套件8個,24C02也一樣。而04則只可以擴充套件4個
08只可以擴充套件2個,16就沒有擴充套件了,只可以掛一片24C16。為什麼呢?因為訪問24C系列
除了訪問器件地址外,還要訪問器件內的位元組的地址。例如24C01,要對其操作,就先選
選中它的地址,然後操作第一個位元組或其他位元組,這些位元組也是有地址的,分模組,用
一個位元組表示,最多可以操作256個位元組。24C01和24C02不大於256個位元組,對其操作就
簡單得多了。但24C04,08和16呢?他們都大於256個位元組,怎麼辦?分模組。注意到上
表的P0,P1,P3沒有?把04分成兩個模組,2X256B,08四個模組,16就八個模組。究竟
怎麼
模組操作呢?拿24C08為例,有A2 P1 P0。A2只可以0或1,所以只能擴充套件2個24C08,其
內有4個256位元組的模組,要操作哪個模組取決於P1,P0的組合。例如,24C08的地址位元組
為1010000X第一個位元組地址為0,第256個地址為255,如果地址位元組是1010001X,那麼第
256個位元組的地址為0,第512個位元組的地址為255。就如此。
再用24C08舉例說明如何擴充套件,當兩個24C08的A2腳分別接高電平和地的時候,就可
以了,這樣就擴充套件了,他們的器件地址分別是1010000X和1010100X。當要讀第一個(A2
接地)
24C08的的第一個模組的資料時候,微控制器先發送地址位元組10100001;當要把資料寫
進第二個(A2接高電平)24C08的第二個模組的時候,應傳送10101010地址位元組。