精品键盘控制步进电机正反转调速.docx
- 文档编号:423774
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:7
- 大小:14.69KB
精品键盘控制步进电机正反转调速.docx
《精品键盘控制步进电机正反转调速.docx》由会员分享,可在线阅读,更多相关《精品键盘控制步进电机正反转调速.docx(7页珍藏版)》请在冰豆网上搜索。
精品键盘控制步进电机正反转调速
#include
#include
#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;}//退出此循环程序 } } } } /********************************************************/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 键盘 控制 步进 电机 反转 调速