單片機的輸入 / 輸出( I/O )口
MCS-51單片機有4個(gè)雙向的8位I/O口的P0~P3口為三態(tài)雙向口 P1,P2,P3口為準雙向口(用作輸入時(shí),口線(xiàn)被拉成高電平,所以稱(chēng)為準雙向口)。
P0口是三態(tài)雙向口,通稱(chēng)數據總線(xiàn)口,因為只有該口能直接用于對外部存儲器的讀/寫(xiě)操作。 P0口還可以用來(lái)輸出外部存儲器的第8位地址。 由于是分時(shí)輸出,故應在外部加鎖存器將此地址數據鎖存,地址鎖存信號用ALE。
P1口是專(zhuān)門(mén)供用戶(hù)使用的I/O口,用戶(hù)可以利用它作為I/O口線(xiàn)使用。P1口是準雙向口。每一位均由鎖存器(SFR)、輸出驅動(dòng)器和輸入緩沖器組成。 它們的上拉電阻實(shí)際上不是線(xiàn)性電阻,而是由場(chǎng)效應管構成 ,每位鎖存器均由D觸發(fā)器組成。
每個(gè)I/O口都有兩種讀入方法:讀鎖存器和讀引腳。每種讀入方法都有相應的指令 。讀引腳指令一般都是以I/O端口為原操作數的指令。 執行讀引腳指令時(shí),要打開(kāi)三態(tài)門(mén)輸入口狀態(tài)。例如:讀P1口的輸入狀態(tài)時(shí)。讀引腳指令為:MOVA.P1
根據I/O口的結構及CPU的控制方式,當執行讀引腳操作后,口鎖存器狀態(tài)與引腳狀態(tài)應當是相同的。 但當給口鎖器寫(xiě)某一狀態(tài)后,相應的口引腳是否呈現鎖存器狀態(tài),就與外電路的連接有關(guān)。例如:用I/O口線(xiàn)驅動(dòng)三極管的基極時(shí),該口線(xiàn)的位鎖存器的寫(xiě)入1后,將使三極管導通,而三極管一旦導通后,基極電平為“0”。 如果改口線(xiàn)無(wú)讀引腳操作時(shí),口鎖存器與引腳狀態(tài)不一致。
上拉電阻相關(guān)文章:上拉電阻原理
評論