1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 57BYGH420步进电机单片机程序

57BYGH420步进电机单片机程序

时间:2022-01-07 01:35:48

相关推荐

57BYGH420步进电机单片机程序

电机内部: (黄线、白线悬空)

更多电机参数(卖家提供的): /share/link?shareid=24258&uk=1812235525

两相四线步进电机转动脉冲序列:

51单片机程序:

/************************************************************************************** 文件名称: main.c * 摘 要: 57BYGH420步进电机旋转程序* CPU芯片: STC12C5A16S2 instruction mode:1T51单片机 12T模式*晶振: 12.0M* 作 者: XCY* 修改日期: 9月6日* 备注:使用L298N电机驱动芯片(驱动能力有限)(12V)黄线、白线悬空*************************************************************************************/#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define chip 51 //单片机延时条件编译选项#define dj P2 //定义电机脉冲引脚uint i; uchar j;void delay_50us(uchar );void xuanzhuang(uchar , bit );//P2口 0123引脚 对应电机 【A】 【B】 【A-】 【B-】uchar code zz[4] = {0xf3, 0xf6, 0xfc, 0xf9}; uchar code fz[4] = {0xf3, 0xf9, 0xfc, 0xf6};//uchar code zz[4] = {0x0e, 0x0d, 0x0b, 0x07}; //uchar code fz[4] = {0xf07, 0x0b, 0x0d, 0x0e};void main(){ while(1){ xuanzhuang(10, 1); // 1= 1/10转 1=方向xuanzhuang(10, 0);}}void xuanzhuang(uchar val, bit dir){for(i = 0; i <5*val; i++)for(j = 0; j < 4; j++){if(dir) dj = zz[j]; else dj = fz[j];delay_50us(400); }dj = 0xff; delay_50us(200);}void delay_50us(uchar val) //误差 0us{unsigned char a,b;for(; val != 0; val--){#if chip == 12for(b=3;b>0;b--)for(a=98;a>0;a--);#elif chip == 51for(b=1;b>0;b--)for(a=22;a>0;a--);#endif}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。