DEV Community

codemee
codemee

Posted on

I2C 介面 LCD 模組的從端裝置位址

目前大家使用 LCD 模組時, 為了避免繁複的接線, 多半會採用加上一塊編號 1602 的轉接板,可以讓我們只用 4 條接線就可以控制 LCD 模組。

由於這個轉接板採用 I2C 傳輸介面, 因此在使用時必須知道它的從端裝置位址 (slave address), 這個位址出廠預設時不是 0x27 就是 0x3F, 那到底怎麼確認是哪一個呢?最簡單的方式當然就是顯示不出來時換另一個位址試看看 (當然也可以掃描位址的程式找), 不過這有時候很麻煩, 因為也有可能是對比沒有調好, 所以看不到顯示的文字, 再怎麼換位址也沒用。

事實上, 這片轉接板的位址是由板子上使用的一塊晶片決定的, 只要看板子上的這個位置, 讀出上面的編號即可:

像上面這一個就是 PCF8574T 晶片, 另外一種則是這樣:

採用的晶片是 PCF8574AT, 多了一個 A 就不一樣了。另外, 在藍色的對比調整旋鈕的下方, 有標示 A0~A2 的接點, 可以用焊錫連接, 也會影響位址:

知道晶片型號, 就可以查規格書, 整體來說, 這個轉板的位址是這樣決定的:

左邊是 PCF8574T、右邊是 PCF8574A, A0~A2 沒有接時為 1、接起來為 0, 出廠預設都是斷開的, 所以如果轉接板上的晶片是 PCF8575T, 預設的位址為 0B010 0111, 就是 0x27;但若是 PCF8574AT, 預設位址就是 0B011 1111, 也就是 0x3F。如果你需要同時連接多個 LCD 模組, 就可以自行焊接 A0~A2 的任意接點, 讓位址不同, 就可以同時操控多個 LCD 模組, 而不會位址衝突了。

Top comments (0)