目录
一、资源说明
二、基本参数
1.参数
2、引脚说明
三、驱动说明
步进电机驱动时序
反向输出
对应程序:
四、部分代码说明
1、接线说明
1.1、STC89C52RC+ULN2003模块
1.2、STM32F103C8T6+ULN2003模块
五、基础知识学习与相关资料下载
六、视频效果展示与程序资料获取
七、项目所有材料清单
八、注意事项
九、接线表格
| 单片机型号 | 测试条件 | 模块名称 | 代码功能 |
| STC89C52RC | 1.晶振11.0592M | ULN2003模块 | 单片机驱动ULN2003模块按键控制步进电机正反转 |
| STM32F103C8T6 |
| ULN2003模块 |

| ULN2003模块 | 引脚说明 |
| IN1 | 信号输入1 |
| IN2 | 信号输入2 |
| IN3 | 信号输入3 |
| IN4 | 信号输入4 |
| GND | GND (单独供电需要与单片机共地) |
| VCC | 5V(建议单独供电) |


//顺时针逆时针选择
void Swerve(uint8_t F_Dir)
{if(F_Dir){switch(MOTO_delay0){case(1):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;case(2):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;case(3):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;case(4):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break; } }else{switch(MOTO_delay0){case(1):MOTOA = 1; MOTOB = 1; MOTOC = 1; MOTOD = 0;break;case(2):MOTOA = 1; MOTOB = 1; MOTOC = 0; MOTOD = 1;break;case(3):MOTOA = 1; MOTOB = 0; MOTOC = 1; MOTOD = 1;break;case(4):MOTOA = 0; MOTOB = 1; MOTOC = 1; MOTOD = 1;break;}}}
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
//输入信号引脚
sbit MOTOA=P1^0; //IN1
sbit MOTOB=P1^1; //IN2
sbit MOTOC=P1^2; //IN3
sbit MOTOD=P1^3; //IN4
//按键引脚
sbit KEY_Foreward = P1^4; //正转
sbit KEY_Reversal = P1^5; //反转
//输入信号引脚
#define MOTOA_GPIO_PORT GPIOA /* MOTOA端口 */
#define MOTOA_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOA端口时钟 */
#define MOTOA_GPIO_PIN GPIO_Pin_0 #define MOTOB_GPIO_PORT GPIOA /* MOTOB端口 */
#define MOTOB_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOB端口时钟 */
#define MOTOB_GPIO_PIN GPIO_Pin_1 #define MOTOC_GPIO_PORT GPIOA /* MOTOC端口 */
#define MOTOC_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOC端口时钟 */
#define MOTOC_GPIO_PIN GPIO_Pin_2 #define MOTOD_GPIO_PORT GPIOA /* MOTOD端口 */
#define MOTOD_GPIO_CLK RCC_APB2Periph_GPIOA /* MOTOD端口时钟 */
#define MOTOD_GPIO_PIN GPIO_Pin_3
//按键引脚
#define Foreward_GPIO_CLK RCC_APB2Periph_GPIOA
#define Foreward_GPIO_PORT GPIOA
#define Foreward_GPIO_PIN GPIO_Pin_5
//KEY2
#define Reversal_GPIO_CLK RCC_APB2Periph_GPIOA
#define Reversal_GPIO_PORT GPIOA
#define Reversal_GPIO_PIN GPIO_Pin_6
视频连接 直戳跳转
资料获取 直戳跳转
| STC89C52RC驱动方案 | 图片 | STM32F103C8T6驱动方案 | 图片 | 备注 K_A07_002 |
| STC89C52RC系统板X1 | ![]() | STM32F103C8T6系统板X1 | ![]() | 1、STM32系统板两根Micro USB线一根用于J-LINK下载器,另一根用于给系统板供电 2、杜邦线建议不用太长的 |
| ULN2003模块x1 | ![]() | ULN2003模块x1 | ![]() | |
| 步进电机x1 | ![]() | 步进电机x1 | ![]() | |
| Micro USB线X1 | ![]() | Micro USB线X2 | ![]() | |
| 母母杜邦线X6 | ![]() | 母母杜邦线X6 | ![]() | |
| J-LINK下载器 | ![]() |
| 单片机型号 | 模块 | 对应引脚(上:模块引脚 下:单片机引脚) | |||||
| STC89C52RC | ULN2003模块 | IN1 | IN2 | IN3 | IN4 | GND | VCC |
| P1.0 | P1.1 | P1.2 | P1.3 | GND | 5V | ||
| 按键模块 | KEY_L | KEY_R | GND | ||||
| P1.4 | P1.5 | GND | |||||
| STM32F103C8T6 | ULN2003模块 | IN1 | IN2 | IN3 | IN4 | GND | VCC |
| PA0 | PA1 | PA2 | PA3 | GND | 5V | ||
| 按键模块 | KEY_L | KEY_R | GND | ||||
| PA5 | PA6 | GND | |||||