在很多MCU中,都有上拉和下拉的概念,從8051到AVR再到ARM,都有!
上拉:
簡單理解起來,上拉就是通過一個(gè)電阻接到高電平,在MCU中主要是為了提高芯片的驅(qū)動能力,如8051的P0口,在8051的PDF中,我們可以看到:
(1)每個(gè)單個(gè)的引腳,輸出低電平的時(shí)候,允許外部電路,向引腳灌入的最大電流為 10 mA
(2)每個(gè) 8 位的接口(P1、P2 以及 P3),允許向引腳灌入的總電流最大為 15 mA,而 P0 的能力強(qiáng)一些,允許向引腳灌入的最大總電流為 26 mA;全部的四個(gè)接口所允許的灌電流之和,最大為 71 mA
圖中的 D1,是接在正電源和引腳之間的,這就屬于灌電流負(fù)載,D1 在單片機(jī)輸出低電平的時(shí)候發(fā)光。這個(gè)發(fā)光的電流,可以用電阻控制在 10 mA 之內(nèi)。
圖中的 D2,是接在引腳和地之間的,這屬于拉電流負(fù)載,D2 應(yīng)該在單片機(jī)輸出高電平的時(shí)候發(fā)光。但是單片機(jī)此時(shí)幾乎沒有輸出能力,必須采用外接“上拉電阻”的方法來提供 D2 所需的電流。
在引腳和大地之間有一個(gè)三極管,而pin則相當(dāng)于三極管的基極,起到開關(guān)閥門的作用,使上面的電流可以通過LED,流到大地中。
此時(shí),P2.0就起到這個(gè)作用,用小電流(不能點(diǎn)亮LED)來控制大電流,上拉電阻同時(shí)也起到限流的作用。
另外,為了防止臨界電平引起誤操作,也采用上拉電阻的方式,使得一個(gè)不確定的信號用電阻嵌定在高電平狀態(tài)。減少意外發(fā)生。如ARM的中斷就需要。
綜上:設(shè)計(jì)單片機(jī)的負(fù)載電路,應(yīng)該采用“灌電流負(fù)載”的電路形式,以避免無謂的電流消耗。
下拉:
下拉就是通過一個(gè)電阻接到低電平,把輸出嵌位在低電平。同時(shí)對輸出電流起到限流的作用,由于在實(shí)際中比較少用到,此處只是略微提一下。