找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1850|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

無(wú)線串口 無(wú)線電收發(fā)模塊資料程序共享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
用于無(wú)線電收發(fā)使用,常用場(chǎng)景為嵌入式電器控制,如:利用接收功能解碼自動(dòng)窗簾的控制器,再利用其發(fā)射功能發(fā)射相應(yīng)的字符接替遙控器實(shí)現(xiàn)控制,配合語(yǔ)音模塊效果更佳

單片機(jī)源程序如下:
  1. /**
  2.   ******************************************************************************

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

  8. sbit K1 = P3^2;//設(shè)置P3.2口為按鍵端口
  9. sbit LED = P2^7;//設(shè)置P2.7口為按鍵端口

  10. uchar Error;          //驗(yàn)證標(biāo)志

  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;//默認(rèn)熄滅
  23.         SM0 = 0;
  24.         SM1 = 1;//工作方式1
  25.         //SMOD = 0;//波特率不加倍(默認(rèn))
  26.         REN = 1;//允許接受
  27.         TMOD = 0X20;//T1工作于方式2:自動(dòng)重裝初值
  28.         TH1 = 0XFD;
  29.         TL1 = 0XFD;        //此初值波特率為:9600bps
  30.         TR1 = 1;        //定時(shí)器是用來(lái)作為波特率的發(fā)生器
  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);//等待發(fā)送結(jié)束
  56.                 TI = 0;
  57.                 while (RI == 0);//發(fā)送和接受同步進(jìn)行,發(fā)送結(jié)束后,等待接受結(jié)束
  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;//數(shù)組清空
  70.        
  71.                 if(K1 == 0)
  72.                 {
  73.                         delay (10);
  74.                         if(K1 == 0)
  75.                         {
  76.                                 Send_and_Sin_Data ();//發(fā)送并接受數(shù)據(jù)
  77.                                 Check_Data ();//驗(yàn)證接受的數(shù)據(jù)
  78.                                 if (Error == 0)//判斷接受的正確性
  79.                                 {
  80.                                         LED = 0;                //亮
  81.                                         delay (50);
  82.                                         LED = 1;                //滅
  83.                                 }
  84.                         }
  85.                 }
  86.         }
  87. }
復(fù)制代碼

所有資料51hei提供下載:
XL01-232AP1售后資料.rar (1.64 MB, 下載次數(shù): 5)


51hei圖片_20210208192752.png (273.48 KB, 下載次數(shù): 55)

51hei圖片_20210208192752.png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表