标题:
L298N+光耦驱动步进电机测试程序和原理图
[打印本页]
作者:
51hei学习技术中
时间:
2017-3-20 22:40
标题:
L298N+光耦驱动步进电机测试程序和原理图
采用L298N模块带光耦来驱动步进电机与原理图与资料详见:
http://www.51hei.com/bbs/dpj-79474-1.html
下面是程序源码:
/******************************步进电机的驱动*************************************
;FOSC = 12MHz
;---------------------------------------------------------------------------------
; 步进电机的驱动信号必须为脉冲信号!!! 转动的速度和脉冲的频率成正比!!!
; 本步进电机步进角为 5.625度 . 一圈 360 度 , 需要64个脉冲完成!!!
;---------------------------------------------------------------------------------
; A组线圈对应 P0.0
; B组线圈对应 P0.1
; C组线圈对应 P0.2
; D组线圈对应 P0.3
; 正转次序: AB组--BC组--CD组--DA组 (即一个脉冲,正转5.625度)
;----------------------------------------------------------------------------------
**********************************************************************************/
/*头文件*/
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
#define nop() _nop_()
uchar code table1[]={0x03,0x06,0x0c,0x09}; /*正转表*/
uchar code table2[]={0x03,0x09,0x0c,0x06}; /*反转表*/
#define motor P0
void delay(uchar ms) /*延时*/
{
uchar j;
while(ms--){
for(j=0;j<250;j++)
{;}
}
}
void main()
{
uchar i,j;
while(1){
//正转3圈共192个脉冲
j=0;
for(i=0;i<192;i++){
motor = 0x00;
motor = table1[j];
j++;
if(j>=4) j=0;
delay(2);
}
delay(200);
delay(200);
delay(200);
delay(200);
delay(200);
//反转2圈共128个脉冲
j=0;
for(i=0;i<128;i++){
motor = 0x00;
motor = table2[j];
j++;
if(j>=4) j=0;
delay(2);
}
…………余下代码请下载附件…………
复制代码
下载:
L298N加光耦电机驱动.rar
(898.33 KB, 下载次数: 88)
2017-3-20 22:39 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
LXJ50
时间:
2017-3-21 14:31
下载学习,谢谢楼主!
作者:
jjjjjjir
时间:
2017-3-21 14:41
学到东西了!谢谢
作者:
shuaibisheng
时间:
2019-11-14 00:44
下载下载
作者:
Jeff_BlindCat
时间:
2020-6-25 00:29
谢谢楼主分享。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1