上次文章写的是红外模块的是否正常验证,和基本功能的展示与掌握,本次要完成两个红外模块,借助单片机进行互相交互信息:
需要完成两个功能:
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,'