电源直接接到单片机的IO口会损坏单片机吗?我这么接有问题吗?

如下图,我想让单片机实时监测P0的状态,总共8路,当某一路开关接通后,监测到相应口变成高电平,执行相应的操作。
这样在开关断开时,P0口被下拉到了低电平,当开关接通后,变成高电平,但是相当于电源直接接到了P0口,会不会烧坏单片机?
上面要不要加个限流电阻?但是如果加限流电阻的话,阻值小了,起不到限流的作用,阻值大了,就会造成分压,导致P0口检测不到高电平。
我这么接对吗?可以实现我想实现的功能吗?

IO口,不建议这样接开关使用。这和单片机结构有关系:
1、51的输出,输出高电平 1 就是输出接了一个上拉电阻;

2、高电平 1 时通过内部上拉把IO拉高,用做输入口,
如果IO口外部是高电平,那读出来高电平,
如果是低电平,读出低电平;

3、有时作为输入的口并没有作输出用过,初始值为1,所以结果是正常的
如果你先将输入口置0,结果也许就会不一样。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-30
这样做到不至于烧坏单片机,但这个方案是不合理的,通常的做法是把S1和R1调换位置,这样做继安全功耗又低。追问

对调位置,在R1上始终有功耗呀,无论是开关接没接通,始终消耗功耗。我感觉还不如这样呀。

追答

51系列IO作为输入时软件上首先要写入1的,而且输入阻抗也是比较大的,电流值可以在芯片手册中查到。你刚才那个电路,一旦io输出低电平,那么就会灌入很大的电流,时间长了也可能烧坏这个引脚。

本回答被提问者采纳
第2个回答  2013-07-31
不会的plc输出是独立开点,
第3个回答  2013-07-31
这么接没问题。就像楼上说的,将S1和R1换个位置就更好了...
相似回答