找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1839|回复: 1
打印 上一主题 下一主题
收起左侧

51单片机控制2相4线步进电机,按键如何控制?

[复制链接]
跳转到指定楼层
楼主
ID:320487 发表于 2018-5-22 18:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位好呀
我想通过51单片机 298n驱动控制2相4线步进电机
用的是8拍 0.9度步距角
我现在想通过按键  按一下动一下(就是一个脉冲一个脉冲的走),松开按键就不动
1.    void zrun()// 正转运行
2.    {
3.       uchar z;
4.       for(z=0;z<8;z++)
5.           {
6.             P1=runz[z];
7.             delay(y);//3.75ms
8.           }
9.    }

因为现在的程序是按下后,电机肯定要转8拍 也就是7.2度才停下。
如果把延时加长,那启动频率肯定低了,原理上应该电机不会动了
这个程序怎么改 ?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:331575 发表于 2018-5-22 19:04 | 只看该作者
建议看一看PWM  打个比方  用定时器模式2  启动定时器中断  设置一个a值  再设定一个i值  
在中断程序中当a>i时候  就是你说的3.75ms时候  这个时候让  P1管脚输出有效电平就可以
  觉得理论上可以
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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