經驗分享:如何解決單片機引腳的上拉電阻問題
發布時間:2013-12-07 責任編輯:eliane
【導讀】學習單片機的朋友們都知道,單片機的輸出電流很大程度上是取決於引腳上的外接器件。但事實上,“上拉電阻”是(shi)會(hui)對(dui)單(dan)片(pian)機(ji)係(xi)統(tong)造(zao)成(cheng)不(bu)良(liang)後(hou)果(guo)的(de),而(er)許(xu)多(duo)書(shu)籍(ji)資(zi)料(liao)上(shang)都(dou)沒(mei)有(you)對(dui)使(shi)用(yong)上(shang)拉(la)電(dian)阻(zu)的(de)弊(bi)病(bing)進(jin)行(xing)討(tao)論(lun)。本(ben)文(wen)將(jiang)為(wei)大(da)家(jia)講(jiang)解(jie)使(shi)用(yong)上(shang)拉(la)電(dian)阻(zu)的(de)一(yi)些(xie)弊(bi)端(duan)及(ji)解(jie)決(jue)方(fang)法(fa)。

單片機的引腳,可以用程序來控製,輸出高、didianping,zhexiekesuanshidanpianjideshuchudianya。danshi,chengxukongzhibuledanpianjideshuchudianliu。danpianjideshuchudianliu,hendachengdushangshiqujueyuyinjiaoshangdewaijieqijian。
單片機輸出低電平時,將允許外部器件,向單片機引腳內灌入電流,這個電流,稱為“灌電流”,外部電路稱為“灌電流負載”;單片機輸出高電平時,則允許外部器件,從單片機的引腳,拉出電流,這個電流,稱為“拉電流”,外部電路稱為“拉電流負載”。
這些電流一般是多少?最大限度是多少?這就是常見的單片機輸出驅動能力的問題。
早期的51係列單片機的帶負載能力,是很小的,僅僅用“能帶動多少個TTL輸入端”來說明的。P1、P2和P3口,每個引腳可以都帶動3個TTL輸入端,隻有P0口的能力強,它可以帶動8個!
[page]
分析一下TTL的輸入特性,就可以發現,51單片機基本上就沒有什麼驅動能力。它的引腳,甚至不能帶動當時的LED進行正常發光。記得是在AT89C51單片機流行起來之後,做而論道才發現:單片機引腳的能力大為增強,可以直接帶動LED發光了。
從AT89C51單片機的PDF手冊文件中可以看到,穩態輸出時,“灌電流”的上限為:
Maximum IOL per port pin: 10 mA;
Maximum IOL per 8-bit port
ort 0: 26 mA,Ports 1, 2, 3: 15 mA;
Maximum total I for all output pins: 71 mA.
這裏是說:
每個單個的引腳,輸出低電平的時候,允許外部電路,向引腳灌入的最大電流為10mA;每個8位的接口(P1、P2以及P3),允許向引腳灌入的總電流最大為15mA,而P0的能力強一些,允許向引腳灌入的最大總電流為26mA;全部的四個接口所允許的灌電流之和,最大為71mA。
而當這些引腳“輸出高電平”的時候,單片機的“拉電流”能力呢?可以說是太差了,竟然不到1mA。
結論就是:單(dan)片(pian)機(ji)輸(shu)出(chu)低(di)電(dian)平(ping)的(de)時(shi)候(hou),驅(qu)動(dong)能(neng)力(li)尚(shang)可(ke),而(er)輸(shu)出(chu)高(gao)電(dian)平(ping)的(de)時(shi)候(hou),就(jiu)沒(mei)有(you)輸(shu)出(chu)電(dian)流(liu)的(de)能(neng)力(li)。這(zhe)個(ge)結(jie)論(lun)是(shi)依(yi)照(zhao)手(shou)冊(ce)中(zhong)給(gei)出(chu)的(de)數(shu)據(ju)做(zuo)出(chu)來(lai)的(de)。
51單片機的這些特性,是源於引腳的內部結構,引腳內部結構圖這裏就不畫了,很多書中都有。
在芯片的內部,引腳和地之間,有個三極管,所以引腳具有下拉的能力,輸出低電平的時候,允許灌入10mA的電流;而引腳和正電源之間,有個幾百K的“內部上拉電阻”,所以,引腳在高電平的時候,能夠輸出的拉電流很小。特別是P0口,其內部根本就沒有上拉電阻,所以P0口根本就沒有高電平輸出電流的能力。
哦,明白了,外接電路如果是“拉電流負載”,要求單片機輸出高電平時發揮作用,那就必須用“上拉電阻”來協助,產生負載所需的電流。
[page]
下麵就專門說說上拉電阻存在的問題。
從上麵提到D2發光,是由上拉電阻R2提供的電流,D2導通發光的電壓約為2V,那麼發光的電流就是:(5-2)/1K,約為3mA。
而當單片機輸出低電平(0V),D2不發光的時候,R2這個上拉電阻閑著了嗎?沒有!它兩端的電壓,比LED發光的時候還高,現在是5V了,其中的電流,是5mA!
注意到了嗎?LED不發光的時候,上拉電阻給出了更大的電流!並且,這個大於正常發光的電流,全部灌入單片機的引腳了!如果在一個8位的接口,安裝了8個1K的上拉電阻,當單片機都輸出低電平的時候,就有40mA的電流灌入這個8位的接口!如果四個8位接口,都加上1K的上拉電阻,最大有可能出現32×5=160mA的電流,都流入到單片機中!這個數值已經超過了單片機手冊上給出的上限。如果此時單片機工作不穩定,就是理所當然的了。
而且這些電流,都是在負載處於無效的狀態下出現的,它們都是完全沒有用處的電流,隻是產生發熱、耗電大、電池消耗快,等後果。
特別是現在,都在提倡節能減排,低碳。
那麼,把上拉電阻加大些,可以嗎?
回答是:不行的,因為需要它為拉電流負載提供電流。對於LED,如果加大電阻,將使電流過小,發光暗淡,就失去發光二極管的作用了。
對於D1,是灌電流負載,單片機輸出低電平的時候,R1、D1通路上會有灌電流;輸出高電平的時候,那就什麼電流都沒有,此時就不產生額外的耗電。
綜上所述,灌電流負載,是合理的;而“拉電流負載”和“上拉電阻”會hui產chan生sheng很hen大da的de無wu效xiao電dian流liu,這zhe種zhong電dian路lu不bu合he理li。有you些xie網wang友you對dui上shang拉la電dian阻zu情qing有you獨du鍾zhong,有you用yong沒mei用yong的de,都dou想xiang在zai引yin腳jiao上shang安an裝zhuang個ge上shang拉la電dian阻zu,甚shen至zhi還hai能neng說shuo出chu些xie理li由you:穩定性、速度。
其實,“上拉電阻”和“拉電流負載”電路,是會對單片機係統造成不良後果的。筆者看過很多關於單片機引腳以及上拉電阻方麵的書籍、參考資料,基本上它們對於使用上拉電阻的弊病都沒有進行仔細的討論。
在此,鄭重向大家提出建議:設計單片機的負載電路,應該采用“灌電流負載”的電路形式,以避免無謂的電流消耗。上拉電阻,僅僅是在P0口才考慮加不加的問題:當用P0口做為輸入口的時候,需要加上、當用P0口輸出高電平驅動MOS型負載的時候,也需要加上,其它的時候,P0口也不用加入上拉電阻。在其它接口(P1、P2和P3),都不應該加上拉電阻,特別是輸出低電平有效的時候,外接器件就有上拉的作用。
相關閱讀:
小編推薦:五步搞定單片機晶振不起振故障
http://0-fzl.cn/gptech-art/80021914
竅門分享:單片機開發中應掌握的幾個技巧
http://0-fzl.cn/gptech-art/80021808
【圖文】利用單片機設計製作LED搖搖棒方案
http://0-fzl.cn/opto-art/80021564
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- e絡盟與Same Sky簽署全球分銷協議,拓展高性能元器件版圖
- 告別“偏色”煩惱:光譜傳感器如何重塑手機攝影的真實色彩
- 從“掃描”到“洞察”:Hyperlux ID iToF技術如何攻克30米測距極限
- 解鎖算力芯片的“速度密碼”:SmartDV全棧IP方案深度解析
- 發燒友福音!XMOS推出32段EQ調節與一鍵升頻功能
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
開關三極管
科通
可變電容
可調電感
可控矽
空心線圈
控製變壓器
控製模塊
藍牙
藍牙4.0
藍牙模塊
浪湧保護器
雷度電子
鋰電池
利爾達
連接器
流量單位
漏電保護器
濾波電感
濾波器
路由器設置
鋁電解電容
鋁殼電阻
邏輯IC
馬達控製
麥克風
脈衝變壓器
鉚接設備
夢想電子
模擬鎖相環



