找回密码
 立即注册

QQ登录

只需一步,快速开始

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

利用脉冲高低控制步进电机正反转,为什么我这个程序实现不了啊

[复制链接]
跳转到指定楼层
楼主
ID:153645 发表于 2016-12-23 15:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <REG52.H>
#define uint unsigned int
#define uchar unsigned char
sbit pul=P1^0;
sbit dir=P1^1;
sbit k1=P3^4;
sbit k2=P3^5;

void delay(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
                for(j=112;j>0;j--);
}

void main()
{
        if(k1==0)
        {
                delay(20);
                if(k1==0)
                {
                        dir=1;
                        while(1)
                        {       
                                pul=1;
                                delay(5);
                                pul=0;
                                delay(5);   
                        }
                }
        }
        if(k2==0)
        {
                delay(20);
                if(k2==0)
                {
                        dir=1;
                        while(1)
                        {       
                                pul=0;
                                delay(5);
                                pul=1;
                                delay(5);   
                        }
                }
        }
}

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:150865 发表于 2016-12-23 21:41 | 只看该作者
如果只需要正反转不需要调速的话 in1和in2端口分部是高低电平就可以了,
回复

使用道具 举报

板凳
ID:59980 发表于 2017-1-3 09:49 | 只看该作者
if(k2==0)
        {
                delay(20);
                if(k2==0)
                {
                        dir=0;//这里修改成这样就可以了,
                        while(1)
                        {        
                                pul=0;
                                delay(5);
                                pul=1;
                                delay(5);   
                        }
                }
        }
}
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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