用单片机控制直流电机转动和停止?1盏灯来表示!

用灯来区分工作和停止情况,不需要正反转,一直正转就可以!新手菜鸟学习中,希望能有连接的电路图,谢谢!... 用灯来区分工作和停止情况,不需要正反转,一直正转就可以!

新手菜鸟学习中,希望能有连接的电路图,谢谢!
展开
 我来答
c3344c
2013-05-04 · TA获得超过2418个赞
知道小有建树答主
回答量:966
采纳率:57%
帮助的人:672万
展开全部

特地为你制作的一个按钮改变LED亮/灭(电机启/停)的原理图和程序。

汇编程序:
         ORG0000H;复位后LED灭
MAIN:    JB P3.2,MAIN;等待按钮动作
         ACALL DELAY_50MS;按钮去抖动延时50毫秒
         JB P3.2,MAIN;确认按钮动作                       
         CPL P1.0;LED动作取反
         JNB P3.2,$;等待按钮释放
         SJMP MAIN

DELAY_50MS:MOV R2,#50;延时子程序
LOOP:      MOV R3,#200
LOOP1:     NOP
           NOP
           DJNZ R3,LOOP1
           DJNZ R2,LOOP
           END 
           
C语言程序:
#include <REG51.H>
#include <intrins.h>
#define uchar unsigned char
#define LED P1^0//LED引脚定义
#define KEY P3^2//按钮引脚定义
void DELAY(uchar MS);//延时函数声明
void main()
{
 while(1)
  {
   while(KEY);//等待按钮动作
   DELAY_50MS(50);//按钮去抖动延时50毫秒
   if(!KEY)LED = ~LED;//确认按钮动作,LED动作取反
   while(!KEY);//等待按钮释放
  }
}

void DELAY(uchar MS)
{
 uchar i;
 for(;MS>0;MS--)
 for(i = 200;i>0;i--)
 {
  _nop_();
  _nop_();
 }
}

更多追问追答
追问
可是这样不是没有把直流电机表示出来吗?
追答
“用单片机控制直流电机转动和停止?1盏灯来表示!”,这是你说的。所以楼上楼下都着这么回答你,要控制直流电机需要再加一个三极管,把“1盏灯”换成一个三极管,是这个意思吗?还是既要1盏灯也要电机驱动?
德马克电机
2024-10-29 广告
直流伺服电机,是一种高精度、高性能的电机,主要分为有刷和无刷两种类型。有刷直流伺服电机成本低、结构简单、启动转矩大,适用于对成本敏感的普通工业和民用场合。无刷直流伺服电机则体积小、重量轻、出力大、响应快,且易于实现智能化,效率高、噪音小、电... 点击进入详情页
本回答由德马克电机提供
瘦成一导闪电呀
高粉答主

推荐于2016-08-28 · 每天分享健身知识,希望每位小仙女走路带风
瘦成一导闪电呀
采纳数:1266 获赞数:52258

向TA提问 私信TA
展开全部
51单片机对直流电机的转动,是通过高低电平来控制的
直流电机有两根线,分别简称为正和负
第一种情况,当正接电源负接地的时候,电机正转
第二种情况,当正接地负接电源的时候,电机反转
第三种情况,当正和负都接电源或者都接地的时候,电机停止
综上,51单片机通过IO口连接电机的正和负
然后给高低电平,就可以控制直流电机正转和反转了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
休闲居大伟
2013-05-04 · TA获得超过5419个赞
知道大有可为答主
回答量:6865
采纳率:91%
帮助的人:1.1亿
展开全部
#include <REG52.h> //通用89C52头文件
sbit KEY1 = P2 ^ 0; //设置按键接在P2.0
sbit KEY2 = P2 ^ 1; //设置按键接在P2.1
sbit LED = P2 ^ 1; //设置显示接在P2.2
/*********************************************************************************************/
/*********************************************************************************************/
void main( )
{
LED=1;//单片机端口0有效,先设置为1,停止运转
while(1)
{
if(KEY1 == 0) { LED=0; }//如果按下启动键,则点亮LED,电机运转
if(KEY2 == 0) { LED=1; }//如果按下停止键,则熄灭LED,电机停转
}
}
/*********************************************************************************************/
/*********************************************************************************************/
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
恶一人01
2013-05-04 · TA获得超过143个赞
知道答主
回答量:36
采纳率:0%
帮助的人:24.4万
展开全部

 

代码用1楼,我做个原理图

追问
可是这样不是没有把直流电机表示出来吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GUEL86
2013-05-04 · TA获得超过5855个赞
知道大有可为答主
回答量:5538
采纳率:86%
帮助的人:2680万
展开全部

单片机控制直流电机转动和停止 仿真实例,供参考

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式