久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5205|回復: 3
收起左側(cè)

單片機多機通信互傳數(shù)據(jù)仿真+代碼(1602顯示從機信息)

[復制鏈接]
ID:372961 發(fā)表于 2019-3-11 16:43 | 顯示全部樓層 |閱讀模式
功能說明:主機功能:按下key1,從機1燈亮,lcd顯示從機1發(fā)送的數(shù)據(jù),按下key2,從機1燈。按下key3,從機2燈亮,lcd顯示從機2發(fā)送的數(shù)據(jù);按下key4,從機2燈滅,按下key5,從機1和從機2燈滅;按下key6,從機1和從機2燈滅;
proteus仿真圖:
多機通信數(shù)據(jù).png

主機部分單片機代碼:
  1. /*******************************************************************************
  2. *  標題:                        多機通信                                       *
  3. *  時間                      2019年3月11日16:14:33                                                           *                                                                                                                                          
  4. *                                                                              *                                                                        
  5. *  實驗說明:主機功能:按下key1,從機1燈亮,lcd顯示從機1發(fā)送的數(shù)據(jù),按下key2,   *
  6. 從機1燈。按下key3,從機2燈亮,lcd顯示從機2發(fā)送的數(shù)據(jù);按下key4,從機2燈滅,按下*
  7. key5,從機1和從機2燈滅;按下key6,從機1和從機2燈滅;                           *                                                               
  8. ********************************************************************************
  9. * 實驗心得:1.例如發(fā)送的字符串數(shù)組是buff[]={0x01,0x02,0x03},那么接收端前三位收到*
  10. 的數(shù)據(jù)就是0x01,0x02,0x03,之后也是有數(shù)據(jù)發(fā)送過來,但是數(shù)據(jù)的值不是字符串賦的值  *
  11. 2.check=check^Buff[i];這句話的意思是check和buff的值進行二進制或與,相同為0,   *
  12. 不同為1,按這個進行主機與從機數(shù)據(jù)的校驗                                        *
  13. ********************************************************************************/
  14. #include<reg51.h>
  15. #include<string.h>
  16. #include "lcd.h"
  17. #define _SUCC_   0x0f//數(shù)據(jù)傳送成功
  18. #define _ERR_    0xf0//數(shù)據(jù)傳送失敗
  19. unsigned char aa=0xff;//主機與從機之間通信標志
  20. unsigned char temp=0xff;
  21. unsigned char Buff[20];//數(shù)據(jù)緩沖區(qū)
  22. unsigned char recive[6];         //用于保存從機發(fā)送的數(shù)據(jù)
  23. sbit KEY1=P1^3;
  24. sbit KEY2=P1^2;
  25. sbit KEY3=P1^1;
  26. sbit KEY4=P1^0;
  27. sbit KEY5=P3^2;
  28. sbit KEY6=P3^3;

  29. //sbit KEY5=P1^4;
  30. //sbit KEY6=P1^5;
  31. //延時1ms函數(shù)
  32. void delay_1ms(unsigned int i)
  33. {
  34.      unsigned int x,y;
  35.      for(x=i;x>0;x--)
  36.          for(y=110;y>0;y--);
  37. }
  38. //串口初始化函數(shù)
  39. void init()
  40. {
  41.      TMOD=0x20; //定時器1工作于方式2
  42.      TH1=0xfd;  
  43.      TL1=0xfd; //波特率為9600
  44.      PCON=0;
  45.      SCON=0xd0;  //串口工作于方式3
  46.      TR1=1;  //開啟定時器
  47.      TI=0;
  48.      RI=0;
  49. }


  50. //發(fā)送數(shù)據(jù)函數(shù)
  51. void SEND_data(unsigned char *Buff)
  52. {
  53.      unsigned char i,lenth,check;
  54.      lenth=strlen(Buff);      //計算數(shù)據(jù)長度
  55.      check=lenth;
  56.      TI=0;         //發(fā)送數(shù)據(jù)長度
  57.      TB8=0;       //發(fā)送數(shù)據(jù)幀
  58.      SBUF=lenth;
  59.      while(!TI);
  60.      TI=0;
  61.          
  62.      for(i=0;i<lenth;i++)  //發(fā)送數(shù)據(jù)
  63.     {
  64.         check=check^Buff[i];
  65.         TB8=0;
  66.         SBUF=Buff[i];      
  67.         while(!TI);
  68.         TI=0;
  69.     }
  70.       TB8=0;      //發(fā)送校驗字節(jié)
  71.       SBUF=check;   
  72.       while(!TI);
  73.       TI=0;     
  74. }

  75. //接收數(shù)據(jù)函數(shù)
  76. unsigned char RECE_data(unsigned char *Buff)
  77. {
  78.      unsigned char i;
  79.      unsigned char lenth;
  80.      unsigned char check;
  81.      RI=0;     //接收數(shù)據(jù)長度
  82.      while(!RI);
  83.      if(RB8==1)
  84.          {
  85.                  RI = 0;   
  86.              return 0xfe;  //若接收到地址幀,則返回0xfe
  87.          }
  88.      lenth=SBUF;
  89.      RI=0;     
  90.      check=lenth;
  91.      for(i=0;i<lenth;i++) //接收數(shù)據(jù)
  92.     {
  93.         while(!RI);
  94.         if(RB8==1)   //若接收到地址幀,則返回0xfe
  95.         return 0xfe;
  96.         Buff[i]=SBUF;   
  97.         check=check^(Buff[i]);
  98.         RI=0;
  99.     }
  100.      while(!RI);    //接收校驗字節(jié)
  101.      if(RB8==1)    //若接收到地址幀,則返回0xfe
  102.      return 0xfe;
  103.      temp=SBUF;
  104.      RI=0;
  105.      check=temp^check;  //將從主機接收到的校驗碼與自己計算的校驗碼比對
  106.      if(check!=0)   //校驗碼不一致,表明數(shù)據(jù)接收錯誤,向主機發(fā)送錯誤信號,函數(shù)返回0xff
  107.      {
  108.         TI=0;
  109.         TB8=0;
  110.         SBUF=_ERR_;
  111.         while(!TI);
  112.         TI=0;
  113.         return 0xff;
  114.      }
  115.      TI=0;           //校驗碼一致,表明數(shù)據(jù)接收正確,向主機發(fā)送成功信號,函數(shù)返回0x00
  116.      TB8=0;
  117.      SBUF=_SUCC_;            
  118.      while(!TI);
  119.      TI=0;
  120.      return 0;
  121. }                                 

  122. //發(fā)送從機地址
  123. void ADDR_data(unsigned addr)
  124. {
  125. while(temp!=addr) //主機等待從機返回其地址作為應答信號
  126. {
  127.   TI=0;    //發(fā)送從機地址
  128.   TB8=1;    //發(fā)送地址幀
  129.   SBUF=addr;
  130.   while(!TI);
  131.   TI=0;
  132.   
  133.   RI=0;
  134.   while(!RI);
  135.   temp=SBUF;
  136.   RI=0;
  137. }
  138. }

  139. void keyscan()
  140. {
  141.   
  142.   if(KEY1==0)
  143.   {
  144.      delay_1ms(5);
  145.      if(KEY1==0)
  146.     {
  147.       while(!KEY1);
  148.       ADDR_data(0x01);//發(fā)送從機地址
  149.       temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  150.       while(temp!=_SUCC_)
  151.       {
  152.           unsigned char Buff[]={0xfe};
  153.           SEND_data(Buff);//發(fā)送數(shù)據(jù)
  154.           RI=0;
  155.           while(!RI);
  156.           temp=SBUF;
  157.           RI=0;
  158.       }
  159.           SM2=0;       //接收數(shù)據(jù)幀
  160.       aa=0xff;    //從機接收數(shù)據(jù),并將數(shù)據(jù)保存到數(shù)據(jù)緩沖區(qū)
  161.       while(aa==0xff)
  162.       {
  163.           aa=RECE_data(Buff);
  164.                   P0 = 0xff;
  165.       }
  166.           P0 = 0xfe;
  167.       recive[0] = Buff[0];
  168.           recive[1] = Buff[1];
  169.           recive[2] = Buff[2];
  170.          
  171.     }
  172.   }

  173.   if(KEY2==0)
  174.   {
  175.      delay_1ms(5);
  176.      if(KEY2==0)
  177.      {
  178.         while(!KEY2);
  179.         ADDR_data(0x01);
  180.         temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  181.         while(temp!=_SUCC_)
  182.        {
  183.           unsigned char Buff[]={0xff};
  184.           SEND_data(Buff);
  185.           RI=0;
  186.           while(!RI);  
  187.           RI=0;
  188.                   temp=SBUF;
  189.        }
  190.      }
  191.   }

  192.   if(KEY3==0)
  193.   {
  194.      delay_1ms(5);
  195.      if(KEY3==0)
  196.      {
  197.          while(!KEY3);
  198.          ADDR_data(0x02);
  199.              temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  200.          while(temp!=_SUCC_)
  201.         {
  202.            unsigned char Buff[]={0xfe};
  203.            SEND_data(Buff);
  204.            RI=0;
  205.            while(!RI);
  206.            temp=SBUF;
  207.            RI=0;
  208.         }
  209.                 SM2=0;       //接收數(shù)據(jù)幀
  210.                 aa=0xff;    //從機接收數(shù)據(jù),并將數(shù)據(jù)保存到數(shù)據(jù)緩沖區(qū)
  211.                 while(aa==0xff)
  212.                 {
  213.                         aa=RECE_data(Buff);
  214.                         P0 = 0xff;
  215.                 }
  216.                 P0 = 0xfe;
  217.                 recive[3] = Buff[0];
  218.                 recive[4] = Buff[1];
  219.                 recive[5] = Buff[2];
  220.      }
  221.   }

  222.   if(KEY4==0)
  223.   {
  224.       delay_1ms(5);
  225.       if(KEY4==0)
  226.      {
  227.          while(!KEY4);
  228.          ADDR_data(0x02);
  229.               temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  230.          while(temp!=_SUCC_)
  231.         {
  232.              unsigned char Buff[]={0xff};
  233.              SEND_data(Buff);
  234.              RI=0;
  235.              while(!RI);
  236.              temp=SBUF;
  237.              RI=0;
  238.         }
  239.      }
  240.   }
  241.   if(KEY5==0)
  242.   {
  243.       delay_1ms(5);
  244.       if(KEY5==0)
  245.      {
  246.          while(!KEY5);
  247.          ADDR_data(0x01);
  248.               temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  249.          while(temp!=_SUCC_)
  250.         {
  251.              unsigned char Buff[]={0xff};
  252.              SEND_data(Buff);
  253.              RI=0;
  254.              while(!RI);
  255.              temp=SBUF;
  256.              RI=0;
  257.         }
  258.          ADDR_data(0x02);
  259.               temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  260.          while(temp!=_SUCC_)
  261.         {
  262.              unsigned char Buff[]={0xff};
  263.              SEND_data(Buff);
  264.              RI=0;
  265.              while(!RI);
  266.              temp=SBUF;
  267.              RI=0;
  268.         }
  269.      }
  270.   }
  271.   if(KEY6==0)
  272.   {
  273.       delay_1ms(5);
  274.       if(KEY6==0)
  275.      {
  276.          while(!KEY6);
  277.          ADDR_data(0x01);
  278.               temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  279.          while(temp!=_SUCC_)
  280.         {
  281.              unsigned char Buff[]={0xff};
  282.              SEND_data(Buff);
  283.              RI=0;
  284.              while(!RI);
  285.              temp=SBUF;
  286.              RI=0;
  287.         }
  288.          ADDR_data(0x02);
  289.               temp=_ERR_;   //主機等待從機數(shù)據(jù)接收成功信號
  290.          while(temp!=_SUCC_)
  291.         {
  292.              unsigned char Buff[]={0xff};
  293.              SEND_data(Buff);
  294.              RI=0;
  295.              while(!RI);
  296.              temp=SBUF;
  297.              RI=0;
  298.         }
  299.      }
  300.   }

  301. }      
  302. void main()
  303. {
  304.      init();
  305.          LcdInit();                         //初始化LCD1602
  306.      LcdWriteCom(0x01);
  307.      while(1)
  308.      {
  309.         keyscan();
  310.                 LcdWriteData(recive[0]);
  311.             LcdWriteData(recive[1]);
  312.                 LcdWriteData(recive[2]);
  313.             LcdWriteData(recive[3]);
  314.                 LcdWriteData(recive[4]);
  315.             LcdWriteData(recive[5]);
  316.                 LcdWriteCom(0x80);
  317.      }
  318. }
復制代碼
從機1部分代碼:
  1. #include<reg51.h>
  2. #include<string.h>
  3. #define addr     0x01//從機1的地址
  4. #define _SUCC_   0x0f//數(shù)據(jù)傳送成功
  5. #define _ERR_    0xf0//數(shù)據(jù)傳送失敗
  6. unsigned char aa=0xff;//主機與從機之間通信標志
  7. unsigned char Buff[20];//數(shù)據(jù)緩沖區(qū)
  8. unsigned char ceshi[] = {0x77,0x78,0x56};                //傳遞給主機的信息
  9. unsigned char tp;
  10. //串口初始化函數(shù)
  11. void init()
  12. {
  13.      TMOD=0x20; //定時器1工作于方式2
  14.      TH1=0xfd;  
  15.      TL1=0xfd; //波特率為9600
  16.      PCON=0;
  17.      SCON=0xd0;  //串口工作于方式3
  18.      TR1=1;  //開啟定時器         
  19.      TI=0;
  20.      RI=0;
  21. }

  22. //發(fā)送數(shù)據(jù)函數(shù)
  23. void SEND_data(unsigned char *Buff)
  24. {
  25.      unsigned char i,lenth,check;
  26.      lenth=strlen(Buff);      //計算數(shù)據(jù)長度
  27.      check=lenth;
  28.      TI=0;         //發(fā)送數(shù)據(jù)長度
  29.      TB8=0;       //發(fā)送數(shù)據(jù)幀
  30.      SBUF=lenth;
  31.      while(!TI);
  32.      TI=0;
  33.          
  34.      for(i=0;i<lenth;i++)  //發(fā)送數(shù)據(jù)
  35.     {
  36.         check=check^Buff[i];
  37.         TB8=0;
  38.         SBUF=Buff[i];      
  39.         while(!TI);
  40.         TI=0;
  41.     }
  42.       TB8=0;      //發(fā)送校驗字節(jié)
  43.       SBUF=check;   
  44.       while(!TI);
  45.       TI=0;     
  46. }

  47. //接收數(shù)據(jù)函數(shù)
  48. unsigned char RECE_data(unsigned char *Buff)
  49. {
  50.      unsigned char i,temp;
  51.      unsigned char lenth;
  52.      unsigned char check;
  53.      RI=0;     //接收數(shù)據(jù)長度
  54.      while(!RI);
  55.      if(RB8==1)
  56.          {
  57.                  RI = 0;   
  58.              return 0xfe;  //若接收到地址幀,則返回0xfe
  59.          }
  60.      lenth=SBUF;
  61.      RI=0;     
  62.      check=lenth;
  63.      for(i=0;i<lenth;i++) //接收數(shù)據(jù)
  64.     {
  65.         while(!RI);
  66.         if(RB8==1)   //若接收到地址幀,則返回0xfe
  67.         return 0xfe;
  68.         Buff[i]=SBUF;   
  69.         check=check^(Buff[i]);
  70.         RI=0;
  71.     }
  72.      while(!RI);    //接收校驗字節(jié)
  73.      if(RB8==1)    //若接收到地址幀,則返回0xfe
  74.      return 0xfe;
  75.      temp=SBUF;
  76.      RI=0;
  77.      check=temp^check;  //將從主機接收到的校驗碼與自己計算的校驗碼比對
  78.      if(check!=0)   //校驗碼不一致,表明數(shù)據(jù)接收錯誤,向主機發(fā)送錯誤信號,函數(shù)返回0xff
  79.      {
  80.         TI=0;
  81.         TB8=0;
  82.         SBUF=_ERR_;
  83.         while(!TI);
  84.         TI=0;
  85.         return 0xff;
  86.      }
  87.      TI=0;           //校驗碼一致,表明數(shù)據(jù)接收正確,向主機發(fā)送成功信號,函數(shù)返回0x00
  88.      TB8=0;
  89.      SBUF=_SUCC_;            
  90.      while(!TI);
  91.      TI=0;
  92.      return 0;
  93. }                                 
  94. void main()
  95. {
  96.     init();
  97.     while(1)
  98.    {
  99.        SM2=1;              //處于接收地址幀狀態(tài)
  100.        while(aa!=addr)  //從機等待主機請求自己的地址
  101.       {
  102.            RI=0;
  103.            while(!RI);
  104.            aa=SBUF;
  105.            RI=0;
  106.       }
  107.       TI=0;     //一旦被請求,從機返回自己的地址作為應答,等待接收數(shù)據(jù)
  108.       TB8=0;
  109.       SBUF=addr;
  110.       while(!TI);
  111.       TI=0;
  112.       SM2=0;       //接收數(shù)據(jù)幀
  113.       aa=0xff;    //從機接收數(shù)據(jù),并將數(shù)據(jù)保存到數(shù)據(jù)緩沖區(qū)
  114.       while(aa==0xff)
  115.       {
  116.           aa=RECE_data(Buff);
  117.       }
  118.       if(aa==0xfe)
  119.          continue;
  120.       P2=Buff[0];      //查看接收到的數(shù)據(jù)
  121.           tp = _ERR_;
  122.           if(Buff[0] == 0xfe)
  123.           {
  124.                   while(tp!=_SUCC_)
  125.                   {
  126.                           SEND_data(ceshi);
  127.                         RI=0;
  128.                         while(!RI);  
  129.                         RI=0;
  130.                         tp=SBUF;
  131.                   }
  132.           }
  133.    }
  134. }
復制代碼

從機2部分代碼:
  1. #include<reg51.h>
  2. #include<string.h>
  3. #define addr     0x02//從機2的地址
  4. #define _SUCC_   0x0f//數(shù)據(jù)傳送成功
  5. #define _ERR_    0xf0//數(shù)據(jù)傳送失敗
  6. unsigned char aa=0xff;//主機與從機之間通信標志
  7. unsigned char ceshi[] = {0x6b,0x6c,0x2b};
  8. unsigned char tp;
  9. unsigned char Buff[20];//數(shù)據(jù)緩沖區(qū)
  10. //串口初始化函數(shù)
  11. void init()
  12. {
  13.      TMOD=0x20; //定時器1工作于方式2
  14.      TH1=0xfd;  
  15.      TL1=0xfd; //波特率為9600
  16.      PCON=0;
  17.      SCON=0xd0;  //串口工作于方式3
  18.      TR1=1;  //開啟定時器
  19.      TI=0;
  20.      RI=0;
  21. }

  22. //發(fā)送數(shù)據(jù)函數(shù)
  23. void SEND_data(unsigned char *Buff)
  24. {
  25.      unsigned char i,lenth,check;
  26.      lenth=strlen(Buff);      //計算數(shù)據(jù)長度
  27.      check=lenth;
  28.      TI=0;         //發(fā)送數(shù)據(jù)長度
  29.      TB8=0;       //發(fā)送數(shù)據(jù)幀
  30.      SBUF=lenth;
  31.      while(!TI);
  32.      TI=0;
  33.          
  34.      for(i=0;i<lenth;i++)  //發(fā)送數(shù)據(jù)
  35.     {
  36.         check=check^Buff[i];
  37.         TB8=0;
  38.         SBUF=Buff[i];      
  39.         while(!TI);
  40.         TI=0;
  41.     }
  42.       TB8=0;      //發(fā)送校驗字節(jié)
  43.       SBUF=check;   
  44.       while(!TI);
  45.       TI=0;     
  46. }

  47. //接收數(shù)據(jù)函數(shù)
  48. unsigned char RECE_data(unsigned char *Buff)
  49. {
  50.      unsigned char i,temp;
  51.      unsigned char lenth;
  52.      unsigned char check;
  53.      RI=0;     //接收數(shù)據(jù)長度
  54.      while(!RI);
  55.      if(RB8==1)    //若接收到地址幀,則返回0xfe
  56.      return 0xfe;
  57.      lenth=SBUF;
  58.      RI=0;     
  59.      check=lenth;
  60.      for(i=0;i<lenth;i++) //接收數(shù)據(jù)
  61.     {
  62.         while(!RI);
  63.         if(RB8==1)   //若接收到地址幀,則返回0xfe
  64.         return 0xfe;
  65.         Buff[i]=SBUF;   
  66.         check=check^(Buff[i]);
  67.         RI=0;
  68.     }
  69.      while(!RI);    //接收校驗字節(jié)
  70.      if(RB8==1)    //若接收到地址幀,則返回0xfe
  71.      return 0xfe;
  72.      temp=SBUF;
  73.      RI=0;
  74.      check=temp^check;  //將從主機接收到的校驗碼與自己計算的校驗碼比對
  75.      if(check!=0)   //校驗碼不一致,表明數(shù)據(jù)接收錯誤,向主機發(fā)送錯誤信號,函數(shù)返回0xff
  76.      {
  77.         TI=0;
  78.         TB8=0;
  79.         SBUF=_ERR_;
  80.         while(!TI);
  81.         TI=0;
  82.         return 0xff;
  83.      }
  84.      TI=0;           //校驗碼一致,表明數(shù)據(jù)接收正確,向主機發(fā)送成功信號,函數(shù)返回0x00
  85.      TB8=0;
  86.      SBUF=_SUCC_;
  87.      while(!TI);
  88.      TI=0;
  89.      return 0;
  90. }
  91. void main()
  92. {
  93.     init();
  94.     while(1)
  95.    {
  96.        SM2=1;              //接收地址幀
  97.        while(aa!=addr)  //從機等待主機請求自己的地址
  98.       {
  99.            RI=0;
  100.            while(!RI);
  101.            aa=SBUF;
  102.            RI=0;
  103.       }
  104.       TI=0;     //一旦被請求,從機返回自己的地址作為應答,等待接收數(shù)據(jù)
  105.       TB8=0;
  106.       SBUF=addr;
  107.       while(!TI);
  108.       TI=0;
  109.       SM2=0;                  //接收數(shù)據(jù)幀
  110.       aa=0xff;    //從機接收數(shù)據(jù),并將數(shù)據(jù)保存到數(shù)據(jù)緩沖區(qū)
  111.       while(aa==0xff)
  112.       {
  113.           aa=RECE_data(Buff);
  114.       }
  115.       if(aa==0xfe)
  116.          continue;
  117.       P2=Buff[0];      //查看接收到的數(shù)據(jù)
  118.           tp = _ERR_;
  119.           if(Buff[0] == 0xfe)
  120.           {
  121.                   while(tp!=_SUCC_)
  122.                   {
  123.                           SEND_data(ceshi);
  124.                         RI=0;
  125.                         while(!RI);  
  126.                         RI=0;
  127.                         tp=SBUF;
  128.                   }
  129.           }
  130.    }
  131. }
復制代碼

全套代碼可以下載附件
0.png

注意這個仿真只能用Proteus7.8版本打開,經(jīng)過測試其他版本均無反應:
多機通信-1602顯示從機信息.zip (194.84 KB, 下載次數(shù): 137)

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
ID:509233 發(fā)表于 2019-4-27 17:14 | 顯示全部樓層
請問下如果我不進行校驗的話代碼可以怎么改?比如說我只接受兩個從機的八位數(shù)據(jù)
回復

使用道具 舉報

無效樓層,該帖已經(jīng)被刪除
ID:289218 發(fā)表于 2023-1-24 16:23 | 顯示全部樓層
反饋:8.13版本運行,按下任何按鈕均無反應。
回復

使用道具 舉報

ID:717459 發(fā)表于 2023-5-8 15:49 | 顯示全部樓層
效果不行
回復

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 玖玖操| 欧美日韩中文在线观看 | 成人精品在线观看 | 国产精品久久久久一区二区三区 | 欧美色视频免费 | 超碰免费观看 | 成人免费大片黄在线播放 | 久久精品视频亚洲 | 国产亚洲欧美另类一区二区三区 | 日韩国产高清在线观看 | 成人在线免费视频观看 | 国产在线二区 | 日韩在线一区二区三区 | 亚洲精品九九 | 欧美激情五月 | 91大片| 中文字幕亚洲欧美日韩在线不卡 | 亚洲综合第一页 | 成年人精品视频在线观看 | 播放一级黄色片 | 久久久蜜桃 | 久久亚洲精品视频 | 羞羞的视频在线观看 | 五月天婷婷久久 | 亚洲www | 国产精品久久久久久吹潮 | 中文字幕在线播放不卡 | 久久久蜜桃 | 99视频免费在线观看 | 久久久www成人免费无遮挡大片 | 毛片免费观看视频 | 国产成人99久久亚洲综合精品 | 欧美日韩久 | 成人午夜影院 | 日本黄色一级片视频 | 日韩中文字幕一区 | 一级特黄色毛片 | 婷婷综合在线 | 精品少妇一区二区三区日产乱码 | 亚洲日韩中文字幕一区 | 中文字幕av一区 |