電池知識
鋰離子、磷酸鐵鋰、錳酸鋰、新能源
電池知識
鋰離子、磷酸鐵鋰、錳酸鋰、新能源
單片機的引腳,可以用程序來控制,輸出高、低電平,這些可算是單片機的輸出電壓。
但是,程序控制不了單片機的輸出電流。單片機的輸出電流,很大程度上是取決于引腳上的外接器件。
單片機輸出低電平時,將準許外部器件,向單片機引腳內灌入電流,這個電流,稱為灌電流,外部電路稱為灌電流負載;
單片機輸出高電平時,則準許外部器件,從單片機的引腳,拉出電流,這個電流,稱為拉電流,外部電路稱為拉電流負載。
這些電流一般是多少?最大限度是多少?這就是常見的單片機輸出驅動能力的問題。
早期的51系列單片機的帶負載能力,是很小的,僅僅用能帶動多少個TTL輸入端來說明的。
p1、p2和p3口,每個引腳可以都帶動3個TTL輸入端,惟有p0口的能力強,它可以帶動8個!
分解一下TTL的輸入特性,就可以發現,51單片機基本上就沒有哪些驅動能力。
它的引腳,甚至不能帶動當時的LED進行正常發光。
記得是在AT89C51單片機流行起來之后,做而論道才發現:單片機引腳的能力大為加強,可以筆直帶動LED發光了。
看看下圖,圖中的D1、D2就可以不經其它驅動器件,筆直由單片機的引腳控制發光顯示。
雖然引腳已經可以筆直驅動LED發光,但是且慢,先別太高興,還是看看AT89C51單片機引腳的輸出能力吧。
從AT89C51單片機的pDF手冊文件中可以看到,穩態輸出時,灌電流的上限為:
MaximumIOLperportpin:10mA;
MaximumIOLper8-bitport:port0:26mA,ports1,2,3:15mA;
MaximumtotalIforalloutputpins:71mA.
這里是說:
每個單個的引腳,輸出低電平的時候,準許外部電路,向引腳灌入的最大電流為10mA;
每個8位的接口(p1、p2以及p3),準許向引腳灌入的總電流最大為15mA,而p0的能力強一些,準許向引腳灌入的最大總電流為26mA;
全部的四個接口所準許的灌電流之和,最大為71mA。
而當這些引腳輸出高電平的時候,單片機的拉電流能力呢?可以說是太差了,竟然不到1mA。
結論就是:單片機輸出低電平的時候,驅動能力尚可,而輸出高電平的時候,就沒有輸出電流的能力。
這個結論是依照手冊中給出的數據做出來的。
51單片機的這些特性,是源于引腳的內部結構,引腳內部結構圖這里就不畫了,很多書中都有。
在芯片的內部,引腳和地之間,有個三極管,所以引腳具有下拉的能力,輸出低電平的時候,準許灌入10mA的電流;而引腳和正電源之間,有個幾百K的內部上拉電阻,所以,引腳在高電平的時候,能夠輸出的拉電流很小。特別是p0口,其內部根本就沒有上拉電阻,所以p0口根本就沒有高電平輸出電流的能力。
再看看上面的電路圖:
圖中的D1,是接在正電源和引腳之間的,這就屬于灌電流負載,D1在單片機輸出低電平的時候發光。這個發光的電流,可以用電阻控制在10mA之內。
圖中的D2,是接在引腳和地之間的,這屬于拉電流負載,D2應當在單片機輸出高電平的時候發光。但是單片機此時幾乎沒有輸出能力,非得采用外接上拉電阻的辦法來提供D2所需的電流。
哦,明白了,外接電路如果是拉電流負載,要求單片機輸出高電平時發揮作用,那就非得用上拉電阻來協助,萌生負載所需的電流。
下面做而論道就專門說說上拉電阻存在的問題。
從上面的圖中可以看到,D2發光,是由上拉電阻R2提供的電流,D2導通發光的電壓約為2V,那么發光的電流就是:(5-2)/1K,約為3mA。
而當單片機輸出低電平(0V),D2不發光的時候,R2這個上拉電阻閑著了嗎?沒有!它兩端的電壓,比LED發光的時候還高,今朝是5V了,其中的電流,是5mA!
留意到了嗎?LED不發光的時候,上拉電阻給出了更大的電流!并且,這個大于正常發光的電流,全部灌入單片機的引腳了!
如果在一個8位的接口,安裝了8個1K的上拉電阻,當單片機都輸出低電平的時候,就有40mA的電流灌入這個8位的接口!
如果四個8位接口,都加上1K的上拉電阻,最大有可能出現32&TImes;5=160mA的電流,都流入到單片機中!
這個數值已經超過了單片機手冊上給出的上限。如果此時單片機工作不穩定,就是理所當然的了。
而且這些電流,都是在負載處于無效的狀態下出現的,它們都是完全沒有用處的電流,只是萌生發熱、耗電大、電池消耗快。。.等后果。
呵呵,特別是今朝,都在提倡節能減排,低碳。。.。
那么,把上拉電阻加大些,可以嗎?
回答是:不行的,因為需要它為拉電流負載提供電流。對于LED,如果加大電阻,將使電流過小,發光暗淡,就失去發光二極管的作用了。
對于D1,是灌電流負載,單片機輸出低電平的時候,R1、D1通路上會有灌電流;輸出高電平的時候,那就什么電流都沒有,此時就不萌生額外的耗電。
綜上所述,灌電流負載,是合理的;而拉電流負載和上拉電阻會萌生很大的無效電流,這種電路不合理。
有些網友對上拉電阻情有獨鐘,有用沒用的,都想在引腳上安裝個上拉電阻,甚至還能說出些理由:穩定性啦、速度啦。。.。
其實,上拉電阻和拉電流負載電路,是會對單片機系統造成不良后果的。
做而論道看過很多關于單片機引腳以及上拉電阻方面的書籍、參考資料,基本上它們對于使用上拉電阻的弊病都沒有進行仔細的討論。
在此,做而論道慎重向大家提出提議:設計單片機的負載電路,應當采用灌電流負載的電路形式,以避免無謂的電流消耗。
上拉電阻,僅僅是在p0口才考慮加不加的問題:當用p0口做為輸入口的時候,需要加上、當用p0口輸出高電平驅動MOS型負載的時候,也需要加上,其它的時候,p0口也不用加入上拉電阻。
在其它接口(p1、p2和p3),都不應當加上拉電阻,特別是輸出低電平有效的時候,外接器件就有上拉的作用。
使用數字式萬用表測電阻,所測阻值更為準確。將黑表筆插入COM插座,紅表筆插入VΩ插座。
萬用表的擋位開關轉至相應的電阻擋,打開萬用表電源開關(電源開關調至ON位置),再將兩表筆跨接在被測電阻的兩個引腳上,萬用表的顯示屏即可顯示出被測電阻的阻值。數字式萬用表測量固定電阻示意圖如圖156所示。
圖156數字式萬用表測量固定電阻
留意:數字式萬用表測電阻通常無須調零,可筆直測量。
如果電阻值超過所選擋位值,則萬用表顯示屏的左端會顯示1,這時應將開關轉至較高擋位。
當測量電阻值超過1mΩ以上時,顯示的讀數需幾秒鐘才會穩定,這是使用數字式萬用表測量時出現的正常現象,這種現象在測高電阻值時常常出現。
當輸入端開路時,萬用表則顯示過載情形。另外,測量在線電阻時,需要首先確認被測電路所有電源已關斷及所有電容都已完全放電時才可持續進行。
聲明: 本站所發布文章部分圖片和內容自于互聯網,如有侵權請聯系刪除