各位前辈,我想写一个用单片机控制步进电机的程序,驱动芯片是ULN2003,步进电机型号是SMR55-4806-A

两个按钮控制,实现的功能是,当一个按钮按下时正转90度,在第一个按钮接通的情况下另一个按钮按下反转90度... 两个按钮控制,实现的功能是,当一个按钮按下时正转90度,在第一个按钮接通的情况下另一个按钮按下反转90度 展开
 我来答
ch314156
2011-05-14 · TA获得超过4377个赞
知道小有建树答主
回答量:2036
采纳率:100%
帮助的人:1055万
展开全部
你参考下

//5级速度可调:0、1、2、3、4;
#include<reg52.h>
sbit dir=P3^4; //方向
sbit add=P3^6; //加速
sbit sub=P3^7; //减速

//A=P1^0;
//b=P1^1;
//C=P1^2;
//D=P1^3;

void delayms(unsigned char);

unsigned char flag=0;
unsigned char TABLE[]={0X01,0X02,0X04,0X08};
unsigned char TABLE1[]={0X01,0X03,0X02,0X06,0X04,0X0c,0X08,0X09};
unsigned char TABLE2[]={0X05,0X06,0X0a,0X09};
char n,speed=40;
void main()
{

while(1)
{
if(add==0)
{

if(speed>0) speed--;
while(!add);
}

if(sub==0)
{
speed++;
while(!sub);
}

if(dir==0)
{

flag=~flag;
while(!dir);
}

P1=TABLE[n];
if(flag) {n++;if(n>3)n=0;}
else {n--;if(n<0)n=3;}
delayms(speed);
}
}
void delayms(unsigned char k)
{
int i,j;
for(i=k;i>0;i--)
for(j=30;j>0;j--) ;
}
更多追问追答
追问
我想用两个按钮控制正反转,还是不能实现当一个按钮按下时正转90度,在第一个按钮接通的情况下另一个按钮按下反转90度,能不能帮我写写,感激不尽!
追答
我写的终究是我写的,只有你自己做到了才是你自己的,况且这个问题又不难
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秦时明月0897
2011-05-16 · 超过42用户采纳过TA的回答
知道小有建树答主
回答量:92
采纳率:100%
帮助的人:44.4万
展开全部
先自己上一个程序。
更多追问追答
追问
给我个邮箱吗?
追答
QQ965897681
就是不能实现第一个按钮接通的情况下另一个按钮按下反转90度。

这样子,既然能正转反转了,几个按键应该难不倒你了,加油!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式