AT89C51单片机,步进电机驱动器L298N驱动,实现单片机识别并输出显示键盘输入的数据信息(转角)并产生连续脉冲控制步进电机转动,电机型号是两相步进电动机42BYG121,其步进角为1.8度,通过半步驱动方式进行细分可获得0.9度的步进角兄备;环形分配器和电机驱动器...
控制器接收到上位机的命令后,首先获取需要转动的步数,然后根据相应命令打开相应定时器的计数功能。控制程序中用定时器1控制二路脉冲输出,定时器2控制一路脉冲输出,从而完成3路电机的控制。 定时器2使用CTC模式,匹配中断使能。轮或通过匹配中断,在OCR2端口可以输出脉冲,通过设定寄存器OCR2寄存器的值可以改变输山脉冲频率。定时器1使用相位与频率修正模式...
键则反向转1~9圈;左键固定正转90度,右键固定反转90;Esc 键终止转动。通过这个程序,我们也可以进一步体会到如何用按键来控制程序完成复杂的功能,以及控制和执行模块之间如何协调工作,而你的编程水平也可以在这样的实践练习中得到锻炼和提升。#include 羡桐毁<reg52.h>sbit KEY_IN_1 = P2...
sbit K1=P1^0sbit K2=P1^1
char y=0
while(1)
{
pangduan()
for(i=0i<4i++) //4相
{
/*P1=F_Rotation[i] //输出对应的相 可以自行换成反宽察转表格
Delay(500)//改变这个参数可以调整电机转速
Delay(5000)*/
P1=B_Rotation[i]
Delay(265+y)
P1=F_Rotation[i]
Delay(265+y)
}
}
void pangduan()
{
if(K1==0)
{ y++ //加
while(~k1)
}
if(K2==0)
{ y--
while(~k2)//减
}
}
}
没有下上限要是仔物调的话 需慎戚茄要判断显示延时时间
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)