51單片機(jī)P0口分析
1.P0作為地址數(shù)據(jù)總線時,V1和V2是一起工作的,構(gòu)成推挽結(jié)構(gòu)。高電平時,V1打開,V2截止;低電平時,V1截止,V2打開。這種情況下不用外接上拉電阻。而且,當(dāng)V1打開,V2截止,輸出高電平的時候,因為內(nèi)部電源直接通過V1輸出到P0口線上,因此驅(qū)動能力(電流)可以很大,這就是為什么教科書上說可以"驅(qū)動8個TTL負(fù)載"的原因。
2.P0作為一般端口時,V1就永遠(yuǎn)的截止,V2根據(jù)輸出數(shù)據(jù)0導(dǎo)通和1截止,導(dǎo)通時拉地,當(dāng)然是輸出低電平;截止時,P0口就沒有輸出了,(注意,這種情況就是所謂的高阻浮空狀態(tài)),如果加上外部上拉電阻,輸出就變成了高電平1。
3.其他端口P1、P2、P3,在內(nèi)部直接將P1口中的V1換成了上拉電阻,所以不用外接,但內(nèi)部上拉電阻太大,電流太小,有時因為電流不夠,也會再并一個上拉電阻。
⒋.在某個時刻,P0口上輸出的是作為總線的地址數(shù)據(jù)信號還是作為普通I/O口的電平信號,是依靠多路開關(guān)MUX來切換的.而MUX的切換,又是根據(jù)單片機(jī)指令來區(qū)分的.當(dāng)指令為外部存儲器/IO口讀/寫時,比如 MOVX
因為端口1、2、3有固定的內(nèi)部上拉,所以有時候他們被稱為"準(zhǔn)雙向"口.
端口0,
⒌. p0(i/o),p1,p2,p3口用于輸入時,需要寫1使IO下拉的MOS管截止,以免MOS管導(dǎo)通將輸入拉底為0,當(dāng)一直用于輸入時不用置1(先使用該IO輸出,該IO鎖存器里可能是0,再用該IO輸入則會使MOS管導(dǎo)通),將IO寫1后,該IO鎖存器不會變了,所以再一直用于輸入不用置1。p0用于地址數(shù)據(jù)線時輸入不用寫1,因為MUX沒和鎖存器相連。
評論