0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用8051单片机控制双向直流电机

科技观察员 来源:英锐恩 作者:英锐恩 2023-07-07 10:58 次阅读

如何将直流电机连接到8051单片机?在本文中,主要有8051单片机+DC电机系统两个部分。首先是带有控制电机所需程序的8051单片机,其次是合适的驱动电路

大多数直流电机的功率要求远远超出了单片机的范围,而且在反转旋转方向时产生的电压尖峰更容易损坏单片机。因此将直流电机直接连接到单片机是不明智的,完美的解决方案是在单片机和直流电机之间使用电机驱动电路。

一、L293电机驱动芯片

L293是一款专用的H桥电机驱动器IC,采用16引脚封装。L293的电流容量为600mA/通道,电源电压范围为4.5至36VDC。它们配有内部高速钳位二极管,用于电感尖峰保护。L293的其他优点包括高抗噪性、内部ESD保护、热关断、每个通道的独立输入电源等。L293电机驱动器的引脚排列和真值表如下图所示:

L293-pinout.png

二、使用8051单片机控制双向直流电机

这里的双向直流电机,它在预设时间(约1秒)后自动改变方向。AT89S51是这里使用的单片机,L293构成电机驱动器。电路图如下所示:

interfacing-dc-motor-8051.png

在电路元件R1、S1和C3中形成去抖动复位电路。C1、C2和X1与振荡器有关。端口引脚P1.0和P1.1连接到L293电机驱动器的相应输入引脚。电机连接在L293的输出引脚3和6之间。软件是这样写的,P1.0和P1.1的逻辑组合控制电机的方向。最初接通电源时,P1.0为高电平,P1.1为低电平。该状态保持预设时间(约1S),此时电机将沿顺时针方向运行(参见L293的功能表)。然后P1.0和P1.1的逻辑被交换并且这个条件也保持相同的持续时间。

控制程序1:

ORG 00H
MAIN: MOV P1,#00000001B
ACALL DELAY
MOV P1,#00000010B
ACALL DELAY
SJMP MAIN
DELAY: MOV R4,#0FH
WAIT1: MOV R3,#00H
WAIT2: MOV R2,#00H
WAIT3: DJNZ R2,WAIT3
DJNZ R3,WAIT2
DJNZ R4,WAIT1
RET
END

三、带按钮控制的双向电机

下面显示的电路是基于8051单片机的双向电机,其方向可以使用2个按钮开关控制。除了两个按钮开关之外,该电路与前一个电路非常相似。这些按钮开关连接到单片机的P0rt3。电阻R2和R3分别是P3.0和3.1的下拉电阻。

interfacing-dc-motor-8051-push-button.png

上述项目的代码是这样编写的,最初当电源打开时,电机保持关闭。当按下按钮开关S2时,P1.0变为高电平,而P1.1保持低电平。电机按顺时针方向运行,此状态一直保持到按下S3。当按下按钮开关S3时,P1.0和P1.1的逻辑切换,使电机以相反方向运行,这种状态一直保持到下一次按下S2。

控制程序2:

ORG 00H
MOV P3,#00000000B
MOV P1,#00000000B
MAIN:MOV A,P3
CJNE A,#00000001B,LABEL1
MOV P1,#00000001B
LABEL1:CJNE A,#00000010B,LABEL2
MOV P1,#00000010B
LABEL2:SJMP MAIN
END

检查特定按钮是否被按下是使用CJNE(如果不相等则比较并跳转)指令完成的。简而言之,CJNE指令比较两个操作数,如果操作数不相等,则跳转到预定义的LABEL。如果两个操作数相等,则不会发生任何事情并执行下一条指令。每当按下按钮S2时,P3的状态将是00000001B。该状态被移动到累加器A并使用CJNE指令与00000001B进行比较。两个操作数相等表示按下S2,执行下一条使电机顺时针转动的指令(MOV P1,#00000001B)。如果操作数不相等,则表示没有按下S2,控制器跳转到LABEL1以检查S3。要检查S3,P3的状态再次移动到A,并使用CJNE指令与00000010B进行比较。两个操作数相等表示按下S3,执行下一条使电机逆时针运行的指令(MOV P1,#00000010B)。两个操作数不相等意味着S3未被按下,控制器再次检查S2并重复此循环。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 直流电机
    +关注

    关注

    36

    文章

    1708

    浏览量

    70065
  • 8051单片机
    +关注

    关注

    5

    文章

    153

    浏览量

    25478
收藏 人收藏

    评论

    相关推荐

    51单片机直流电机控制

    方便的实现电机的智能控制。主体电路:即直流电机PWM控制模块。这部分电路主要由AT89C52单片机的I/O端口、定时计数器、外部中断扩展等
    发表于 08-06 15:42

    单片机控制直流电机

    如何用单片机控制直流电机,需要准备什么?能发一下代码吗?我现在有51单片机控制板和一个直流电机
    发表于 07-12 15:57

    单片机控制直流电机

    单片机控制直流电机 本设计以AT89C51单片机为核心,以4*4矩阵键盘做为输
    发表于 10-27 17:52 1.1w次阅读
    用<b class='flag-5'>单片机</b><b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>

    基于AVR单片机的无刷直流电机控制系统设计

    基于AVR单片机的无刷直流电机控制系统设计
    发表于 03-06 15:51 158次下载
    基于AVR<b class='flag-5'>单片机</b>的无刷<b class='flag-5'>直流电机</b><b class='flag-5'>控制</b>系统设计

    单片机控制直流电机

    单片机控制直流电机,很好的C语言资料,快来学习吧。
    发表于 04-26 09:27 72次下载

    基于51单片机控制直流电机

    基于51单片机直流电机驱动程序你能耐V型微分 擦省点钱
    发表于 05-16 11:05 23次下载

    基于单片机的红外遥控直流电机控制系统设计

    基于51单片机的红外遥控直流电机控制系统设计
    发表于 01-22 21:03 48次下载

    基于AVR单片机实现的直流电机PWM调速控制

    基于AVR单片机实现的直流电机PWM调速控制
    发表于 10-15 10:19 28次下载
    基于AVR<b class='flag-5'>单片机</b>实现的<b class='flag-5'>直流电机</b>PWM调速<b class='flag-5'>控制</b>器

    使用51单片机控制直流电机调速的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机控制直流电机调速的程序免费下载,通过P1.0口来控制直流电机的旋转的快慢。
    发表于 06-13 17:45 48次下载
    使用51<b class='flag-5'>单片机</b><b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>调速的程序免费下载

    使用51单片机控制直流电机的代码免费下载

    本文档的主要内容详细介绍的是使用51单片机控制直流电机的代码免费下载包括了:点动控制两个直流电机正反转电位器调速,分别
    发表于 06-24 08:00 25次下载
    使用51<b class='flag-5'>单片机</b><b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>的代码免费下载

    单片机控制直流电机基本原理

    直流无刷电动机在交通、轮毂电机、机械、纺织、航空等领域中已经得到广泛的应用。以往的直流无刷电动机控制只是简单的控制
    的头像 发表于 08-07 21:33 1.2w次阅读

    单片机入门汇编程序--直流电机单片机控制

    单片机入门汇编程序--直流电机单片机控制(15kvaups电源技术协议)-该文档为单片机入门汇编程序--
    发表于 09-22 14:37 38次下载
    <b class='flag-5'>单片机</b>入门汇编程序--<b class='flag-5'>直流电机</b>的<b class='flag-5'>单片机</b><b class='flag-5'>控制</b>

    51单片机控制直流电机的程序和电路

    51单片机控制直流电机的程序和电路(电源技术发展怎么样)-51单片机控制直流电机的程序和电路,使
    发表于 09-24 12:52 112次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>控制</b><b class='flag-5'>直流电机</b>的程序和电路

    单片机操作直流电机

    单片机操作直流电机(电源技术研讨会武汉)-单片机操作直流电机控制电机的转速,PWM
    发表于 09-27 15:02 33次下载
    <b class='flag-5'>单片机</b>操作<b class='flag-5'>直流电机</b>

    基于51单片机直流电机控制系统Proteus仿真

    基于51单片机直流电机控制系统Proteus仿真
    发表于 02-07 15:37 188次下载