最近有些I/O口电压问题总是不怎么清楚,困惑如下
例如:当我把某一个I/O口付为高电平,而某时刻被外部因素拉低,当外部因素去除,此时此I/O电平是高还是低??
#include<reg52.h>
sbit k0=P1^0;
sbit k1=P1^1;
void main()
{
while(1)
{
k1=0;
k0=1;
}
}
k0,k1接直流电机的正负极,这样电机会转动么?
如果不会,是什么原因?并且怎么控制电机的正转与反转?
小弟第一次发帖,在此谢谢各位大侠了!!!
------解决方案--------------------
要是直流电机,我觉得应该会转啊。
量下管脚电平。
------解决方案--------------------
1)外部因素的拉低去掉之后,电平将恢复原来输出的高电平;
2)P1端口的没一脚的驱动能力都非常弱,早期的P1.0等只有0.5毫安左右的输出能力。这个电流根本无法直接驱动电机;
3)为了驱动电机,可以采用场效应管或IGBT等进行功率放大,由场效应管或IGBT等来驱动电机。
------解决方案--------------------
lz 忘了有一种东西叫 驱动器
------解决方案--------------------
恩,你先移除电机测量下两个口电电平,应该是没问题的,现在的问题是单片机的IO口的驱动电流没有那么大,你可以采用三极管或者继电器之类的来间接的驱动电动机比较好一点。有时候不工作不是电压不够,而是电流不够,就行单纯的高压电不死人,50mA的电流缺可以使人致死一样的。
------解决方案--------------------
第一个问题,你把IO付为高电平,就是输出高电平了,既然IO口设为输出了,不管你外部什么情况,它都是输出高电平。
第二个问题,要加上驱动,BTS7960,7970都可以。你K0接正极,K1接负极,(k0=1,k1=0)就是正转,(K0=0,K1=1)就是反转,正反转的速度可以用PWM波控制。
------解决方案--------------------
没有驱动,高电平也会被拉低的,但去掉负载后,仍然是高电平。
------解决方案--------------------
单片机的IO口驱动能力不够
------解决方案--------------------
单片机的IO口驱动能力不够