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

2、引脚说明
|   MAX1508模块  |   引脚说明  | 
|   +(正极)  |   给电机供电(此处8V供电 根据需要来)  | 
|   -(GND)  |   电源地 此处要与单片机共地  | 
|   IN1  |   对应OUT1 IN1输入高则OUT1输出高  | 
|   IN2  |   对应OUT2 IN2输入高则OUT2输出高  | 
|   IN3  |   对应OUT3 IN3输入高则OUT3输出高  | 
|   IN4  |   对应OUT4 IN4输入高则OUT4输出高  | 
|   MOTOR-A  |   接电机和OUT2为一组 输出高低由IN1控制  | 
|   接电机和OUT1为一组 输出高低由IN2控制  | |
|   MOTOR-B  |   接电机和OUT4为一组 输出高低由IN3控制  | 
|   接电机和OUT3为一组 输出高低由IN4控制  | 
3、驱动说明
MAX1508模块驱动时序

对应程序:
以下以STC89C52RC程序为例
//正转
void turn_Syntropy(void)
{
         Pwm_IN1_R=0;
         Pwm_IN3_L=0;
}
//反转
void turn_Reverse(void)
{
         Pwm_IN2_R=0;
         Pwm_IN4_L=0;
}
//停止
void turn_Stop(void)
{
         Pwm_IN1_R=1;
         Pwm_IN2_R=1;
         Pwm_IN3_L=1;
         Pwm_IN4_L=1;
         TR0=0;
} 
PWM信号
此处用51定时器1来生成
void tim0() interrupt 1
{
		TL0 = 0xA4;		//设置定时初值
		TH0 = 0xFF;		//设置定时初值  0.1ms
		times++;
		if(times<=Speed)
		{
				if(!Flag_Syntropy_Reverse)
				{
						Pwm_IN2_R=1;
						Pwm_IN4_L=1;
				}
				else
				{
						Pwm_IN1_R=1;
						Pwm_IN3_L=1;				
				}
			
		}
		else
		{
				if(!Flag_Syntropy_Reverse)
				{
						Pwm_IN2_R=0;
						Pwm_IN4_L=0;
				}
				else
				{
						Pwm_IN1_R=0;
						Pwm_IN3_L=0;				
				}
		} 
		if(times>=Period)
		{
			 times=0;
		}
}
 
 
四、部分代码说明
接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1、STC89C52RC+MAX1508模块
//MAX1508引脚定义
sbit Pwm_IN1_R=P1^0;
sbit Pwm_IN2_R=P1^1;
sbit Pwm_IN3_L=P1^2;
sbit Pwm_IN4_L=P1^3;
//按键引脚定义
sbit K_Start_Stop=P2^0;   //启停按键
sbit K_Syntropy_Reverse=P2^1; //两电机同向反向按键
sbit K_UP_Speed=P2^2; //两电机同时加速按键
sbit K_Down_Speed=P2^3; //两电机同时减速按键 
 
2、STM32F103C8T6+MAX1508模块
//MAX1508引脚定义
// TIM3 输出比较通道1
#define            GENERAL_TIM_CH1_GPIO_CLK      RCC_APB2Periph_GPIOA
#define            GENERAL_TIM_CH1_PORT          GPIOA
#define            GENERAL_TIM_CH1_PIN           GPIO_Pin_6
// TIM3 输出比较通道2
#define            GENERAL_TIM_CH2_GPIO_CLK      RCC_APB2Periph_GPIOA
#define            GENERAL_TIM_CH2_PORT          GPIOA
#define            GENERAL_TIM_CH2_PIN           GPIO_Pin_7
// TIM3 输出比较通道3
#define            GENERAL_TIM_CH3_GPIO_CLK      RCC_APB2Periph_GPIOB
#define            GENERAL_TIM_CH3_PORT          GPIOB
#define            GENERAL_TIM_CH3_PIN           GPIO_Pin_0
// TIM3 输出比较通道4
#define            GENERAL_TIM_CH4_GPIO_CLK      RCC_APB2Periph_GPIOB
#define            GENERAL_TIM_CH4_PORT          GPIOB
#define            GENERAL_TIM_CH4_PIN           GPIO_Pin_1
//按键引脚定义
#define K_Start_Stop    GPIO_Pin_4  //启停按键 GPIOB_Pin_4 0x0010   //?GPIOB_Pin_3
#define K_Syntropy_Reverse    GPIO_Pin_5 //两电机同向反向按键 GPIOB_Pin_5 0x0020
#define K_UP_Speed      GPIO_Pin_6 //两电机同时加速按键 GPIOB_Pin_6 0x0040
#define K_Down_Speed      GPIO_Pin_7 //两电机同时减速按键   GPIOB_Pin_7 0x0080 
五、基础知识学习与相关资料下载
- STC89C52RC程序下载 直戳跳转
 - STM32F103C8T6程序下载 
  
- 串口下载 直戳跳转
 - ST-LINK下载 直戳跳转
 - J-LINK下载 直戳跳转
 - DAP-LINK下载 直戳跳转
 
 
六、视频效果展示与程序资料获取
视频连接 直戳跳转
资料获取 直戳跳转
七、项目所有材料清单
|   STC89C52RC驱动方案  |   图片  |   STM32F103C8T6驱动方案  |   图片  |   备注 K_A08_002  | 
|   STC89C52RC系统板X1  |   
  |   STM32F103C8T6系统板X1  |   
  |   
    
  | 
|   MAX1508模块x1  |   
  |   MAX1508模块x1  |   
  | |
|   直流电机x2  |   
  |   直流电机x2  |   
  | |
|   Micro USB线X1  |   
  |   Micro USB线X2  |   
  | |
|   母母杜邦线X6 公母杜邦线X6 公公杜邦线X2  |   
  |   母母杜邦线X6 公母杜邦线X6 公公杜邦线X2  |   
  | |
|   J-LINK下载器  |   
  | 
八、注意事项
- VCC GND请勿接反,接反易烧
 - 异常时,排除接线接触不良
 - 单片机与模块需要共地接线
 
九、接线表格
|   单片机型号  |   模块  |   对应引脚(上:模块引脚 下:单片机引脚)  | ||||
|   STC89C52RC  |   MAX1508模块  |   IN1  |   IN2  |   IN3  |   IN4  |   GND  | 
|   P1.0  |   P1.1  |   P1.2  |   P1.3  |   GND(共地)  | ||
|   按键模块  |   KEY1  |   KEY2  |   KEY3  |   KEY4  |   GND  | |
|   P2.0  |   P2.1  |   P2.2  |   P2.3  |   GND  | ||
|   STM32F103C8T6  |   MAX1508模块  |   IN1  |   IN2  |   IN3  |   IN4  |   GND  | 
|   PA6  |   PA7  |   PB0  |   PB1  |   GND(共地)  | ||
|   按键模块  |   KEY1  |   KEY2  |   KEY3  |   KEY4  |   GND  | |
|   PB4  |   PB5  |   PB6  |   PB7  |   GND  | ||











![[附源码]计算机毕业设计springboot校园生活服务平台](https://img-blog.csdnimg.cn/5823a6b4bceb42499543b2902645e9f9.png)









![[附源码]计算机毕业设计JAVA校园新闻管理系统](https://img-blog.csdnimg.cn/e295943b29c14169893781f7d315d297.png)






![[Java]图论详解(内附详细代码)](https://img-blog.csdnimg.cn/07aba73044864a539f5305e003a6f28a.png)
![[Linux]------线程控制与互斥](https://img-blog.csdnimg.cn/a845f85eb75349838d8701ba4b13d84f.png)
