微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 单片机的低电平被拉高了怎么办呢~~~~(>_<)~~~~

单片机的低电平被拉高了怎么办呢~~~~(>_<)~~~~

时间:10-02 整理:3721RD 点击:

我正在做一个简易的电机驱动,想让I/O口的高低电平控制电机是否转动。
电路是这样的


我实际连了下,电机可以转动,但是发现I/O置0时电机还在转动,用万用表测只是I/O口电压居然有3v左右
是P1口。
请问这该怎么解决?
三极管我用的是c2655 是npn型的

建议你看一下三极管手册,12V最好用mos管的

你的电路也不对

有两个问题,1是单片机p1口默认就是高电平,所以电机停止时p1口应该高电平,转动时p1口应该是低电平,所以置0时根据你的电路电机不停正常。2是1k电阻的左端应该有一个电阻接地,上端接集电极这样电路才正常。

没太明白 1的话没看懂是什么意思,P1口默认是高电平我懂,但后面说的我有点不明白什么意思。这是代码

  1. #include<reg52.h>
  2. #define Motor P1
  3. void main()
  4. {
  5.     Motor=0x01;           //除了P1^0都是低电平
  6.         while(1)
  7.         {
  8.                 ;
  9.         }
  10. }

复制代码

2的话为什么需要那个额外的电阻哦

#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,这样单片机的高低电平就可以比价稳定的控制

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top