OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4046|回复: 6

STM32控制 TB6500 驱动步进电机 ,51程序测试可以,怎么在32上实现呢?

[复制链接]

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2016-5-7
在线时间
29 小时
发表于 2016-5-18 08:46:23 | 显示全部楼层 |阅读模式
10金钱
话不多说,这是简单的51的测试代码,  怎么在32上实现,#include <reg52.h>

//TB6560输入控制端定义
sbit CLK = P1^0;
sbit DIR = P1^1;
sbit ENA = P1^2;




sbit key1 = P3^4;
sbit key2 = P3^5;


/** 函数名称: void Delay(unsigned int cnt)
** 功能描述: 简单的延时函数
** 输  入: cnt:0-65535之间的任意整数
** 输  出: 无
****************************************/
void Delay(unsigned int cnt)
{
        while(--cnt);
}


void main()
{
        ENA = 0;
        DIR = 0;
        CLK = 0;
        P1 = 0x00;       
        while(1)
    {
            if(key1 == 0)
                {
                         Delay(10);
                          if(key1 == 0)
                         {
                                 P1= 0xf0;
                                 DIR = 1;
                                 ENA = 1;
                                 CLK = 1;
                                 Delay(1000);//delay函数略


                         }
                }
                if(key2 == 0)
                {
                         Delay(10);
                         if(key2 == 0)
                         {         
                                 P1= 0x0f;
                                 DIR = 0;
                                 ENA = 0;
                                 CLK = 0;
                                 Delay(1000);//delay函数略
                         }
                }
        }
}


实现了按键控制步进电机正反转,     想换成32的,PWM控制,有没有人可以给个思路?

最佳答案

查看完整内容[请看2#楼]

这个简单啊,PWM信号输出和DIR输出经过与门后去到电机驱动芯片,比方正转DIR = 1,那么按一下按键就将DIR取反就是了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-5-18 08:46:24 | 显示全部楼层
这个简单啊,PWM信号输出和DIR输出经过与门后去到电机驱动芯片,比方正转DIR = 1,那么按一下按键就将DIR取反就是了
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2016-5-7
在线时间
29 小时
 楼主| 发表于 2016-5-18 09:28:36 | 显示全部楼层
八度空间 发表于 2016-5-18 09:14
这个简单啊,PWM信号输出和DIR输出经过与门后去到电机驱动芯片,比方正转DIR = 1,那么按一下按键就将DIR取 ...

用PWM输出实验改,  在给DIR设置一个IO口,加个按键,然后就OK?
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-5-18 12:56:12 | 显示全部楼层
openedv、miss 发表于 2016-5-18 09:28
用PWM输出实验改,  在给DIR设置一个IO口,加个按键,然后就OK?

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2016-5-7
在线时间
29 小时
 楼主| 发表于 2016-5-19 07:54:03 | 显示全部楼层

大神,在吗?能不能给我讲一下,每秒输出 3200个脉冲, 定时器频率84M    , 自动重装值  312 ,预分频数 84+1,    84M/84 =  1M;  1000 000/3200 =312;  在网上搜到的公式,可是怎么也觉得不对劲,  还请帮忙说明一下问题,    万分感谢!!!!!!!   
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-5-19 09:19:31 | 显示全部楼层
openedv、miss 发表于 2016-5-19 07:54
大神,在吗?能不能给我讲一下,每秒输出 3200个脉冲, 定时器频率84M    , 自动重装值  312 ,预分频数  ...

实验是最好的证明
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

8

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
150
金钱
150
注册时间
2016-5-7
在线时间
29 小时
 楼主| 发表于 2016-5-19 10:33:26 | 显示全部楼层

嗯嗯, 已经完成了,谢谢咯!!!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 08:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表