基于51单片机的步进电机设计.docx

上传人:b****8 文档编号:11114238 上传时间:2023-02-25 格式:DOCX 页数:10 大小:464.16KB
下载 相关 举报
基于51单片机的步进电机设计.docx_第1页
第1页 / 共10页
基于51单片机的步进电机设计.docx_第2页
第2页 / 共10页
基于51单片机的步进电机设计.docx_第3页
第3页 / 共10页
基于51单片机的步进电机设计.docx_第4页
第4页 / 共10页
基于51单片机的步进电机设计.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

基于51单片机的步进电机设计.docx

《基于51单片机的步进电机设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的步进电机设计.docx(10页珍藏版)》请在冰豆网上搜索。

基于51单片机的步进电机设计.docx

基于51单片机的步进电机设计

系统整图

系统整图如图3-1所示,本系统采用外部中断方式,p0口作为信号的输入部分,p1口为发光二极管显示部分,p2口作为电机的驱动部分。

电源部分

利用LM7812和LM7805芯片得到12V和5V的电压,它们的应用要注意以下几点:

(1)输入输出压差不能太大,太大则转换效率急速降低,而且容易击穿损坏;

(2)输出电流不能太大,1.5A是其极限值。

大电流的输出,散热片的尺寸要足够大,否则会导致高温保护或热击穿;(3)输入输出压差也不能太小,大小效率很差。

其中12V电压给步进电机供电,5V电压则给单片机供电。

分别如图3-2、图3-3所示。

(1)、产生12V的电压给步进电机供电

(2)产生5V的电压给单片机供电

按键部分

本次设计选用的是单片机的P0口来控制信号的输入,所以把按键开关和P0口连接起来,当按下开关S1时,相当于给P0.0口一个低电平;当按下开关S2时,相当于给P0.1口一个低电平;当按下开关S3时,相当于给P0.2口一个低电平;当按下开关S4时,相当于给P0.3口一个低电平;当按下开关S5时,相当于给P0.4口一个低电平。

然后通过单片机实行相应的操作。

如图3-4。

驱动部分

此电路是步进电机的驱动部分,我选用的是ULN2004芯片来驱动的,ULN2004系列是一款高耐压,大电流达林顿管驱动器,包含7个NPN达林顿管。

如图3-5。

 

状态指示部分

状态指示用P1口控制发光二极管的显示,如果相应端口是低电平,相应的发光二极管就会亮,用它来表示步进电机所处的状态。

如图3-6。

实物图:

源程序清单

QIANEQU40H

HOUEQU41H

JIAEQU42H

JIANEQU43H

TINGEQU44H

 

ORG000H

LJMPMAIN

ORG003H

LJMPDUAN///外部中断0

ORG0030H

MAIN:

///初始化

MOVR0,#0FH

MOV10H,#01H

MOV11H,#03H

MOV12H,#02H

MOV13H,#06H

MOV14H,#04H

MOV15H,#0CH

MOV16H,#08H

MOV17H,#09H

MOV20H,#50

MOV21H,#40

MOV22H,#30

MOV23H,#20

MOV24H,#10

MOV25H,#5

MOVR1,#20H

MOVIE,#B

CLRQIAN

CLRHOU

CLRJIA

CLRJIAN

CLRTING

MOVA,@R1

MOVR2,A

SETBIT0////边沿触发形式

LOOP1:

JNBQIAN,LOOP2

ACALLFRONT1

LOOP2:

JNBHOU,LOOP1

ACALLBACK1

DUAN:

MOVA,P0

CPLA

ANLA,#1FH///去高三位,使按下去的一位为1

CJNEA,#00H,CHA

AJMPDUAN

CHA:

ACALLDELAY10MS

MOVA,P0

CPLA

ANLA,#1FH

JZDUAN///为零转移

ACALLZHAO

RETI

ZHAO:

MOVA,P0//查找是哪一位,下面置1

JNBACC.0,FRONT

JNBACC.1,BACK

JNBACC.2,FAST

JNBACC.3,SLOW

JNBACC.4,STOP

FRONT:

SETBQIAN

RET

BACK:

SETBHOU

RET

FAST:

SETBJIA

RET

SLOW:

SETBJIAN

RET

STOP:

SETBTING

RET

FRONT1:

CLRQIAN

CLRHOU

CLRJIA

CLRJIAN

CLRTING

INCR0///前进子程序R0用于给P2口送不同的值

MOVP2,@R0

MOVA,@R1

MOVR2,A///R2用于延时不同的时间

ACALLDELAY

CJNER0,#17H,XIA

MOVR0,#10H

XIA:

JBQIAN,HUI//回主程序////////XIA子程序用于过度

JBHOU,HUI

JBTING,HUI

JNBJIA,XIA1

ACALLJIA1

XIA1:

JNBJIAN,XIA2///XIA子程序用于过度

ACALLJIAN1

JBTING,HUI

XIA2:

AJMPFRONT1

HUI:

RET//返回主程序

JIA1:

CJNER1,#25H,XIA3///加速

RET

XIA3:

INCR1

RET

BACK1:

CLRQIAN//后退

CLRHOU

CLRJIA

CLRJIAN

CLRTING

CJNER0,#0FH,XIA8

MOVR0,#17H

XIA8:

DECR0

MOVP2,@R0

MOVA,@R1

MOVR2,A

ACALLDELAY

CJNER0,#10H,XIA5

MOVR0,#17H

XIA5:

JBQIAN,HUI

JBTING,HUI

JBHOU,HUI

JNBJIA,XIA6

ACALLJIA1

XIA6:

JNBJIAN,XIA7

ACALLJIAN1

XIA7:

AJMPBACK1

JIAN1:

CJNER1,#20H,XIA4//减速

RET

XIA4:

DECR1

RET

DELAY10MS:

MOVR3,#20

D1:

MOVR4,#250

DJNZR4,$

DJNZR3,D1

RET

DELAY:

MOVR5,#50//根据r2的状态调整步进电机的每一步的时间

D2:

MOVR6,#150

D3:

DJNZR6,$

DJNZR5,D2

DJNZR2,DELAY

RET

END

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1