經驗分享:如何解決單片機引腳的上拉電阻問題
發布時間:2013-12-07 責任編輯:eliane
【導讀】學習單片機的朋友們都知道,單片機的輸出電流很大程度上是取決於引腳上的外接器件。但事實上,“上拉電阻”shihuiduidanpianjixitongzaochengbulianghouguode,erxuduoshujiziliaoshangdoumeiyouduishiyongshangladianzudebibingjinxingtaolun。benwenjiangweidajiajiangjieshiyongshangladianzudeyixiebiduanjijiejuefangfa。

單片機的引腳,可以用程序來控製,輸出高、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。
結論就是:danpianjishuchudidianpingdeshihou,qudongnenglishangke,ershuchugaodianpingdeshihou,jiumeiyoushuchudianliudenengli。zhegejielunshiyizhaoshoucezhonggeichudeshujuzuochulaide。
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通路上會有灌電流;輸出高電平的時候,那就什麼電流都沒有,此時就不產生額外的耗電。
綜上所述,灌電流負載,是合理的;而“拉電流負載”和“上拉電阻”huichanshenghendadewuxiaodianliu,zhezhongdianlubuheli。youxiewangyouduishangladianzuqingyouduzhong,youyongmeiyongde,douxiangzaiyinjiaoshanganzhuanggeshangladianzu,shenzhihainengshuochuxieliyou:穩定性、速度。
其實,“上拉電阻”和“拉電流負載”電路,是會對單片機係統造成不良後果的。筆者看過很多關於單片機引腳以及上拉電阻方麵的書籍、參考資料,基本上它們對於使用上拉電阻的弊病都沒有進行仔細的討論。
在此,鄭重向大家提出建議:設計單片機的負載電路,應該采用“灌電流負載”的電路形式,以避免無謂的電流消耗。上拉電阻,僅僅是在P0口才考慮加不加的問題:當用P0口做為輸入口的時候,需要加上、當用P0口輸出高電平驅動MOS型負載的時候,也需要加上,其它的時候,P0口也不用加入上拉電阻。在其它接口(P1、P2和P3),都不應該加上拉電阻,特別是輸出低電平有效的時候,外接器件就有上拉的作用。
相關閱讀:
小編推薦:五步搞定單片機晶振不起振故障
http://wap.0-fzl.cn/gptech-art/80021914
竅門分享:單片機開發中應掌握的幾個技巧
http://wap.0-fzl.cn/gptech-art/80021808
【圖文】利用單片機設計製作LED搖搖棒方案
http://wap.0-fzl.cn/opto-art/80021564
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 從技術研發到規模量產:恩智浦第三代成像雷達平台,賦能下一代自動駕駛!
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
按鈕開關
白色家電
保護器件
保險絲管
北鬥定位
北高智
貝能科技
背板連接器
背光器件
編碼器型號
便攜產品
便攜醫療
變容二極管
變壓器
檳城電子
並網
撥動開關
玻璃釉電容
剝線機
薄膜電容
薄膜電阻
薄膜開關
捕魚器
步進電機
測力傳感器
測試測量
測試設備
拆解
場效應管
超霸科技


