51单片机控制4线步进电机实现正反转怎么编程

通过电机转动到一定地点(转轴对称的两端上有限位的东西,但不能用限位开关控制)受到阻力,导致电流变大,用这电流的变大反馈到单片机实现反转。

怎么编程?

编程,以后再讨论。

楼主先把电路,显示出来吧。

电路,要具有驱动、检测、反馈的功能。
温馨提示:内容为网友见解,仅供参考
无其他回答

51系列单片机 程序设计 用4个开关控制步进电机进行启动停止正转和反转...
1、分析功能需求:四个按键控制步进电机的四种状态,那么必须要在程序中有IO口按键扫描程序;而且步进电机的控制一定要先设置好定时器。2、功能模块定义:四个按键对应四个函数,每个函数实现不同功能,对于正反转,先定义控制电机每一步时P0口的数据列表,把列表地址赋给DPTR,即TAB1,和TAB2,分别为正...

51单片机步进电机正反转程序
\/\/正向 else P0=step[3-i]; \/\/反向 delay(x); \/\/x大小决定电机速度。根据电机相数买个驱动器。然后用单片机产生脉冲来控制电机的转动以及正反转。单片机产生脉冲的方法和单片机控制流水灯是一样的。ULN2003D 是驱动步进电机的驱动芯片,主要是匹配电机所需的电流。 由于是四相电机,步进电机之所以可...

51单片机控制步进电机正反转、加减速
我本来想实现步进电机自由调速的,可现在的程序如果先加速就不能减速了,如果先减速就不能加速了并且减几下就变得很慢了 (经测试上下限都是可以正常速度运转的) 求各位路过的大侠指点#include<reg51.h>sbit k1=P1^1; \/\/启动sbit k2=P1^0; \/\/正反转sbit k3=P1^2; \/\/加速sbit k4=P1^3; \/\/减速unsigned...

帮忙写个51单片机的c程序!两相四线混合式步进电机,正反转功能能实现,但 ...
正反转改P1的值,速度改delay的值。我默认步进电机是由P1口驱动的。

51单片机控制步进电机能够正转却不能反转?
这可能与你步进电机的停止步距角有点关系,既然正转从0x40开始没问题,你试试反转也从此开始。试试如下修改。uchar code B_Rotation[4]={x040,0x08,0x10,0x20};\/\/反转表格

求51单片机控制步进电机程序
\/ void MOTOR(void){ \/\/步进电机正反转一步子程序 code unsigned char MOTOR_DB[]={0x00,0xb0,0x90,0xd0,0x50,0x70,0x60,0xe0,0xa0,0x00};\/\/定义电机输出编码 unsigned char i;MOIC=0; \/\/开电机电流 i=0; \/\/电机输出编码初值设00 CBB=10; \/\/设减小电机电流时间设为10...

51单片机,如何给一个指令控制步进电机转动90度,再给另外一个指令,反转...
1、首先看看步进驱动器的细分设定,找出转动一圈需要的脉冲个数,再计算出转动90°需要的脉冲个数N;2、根据接线,使单片机的IO端口输出高电平或低电平,控制转动方向;3、根据需求的转动速度,设定定时器的定时常数,启动定时;4、在定时器的中断程序中,取反IO端口,如CPL P1.1,并计数。使单片机...

如何用c51编写51单片机控制步进电机转动程序
A=( 50h ),SP=( 50h ),(51H)=( 30h ),(52H)=(50h ),PC=( 5030h )pc总是指向下一条指令的首地址的。但是在返回的时候得看堆栈中的数了。上面程序执行完之后:(A)=50H;sp=50H(因为在程序中,sp减了两次,后来又加了两次,在程序最后ret有在返回的时候减了两次...

...求51单片机通过7279按键控制4相八拍步进电机 正转反转加速减速的程序...
delayB(4);BEEP=!BEEP; \/\/BEEP取反 } BEEP=1; \/\/关闭蜂鸣器 } \/***\/ \/ \/*步进电机正转 \/ \/***\/ void motor_ffw(){ uchar i;uint j;for (j=0; j<12; j++) \/\/转1*n圈 { if(K4==0

单片机控制电机正反转动的c语言程序
首先要看你的电机是直流电机还是步进电机。直流电机就简单了,只有两根线,电机两端电压正负极改变就可以实现正转反转。不过要加电机驱动芯片,或者H桥电路,电机驱动芯片可以选择L298N,加上适当的外围电路就可以直接用单片机控制电机了。比如让单片机P1.0 = 0,P1.1 = 1;(单片机I\/0口要与电机驱动...

相似回答