打印

要IO输入“零”,哪种接法比较好?

[复制链接]
2564|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hdz05|  楼主 | 2008-3-25 18:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求教:
要单片机的普通IO输入“0”,哪种接法比较好?各有何利弊?
方法1:
    直接将IO接地;
    图示:IO---GND
方法2:
    串联一个47K的电阻再接到地,
    图示:IO---47K电阻---GND


但如果同时要多个IO都输入一个“O”,又该怎样接呢?
方法1:
    并在一起,然后接地;
    IO---|
    IO---|
    IO---|---GND
方法2:
    并在一起,然后串接一个电阻接地;
    IO---|
    IO---|
    IO---|---47K电阻---GND
方法3:
    先单独串接一个电阻后,再并在一起接地;
    IO---47K电阻---|
    IO---47K电阻---|
    IO---47K电阻---|---GND

望各位大虾指教!谢谢!!
    

相关帖子

沙发
etual| | 2008-3-25 19:09 | 只看该作者

没有研究过这个 ........

实际用的效果一样的,不知道有啥差别呢? 个人习惯用第三种
不过实际用的过程中,基本上只会缺IO口,很少说多出这么多IO 的情况 ......

使用特权

评论回复
板凳
sibaidong| | 2008-3-25 19:21 | 只看该作者

我选择方法2

使用特权

评论回复
地板
onemillion| | 2008-3-25 19:59 | 只看该作者

电阻是多余的,

47K太大了,要接100欧姆就可以了,防止输出为1的情况

使用特权

评论回复
5
平常人| | 2008-3-25 21:31 | 只看该作者

楼主还是说说你用的是什么器件?

一般可直接接地,但如果有输入上拉则要根据情况选择方案2或3。

使用特权

评论回复
6
IceAge| | 2008-3-25 22:55 | 只看该作者

并在一起,然后接地

不用搞那么复杂。

使用特权

评论回复
7
原野之狼| | 2008-3-25 23:04 | 只看该作者

我个人认为还是这个好...

方法3:
    先单独串接一个电阻后,再并在一起接地;
    IO---47K电阻---|
    IO---47K电阻---|
    IO---47K电阻---|---GND

否则一不小心程序误操作,把端口损坏了...

使用特权

评论回复
8
IceAge| | 2008-3-26 02:15 | 只看该作者

回 原野之狼

若是 51 mcu,则无此忧虑。其他的,烧了就当作是教训。

使用特权

评论回复
9
hdz05|  楼主 | 2008-3-26 09:32 | 只看该作者

IO是OD门

个人理解:
如果IO口的结构是OD门,应该是可以选择“方法1”和“方法2”
方法1:
    并在一起,然后接地;
    IO---|
    IO---|
    IO---|---GND
方法2:
    并在一起,然后串接一个电阻接地;
    IO---|
    IO---|
    IO---|---47K电阻---GND

但如果是推挽式结构的IO,为防止误操作,则需避开多IO口线短接在一起,需选择“方法3”
    IO---47K电阻---|
    IO---47K电阻---|
    IO---47K电阻---|---GND

但是还有一个问题就是:要IO输入的是“0”,但“2”“3”是串联电阻后再接地,如此一来,由于电阻的作用,就一定能保证“0”输入嘛?
如果不能,对于推挽式结构,要保证多个IO同时准确的输入一个“0”,那该怎么办?

使用特权

评论回复
10
ayb_ice| | 2008-3-26 11:53 | 只看该作者

通过电阻可以起到保护作用

尤其是IO功能多的MCU....

使用特权

评论回复
11
平常人| | 2008-3-26 21:17 | 只看该作者

搞不懂了,OD或推挽式结构都是输出端口,可楼主要求的是输

强制把输出端口拉低,用意何在?这样是很危险的!

使用特权

评论回复
12
Swd21ic| | 2008-3-26 22:06 | 只看该作者

...Re

搞不太懂 ..

哪个可以细讲下这几种方法的区别么..?

又可以学到一些知识了.呵呵

使用特权

评论回复
13
IceAge| | 2008-3-26 23:02 | 只看该作者

re: 平常人

这是因为有些人对自己的程序没有信心,认为程序或许偶然会把输入端口置成输出,加个电阻会安慰他们心中的不安。

使用特权

评论回复
14
涛行九天| | 2008-3-26 23:45 | 只看该作者

通常

47k的下拉实在太弱了,通常在下拉的场合,一般选择1k的电阻。
不同的mcu内部的上拉电阻是不同,如果有些mcu内有强上拉,你加个47k的下拉电阻可能起不到下拉到‘0’的作用。

一般来讲,如果这个口线不做变化,就是输入0,那就直接接地就行。
如果需要变化,那就强下拉。

使用特权

评论回复
15
hdz05|  楼主 | 2008-3-27 12:45 | 只看该作者

呵呵···

呵呵···如“IceAge”所说,是有“加个电阻会安慰他们心中的不安”这个因素,安全第一,难保程序大了状态会转到什么地方去,飞掉就可怕了;还有就是悬空时的抗干扰了。
对与上拉比较简单,但对于下拉的“0”,就总担心由于串接电阻的原因导致“0”输入变掉了,就如楼上“涛行九天”所说了。
对自己的设计存在疑问,所以请大家帮忙指导指导,再次表示谢谢!!

使用特权

评论回复
16
涛行九天| | 2008-3-27 18:26 | 只看该作者

如果担心悬空管脚的影响

可以程序中对对悬空管脚初始化一下,通常emc做一些工作,悬空管脚不会有什么影响

使用特权

评论回复
17
平常人| | 2008-3-27 21:51 | 只看该作者

佩服IceAge的判断,真是一语中第

如果真是这样,此题无解!这是因为程序跑乱后谁能知道它是变成什么样,看样子你只能分析管脚的所有输出状态,看看能不能找到一个折衷的方案了。

使用特权

评论回复
18
tom_xu| | 2008-4-9 10:36 | 只看该作者

直接接地阿!

串那么多电阻再接地,老板不把你的脑袋给敲了。

使用特权

评论回复
19
农民讲习所| | 2008-4-9 10:44 | 只看该作者

直接接地,烧也是烧输出口,不会烧输入口。

误操作也不怕,烧了也能正常工作。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

48

帖子

1

粉丝