⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 基于单片机的一个设计
💻 C
字号:
//============================================================
//	步进电机驱动程序应用示例
//	1. 步进电机驱动程序一般用法
//		StepMotor_Init -> _SetMode -> _SetSpeed -> _Forward/_Backward
//	2. 示例程序实现功能
//		工作在"半步"模式下,先以50P.P.S速度正转270拍,再以100P.P.S
//		速度反转590拍
//	3. 步进电机驱动函数用法参见"SPGT62C19B电机控制模组使用说明书.pdf"
//  4. 硬件连接:
//		模组J3 - 61板J6
//		步进电机插在模组的J10接口上
//		跳线跳至"STEP MOTOR"端
//============================================================
//============================================================

#include "StepMotor.h"						// 包含步进电机驱动头文件

#define CLR_WDT()	*(unsigned *)0x7012=1	// 清看门狗

main()
{
	StepMotor_Init();						// 初始化驱动程序	
	StepMotor_SetMode(STEP_HALF);			// 设置为半步工作方式
	StepMotor_SetSpeed(50);					// 速度设定为50P.P.S
	StepMotor_Forward(270);					// 正转270拍
	while(StepMotor_Status()!=0)			// 等待正转270拍结束
	{
		CLR_WDT();
	}
	StepMotor_SetSpeed(100);				// 速度设定为100P.P.S
	StepMotor_Backward(590);				// 反转590拍
	while(StepMotor_Status()!=0)			// 等待反转590拍结束
	{
		CLR_WDT();
	}
	
	while(1)CLR_WDT();						// 程序完成,进入死循环
}


#define P_INT_Ctrl	(unsigned int*)0x7010	// 硬件端口定义
#define P_INT_Clear	(unsigned int*)0x7011	// 硬件端口定义
#define C_IRQ4_4KHz	0x0040					// 常数助记符定义

void IRQ4(void)__attribute__((ISR));		// 将IRQ4函数声明为中断服务函数

void IRQ4(void)								// IRQ4函数体
{
	if((*P_INT_Ctrl&C_IRQ4_4KHz)!=0x0000)	// 如果是4KHz中断
	{
		*P_INT_Clear = C_IRQ4_4KHz;			// 清中断标志位
		StepMotor_Drive();					// 调用步进电机驱动函数
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -