收藏 分销(赏)

步进电机控制及其汇编程序.docx

上传人:仙人****88 文档编号:9400756 上传时间:2025-03-24 格式:DOCX 页数:5 大小:176.47KB
下载 相关 举报
步进电机控制及其汇编程序.docx_第1页
第1页 / 共5页
步进电机控制及其汇编程序.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述
综合实践报告之第二次大作业 题目:步进电机控制设计 说明:在工业电气自动化工程中,步进电机是一种常用的控制设备,它以脉冲信号控制电机的转速,在数控机床、仪器仪表、计算机外围设备以及其它自动设备中有广泛的应用。 步进电机是指一步步走的电动机,所谓“步”指转动角度,每步都会使电机转过一个固定的角度。步进电机有不同的种类,但其控制方法均相同,均以脉冲信号进行驱动,很适合使用单片机来进行控制。 本次大作业要求设计一个步进电机的控制部分。 已知: 1. 采用2相制5线步进电机,其结构如下图所示,线圈中心抽头X1与X2连接在一起; 2. 步进电机采用1相激磁法,即在每一个瞬间只有一个线圈导通,其它线圈休息; 3. 单片机与步进电机之间可采用ULN2003类的驱动IC; 要求: 1. 查找资料,设计出步进电机的硬件连接电路图; 2. 给出控制软件流程图; 3. 用汇编语言写出控制软件的代码。 提示:本作业对电机的转动方向不做要求,在实际应用中,改变线圈激磁的顺序可以改变步进电机的转动方向,每送一次激磁信号后应经过一小段时间延时,让步进电机有足够的时间建立激励磁场及转动。可以使用单片机的P0.0~P0.3端口输出控制信号,经驱动IC传至步进电机。 一. 电路图设计说明 此控制电路选用AT89S51型单片机作为驱动时序的输出控制器,其P0.1-P0.3输出作为两相四线步进电机的时序信号,经过驱动芯片ULN2003放大后输入到两相四线步进电机的输入端口;单片机P1.0-P1.2作为控制指令的输入按键K1-K3的输入端口,K1为电机正转按键,K2为电机正转按键,K3为电机停止按键,这三个按键均为高电平输入有效,按一下K1电机正转,按一下K2电机反转转,按一下K3电机停止。其硬件电路如图一: 二. 控制程序流程图 由于ULN2003是非们输出电路所以P0.0-P0.3端口输出低电平才是有效驱动电平,其控制程序流程图如图二: 三. 控制程序 K1      BIT  P1.0         K2      BIT  P1.1         K3      BIT  P1.2         K_OLD   EQU  30H         K_NEW   EQU  31H ;---------------------------------------------------------          ORG  0000H          JMP  MAIN         ORG  0030H ;--------------------------------------------------------- MAIN:          MOV  SP,#60H          MOV  P1,#00H          MOV  P0,#0FFH          MOV  K_OLD,#04H         MAIN1:          MOV R2,#4            ;给R2赋值4循环移位次数 CALL  K_SCAN            ;键扫描          MOV  A,K_NEW          CJNE  A,#00H,MAIN2 ;是否有按键按下          MOV  A, K_OLD        ; JMP  MAIN4 MAIN2:          CALL  DELAY               ;延时示去抖动          CALL  K_SCAN            ;再次判断键是否按下          MOV  A,K_NEW          CJNE  A,#00H,MAIN3 ; 再次判断键是否按下          MOV  A, K_OLD JMP  MAIN4 MAIN3: MOV K_OLD ,A       MAIN4: JB ACC.0,LOOP1         ;K1按下既P1.2-P1.0输入为001电机正转指令          JB ACC.1,LOOP2         ;K2按下既P1.2-P1.0输入为010电机反转指令          JB ACC.2,LOOP3         ;K3按下既P1.2-P1.0输入为110电机停止指令         JMP  MAIN1 ;电机正转控制时序 LOOP1:          MOV A,#0FEH LOPP1A:   MOV  P0,A          CALL DELAY ;延时 RLC A ;左移1位 DJNZ R2,LOPP1A          JMP  MAIN1 ;电机反转控制时序 LOOP2:          MOV A,#0F7H LOPP2A:   MOV  P0,A          CALL DELAY ;延时 RRC A ;右移1位 DJNZ R2,LOOP1A          JMP  MAIN1 ;电机停止控制时序 LOOP3:          MOV A,#0FFH  MOV  P0,A ;P0.0-P0.3输出1111电机停止 JMP  MAIN1 ;--------------------------------------------------------- ;K_SCAN: ;        MOV  K_NEW,#00H ;        MOV  A,P1 ;将P1端口的输入状态读入 ;        ANL  A,#07H ;保留P1端口状态的低三位 ;        MOV  K_NEW,A ;将K1,K2,K3的输入状态存入K_NEW, ;        RET ;--------------------------------------------------------- ;--------------------------------------------------------- ;延时子程序 DELAY:         MOV  R6,#200 DEL:         MOV  R7,#0FFH         DJNZ  R7,$         DJNZ  R6,DEL         RET ;---------------------------------------------------------
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服