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

標(biāo)題: 單片機無線串口通信例程 [打印本頁]

作者: 鄒澤蘭    時間: 2017-12-8 09:51
標(biāo)題: 單片機無線串口通信例程
  1. #include <at89x52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int

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

  6. uchar Error;          //驗證標(biāo)志

  7. uchar code table[] = "Ebyte";              //發(fā)送數(shù)組
  8. uchar table1[] = "01234";                 //接受數(shù)組


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

作者: 宮商角徵羽smile    時間: 2018-5-2 10:43
樓主,求仿真




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1