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