电子产业一站式赋能平台

PCB联盟网

搜索
查看: 3340|回复: 8
收起左侧

求一个简单的TB6560ahq控制2相步进电机的程序

[复制链接]

633

主题

1927

帖子

8108

积分

联盟顾问

Rank: 3Rank: 3

积分
8108
发表于 2022-7-20 19:42:39 | 显示全部楼层 |阅读模式
回复

使用道具 举报

598

主题

943

帖子

5138

积分

四级会员

Rank: 4

积分
5138
发表于 2022-7-20 19:43:36 | 显示全部楼层
没人吗,自顶
回复 支持 反对

使用道具 举报

585

主题

910

帖子

4977

积分

四级会员

Rank: 4

积分
4977
发表于 2022-7-20 19:44:06 | 显示全部楼层
求告诉啊  要钱的免谈  才1,2十行的程序
回复 支持 反对

使用道具 举报

604

主题

947

帖子

5151

积分

四级会员

Rank: 4

积分
5151
发表于 2022-7-20 19:45:35 | 显示全部楼层
/*************************************************************************************************************
*             测试说明
*1、MCU:STC89C52RC
*2、测试频率:12Mhz
*2、编程语言:C51
*2、编译环境:Keil C
*2、功能:全速正转、全速反转、停止、调速运行
*************************************************************************************************************/ #include <reg52.h> //TB6560输入控制端定义
sbit CLK = P1^0;
sbit ENA = P1^1;
sbit DIR = P1^2; sbit CW = P3^0;   //正转运行按键
sbit STOP = P3^1; //停止运行按键
sbit CCW = P3^2; //反转运行按键
sbit ADJ1 = P3^3; //调速运行按键
sbit ADJ2 = P3^4; //调速运行按键
bit Run_Status;   //运行状态位标志,
      //=0表示电机在停止状态,可以按键正转、反转均可
      //=1表示电机在运行状态,不支持正反转按键,只有先停止。防止强行换向带来的电流过大。 unsigned char Run_Dir; //电机运行方向 #define F_DIR 0   //正转
#define B_DIR 1   //反转 unsigned int CYCLE;  //周期变量 /************************************************************************************************
** 函数名称: void Delay(unsigned int cnt)
** 功能描述: 简单的延时函数
** 输   入: cnt:0-65535之间的任意整数
** 输   出: 无
*************************************************************************************************/
void Delay(unsigned int cnt)
{
   while(--cnt);
}
/************************************************************************************************
** 函数名称: void main(void)
** 功能描述: 主函数
** 输   入: 无
** 输   出: 无
*************************************************************************************************/
void main(void)
{
Run_Status=0; //=0表示电机在停止状态,可以按键正转、反转均可
CLK = 0;
   ENA = 0;
while(1)
   {
   if(!STOP)     //任何时候按停止键,电机停止运行
   {
    Delay(1000);   //延时去抖动
    if(!STOP)   
    {  
     Run_Status=0; //电机正在停止的状态标志
     CLK = 0;
      ENA = 0;
     TR0=0;
    }
   }
   if(!CW&&!Run_Status) //按正转键同时电机不是正在运行时,电机正转运行
   {
    Delay(1000);   //按下延时去抖动
    if(!CW&&!Run_Status)   
    {
     Run_Status=1; //电机正在运行的状态标志
     DIR = 0;   //正转
     ENA = 1;
     CYCLE=2500;  //脉冲频率 定时器设置 10ms in 12M crystal 即100Hz   
     TMOD |=0x01;
     TH0=(65536-CYCLE)/256;  
     TL0=(65536-CYCLE)%256;
     IE= 0x82;     //打开中断
     TR0=1;
     Run_Dir=F_DIR; //电机运行方向正转   
    }
   }
     if(!CCW&&!Run_Status) //按反转键同时电机不是正在运行时,电机反转运行
   {
    Delay(1000);   //延时去抖动
    if(!CCW&&!Run_Status)   
    {
     Run_Status=1; //电机正在运行的状态标志
     DIR = 1;   //反转
     ENA = 1;
     CYCLE=2500;  //脉冲频率 定时器设置 10ms in 12M crystal 即100Hz
     TMOD |=0x01;
     TH0=(65536-CYCLE)/256;  
     TL0=(65536-CYCLE)%256;
     IE= 0x82;     //打开中断
     TR0=1;
     Run_Dir=B_DIR; //电机运行方向反转
    }
   }
      if(!ADJ1)
   {
    Delay(5000);   //延时去抖动
    if(!ADJ1)
    {
     if(CYCLE<20000) CYCLE+=2000;
     else    CYCLE=1000;
     Run_Status=1;
     TR0=1;
     }
   }
//      if(!ADJ2)
//   {
//    Delay(5000);   //延时去抖动
//    if(!ADJ2)
//    {
//     if(CYCLE>2000) CYCLE-=2000;
//     Run_Status=1;
//     TR0=1;
//     }
//   }
    }
}
/************************************************************************************************
** 函数名称: Timer0_ISR
** 功能描述: 定时器0中断处理函数
** 输   入: 无
** 输   出: 无
*************************************************************************************************/
void Timer0_ISR(void) interrupt 1 using 1
{
TH0=(65536-CYCLE)/256;
TL0=(65536-CYCLE)%256;

CLK = ~CLK;
}
回复 支持 反对

使用道具 举报

600

主题

954

帖子

5061

积分

四级会员

Rank: 4

积分
5061
发表于 2022-7-20 19:46:35 | 显示全部楼层
小手一抖,经验到手,为了升级,到处游走,纯 属路过,不要介意,高抬贵手,立马飘走
回复 支持 反对

使用道具 举报

571

主题

910

帖子

4781

积分

四级会员

Rank: 4

积分
4781
发表于 2022-7-20 19:47:11 | 显示全部楼层
小手一抖,经验到手,为了升级,到处游走,纯 属路过,不要介意,高抬贵手,立马飘走
回复 支持 反对

使用道具 举报

604

主题

970

帖子

5115

积分

四级会员

Rank: 4

积分
5115
发表于 2022-7-20 19:47:17 | 显示全部楼层
小手一抖,经验到手,为了升级,到处游走,纯 属路过,不要介意,高抬贵手,立马飘走
回复 支持 反对

使用道具 举报

568

主题

922

帖子

4783

积分

四级会员

Rank: 4

积分
4783
发表于 2022-7-20 19:47:32 | 显示全部楼层
现在还要吗?
回复 支持 反对

使用道具 举报

568

主题

922

帖子

4783

积分

四级会员

Rank: 4

积分
4783
发表于 2022-7-20 19:47:51 | 显示全部楼层
我有方案,可以联系我,13261242936 微信同步
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表