K_A31_002 基于STM32等单片机驱动315MHZ收发模块 串口显示
所有资源导航
其他资料目录 直戳跳转
一、资源说明
二、基本参数
参数
H34C发射模块
H5V3M接收模块
引脚说明
三、驱动说明
原理:
发射模块发送高低电平 接收端输出与输入同样的高低电平 发送与解析协议可以自定义 用一定高低电平时间来表示状态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(); //1078US
Delay1078us(); //1078US
Delay1078us(); //1078US
Delay1078us(); //1078US
// Send=1;
// Delay1078us(); //1078US
// Delay1078us(); //1078US
// Send=0;
// Delay1078us(); //1078US
// Delay1078us(); //1078US
}
//数据0
void Dat_0(void)
{
Send=1;
Delay359us(); //359US
Send=0;
Delay1078us(); //1078US
}
//数据1
void Dat_1(void)
{
Send=1;
Delay1078us(); //1078US
Send=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
*****************************************************************************************/