步进电机的多种使用方法的解释
单片机源程序如下:
- /*
- 对本程序使用的说明:采用的是4拍式的工作方式,使用的是引脚P1.0-P1.3
- */
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit IN1=P1^0; //A
- sbit IN2=P1^1; //B
- sbit IN3=P1^2; //C
- sbit IN4=P1^3; //D
- void delay_bujin(uint zz)
- {
- uint dd,jj;
- for(dd=zz;dd>0;dd--)
- {
- for(jj=123;jj>0;jj--) ;
- }
- }
- void zhengzhuan() //步进电机正转
- {
- IN1=1;IN2=1;IN3=0;IN4=0;delay_bujin(2); // AB
- IN2=1;IN3=1;IN1=0;IN4=0;delay_bujin(2); // BC
- IN3=1;IN4=1;IN1=0;IN2=0;delay_bujin(2); // CD
- IN4=1;IN1=1;IN2=0;IN3=0;delay_bujin(2); //DA
- }
- void tingzhi() //步进电机停止
- {
- IN1=0;IN2=0;IN3=0;IN4=0;
- delay_bujin(10000);
- }
- void fanzhuan() //步进电反转
- {
- IN4=1;IN3=1;IN2=0;IN1=0; delay_bujin(2);//DC
- IN3=1;IN2=1;IN4=0;IN1=0;delay_bujin(2);//CB
- IN2=1;IN1=1;IN3=0;IN4=0;delay_bujin(2);//BA
- IN1=1;IN4=1;IN2=0;IN3=0;delay_bujin(2);//AD
- }
-
- void main()
- {
- uint cishu;
-
- while(1)
- {
- for(cishu=0;cishu<300;cishu++)
- {
- zhengzhuan();
- }
- tingzhi();
- for(cishu=0;cishu<300;cishu++)
- {
- fanzhuan();
- }
- }
- }
复制代码
hex文件下载:
步进电机-引脚式.zip
(20.36 KB, 下载次数: 7)
|