单片机的IO引脚驱动能力有限,当上拉电阻过小,电流超过它的驱动能力时,写0无效,只要电阻大小合适是可以输出0的。
如果行程开关接引脚和+5V时,需要加下拉电阻,建议按fzfh说的接引脚和GND,限流电阻可以不加。
补充的问题是因为单片机上电复位后所有IO引脚默认都是输出1的,需要程序置零,你的电机一般是设置在IO输出1时动作,需要更改电路使其在引脚输出0时工作,这样就不会误动作了。
直接用一个行程开关接到单片机的引脚,另一端接+5V,让单片机读取行程开关的状态---------行程开关接到单片机的引脚这一端加个4k7到10K的下拉电阻
加上拉电阻后,对该IO写0是有效的,但上拉电阻要取得合适,一般为10k到100k.--补充:写1其实也是有效的。
以下回答针对51单片机:
1、加上拉电阻后,对该IO写0是有效的,但上拉电阻要取得合适,一般为10k到100k.
2、行程开关的一端接单片机IO口,另一端接地,只有这样电路才能工作,如果你使用的是单片机的P0,那么必须要加一个上拉电阻。如果使用其它IO(如P2,P3,P1),则可以不加上拉。
注:如果使用的不是51系列单片机,另当别论。
gook luck!