脉冲信号就是像流水灯差不多,用两个口。
例如:
用到P1^0和P1^1;把P10制低电平,P11制高电平,延时一段时间后,P10制高电平 P11制低电平,如此循环,看程序:
#include "reg52.h"
sbit P10=P1^0;
sbit P11=P1^1;
void delay(unsigned int x)
P10=0;P11=1;
delay(1000);
P10=1;P11=0;
delay(1000);
}
}1-B1-B1A0;
两相四线程序 接P1口
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
uchar code tab[]={0xfd,0xfb,0xf7,0xef};
uint i;
void delay(uint x)
{
uint y;
for(;x>0;x--)
{
for(y=0;y<124;y++);
void main()
while(1)
P1=tab[i];
i++;
if(i==4)
{
i=0;
}
delay(20);
扩展资料:
同样的一段程序,在各个单片机厂家的硬件上运行的结果都是一样的,如ATMEL的89C51(已经停产)、89S51, PHILIPS,和WINBOND等;
常说的已经停产的89C51指的是ATMEL公司的 AT89C51单片机,同时是在原基础上增强了许多特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取代了原来的ROM(一次性写入),AT89C51的性能相对于8051已经算是非常优越的了。
参考资料来源:百度百科-步进电机
怎样用51单片机接两相步进电机驱动器来控制步进电机?
用到P1^0和P1^1;把P10制低电平,P11制高电平,延时一段时间后,P10制高电平 P11制低电平,如此循环,看程序:include "reg52.h"sbit P10=P1^0;sbit P11=P1^1;void delay(unsigned int x)P10=0;P11=1;delay(1000);P10=1;P11=0;delay(1000);} }1-B1-B1A0;两相四线程序 接P1口 ...
51单片机步进电机正反转程序
单片机控制步进电机,我想你说的是两相步进电机,一般是控制其相序分配的顺逆从而控制正反转,一般而言,步进电机相序分配你可以做成一个数组比如step[]={0x03,0x06,0x0c,0x09},这样来说可以假设P0口是步进电机控制口,那么可以按如下方式来控制: while(1) { for(i=0;i<4;i++) { if(fx==1...
步进电机的驱动电路与51单片机的连接电路图
51单片机的引脚随处都可以查到,P0、P1、P2随便选择一个作为脉冲发送口,在程序开始前定义好就可,驱动器一般都会分配脉冲,看你用的是哪一种,有的驱动器有电流可调档,也就是相电流细分。后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公...
51单片机控制L298N驱动两相步进电机
1、程序节拍不对,这个您既然已经排除了,就查另外其他问题 2、一个线圈没电。试试单独接一个线圈,找出没电的线圈,看是否电路问题,比如对应线圈的EN脚的电平是否正常,还是接触不良。还有一个极小的可能是电机烧了一个线圈,用万用表测一下两个线圈的电阻,如果悬殊太大就说明一个线圈烧了。3、...
如何用c51编写51单片机控制步进电机转动程序
A=( 50h ),SP=( 50h ),(51H)=( 30h ),(52H)=(50h ),PC=( 5030h )pc总是指向下一条指令的首地址的。但是在返回的时候得看堆栈中的数了。上面程序执行完之后:(A)=50H;sp=50H(因为在程序中,sp减了两次,后来又加了两次,在程序最后ret有在返回的时候减了两次...
51单片机控制步进电机正反转、加减速
51单片机控制步进电机正反转、加减速 我本来想实现步进电机自由调速的,可现在的程序如果先加速就不能减速了,如果先减速就不能加速了并且减几下就变得很慢了(经测试上下限都是可以正常速度运转的)求各位路过的大侠指点... 我本来想实现步进电机自由调速的,可现在的程序如果先加速就不能减速了,如果先减速就不能...
求用51型的单片机控制步进电机,要求步进电机转90度后停5秒,再转90度...
驱动器有两种,一种是直接控制各个绕组的,如有4个绕组,就要4个IO引脚信号,驱动只是功率放大 另一种是带脉冲分配的,单片机发过来一串方波脉冲,脉冲个数决定转动的步数,另外输出一个控制正转和反转的信号 这两种驱动器的单片机程序当然是不一样的 用C语言编程很简单:(第一种驱动器)for(i=0;i<...
51单片机控制步进电机
首先我说下思路:我们采用P1口来采集ADC0832的8位数据,用P0.0口控制步进电机动作,利用T0的时间中断来采集P1口的ADC0832数据并做出比较后设置步进电机启动标志位start=1;并设置他的运行频率,当然,楼主没说怎么比较,我这就只是写了个简单的例子,一通百通,希望对你有帮助 下面是程序:include <reg...
单片机步进电机驱动器怎么连接
方向信号 ---> 串个小电阻下接到单片机输出方向引脚 有上面3根线就可以控制步进电机的走动了, 一上电时, 电机是自动锁定的, 如果还需要控制步进电机锁定和放开, 那还要再接一根 电机释放信号, 接法同脉冲信号 追问 我用IO口电平驱动 脉冲信号 方向信号就接到引脚上就可以??例如P1.0 P1.1 追答 单片机引脚...
求机电大神帮助,用51单片机控制uln2003驱动四线两相步进电机,求接线方 ...
电机是从光驱上拆下 求机电大神帮助,用51单片机控制uln2003驱动四线两相步进电机,求接线方式。电机是从光驱上拆下来的,想用两个电机做一个类似于数控机床的东西。... 求机电大神帮助,用51单片机控制uln2003驱动四线两相步进电机,求接线方式。电机是从光驱上拆下来的,想用两个电机做一个类似于数控机床的东西。