PIC24HJ单片机一上电IO口为什么为输出高电平?

[复制链接]
 楼主| ANDY_MQY 发表于 2009-2-10 17:18 | 显示全部楼层 |阅读模式
我用PIC24HJ单片机3.3V输出的IO口,外接5V上拉电阻,然后用IO控制ULN2003驱动蜂鸣器和继电器,使用时,上电瞬间,蜂鸣器和继电器都是输出高电平约0.5秒(继电器和蜂鸣器都响一声),然后进入运行,单片机IO口可以控制蜂鸣器和继电器。什么原因呢?请各位指教,谢谢!
NE5532 发表于 2009-2-10 22:48 | 显示全部楼层

我用PIC24HJ单片机3.3V输出的IO口,外接5V上拉电阻

一般单片机在复位期间IO都是置位输入状态,你加个上拉,复位期间,2003看到的输入不是高电平么?

电路设计有问题,你要保证复位状态下,各单元不会误动作,你该加下拉而不是上拉,或者干脆不加。

因为2003是达灵顿结构,IO悬浮的时候,也不会开通的。
xhtxzxw 发表于 2009-2-10 22:51 | 显示全部楼层

嘿嘿

你给IO脚后面反个相再驱动你的继电器就是了嘛!
片子设计的时候,就这么定的:加电IO就给高!
NE5532 发表于 2009-2-10 22:52 | 显示全部楼层

另外,你给3V的IO加5V的上拉,本身就有错。

原因自己想,提示:看端口内部构造。
牧狼者 发表于 2009-2-11 07:44 | 显示全部楼层

3V IO加5V上拉没错

  24X有开漏极功能,你上电初始化IO估计不及时或者复位时间太长了?示波器看看是不是上电电压畸变了?
andy_mqy 发表于 2009-2-11 10:25 | 显示全部楼层

将IO配置为数字输出方式

我将IO口配置为数字输出方式,而不是开漏输出方式,然后去掉5V上拉,就没有一上电继电器和蜂鸣器先动作一下的情况了。但是直接用3.3V输出IO口控制ULN2003,觉得不保险。
NE5532 发表于 2009-2-11 20:54 | 显示全部楼层

楼主,设计不是靠“觉得”

是靠依据,你看了IO的驱动能力吗?看了2003的输入驱动要求吗?看了开漏端口是否有内部ESD保护二极管了吗?

如果没有,你搞设计就是在撞大运,总有翻车的时候。
星星ARM 发表于 2013-8-17 22:53 | 显示全部楼层
是呀 你这样是不保险的做法
doob 发表于 2013-9-9 09:47 | 显示全部楼层
按NE5532去做,做产品不要靠碰巧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

86

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部