上次文章写的是红外模块的是否正常验证,和基本功能的展示与掌握,本次要完成两个红外模块,借助单片机进行互相交互信息:
需要完成两个功能:
1.通过串口助手给单片机发送信息(
这里要注意:我们使用两个红外模块,PC端一个,单片机端也接一个,实现远程传输信息),如果单片机收到信息,则实现P2口的LED灯进行闪烁
2.设置单片机按键,来模拟给PC发信息,然后在电脑上的串口助手进行显示,进行验证是否如单片机所要发的数据一致。
红外线模块1,它是与PC端连接的。
红外模块2,它是与单片机相连的。
单片机中的代码如下:
#include
#include
#include
sbit EN = P1^0; // 电机输入输出1,2
sbit IN1 = P1^1; // 输入1
sbit IN2 = P1^2; // 输入2
sbit P32=P3^2;
char Recive_table[20]=""; //接收缓冲,最大20个字节
char Recive_state = 0; //接收完成标志
void Uart_Init(void);
void ms_delay(int t);
void LED(void);
int main (void)
{
/********************功能初始化***********************/
Uart_Init();//串口初始化,波特率为9600
ms_delay(1000) ;
/****************************************************/
/**********************主循环************************/
while(1)
{
ms_delay(10) ;
if(Recive_state == 1)
{
ES=0; //清空接收标志位
if(Recive_table[0]==51)//接收到的字符串形式
{
LED();
LED();
LED();
LED();
LED();
}
memset(Recive_table,'