锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

合泰单片机控制5线4相步进电机控制程序

时间:2024-05-06 06:07:09

;的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
; 28BYJ48步进步进角为 5.625度
; A组线圈对应 PC.0
; B组线圈对应 PC.1
; C组线圈对应 PC.2
; D组线圈对应 PC.3
; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转5.625度)
; 完整的源程序下载:http://www.51hei.com/f/htbjdj.rar
include 66F50.inc

ORG0000H
JMPA1
ORG0014H ;多功能中断入口地址
JMPZD1
ORG002DH
Q1:
03H; 0AB
DC06H; 1BC
DC0CH; 2CD
DC09H; 3DA
A1:

MOVA,08H;跟CP1C寄存器设置要求选择数据
MOVCP1C,A;设置PC口为I/0口而不是中断口
CLRPCC;设置pc 口为输出口
MOVA,0;设置初始脉冲
MOV[80H],A;

MOVA,00000000B;设置TM2 计数时钟位为fSYS/4
MOVTM2C0,A
MOVA,11000001B ;设置TM2中断为定时/计数模式选择比较器A匹配
MOVTM2C1,A
MOVA,LOW 5000;设置中断时间为5000个时钟周期
MOVTM2AL,A;低8位
MOVA,HIGH 5000;设置中断时间为5000个时钟周期
MOVTM2AH,A;高8位不能少于3500个时钟周期否则无法启动
CLRMF0F;清多功能中断0标志
CLRT2AF;清定时器2较器A中断标志
SETMF0E;使能多功能0中断
SETT2AE;使能定时器2较器A中断
SETEMI;使能总中断
SETT2;开始计数

JMP$;
;*******************************************************
;中断服务子程序
;*******************************************************
ZD1:
MOV[0F0H],A;压栈ACC到0F0H
MOVA,;
MOV[0F1H],A;压栈status标志寄存器到0F1H

MOVA,Q1;数据表地址
CLRTBHP;清数据表地址高位否则出错

ADDA,[80H];利用间接寄存器找到数据表的地址
MOVTBLP,A;表格指针寄存器TBLP
TABRC;查表并将数据存到PC口寄存器

INC[80H];数据表地址加1控制下一相线圈
MOVA,4
SUBA,[80H];判断是否完成4相
SNZZ
JMPZD2;否则跳出中断
MOVA,0;是则从新初始化寄存器数据
MOV[80H],A;
ZD2:
MOVA,[0F1H];弹栈后进先出先进后出
MOVSTATUS,A;弹栈0F1H的数到标志寄存器
MOVA,[0F0H];弹栈0F0H的数到acc
CLRMF0F;清多功能标志
CLRT2AF;清定时器2比较器A标志
R;中断返回

END


-电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章