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