單片機有很多引腳,這些引腳負責控制外面的設備。圖2-47所示的是用Vcc驅動(dòng)LED小燈,這個(gè)LED小燈可以用發(fā)光二極管或者是數碼管。圖 2-47 點(diǎn)亮一個(gè)發(fā)光二極管的電路圖
現在當我們把GND去掉,換成I/O口,把VCC去掉,換成I/O口。當I/O口輸出大電流時(shí),它是有一定的要求的,把單片機的這個(gè)I/O畫(huà)出來(lái)了,如圖2-48所示。
圖 2-48 單片機引腳內部原理圖
這個(gè)是單片機的一個(gè)I/O口,方框里是單片機的內部,方框外是單片機引腳外部,內部和三極管的原理是一樣的,所以我們用三極管來(lái)說(shuō)明,當單片機輸出一個(gè)高電平時(shí),三極管不會(huì )導通,外部也輸出一個(gè)高電平;當單片機輸出一個(gè)低電平時(shí),三極管導通,外部I/O口就輸出一個(gè)低電平。在輸出高電平時(shí),這里有一個(gè)電阻。
表2-4是I/O口工作類(lèi)型的設定參數表。
表 2-4 I/O口工作類(lèi)型的設定參數
從圖2-49中可以看到I/O口是準雙向口,它是可設的,是
可編程的。這就是說(shuō),我們內部可以進(jìn)行一個(gè)設置;另外,這個(gè)特殊功能寄存器在使用的時(shí)候,如果不進(jìn)行設置,它默認的是00,也就是標準的準雙向口,它的灌電流比較大,可以輸入20mA,它的輸出電流在250~160uA這個(gè)范圍之內。大家要注意,單引腳灌電流達20mA,但是整體電流推進(jìn)不要超過(guò)55mA,否則可能影響到單片機芯片的壽命。因此可以從這里看到,單片機是一個(gè)控制模塊、控制中心,而不是一個(gè)驅動(dòng)器。要避免給單片機輸入或者是輸出一個(gè)大電流,這是普通I/O口要注意的。這是一個(gè)強推挽輸出,可以達到20mA。什么是推挽輸出?先看圖2-50。這個(gè)是一個(gè)普通的I/O口,是帶
上拉電阻的,是強推挽輸出。
圖 2-49 單片機引腳強推挽輸出的內部原理圖
這是一個(gè)內部總線(xiàn),它幾乎沒(méi)這個(gè)上下拉電阻,一但內部總線(xiàn)輸出一個(gè)高電平,三極管就導通了,導通后這個(gè)電流就下來(lái)了,這里是高電平。這是一個(gè)反相器,是一個(gè)低電平。下面這個(gè)三極管是截止的,電流就直接從上面的三極管直接輸出了,若沒(méi)有限流電阻,則這個(gè)電流是非常大。因此,外部需要加限流電阻,要注意,若不接上拉電阻,也有可能燒壞單片機的引腳。當低電平時(shí),上面的三極管是戒截止的,一但產(chǎn)生低電平,經(jīng)過(guò)反相器,第二個(gè)三極管接的是一個(gè)高電平,三極管導通,這個(gè)三極管輸出電流也是非常大的,因此外部也要加限流電阻,這個(gè)是一個(gè)強推挽輸出。
下面介紹開(kāi)漏,又叫開(kāi)集。內部總線(xiàn)經(jīng)過(guò)一個(gè)反相器,原理圖如下圖2-50所示。
圖 2-50 單片機引腳開(kāi)漏輸出內部原理圖
假設是一個(gè)高電平經(jīng)過(guò)反相器變成低電平,電路內部沒(méi)有上拉電阻,即使是高電平,三極管導通也不會(huì )輸出一個(gè)高電平,還是輸出一個(gè)低電平。因此開(kāi)漏的時(shí)候,外部一定要加上拉電阻,它才有可能輸出高電平,不加上拉電阻,它就不會(huì )輸出高電平。比如說(shuō)我們這個(gè)89C51的P0口就是一個(gè)開(kāi)漏的雙向I/O口,寫(xiě)1的時(shí)候,P0口懸浮,可用作高阻態(tài)輸入。如果說(shuō)寫(xiě)1,外部沒(méi)上拉電阻,還是一個(gè)懸空的,不可能輸出一個(gè)高電平,所以外部一定是要加一個(gè)上拉電阻。它的作用也很多,比如在實(shí)際運用系統中,要避免直接接高電平,可以在做電平轉換時(shí),使用這條電路。一個(gè)5V的系統要控制一個(gè)12V的系統時(shí),用5V的電平控制三極管的導通,一但導通了,外部就是12V,則進(jìn)行了一個(gè)電平的轉換。在這里要避免單片機直接接外部電路,要進(jìn)行電平的轉換。
評論