作者ruemann (此人挂网中……)
看板ASM
标题[闲聊] 8051的输出输入及电压侦测
时间Sat Feb 3 01:29:39 2007
众所周知的,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