求帮忙写一个c语言程序。用的stc89c52rc单片机,tb6550步进电机驱动器。控制一个57步进电机
1.想设置p3.2、p3.3、p3.4三个开关分别控制停止、正转、反转。2.并且电机只能在0至正转30范围内转,不能超出范围转。3.转速180转每分钟。4。在原点处有一个...
1.想设置p3.2、p3.3、p3.4三个开关分别控制停止、正转、反转。2.并且电机只能在0至正转30范围内转,不能超出范围转。3.转速180转每分钟。4。在原点处有一个行程开关p1.6,用于电机反转回归原点用。5.用共阴极接法。******即按p3.3时电机一直正转直到30圈或按p3.2停,按p3.4时一直反转至触碰行程开关为止或按停止按钮。另外辛苦帮忙把注释写的更详细一点点,您知道自学很痛苦的吧~~自学了好久依旧不能自己搞定,求大侠们帮帮忙啦!!谢谢
电机用的是57两相四线混合式步进电机。
一个脉冲1.8℃ 展开
电机用的是57两相四线混合式步进电机。
一个脉冲1.8℃ 展开
1个回答
展开全部
程序其实较简单,只是你给的条件还不完善,比如驱动器接受的是脉冲信号还是其他什么信号,如果是脉冲信号,一个脉冲走多少角度?等等。
更多追问追答
追问
一个脉冲走1.8℃。还需要什么?
大侠一定帮帮忙
追答
#include
#define uchar unsigned char
#define uint unisgned int
uint s;
uchar key;
sbit keystop=P3^2;
sbit keypos=P3^3;
sbit keyneg=P3^4;
sbit limit=P1^6;
sbit pluse=P1^0;
sbit dir=P1^1;
void t0isr() interrupt 1
{
TH0=(65536-3333)/256;
TL0=(65536-3333)%256;
pluse=~pluse;
if(dir==0)s++;
if(s>=6000){s=0;TR0=0;}
if(limit==0 && dir==1){s=0;TR0=0;}
}
main()
{
TMOD=0x01;
TH0=(65536-3333)/256;
TL0=(65536-3333)%256;
ET0=1;
EA=1;
s=0;
key=0;
while(1)
{
keyscan();
switch(key)
{
case 1:TR0=0;break;
case 2:TR0=1;dir=0;break;
case 3:TR0=1;dir=1;break;
default:break;
}
}
}
科博尔
2024-10-31 广告
2024-10-31 广告
QT400-18是一种球墨铸铁材料,QT代表“球铁”,400表示其抗拉强度为400MPa,18则表示延伸率为18%。该材料属于铁素体型球墨铸铁,具有良好的韧性和塑性,能够承受高冲击振动及扭转等动、静载荷,特别在低温工作条件下具有较好的冲击性...
点击进入详情页
本回答由科博尔提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询