以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- 單片機高級 (http://www.hufushizhe.com/bbs/list.asp?boardid=56) ---- 關于對51單片機端口上拉電阻的討論 (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=56&id=2255) |
-- 作者:wangxinxin -- 發布時間:2010-12-8 10:42:41 -- 關于對51單片機端口上拉電阻的討論 前一段時間,看到實驗室有個學弟設計了一個電路,其中還有一個鍵盤電路,取其原理是這樣子的: 據這位師弟的意思是:在沒有按下按鍵的時候,端口上是低電平,按下按鍵的時候端口上接上了高電平. 事實上,電路是不工作的. 問題比較多: 首先,將電源直接接到端口上是絕對不可以的.當按下按鍵的時候,會有很大的電流進入單片機.在工程上,這種往往應該加限流電阻的.一般選擇1K的就可以.如果選擇太大的電阻也不好,因為電阻上面壓降太大,造成輸入比應有的高電平低,造成錯誤. 其次,就算加了限流,這個電路也是不能工作的.檢查AT89C51的DataSheet就會發現.技術手冊中說:P0口是沒有上拉電阻的端口;P1,P2,P3口帶有上拉電阻.問題就出在這里,什么是上拉電阻,來看看圖: 上面這個圖,是紅外線接收的電路圖,看上面的這個電阻,就是上拉電阻.我們可以試圖理解一下51單片機P2口的這個上拉電阻為這種形式: 其中的R就是上拉電阻.如果像我的那個師弟那樣設計電路,電路就成了以下這種形式了: 看,從這個電路上,我們可以清晰的看出,不管你按鍵是否按下,IO端口上都是高電平.問題就在這里,我讓我的這個師弟測測IO端口的電平在按下按鍵前后的變化,結果果然不出所料:不管他是否按下按鍵,都是高電平!! 從這里我們可以看出:DataSheet還是有用的,在設計的時候,有很多細節,需要注意,否則,可能功虧一簣. |