标题: 无线串口 无线电收发模块资料程序共享 [打印本页]

作者: 吾心悦汝    时间: 2021-2-8 19:24
标题: 无线串口 无线电收发模块资料程序共享
用于无线电收发使用,常用场景为嵌入式电器控制,如:利用接收功能解码自动窗帘的控制器,再利用其发射功能发射相应的字符接替遥控器实现控制,配合语音模块效果更佳

单片机源程序如下:
  1. /**
  2.   ******************************************************************************

  3.   ******************************************************************************
  4.   */
  5. #include <at89x52.h>
  6. #define uchar unsigned char
  7. #define uint unsigned int

  8. sbit K1 = P3^2;//设置P3.2口为按键端口
  9. sbit LED = P2^7;//设置P2.7口为按键端口

  10. uchar Error;          //验证标志

  11. uchar code table[] = "Ebyte";
  12. uchar table1[] = "01234";


  13. void delay (uint time)
  14. {
  15.         uint i;
  16.         uint j;
  17.         for (i=0; i<time; i++)
  18.                 for (j=0; j<110; j++);
  19. }

  20. void inital (void)
  21. {
  22.         LED = 1;//默认熄灭
  23.         SM0 = 0;
  24.         SM1 = 1;//工作方式1
  25.         //SMOD = 0;//波特率不加倍(默认)
  26.         REN = 1;//允许接受
  27.         TMOD = 0X20;//T1工作于方式2:自动重装初值
  28.         TH1 = 0XFD;
  29.         TL1 = 0XFD;        //此初值波特率为:9600bps
  30.         TR1 = 1;        //定时器是用来作为波特率的发生器
  31. //        EA = 1;
  32. //        ES = 1;       
  33. }

  34. void Check_Data (void)
  35. {
  36.         uchar i;
  37.        
  38.         for (i=0;i<6;i++)
  39.         {
  40.                 if(table1[i]==table[i])
  41.                         Error = 0;
  42.                 else
  43.                 {
  44.                         Error = 1;
  45.                         break;       
  46.                 }
  47.         }       
  48. }

  49. void Send_and_Sin_Data (void)
  50. {
  51.         uchar i;
  52.         for (i=0;i<6;i++)
  53.         {
  54.                 SBUF = table[i];
  55.                 while (TI == 0);//等待发送结束
  56.                 TI = 0;
  57.                 while (RI == 0);//发送和接受同步进行,发送结束后,等待接受结束
  58.                 RI = 0;
  59.                 table1[i] = SBUF;//接受端
  60.         }
  61. }

  62. void main ()
  63. {
  64.         uchar i;

  65.         inital ();
  66.         while (1)
  67.         {
  68.                 for (i=0;i<6;i++)
  69.                         table1[i] = i;//数组清空
  70.        
  71.                 if(K1 == 0)
  72.                 {
  73.                         delay (10);
  74.                         if(K1 == 0)
  75.                         {
  76.                                 Send_and_Sin_Data ();//发送并接受数据
  77.                                 Check_Data ();//验证接受的数据
  78.                                 if (Error == 0)//判断接受的正确性
  79.                                 {
  80.                                         LED = 0;                //亮
  81.                                         delay (50);
  82.                                         LED = 1;                //灭
  83.                                 }
  84.                         }
  85.                 }
  86.         }
  87. }
复制代码

所有资料51hei提供下载:
XL01-232AP1售后资料.rar (1.64 MB, 下载次数: 5)


51hei图片_20210208192752.png (273.48 KB, 下载次数: 55)

51hei图片_20210208192752.png





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1