打印

步进电机驱动电路,帮我解答下吧。

[复制链接]
1534|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chank|  楼主 | 2010-8-22 14:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit a1=P3^5;
sbit a2=P3^6;
sbit a3=P3^7;
uint zhrun=0;
uint farun=0;
uint stop=0;
void moto(uchar n);
void interrupt0()interrupt 0{
uchar i;
EA=0;
if(a1==0)
{
for(i=4;i>0;i--){
zhrun=1;
}
}
if(a2==0){
for(i=4;i>0;i--){
  farun=1;
}
}
if(a3==0){
for(i=10;i>0;i--)
{
  stop=1;
}
}
  EA=1;
  EX0=1;
  IT0=0;
}
void moto(uchar n)
{
uchar idata zheng[]={0x08,0x0c,0x06,0x02,0x03,0x01,0x09};
uchar idata fan[]={0x09,0x01,0x03,0x02,0x06,0x0c,0x08};
uchar m,l=0;
if(zhrun==1)
{
   for(m=0;m<n;m++)
  {
    P1=zheng[l];
    l++;
    if(l==8)
    l=0;
   }
}
else
if(farun==1)
{
   for(m=0;m<n;m++)
  {
    P1=fan[l];
    l++;
    if(l==8)
    l=0;
   }
}
else
if(stop==1)
{
   P1=0x00;
}
}
void main()
{
EA=1;
EX0=1;
IT0=0;
while(1)
{
  moto(4);
  }
}


这个程序,用proteus仿真,电机不转啊。
图我传不上来,哪位高手帮忙看下啊,哪里出问题了。
新手上路,多多关照。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

3

帖子

1

粉丝