K_A31_002 基于STM32等单片机驱动315MHZ收发模块 串口显示
K_A31_002 基于STM32等单片机驱动315MHZ收发模块 串口显示
- 所有资源导航
- 一、资源说明
- 二、基本参数
-
- 参数
- 引脚说明
- 三、驱动说明
-
- 原理:
- 对应程序:
- 四、部分代码说明
-
- 1、接线引脚定义
-
- 1.1、STC89C52RC+315MHZ收发模块
- 1.2、STM32F103C8T6+315MHZ收发模块
- 五、基础知识学习与相关资料下载
- 六、视频效果展示与程序资料获取
- 七、注意事项
- 八、接线说明
-
- STC89C52RC
- STM32F103C8T6
所有资源导航
其他资料目录 直戳跳转
一、资源说明
单片机型号 | 测试条件 | 模块名称 | 代码功能 |
---|---|---|---|
STC89C52RC | 晶振11.0592M | H34C发射/H5V3M接收模块 | STC89C52RC驱动S315MHZ收发模块 串口显示 |
STM32F103C8T6 | 晶振8M/系统时钟72M | H34C发射/H5V3M接收模块 | STM32F103C8T6驱动315MHZ收发模块 串口显示 |
二、基本参数
参数
H34C发射模块
H5V3M接收模块
引脚说明
H34C发射模块 | 引脚说明 |
---|---|
VCC(+) | 正极 3.3/5V供电 |
GND(-) | 负极 接GND |
DAT | 数据输出引脚 |
H5V3M接收模块 | 引脚说明 |
---|---|
VCC(+) | 正极5V供电 |
GND(-) | 负极 接GND |
DAT | 数据输入引脚 |
三、驱动说明
原理:
发射模块发送高低电平 接收端输出与输入同样的高低电平 发送与解析协议可以自定义 用一定高低电平时间来表示状态0 和 1
对应程序:
以51为例
void Delay359us(void) //@11.0592MHz
{uint8_t i;_nop_();i = 162;while (--i);
}void Delay1078us(void) //@11.0592MHz
{uint8_t i, j;_nop_();i = 2;j = 235;do{while (--j);} while (--i);
}void Start(void)
{Send=0;Delay1078us(); //1078USDelay1078us(); //1078USDelay1078us(); //1078USDelay1078us(); //1078US
// Send=1;
// Delay1078us(); //1078US
// Delay1078us(); //1078US
// Send=0;
// Delay1078us(); //1078US
// Delay1078us(); //1078US
}//数据0void Dat_0(void)
{Send=1;Delay359us(); //359USSend=0;Delay1078us(); //1078US
}
//数据1void Dat_1(void)
{Send=1;Delay1078us(); //1078USSend=0;Delay359us(); //359US}
//发送一个字节数据 void Send_Byte(uint8_t Dat)
{uint8_t i,buf=0;Start();for(i=0;i<8;i++){buf=Dat>>7;if(buf){Dat_1();}else{Dat_0();}Dat=Dat<<1;}Send=0;
}
//发送字符串void Send_String(uint8_t *Pdat)
{uint8_t i=0;Start();while(Pdat[i]!='\\0'){Send_Byte(*(Pdat+i));i++;}}//接收:void Delay100us(void) //@11.0592MHz
{uint8_t i;_nop_();i = 43;while (--i);
}
void Delay500ms(void) //@11.0592MHz
{uint8_t i, j, k;_nop_();i = 4;j = 129;k = 119;do{do{while (--k);} while (--j);} while (--i);
}/*
解码
开始信号5MS低电平
1.2MS高0.4MS低为1
1.2MS低0.4MS高为0
*/
uint8_t Decode(void)//
{uint8_t m,R_date;while(!DAT){times++;Delay100us();}if(times>=30){Flag_State=1;times=0;//SeriPushSend('1') ; }if(Flag_State){for(m=0;m<8;m++){while(!DAT);while(DAT){times++;Delay100us();}if(times>=10){while(DAT);R_date<<=1;R_date|=0x01;times=0;
// OUT1=1;
// SeriPushSend('1') ; }else{R_date=R_date<<1;times=0;
// SeriPushSend('0') ;
// OUT1=0;}}Flag_State=0;return R_date;}else{times=0;}}
四、部分代码说明
1、接线引脚定义
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+315MHZ收发模块
//STC89C52RC+H5V3M(315MHZ)接收模块
sbit DAT =P0^0;
//STC89C52RC+H34C(315MHZ)发射模块
sbit Send =P1^0;
1.2、STM32F103C8T6+315MHZ收发模块
//STM32F103C8T6+H5V3M(315MHZ)接收模块
#define H34C_GPIO_CLK RCC_APB2Periph_GPIOA
#define H34C_PORT GPIOA
#define H34C_PIN GPIO_Pin_0
//STM32F103C8T6+H34C(315MHZ)发射模块
#define H34C_GPIO_CLK RCC_APB2Periph_GPIOA
#define H34C_PORT GPIOA
#define H34C_PIN 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
//H34C(315MHZ)发射
/
// 生成日期 : 2021-6-21
// 最近修改 : 2021-11-21
// 功能描述 : H34C(315MHZ)模块测试程序
// 测试条件 : STC89C52RC 晶振11.0592
接线
H34C(315MHZ)模块-----------------------STC89C52RC
VCC------------------------------------3.3V
GND------------------------------------GND
DAT------------------------------------P1.0*/
//H5V3M(315MHZ)接收
/
// 生成日期 : 2021-6-21
// 最近修改 : 2021-11-21
// 功能描述 : H5V3M(315MHZ)模块测试程序
// 测试条件 : STC89C52RC 晶振11.0592
接线
H5V3M(315MHZ)模块-----------------------STC89C52RC
VCC------------------------------------3.3V
GND------------------------------------GND
DAT------------------------------------P0.0*/
STM32F103C8T6
//H34C(315MHZ)发射
/
// 生成日期 : 2021-6-21
// 最近修改 : 2021-11-21
// 功能描述 : H34C(315MHZ)模块测试程序
// 测试条件 : STM32F103C8T6 晶振8M 系统时钟 72M
接线
H34C(315MHZ)模块------------------------STM32F103C8T6
VCC-------------------------------------3.3V
GND-------------------------------------GND
DAT-------------------------------------PA_0 */
//H5V3M(315MHZ)接收
/
// 生成日期 : 2021-6-21
// 最近修改 : 2021-11-21
// 功能描述 : H5V3M(315MHZ)模块测试程序
// 测试条件 : STM32F103C8T6 晶振8M 系统时钟 72M
接线
H5V3M(315MHZ)模块------------------------STM32F103C8T6
VCC-------------------------------------5V
GND-------------------------------------GND
DAT-------------------------------------PA_0 */