K_A24_001 基于STM32等单片机驱动JDY31实现手机遥控点灯

K_A24_001 基于STM32等单片机驱动JDY31实现手机遥控点灯

  • 所有资源导航
  • 一、资源说明
  • 二、基本参数
    • 参数
    • 引脚说明
  • 三、驱动说明
    • 对应程序:
  • 四、部分代码说明
    • 1、接线引脚定义
      • 1.1、STC89C52RC+JDY31模块
      • 1.2、STM32F103C8T6+JDY31模块
  • 五、基础知识学习与相关资料下载
  • 六、视频效果展示与程序资料获取
  • 七、注意事项
  • 八、接线说明
    • STC89C52RC
    • STM32F103C8T6

K_A24_001 基于STM32等单片机驱动JDY31实现手机遥控点灯_第1张图片

所有资源导航

其他资料目录 直戳跳转

一、资源说明

单片机型号 测试条件 模块名称 代码功能
STC89C52RC 晶振11.0592M JDY31模块 STC89C52RC驱动JDY31模块 实现手机遥控点灯
STM32F103C8T6 晶振8M/系统时钟72M JDY31模块 STM32F103C8T6驱动JDY31模块 实现手机遥控点灯

二、基本参数

参数

K_A24_001 基于STM32等单片机驱动JDY31实现手机遥控点灯_第2张图片

引脚说明

JDY31模块 引脚说明
VCC 电源+ 5V
GND GND 电源负极
STAT 连接状态引脚(未连接低电平,连接后输出高电平)
RXD 串口输入引脚(TTL 电平)
TXD 串口输出引脚(TTL 电平)

三、驱动说明

对应程序:

此处串口通信对应程序:
以51为例


void UartInit(void)
{
			TMOD = 0x20;   //定时器工作在定时器1的方式2
			PCON = 0x00;   //不倍频
			SCON = 0x50;	//串口工作在方式1,并且启动串行接收	
			TH1 = 0xFD;    //设置波特率 9600
			TL1 = 0xFD;
			//ET1 = 0;
			TR1 = 1;		//启动定时器1

			ES = 1;		//开串口中断
			EA = 1;		//开总中断	
}

void UartSend(uint8_t dat)
{
//    while (busy);
//    busy = 1;
    SBUF = dat;
		while(TI==0);	
	  TI=0;
}

/*****************发送设置**********************************/
void UartSendString(unsigned char *puf)
{
 	 unsigned char k=0;
	 while(*(puf+k)!='\0')
	 {
		 UartSend(*(puf+k));
		 k++;
	}
}
void Clear_Usart_Receive(void)
{
		unsigned char i;
		for(i=0;i<50;i++)
		{
				Usart_Receive[i]=0;
		}
		
}
/*************接收数据***************************************/
void UARTInterrupt(void)interrupt 4
{
	if(RI)
	{
			RI=0;
			Usart_Receive[0]=SBUF;
			
		
	}
}


四、部分代码说明

1、接线引脚定义

需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改

1.1、STC89C52RC+JDY31模块

//JDY31模块引脚定义

(TX) ---------------P3.0
(RX)----------------P3.1


//LED引脚定义
sbit LED=P1^0;

1.2、STM32F103C8T6+JDY31模块

//JDY31模块引脚定义
UART:
#define  DEBUG_USART2_TX_GPIO_PORT       GPIOA   
#define  DEBUG_USART2_TX_GPIO_PIN        GPIO_Pin_2
#define  DEBUG_USART2_RX_GPIO_PORT       GPIOA
#define  DEBUG_USART2_RX_GPIO_PIN        GPIO_Pin_3

//LED引脚定义					
// 打开串口GPIO的时钟
GPIO_InitTypeDef GPIO_Led_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

// 将USART Tx的GPIO配置为推挽复用模式
GPIO_Led_InitStructure.GPIO_Pin = GPIO_Pin_0;SCL时钟线的GPIO */

五、基础知识学习与相关资料下载

1、STC89C52RC程序下载 直戳跳转

2、STM32F103C8T6程序下载
(1)串口下载 直戳跳转
(2)ST-LINK下载 直戳跳转
(3)J-LINK下载 直戳跳转
(4)DAP-LINK下载 直戳跳转

3、OLED0.96程序说明 直戳跳转

4、串口助手下载与使用
(1)安信可调试助手使用 直戳跳转
(2) sscom33串口调试助手使用 直戳跳转
(3)STC-ISP串口调试助手使用 直戳跳转

六、视频效果展示与程序资料获取

视频连接 直戳跳转
资料获取 ( 滑到最后添加个人号)

七、注意事项

1、VCC GND请勿接反,接反易烧
2、OLED显示异常时,排除接线接触不良

八、接线说明

STC89C52RC

/************************************************************************************

//  功能描述   : JDY-31测试程序

接线  LED看情况串联电阻 
LED-----------------------------------------------STC89C52RC
LED(+)--------------------------------------------3.3V
GND(-)--------------------------------------------P1.0

JDY-31--------------------------------------------STC89C52RC
VCC-----------------------------------------------5V
GND-----------------------------------------------GND
RX------------------------------------------------P3_1
TX------------------------------------------------P3_0

*************************************************************************************/

STM32F103C8T6

/************************************************************************************

//  功能描述   : JDY-31测试程序
//  测试条件   : STM32F103C8T6   晶振8M  系统时钟 72M

接线

LED-----------------------------------STM32F103C8T6
LED(+)--------------------------------PB0
GND(-)--------------------------------GND


JDY-31 -------------------------------STM32F103C8T6
VCC-----------------------------------5V
GND-----------------------------------GND
RX------------------------------------PA2
TX------------------------------------PA3
*****************************************************************************************/

你可能感兴趣的:(单片机,stm32,智能手机,JDY31,JDY-31)