关于单片机和ULN2003连接的问题

我是单片机初学者,有个问题不明白,单片机I/O端口输出电平控制ULN2003的时候,ULN2003的输入端口是高电平有效,打个比方,2003的1脚输入高电平,16脚就输出低电平,因为继电器一端接的是电源,另一脚接的2003的16脚,所以继电器吸合,但问题是单片机的各I/O脚复位后都是呈高电平状态,那岂不是让继电器不用控制直接吸合了?如何解决这个问题呢?如何让ULN2003在输入端是低电平的时候让继电器吸合呢?

不知道我表达的是否够清楚,能不能看懂我的意思?

你说的这个情况不会出现。 单片机复位后,即使在程序没有执行前,I/O引脚处于高电平状态,那么复位后也是引脚处于输入状态,也就是,你的程序没有执行,没有初始化I/O前,它默认的是引脚处于输入状态,即使是高电平,但内部阻抗很高,根本不能驱动2003,接上2003后,电平一下被拉低了,但不足以驱动2003导通。 当复位过后,程序初始化执行了,用户自己的程序将I/O初始化为输出引脚,这时虽然有驱动能力了,但是同时程序使其输出为低电平,这样也不会驱动2003, 只有需要的时候,才用指令驱动。
另外,5V的单片机系统,应当使用2803更为合适,它更适合与TTL电平驱动。2003也是能用的,但不如2803更好
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-22
中间用非门作为反相器,如何?

或者在继电器上做文章,原来接的是常开触点就改成常闭触点。
第2个回答  2011-08-22
非得用2003吗,可以换用别的线路。
第3个回答  2011-08-22
你可以换个引脚接继电器
第4个回答  2018-10-14

相似回答