精品键盘控制步进电机正反转调速.docx

上传人:b****1 文档编号:423774 上传时间:2022-10-10 格式:DOCX 页数:7 大小:14.69KB
下载 相关 举报
精品键盘控制步进电机正反转调速.docx_第1页
第1页 / 共7页
精品键盘控制步进电机正反转调速.docx_第2页
第2页 / 共7页
精品键盘控制步进电机正反转调速.docx_第3页
第3页 / 共7页
精品键盘控制步进电机正反转调速.docx_第4页
第4页 / 共7页
精品键盘控制步进电机正反转调速.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

精品键盘控制步进电机正反转调速.docx

《精品键盘控制步进电机正反转调速.docx》由会员分享,可在线阅读,更多相关《精品键盘控制步进电机正反转调速.docx(7页珍藏版)》请在冰豆网上搜索。

精品键盘控制步进电机正反转调速.docx

精品键盘控制步进电机正反转调速

#include//51芯片管脚定义头文件

#include//内部包含延时函数_nop_();

#defineucharunsignedchar

#defineuintunsignedint

ucharcodeFFW[8]={0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09};

ucharcodeREV[8]={0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01};

sbitK1=P3^5;//正转

sbitK2=P3^3;//反转

sbitK3=P3^5;

sbitK4=P3^6;

sbitK5=P3^7;//停止

//sbitBEEP=P3^6;//蜂鸣器

/********************************************************/

/*

/*延时t毫秒

/*11.0592MHz时钟,延时约1ms

/*

/********************************************************/

voiddelay(uintt)

{

uintk;

while(t--)

{

for(k=0;k<125;k++)

{}

}

}

/**********************************************************/

voiddelayB(ucharx)//x*0.14MS

{

uchari;

while(x--)

{

for(i=0;i<13;i++)

{}

}

}

/**********************************************************/

voidbeep()

{

uchari;

for(i=0;i<100;i++)

{

delayB(4);

//BEEP=!

BEEP;//BEEP取反

}

//BEEP=1;//关闭蜂鸣器

}

/********************************************************/

/*

/*步进电机正转

/*

/********************************************************/

voidmotor_ffw()

{

uchari;

uintj;

for(j=0;j<1;j++)//转1*n圈

{

if(K5==0)

{break;}//退出此循环程序

for(i=0;i<8;i++)//一个周期转45度

{

P1=FFW[i];//取数据

delay

(2);//调节转速

}

}

}

/********************************************************/

/*

/*步进电机反转

/*

/********************************************************/

voidmotor_rev()

{

uchari;

uintj;

for(j=0;j<1;j++)//转1×n圈

{

if(K5==0)

{break;}//退出此循环程序

for(i=0;i<8;i++)//一个周期转45度1

{

P1=REV[i];//取数据

delay

(2);//调节转速

}

}

}

voidmotor_ffw1()

{

uchari;

uintj;

for(j=0;j<1;j++)//转1*n圈

{

if(K5==0)

{break;}//退出此循环程序

for(i=0;i<8;i++)//一个周期转45度

{

P1=FFW[i];//取数据

delay(8);//调节转速

}

}

}

/********************************************************/

/*

/*步进电机反转

/*

/********************************************************/

voidmotor_rev1()

{

uchari;

uintj;

for(j=0;j<1;j++)//转1×n圈

{

if(K5==0)

{break;}//退出此循环程序

for(i=0;i<8;i++)//一个周期转45度

{

P1=REV[i];//取数据

delay(8);//调节转速

}

}

}

/********************************************************

*

*主程序

*

*********************************************************/

main()

{

ucharr,N=1;//N步进电机运转圈数因为我们的步进电机是减速步进电机减速比是1/64所以这里N=64时步进电机外部的主轴转1圈

while

(1)

{

if(K1==0)

{

beep();

while

(1)

{

for(r=0;r

{

motor_ffw();//电机正转

}

if(K5==0)

{beep();break;}//退出此循环程序

}

}

elseif(K2==0)

{

beep();

while

(1)

{

for(r=0;r

{

motor_rev();//电机反转

}

if(K5==0)

{beep();break;}//退出此循环程序

}

}

if(K4==0)

{

beep();

while

(1)

{

for(r=0;r

{

motor_ffw1();//电机正转

}

if(K5==0)

{beep();break;}//退出此循环程序

}

}

elseif(K5==0)

{

beep();

while

(1)

{

for(r=0;r

{

motor_rev1();//电机反转

}

if(K5==0)

{beep();break;}//退出此循环程序

}

}

}

}

/********************************************************/

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 从业资格考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1