[閒聊] 8051的輸出輸入及電壓偵測

看板ASM (組合語言)作者 (此人掛網中……)時間17年前 (2007/02/03 01:29), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
眾所週知的,8051具有4個輸入輸出port,分別為P0, P1, P2, P3。這四個port的架構 各有不同,但若只管輸入輸出的功能而言,可分為兩組:P0及P1, P2, P3 P0:不具有內部提升電阻,為open drain架構 P1, P2, P3:具有內部提升電阻,為open drain架構 Open drain參見: http://en.wikipedia.org/wiki/Open_drain 現在只要知道,open drain的IO需要提升電阻(pull-up resistor)才能輸出1 亦即該IO只有下拉到地的能力。 所以P0在做為IO時,必需外掛提升電阻才能使用。 因此,在8051做IO控制時,要注意四點: 1. 確定有提升電阻 2. 輸出1時相當於釋放pin,由提升電阻提供電壓準位,此時pin腳視為浮接。 3. 輸出0時相當於下接到地,因此會有一個電流消耗(V/R),因此提升電阻越大代表 輸出1時的速度越慢,但相對的輸出0時的電流消耗較小,一般內部的提升電阻在 數十K至數百K。 4. 做輸入前,需先輸出1以釋放pin腳。 現在,我們想利用8051來偵測燈泡是否有壞,硬體如下接法: VDD ┌──燈──┘ 電阻1 控制電流,不要也可以 │ p1.0─繼電器 p3.0──┤ 電阻2 約10k,此例暫不考慮電流過大的問題 │ 地 在一開始時,先將繼電器設為接通,一段時間後去偵測P3.0是否為1,若燈壞了,則 電流不通,此時電阻2會將P3.0的準位拉到地。因此就能知道燈是否壞了。 其實這個線路的問題還蠻多的,但理論上可通,實用上有問題。 -- 只要覺得有生命危險,就馬上四散逃走…… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.70.245.137
文章代碼(AID): #15mtK6fV (ASM)
文章代碼(AID): #15mtK6fV (ASM)