串轉并?那些擴展IO的芯片,74HC595,74HC164,PCF8574
74HC595是一種高速CMOS器件。

八位移位寄存器在移位寄存器時鐘(SHCP)的每個上升沿時接收來自串行輸入(DS)的數據。當(MR)為低時,復位功能將所有移位寄存器值設置為零,并且與所有時鐘無關。
來自輸入串行移位寄存器的數據在存儲寄存器時鐘(STCP)的上升沿一起被置于輸出寄存器中。當輸出使能(OE)被置為低時,3態(tài)輸出Q0-Q7變?yōu)榧せ顮顟B(tài)并輸出。
所有寄存器在上升沿捕獲數據,在下降沿改變輸出。如果兩個時鐘連接在一起,則輸入移位寄存器總是比輸出寄存器提前一個時鐘周期。

通過數據手冊知道 74HC595 是一個串轉并的 CMOS 芯片,并擁有鎖存功能(在 8 位數據傳輸到芯片【移位寄存器】的過程中輸出引腳 Q1~Q8 并不會改變,而是保持上一個狀態(tài)),當一個上升沿輸入?STCP 引腳時則會將【移位寄存器】中的數據送到【存儲器】中。

74HC164是一個串行輸入8位輸出邊沿觸發(fā)移位寄存器。

串行數據輸入引腳
串行輸入數據在引腳SDA或引腳SDB輸入,它們是邏輯“與”的關系。如果需要單個輸入,可以將引腳連接在一起,或者將未使用的輸入連接為高電平。
數據輸入
數據在CP引腳的每個上升沿從串行輸入引腳移位到Q0。同樣,在CP上升沿期間,數據從每個Qn傳輸到Qn+1。引腳DSA和DSB上的串行數據必須在CP上升邊緣前后保持穩(wěn)定,以滿足設置和保持時序要求。
RESET功能
當置為LOW時,主復位(MR)引腳將所有Qn設置為LOW。
此操作不取決于串行輸入或時鐘引腳的狀況。在下一個CP正邊緣脈沖之前,MR必須在恢復時間內保持為高電平。
綜上,?74HC164 沒有鎖存功能,輸入只需兩個IO,直接按時鐘信號上升沿讀取串行信號,同時依次把讀到的電平從第 0 腳一個一個移到第 7 腳(并行輸出時會輸出移位過程中的電平變化?),雖然過程很短暫,但可能會導致后續(xù)電路的邏輯出問題,對邏輯時序要求不高的后續(xù)電路也可以用。?
595 有鎖存功能,即它的讀和輸出可以是分開的,比較靈活。可以先讀完一串八位串行信號之后,讓它同時輸出對應的并行信號,移位的過程不在輸出中體現,有效避免后續(xù)電路邏輯混亂。

PCF8574-IIC協(xié)議雙向IO擴展芯片
主要用于雙向總線的8位輸入/輸出(I/O)擴展器。
PCF8574設備通過接口串行時鐘(SCL)、串行數據(SDA)為大多數微控制器系列提供通用遠程I/O擴展。
該設備具有一個8位準雙向I/O端口(P0-P7),包括具有高電流驅動能力的鎖存輸出,用于直接驅動LED。每個準雙向/O可以用作輸入或輸出,而不使用數據方向控制信號。通電時,I/O為高。在此模式下,只有Vcc的電流源是激活的。
可以看到PCF8574是一個標準的IO擴展芯片,他支持輸入與輸出,是可以反映外部電平狀態(tài)并讓MCU獲取到,前面兩個芯片只是可以輸出,所以用在只需要輸出的地方,比如驅動數碼管等一些不需要讀取的地方,PCF8574可以用于擴展IO口連接按鍵等需要輸入的地方。