单片机的低电平被拉高了怎么办呢~~~~(>_<)~~~~
我正在做一个简易的电机驱动,想让I/O口的高低电平控制电机是否转动。
电路是这样的
,
我实际连了下,电机可以转动,但是发现I/O置0时电机还在转动,用万用表测只是I/O口电压居然有3v左右
是P1口。
请问这该怎么解决?
三极管我用的是c2655 是npn型的
建议你看一下三极管手册,12V最好用mos管的
你的电路也不对
有两个问题,1是单片机p1口默认就是高电平,所以电机停止时p1口应该高电平,转动时p1口应该是低电平,所以置0时根据你的电路电机不停正常。2是1k电阻的左端应该有一个电阻接地,上端接集电极这样电路才正常。
没太明白 1的话没看懂是什么意思,P1口默认是高电平我懂,但后面说的我有点不明白什么意思。这是代码
- #include<reg52.h>
- #define Motor P1
- void main()
- {
- Motor=0x01; //除了P1^0都是低电平
- while(1)
- {
- ;
- }
- }
#include<reg52.h>
#define Motor P1
void main()
{
Motor=0x00;
Motor=0x01; //除了P1^0都是低电平
while(1);
}
你应该看看PNP管的手册。
8550是PnP三极管,基极为低电位时导通,单片机低电位时+5V过8550经1K电阻给8050的基极,而8050是NPN管,高电位时导通,5V的电位经过8550--和1K电阻到8050基极,8050导通电机转动是对的
谢谢啦,我实际用的是c2655 npn型的
忘了说我其实用的是npn型的c2655
l两个三极管基极都加个10K电阻到地
因为你的单片机脉冲是悬浮的,你不信用示波器看一下吧,下拉电阻加上,就没问题了
学习!
从你的电路来看IO口低电平时才可以转动的,只有高电平才停止,
从前面热心网友和小编的回复来看,小编的原理图设计方面还需要调整。 使用NPN时,NPN基极串接电阻接单片机的I/O口, 集电极作为下一个NPN的基极; 当然这个只是简单实现功能,真正电路图这样设计还是有bug的。 建议查看张老师的视频。@松山归人
是的,是我忘了说我实际用的是npn型的三极管 c2655
谢谢,我打算买pnp的试试^^
好的,欢迎分享测试结果!
建议你两个都选用8050 NPN,这样单片机的高低电平就可以比价稳定的控制