技术文档

单片机p1 单片机实现直流电机控制的应用实例

小编 2024-10-09 技术文档 23 0

单片机实现直流电机控制的应用实例

直流电机的单向控制

直流电机的单向控制较为简单,可以通过开关的通断来接通和断开直流电源,实现电机的启动与停止控制,开关控制直流电机如图9-2所示。也可以通过三极管、场效应管、继电器等对直流电机的通断进行控制,采用三极管控制直流电机的电路如图9-3所示,图中的二极管为续流二极管,起到保护三极管的作用。

图9-2 开关控制直流电机电路图

图9-3 三极管控制直流电机电路图

提示

单片机控制直流电机的实际应用电路中,为了降低电机运行对单片机电源的影响,往往会采用光电耦合器件进行光电隔离。

【例9-1】 通过按键实现直流电机的停启控制

按键控制直流电机停启的电路如图9-4所示,通过P3.6口按键触发启动直流电机,P3.7口的按键触发停止直流电机的运行。由图9-4可知,当P1.0输出高电平“1”时,NPN型三极管导通,直流电机得电转动;当P1.0输出低电平“0”时,NPN型三极管截止,直流电机停止转动。

图9-4 按键控制直流电机停启电路图

C51程序如下:

直流电机的双向控制

直流电机的双向控制原理就是使加在直流电机两端的电源电压的极性可以实现切换。通常采用H桥电路进行控制。H桥控制的示意如图9-5所示,有1~4四个开关的不同状态实现电机的停止、正转、反转控制。

当四个开关均断开时,直流电机不得电,处于停止状态。

当开关1与4接通,开关2与3断开时,电流由左向右流过直流电机,电机处于正转状态。

当开关2与3接通,开关1与4断开时,电流由右向左流过直流电机,电机处于反转状态。

图9-5 H桥实现直流电机双向控制的示意图

【例9-2】 通过按键实现直流电机的正反转及停止控制

通过按键控制直流电机正反转及停止控制的电路如图9-6所示。由S1键的触发实现电机的正转运行,S2键的触发实现电机的反转运行,S3键的触发实现电机的停止控制。

通过对图9-6进行分析,可知通过对单片机的P1.0、P1.1口的控制即可实现电机的停止、正转和反转控制,P1.0、P1.1在不同状态下电路各部分的工作状态及电机状态如表9-1所示。

图9-6 按键控制直流电机正反转及停止控制的电路图

表9-1 P1.0、P1.1口控制过程及电路状态表

C51程序如下:

详解51系列单片机引脚及功能

51系列单片机有各种封装形式,这里以40引脚双列直插DIP形式的封装来进行介绍,如图1.1所示。其中正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。

图1.1 8051双列直插式的引脚配置

有些新型的单片机在引脚数量以及功能上都略有区别,但都是基于51系列单片机内核。这里介绍的内容同样适用于新型的单片机。下面介绍51系列单片机的引脚功能,这些是学习单片机程序设计必须要了解和掌握的基础知识。

❑电源引脚:主要负责单片机的供电,有两根引脚。VCC(Pin40)为正电源端,接5.0V电压;GND(Pin20)为接地端。

❑外接晶振或外部振荡器引脚:主要负责为单片机的运行提供时钟振荡器,主要有两根引脚。其中,XTAL1(Pin19)为时钟XTAL1脚,片内振荡电路的输入端;XTAL2(Pin18)为时钟XTAL2脚,片内振荡电路的输出端。

8051单片机的时钟振荡器有两种工作方式。一种是片内时钟振荡方式,在18和19脚外接石英晶体和振荡电容,振荡电容的值一般取10~30pF。另外一种是外部时钟方式,由外部直接提供时钟源。

❑P0口:即P0.0~P0.7(Pin39~Pin32),输入输出脚,可用于8位并行I/O口或分时复用为地址和数据总线。

P0定义为I/O口时,为准双向I/O口,需外接上拉电阻,在程序中向该端口写入1后,成为高阻抗输入口。P0口作为输出口时,每个引脚可以负载8个TTL。在外扩存储器时,可定义为低8位地址/数据线。

❑P1口:即P1.0~P1.7(Pin1~Pin8),输入输出脚,8位准双向并行I/O口。P1口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL;在Flash编程和校验时,定义为低8位地址线。

❑P2口:即P2.0~P2.7(Pin21~Pin28),输入输出脚,8位准双向并行I/O口。P2口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL;当访问外部存储器时,定义为高8位地址线。

❑P3口:即P3.0~P3.7(Pin10~Pin17),输入输出脚,8位准双向并行I/O口。P3口内部已经具有上拉电阻,为8位准双向I/O口,能负载4个TTL。

P3口每个引脚都具有第二功能。引脚P3.0(RXD)和引脚P3.1(TXD)分别为串行数据的接收和发送端口,用于串行数据传输;引脚P3.2和引脚P3.3为外部中断请求,分别用于

的中断输入;引脚P3.4(T0)和引脚P3.5(T1),分别为定时器/计数器T0和T1的外部计数输入端;引脚P3.6(

)和引脚P3.7(

)用于读写单片机片外RAM存储器,分别是外部数据写选通信号和读选通信号。

❑RST(Pin9):单片机内部CPU的复位信号输入端。在单片机的振荡器启动后,该引脚置两个机器周期以上高电平,便可以实现复位。

(Pin30):地址锁存使能端和编程脉冲输入端。

当访问外部程序存储器时,ALE引脚的负跳变将低8位地址打入锁存;而非访问内部程序存储器时,ALE引脚将有一个1/6振荡频率的正脉冲信号,该信号可以用于外部计数或时钟信号。当访问外部数据存储器(执行MOVX类指令)时,ALE引脚会跳过一个脉冲。另外,对8EH单元的特殊功能寄存器的D0位置1,可禁止ALE输出,只有在执行MOVX或MOVC类指令时,ALE才被激活,仍输出锁存有效。在执行片外程序代码时,该设定禁止ALE位无效。

(Pin29):访问外部程序存储器的读选通信号。

当单片机访问外部程序存储器,读取指令码时,每个机器周期产生2次有效信号,即此脚输出2个负脉冲选通信号;在执行片内程序存储器以及读写外部数据时,不产生

脉冲信号。

(Pin31):

为访问内部或外部程序存储器选择信号。

当8051 CPU访问外部程序存储器时,则

必须保持低电平;当

保持高电平时,则8051 CPU先从片内0000H单元开始,执行内部程序存储器程序;如果外部还有扩展程序存储器,则8051 CPU在执行完内部程序存储器程序后,自动转向执行外部程序存储器中的程序。

相关问答

单片机P1 =10101010和P1=0xaa结果不同我用语句P1=10101010结...

[最佳回答]keil中无法直接使用二进制数,就是说你写的10101010是十进制.可以找个头文件#include,之后就能写P1=b10101010了keil中无法直接使用二进制数,就是说...

单片机P1 |=0x01是什么意思?

P1|=0x01的意思是按位赋值,相当于按位与一样,就是给P1.0赋值1,其他的都为0,比如P1|=0xfe,意思就是P1.0为0,其余的都为1,相当于P1&(11111110)然后再赋值...

单片机 编程中 P1 ,P2,怎么是什么意思?

八位并行的输入/输出接口:P1.0~P1.7;P2.0~P2.7;P3.0~P3.7。还有八位数据/地址复用总线,也叫P0口。P2、P3口也是多功能的端口。八位并行的输入...

单片机 程序中 P1 _0=! P1 _0代表什么意思啊?

P1_0相当于P1.0。你看一下单片机的引脚排列图就知道是哪个了。P1_0相当于P1.0。你看一下单片机的引脚排列图就知道是哪个了。

【求 单片机 习题解答执行 ANLP1 ,#37H后,P(1.7)P(1.3)P(1.2)分...

[最佳回答]第一问,ANL是“位与”操作,其特点是有0则结果为0,全1结果才是1,设P1原来的数值转换成二进制是:xxxxxxxx,P1和#37H进行位与操作,37H的进制是00110...

p0 p1 p2有什么区别?

51单片机p0、p1、p2、p3口区别如下:一、意思不同P0口作输出口用时,需加上拉电阻。P0口有复用功能。当对外部存储器进行读写操作时,P0口先是提供外部存储器...

MSC-51 单片机p1 口的功能?

1.P1口是MSC-51单片机的一个I/O口,可以用于输入和输出。2.P1口可以通过程序控制来实现输入和输出功能,同时也可以通过硬件连接来实现特定的功能,如外部中断...

51 单片机p1 =oxff是什么意思,为什么要这样定义?

虽然你非常简短却暴露出许多问题,首先是P1=0xff;P大写,是0x不是ox,0xff是十六进制数,0x是C语言里面十六进制数的标识,十六进制数0xff转化为2进制就是1111111...

如何用 单片机 驱动马达?

1、首先第一步就是要马达连接到HC6800EM3单板上,注意的是要进行使用排线单片机P1端连接到马达控制芯片的输入端(4Pin口),确保P1.0~P1.3和即可。2、接着就要将...

51 单片机p1 点可以用于中断吗?

51单片机p1点可以用于中断。IT0表示INT0的中断方式,INT1表示INT1的中断方式当INT1=0时:低电平触发方式,意思是给INT0的引脚一个低电平的电压,中断变一直触...

 麦隆  2166 

猜你喜欢