本文提供三个51单片机控制步进电机正反转的程序,2个C程序,1个汇编,。
步进电机正反转程序
28BYJ48,,,,四相五线制,,用拍的脉冲。。。
电机先正转一周,在反转一周,停止。。
本程序利用 STC89C52单片机执行。
我提供了3个方案,,2个是C的,一个是汇编的, 希望对你有帮助
C语言程序:
/****************************************************/
/*正转定圈数后,报警响,自动反转*/
/*步进电机演示程序*/
/*目标器件:AT89C52*/
/*晶振:11.0592MHZ*/
/*编译环境:Keil c51*/
/***************************************************/
/*********************************包含头文件********************************/ #include "reg52.h"
/*********************************端口定义**********************************/ sbit key = P2^0;
sbit buz=P3^4;
/*************************************************************
函数功能:延时子程序
入口参数:
出口参数:
************************************************************/
void delay(void) //步进电机延时
{
int i=0;
for(i=0;i<30;i++);
}
void Delay(unsigned int t) //最常用的延时函数,已经反复使用过
{
while(t--);
}
/************************************************************
函数功能:主程序
入口参数:
出口参数:
***********************************************************/
void main()
{
int m, n,a;
P0=0xFF;//输出全高