關(guān)于51單片機P0口的結構及上拉問(wèn)題
1.P0作為地址數據總線(xiàn)時(shí),V1和V2是一起工作的,構成推挽結構。高電平時(shí),V1打開(kāi),V2截止;低電平時(shí),V1截止,V2打開(kāi)。這種情況下不用外接上拉電阻。而且,當V1打開(kāi),V2截止,輸出高電平的時(shí)候,因為內部電源直接通過(guò)V1輸出到P0口線(xiàn)上,因此驅動(dòng)能力(電流)可以很大,這就是為什么教科書(shū)上說(shuō)可以"驅動(dòng)8個(gè)TTL負載"的原因。
2.P0作為一般端口時(shí),V1就永遠的截止,V2根據輸出數據0導通和1截止,導通時(shí)拉地,當然是輸出低電平;截止時(shí),PO口就沒(méi)有輸出了,(注意,這種情況就是所謂的高阻浮空狀態(tài)),如果加上外部上拉電阻,輸出就變成了高電平1。
3.其他端口P1 P2 P3,在內部直接將P1口中的V1換成了上拉電阻,所以不用外接,但內部上拉電阻太大,電流太小,有時(shí)因為電流不夠,也會(huì )再并一個(gè)上拉電阻。
4.在某個(gè)時(shí)刻,P0口上輸出的是作為總線(xiàn)的地址數據信號還是作為普通I/O口的電平信號,是依靠多路開(kāi)關(guān)MUX來(lái)切換的.而MUX的切換,又是根據單片機指令來(lái)區分的.當指令為外部存儲器/IO口讀/寫(xiě)時(shí),比如 MOVX A,@DPTR ,MUX是切換到地址/數據總線(xiàn)上;而當普通MOV傳送指令操作P0口時(shí),MUX是切換到內部總線(xiàn)上的.
PS:
Because Ports 1, 2, and 3 have fixed internal pullups, they are sometimes called “quasi- bidirectional” ports.
因為端口1、2、3有固定的內部上拉,所以有時(shí)候他們被稱(chēng)為"準雙向"口.
Port 0, on the other hand, is considered “true” bidirectional, because when configured as an input it floats.
端口0, 從另外一方面來(lái)說(shuō),就被 認為是"真正的"雙向,因為當它被設置為輸入的時(shí)候是浮空(高阻態(tài))的.
51單片機相關(guān)文章:51單片機教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
上拉電阻相關(guān)文章:上拉電阻原理
評論