欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2081|回復: 1
打印 上一主題 下一主題
收起左側

單片機無線串口通信例程

[復制鏈接]
跳轉到指定樓層
樓主
ID:258949 發表于 2017-12-8 09:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include <at89x52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

  4. sbit K1 = P3^2;//設置P3.2口為按鍵端口
  5. sbit LED = P2^7;//設置P2.7口為按鍵端口

  6. uchar Error;          //驗證標志

  7. uchar code table[] = "Ebyte";              //發送數組
  8. uchar table1[] = "01234";                 //接受數組


  9. void delay (uint time)
  10. {
  11.         uint i;
  12.         uint j;
  13.         for (i=0; i<time; i++)
  14.                 for (j=0; j<110; j++);
  15. }

  16. void inital (void)
  17. {
  18.         LED = 1;//默認熄滅
  19.         SM0 = 0;
  20.         SM1 = 1;//工作方式1
  21.         //SMOD = 0;//波特率不加倍(默認)
  22.         REN = 1;//允許接受
  23.         TMOD = 0X20;//T1工作于方式2:自動重裝初值
  24.         TH1 = 0XFD;
  25.         TL1 = 0XFD;        //此初值波特率為:9600bps
  26.         TR1 = 1;        //定時器是用來作為波特率的發生器
  27. //        EA = 1;
  28. //        ES = 1;        
  29. }

  30. void Check_Data (void)//驗證錯誤
  31. {
  32.         uchar i;
  33.         
  34.         for (i=0;i<6;i++)
  35.         {
  36.                 if(table1[i]==table[i])
  37.                         Error = 0;
  38.                 else
  39.                 {
  40.                         Error = 1;
  41.                         break;        
  42.                 }
  43.         }        
  44. }

  45. void Send_and_Sin_Data (void)
  46. {
  47.         uchar i;
  48.         for (i=0;i<6;i++)
  49.         {
  50.                 SBUF = table[i];
  51.                 while (TI == 0);//等待發送結束
  52.                 TI = 0;
  53.                 while (RI == 0);//發送和接受同步進行,發送結束后,等待接受結束
  54.                 RI = 0;
  55.                 table1[i] = SBUF;//接受端
  56.         }
  57. }

  58. void main ()
  59. {
  60.         uchar i;
  61.         inital ();
  62.         while (1)
  63.         {
  64.                 for (i=0;i<6;i++)
  65.                         table1[i] = i;//數組清空
  66.         
  67.                 if(K1 == 0)
  68.                 {
  69.                         delay (10);
  70.                         if(K1 == 0)
  71.                         {
  72.                                 Send_and_Sin_Data ();//發送并接受數據
  73.                                 Check_Data ();//驗證接受的數據
  74.                                 if (Error == 0)//判斷接受的正確性
  75.                                 {
  76.                                         LED = 0;                //亮
  77.                                         delay (50);
  78.                                         LED = 1;                //滅
  79.                                 }
  80.                         }
  81.                 }
  82.         }
  83. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:308395 發表于 2018-5-2 10:43 | 只看該作者
樓主,求仿真
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表