K_A25_012 基于STM32等单片机驱动JDY40对发JDY40 实现遥控点灯

请添加图片描述
注:
1、STC89C52RC使用波特率是9600 STM32F103C8T6使用波特率是9600
JDY40换其他波特率后 注意波特率切换后使用

所有资源导航

其他资料目录 直戳跳转

一、资源说明

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

二、基本参数

参数

请添加图片描述

引脚说明

JDY40模块引脚说明
VCC电源+ 5V
GNDGND 电源负极
RXD串口输入引脚(TTL 电平)
TXD串口输出引脚(TTL 电平)
CS透传或按键发射模式:CS 片选引脚(低电平唤醒,高电平睡眠) IO 接收模式:需要将 CS 引脚悬空或拉高电平
SETAT 指令切换引脚(低电平 AT 指令,高电平透传)

三、驱动说明

对应程序:

此处串口通信对应程序:
以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+JDY40模块

//JDY40发射模块引脚定义

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


//定义按键输入端口
sbit KEY_LED_ON=P1^0;
sbit KEY_LED_OFF=P1^1;

//JDY40接收模块引脚定义
(TX) ---------------P3.0
(RX)----------------P3.1
//定义OLED0.96端口
sbit SCL=P1^2; //串行时钟
sbit SDA=P1^3; //串行数据

//定义LED端口
sbit LED=P1^0;

1.2、STM32F103C8T6+JDY40模块

//JDY40发射模块引脚定义
#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

//定义按键输入端口
#define KEY_LED_ON_PIN   				GPIO_Pin_4  		// 									 0x0010 
#define KEY_LED_OFF_PIN    				GPIO_Pin_5			//									 0x0020
							 0x0040

#define KEY_LED_ON       GPIO_ReadInputDataBit(GPIOA, KEY_LED_ON_PIN)
#define KEY_LED_OFF      GPIO_ReadInputDataBit(GPIOA, KEY_LED_OFF_PIN)					
		


//JDY40接收模块引脚定义

#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


//定义OLED0.96端口
#define OLED_SCLK_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_8)//SCL
#define OLED_SCLK_Set() GPIO_SetBits(GPIOB,GPIO_Pin_8)

#define OLED_SDIN_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_9)//SDA
#define OLED_SDIN_Set() GPIO_SetBits(GPIOB,GPIO_Pin_9)
//定义LED端口
#define LED_ON	GPIO_SetBits(GPIOB, GPIO_Pin_0)
#define LED_OFF	GPIO_ResetBits(GPIOB, GPIO_Pin_0)

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

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

STC89C52RC+JDY40发射模块   
/************************************************************************************

//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : 2.4G无线收发串口透传模(JDY-40)发送测试程序
//  测试条件   : STC89C52RC   晶振11.0592

接线  
KEY-----------------------------------------------STC89C52RC
KEY_LED_ON----------------------------------------P1.0
KEY_LED_OFF---------------------------------------P1.1
GND-----------------------------------------------GND


2.4G无线收发串口透传模(JDY-40)---------------------STC89C52RC
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
RX------------------------------------------------P3_1
TX------------------------------------------------P3_0
*************************************************************************************/

STC89C52RC+JDY40接收模块   
/************************************************************************************
//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : 2.4G无线收发串口透传模(JDY-40)(接收)测试程序
//  测试条件   : STC89C52RC   晶振11.0592

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

2.4G无线收发串口透传模(JDY-40)---------------------STC89C52RC
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
RX------------------------------------------------P3_1
TX------------------------------------------------P3_0

OLED0.96(IIC) ------------------------------------STC89C52RC
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
SCL-----------------------------------------------P1^2
SDA-----------------------------------------------P1^3

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

STM32F103C8T6

/************************************************************************************
//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : 2.4G无线收发串口透传模(JDY-40)发送测试程序
//  测试条件   : STM32F103C8T6   晶振8M  系统时钟 72M

接线


KEY-----------------------------------------------STM32F103C8T6
KEY_LED_ON----------------------------------------PA4
KEY_LED_OFF---------------------------------------PA5
GND-----------------------------------------------GND


2.4G无线收发串口透传模(JDY-40)---------------------STM32F103C8T6
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
RX------------------------------------------------PA2
TX------------------------------------------------PA3

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

STM32F103C8T6+JDY40接收模块   
/************************************************************************************

//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : 2.4G无线收发串口透传模(JDY-40)发送测试程序
//  测试条件   : STM32F103C8T6   晶振8M  系统时钟 72M

接线  LED看情况串联电阻 
LED-----------------------------------------------STM32F103C8T6
LED(+)--------------------------------------------PB0
GND(-)--------------------------------------------GND

2.4G无线收发串口透传模(JDY-40)---------------------STM32F103C8T6
VCC-----------------------------------------------3.3V
GND-----------------------------------------------GND
RX------------------------------------------------PA2
TX------------------------------------------------PA3

OLED0.96------------------------------------------STM32F103C8T6
VCC-- --------------------------------------------3.3V
GND- ---------------------------------------------GND
SCL- ---------------------------------------------PB_8 //SCL
SDA- ---------------------------------------------PB_9 //SDA	
*************************************************************************************/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值