找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1539|回复: 0
打印 上一主题 下一主题
收起左侧

无线串口 无线电收发模块资料程序共享

[复制链接]
跳转到指定楼层
楼主
用于无线电收发使用,常用场景为嵌入式电器控制,如:利用接收功能解码自动窗帘的控制器,再利用其发射功能发射相应的字符接替遥控器实现控制,配合语音模块效果更佳

单片机源程序如下:
  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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶1 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表