[閒聊] 8051的輸出輸入及電壓偵測
眾所週知的,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
ASM 近期熱門文章
PTT數位生活區 即時熱門文章