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

標(biāo)題: 可用手機(jī)APP控制的智能插座制作 附單片機(jī)源碼 [打印本頁]

作者: 靠著晚上    時間: 2018-8-17 17:21
標(biāo)題: 可用手機(jī)APP控制的智能插座制作 附單片機(jī)源碼
1.作品的整機(jī)外觀圖片或焊接組裝好的PCBA圖片;
智能插座實(shí)物圖:

手機(jī)APP:

2.作品的研究背景、目的和功能、市場應(yīng)用前景;
隨著科技的不斷進(jìn)步,各種各樣的電子產(chǎn)品已經(jīng)慢慢進(jìn)入到了我們的日常生活中,由于人們的不合理的使用,經(jīng)常導(dǎo)致電能的無故浪費(fèi)。然而在當(dāng)今這個社會,人口數(shù)量的不斷增加,再生能源的不斷減少,全球溫室效應(yīng)日益嚴(yán)重,節(jié)能減排尤為重要。為了解決這樣一對矛盾,我們了解到,越來越多的產(chǎn)品有了待機(jī)功能,如電視機(jī),電腦,冰箱,空調(diào)等家用電器。據(jù)調(diào)查,我國城市家庭的平均待機(jī)能耗,相當(dāng)于每個家庭每天都在亮著一盞15瓦到30瓦的長明燈。據(jù)測算,家電待機(jī)能耗占到中國家庭電力消耗的10%以上。而正是由于這種長期的待機(jī)狀態(tài),使得插座的負(fù)荷也越來越大,帶來了非常嚴(yán)重的安全隱患。故需要一款能夠控制使用時間的插座來解決這個問題,這款插座也可以由此走進(jìn)千家萬戶!

3.趣味性
    用戶再通過手機(jī)APP控制插座時,可通過插座中央的喜趣表情判斷插座狀態(tài),給用戶在使用的過程中帶來些許的樂趣

二、系統(tǒng)構(gòu)架圖

三、硬件部分的描述
1.附上原理圖&PCB實(shí)物圖的圖片或者源文件(官方建議大家盡量用源文件上傳),如果是圖片,請確保圖片是清晰可辨的;

2.用文字把該作品的實(shí)現(xiàn)原理、系統(tǒng)的工作過程大致講解一下。

該系統(tǒng)采用51單片機(jī)STC89C52在Keil開發(fā)平臺上通過C語言編程控制繼電器的通、斷來實(shí)現(xiàn)控制插座的通、斷電,而繼電器的通、斷由定時組別確定。在定時范圍內(nèi)繼電器導(dǎo)通,否則斷開。并用LCD1602顯示出時鐘及定時時間等信息。當(dāng)時鐘走到定時開始時間時,繼電器接通,插座給負(fù)載供電;時鐘走到定時結(jié)束時間時,繼電器斷開,插座停止給負(fù)載供電。
1.實(shí)現(xiàn)功能
系統(tǒng)總體設(shè)計主要實(shí)現(xiàn)以下功能:
(1)時間預(yù)設(shè)功能:設(shè)置預(yù)設(shè)時間,控制繼電器各個時間段的工作狀態(tài)。
(2)數(shù)據(jù)存儲功能:將數(shù)據(jù)存儲在外部儲存芯片中,防止單片機(jī)意外掉電數(shù)據(jù)清零。
(3)時間溫度功能:實(shí)時顯示環(huán)境溫度和時間。
(4)藍(lán)牙遙控功能:單片機(jī)通過藍(lán)牙模塊與手機(jī)進(jìn)行通訊,用戶通過手機(jī)APP控制單片機(jī)工作。


四、材料清單(BOM列表)

(1)單片機(jī)STC89C52:CPU
(2)LCD1602液晶顯示屏:專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊
(3)DS1302時鐘模塊:本設(shè)計的時間預(yù)設(shè)模式需要精準(zhǔn)時間來控制繼電器的動作,為為保證單片機(jī)掉電后時間信號依舊繼續(xù)工作,故采用DS1302外部時間計時。DS1302一種高性能、低功耗、帶RAM的實(shí)時時鐘電路,它可以對年、月、日、周、時、分、秒進(jìn)行計時,具有閏年補(bǔ)償功能
(4)繼電器模塊:該系統(tǒng)通過單片機(jī)控制繼電器轉(zhuǎn)而控制插座的通斷。
(5)AT24C02存儲模塊:AT24C02作為外部存儲芯片,將數(shù)據(jù)實(shí)時儲存,防止單片機(jī)意外掉電導(dǎo)致數(shù)據(jù)清零
(6)BT-08B藍(lán)牙模塊:通過此模塊實(shí)現(xiàn)單片機(jī)與手機(jī)的通信
(7)DS18B20溫度模塊:它具有微型化,低功耗,高性能,抗干擾能力強(qiáng),易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成數(shù)字信號處理器處理。


五、軟件部分的描述(選填)

設(shè)計思想:將該項目每一個功能獨(dú)立成每一模塊,然后每一個模塊單獨(dú)開發(fā),并獨(dú)立測試。

(1)主程序:主要是在單片機(jī)的控制下,建立人機(jī)操作界面,對設(shè)定時間進(jìn)行儲存,對相關(guān)功能進(jìn)行設(shè)置,驅(qū)動液晶顯示出相關(guān)信息,并通過判斷定時時間,控制繼電器的通、斷,從而達(dá)到控制插座的通、斷電。
主程序流程圖
(2) AT24C02程序:包括I2C總線程序和AT24C02寫入和讀取程序

寫入流程圖和讀取流程圖


(3)DS1302程序:包含寫操作、讀操作、初始化操作和讀取時間操作函數(shù)


讀取流程圖和寫入流程圖

(4)LCD1602液晶程序:包含延時函數(shù)、寫入命令子函數(shù)、寫入數(shù)據(jù)子函數(shù)、初始化函數(shù)


  寫指令和寫數(shù)據(jù)流程圖



(5)BT-08B藍(lán)牙模塊程序:包含串口初始化函數(shù)和延時函數(shù)

藍(lán)牙串口控制流程圖


(6)DS18B20溫度模塊程序:包含延時函數(shù)、初始化函數(shù)、寫數(shù)據(jù)函數(shù)、讀數(shù)據(jù)函數(shù)、轉(zhuǎn)換溫度函數(shù)、發(fā)送讀取溫度命令函數(shù)和讀取溫度函數(shù)
  
溫度讀取流程圖


單片機(jī)源程序如下:
  1. #include <reg52.h>                        
  2. #include "ds1302.h"
  3. #include "temp.h"        
  4. #include "lcd.h"
  5. #include "BT.h"
  6. #include "i2c.h"
  7. #define GPIO_KEY P1

  8. sbit relay=P2^3;        //繼電器信號輸入管腳定義
  9. sbit beep=P1^5;                //定義蜂鳴器

  10. typedef unsigned int u16;          //對數(shù)據(jù)類型進(jìn)行聲明定義
  11. typedef unsigned char u8;

  12. u8 sign=0;//聲音判斷標(biāo)志        
  13. u8 h,m,s;//時,分,秒
  14. u8 KeyValue=16;        //用來存放讀取到的鍵值
  15. u8 tempData[3];//接收溫度數(shù)據(jù)
  16. u8 dateData[8];        //接收日期數(shù)據(jù)
  17. u8 timingData[8];//接收定時數(shù)據(jù)        
  18. u8 timeData[8];//接收時間數(shù)據(jù)
  19.                               
  20. /*******************************************************************************
  21. * 函 數(shù) 名         : delay()
  22. * 函數(shù)功能                   : 延時函數(shù)
  23. * 輸    入         : i
  24. * 輸    出         : 無
  25. *******************************************************************************/
  26. void delay(u16 i)
  27. {
  28.            while(i--);
  29. }
  30. /*******************************************************************************
  31. * 函 數(shù) 名         : sound()
  32. * 函數(shù)功能                   : 聲音函數(shù)
  33. * 輸    入         : 無
  34. * 輸    出         : 無
  35. *******************************************************************************/
  36. void sound()
  37. {
  38.         u8 i=100;
  39.         while(i--)
  40.         {
  41.                 beep=~beep;
  42.                 delay(30);
  43.                 beep=~beep;
  44.                 delay(10);        
  45.         }
  46. }

  47. /*******************************************************************************
  48. * 函 數(shù) 名         : Timer0Init()
  49. * 函數(shù)功能                   : 定時器0初始化
  50. * 輸    入         : 無
  51. * 輸    出         : 無
  52. *******************************************************************************/
  53. void Timer0Init()
  54. {
  55.         TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。                                    
  56.         TH0=0XFC;        //給定時器賦初值,定時1ms
  57.         TL0=0X18;        
  58.         ET0=1;//打開定時器0中斷允許
  59.         EA=1;//打開總中斷
  60.         TR0=1;//打開定時器                                
  61. }
  62. /*******************************************************************************
  63. * 函 數(shù) 名         : KeyChoose()
  64. * 函數(shù)功能                   : 按鍵選擇
  65. * 輸    入         : 無
  66. * 輸    出         : 無
  67. *******************************************************************************/
  68. void KeyChoose()
  69. {
  70.         if(sign!=switch_pattern)        //判斷聲音標(biāo)志sign是否與switch_pattern相等,不相等則表明開關(guān)狀態(tài)有變化,輸出提示音,并令sign=switch_pattern
  71.         {
  72.                 sound();
  73.                 sound();
  74.                 sign=switch_pattern;
  75.         }
  76.    switch(KeyValue)
  77.         {
  78.                 case 0:
  79.                         sound();
  80.                         sound();
  81.                         if(switch_pattern==1)
  82.                          switch_pattern=0;
  83.                     else
  84.                          switch_pattern=1;
  85.                     timing_pattern=2;//重置非定時狀態(tài)
  86.                     KeyValue=16;//防止未按鍵依舊進(jìn)入該條選擇語句,下同
  87.                         break;
  88.                 case 1:
  89.                         sound();
  90.                         sound();
  91.                         switch_pattern=1;
  92.                         timing_pattern=0;//定時關(guān)閉;
  93.                         KeyValue=16;
  94.                         break;
  95.                 case 2:
  96.                         sound();
  97.                         sound();
  98.                         switch_pattern=0;
  99.                         timing_pattern=1;//定時開啟;
  100.                         KeyValue=16;
  101.                         break;
  102.                 case 3:
  103.                         sound();
  104.                         sound();
  105.                         h=0;  //將其他兩位置為0,下同
  106.                         s=0;
  107.                         m=1;// 定時1分鐘,下同
  108.                         KeyValue=16;
  109.                         break;           
  110.                 case 4:
  111.                         sound();
  112.                         sound();
  113.                         h=0;
  114.                         s=0;
  115.                         m=30;
  116.                         KeyValue=16;
  117.                         break;
  118.                 case 5:
  119.                         sound();
  120.                         sound();
  121.                         m=0;
  122.                         s=0;
  123.                         h=1;
  124.                         KeyValue=16;
  125.                         break;
  126.                 case 6:
  127.                         sound();
  128.                         sound();
  129.                     m=0;
  130.                         s=0;
  131.                         h=2;
  132.                         KeyValue=16;
  133.                         break;
  134.                 case 7:
  135.                         sound();
  136.                         sound();
  137.                         m=0;
  138.                         s=0;
  139.                         h=3;
  140.                         KeyValue=16;
  141.                         break;
  142.                 case 8:
  143.                         sound();
  144.                         sound();
  145.                         m=0;
  146.                         s=0;
  147.                         h=4;
  148.                         KeyValue=16;
  149.                         break;
  150.                 case 9:
  151.                         sound();
  152.                         sound();
  153.                         m=0;
  154.                         s=0;
  155.                         h=6;
  156.                         KeyValue=16;
  157.                         break;
  158.                 case 10:
  159.                         sound();
  160.                         sound();
  161.                         m=0;
  162.                         s=0;
  163.                         h=8;
  164.                         KeyValue=16;
  165.                         break;
  166.                 case 11:
  167.                         sound();
  168.                         sound();
  169.                         m=0;
  170.                         s=0;
  171.                         h=10;
  172.                         KeyValue=16;
  173.                         break;
  174.                 case 12:
  175.                         sound();
  176.                 sound();
  177.                         m=0;
  178.                         s=0;
  179.                         h=12;
  180.                         KeyValue=16;
  181.                         break;
  182.                 case 13:
  183.                         sound();
  184.                         sound();
  185.                         m=0;
  186.                         s=0;
  187.                         h=14;
  188.                         KeyValue=16;
  189.                         break;
  190.                 case 14:
  191.                         sound();
  192.                         sound();
  193.                         m=0;
  194.                         s=0;
  195.                         h=20;
  196.                         KeyValue=16;
  197.                         break;
  198.                 case 15:
  199.                         sound();
  200.                         sound();        
  201.                         m=0;
  202.                         s=0;
  203.                         h=24;
  204.                         KeyValue=16;
  205.                         break;
  206.                         
  207.         }

  208. }
  209. /*******************************************************************************
  210. * 函 數(shù) 名         : Timer0()
  211. * 函數(shù)功能                   : 實(shí)現(xiàn)1s定時操作
  212. * 輸    入         : 無
  213. * 輸    出         : 無
  214. *******************************************************************************/
  215. void Timer0() interrupt 1
  216. {
  217.         static u16 i;

  218.         TH0=0XFC;        //給定時器賦初值,定時1ms
  219.         TL0=0X18;               
  220.         i++;
  221.         if(i>=1000)//定時一秒則
  222.         {
  223.            i=0;
  224.            if((h||m||s)&&timing_pattern<=1)//如果定時沒有結(jié)束且為定時狀態(tài),則定時繼續(xù)
  225.                 {
  226.                    if(s==0)
  227.                    {
  228.                           s=59;
  229.                           if(m==0)
  230.                           {
  231.                                   m=59;
  232.                                 h--;
  233.                           }
  234.                           else
  235.                           m--;
  236.                    }
  237.                    else
  238.                    s--;
  239.                if(s==0&&m==0&&h==0)//如果定時結(jié)束
  240.                    {
  241.                       relay=~relay;        
  242.                           if(switch_pattern==0)
  243.                                   switch_pattern=1;
  244.                           else
  245.                                 switch_pattern=0;                                          
  246.                           timing_pattern=2;//重置為非定時狀態(tài)
  247.                           sound();
  248.                           sound();
  249.                           sound();
  250.                           sound();                                          
  251.                }
  252.                 }
  253.         }
  254.         if(switch_pattern!=0)//如果狀態(tài)為開則relay=0;
  255.         {        
  256.                 relay=0;
  257.                 while(!switch_pattern);//判斷開關(guān)是否切換
  258.         }
  259.         if(!switch_pattern)        //如果狀態(tài)為關(guān)則relay=1;
  260.         {               
  261.                 relay=1;
  262.                 while(switch_pattern);//判斷開關(guān)是否切換        
  263.         }
  264.         if(timing_pattern==2)//非定時狀態(tài)時將時間重置為00:00:00
  265.         {
  266.                    h=0;
  267.             m=0;
  268.             s=0;
  269.         }
  270.         if(timing_pattern<=1&&timing_time!=0)//獲取藍(lán)牙傳入的時間
  271.         {
  272.                 sound();
  273.                 sound();
  274.                    h=timing_time-1;
  275.                 m=59;
  276.                 s=59;
  277.                 timing_time=0;
  278.         }
  279. }


  280. /*******************************************************************************
  281. * 函 數(shù) 名         : KeyDown()
  282. * 函數(shù)功能                   : 按鍵判斷函數(shù)
  283. * 輸    入         : 無
  284. * 輸    出         : 無
  285. *******************************************************************************/
  286. void KeyDown(void)
  287. {
  288.         char a=0;
  289.         GPIO_KEY=0x0f;
  290.         if(GPIO_KEY!=0x0f)//讀取按鍵是否按下
  291.         {
  292.                 Delay1ms(10);//延時10ms進(jìn)行消抖
  293.                 if(GPIO_KEY!=0x0f)//再次檢測鍵盤是否按下
  294.                 {        
  295.                         //測試列
  296.                         GPIO_KEY=0X0F;
  297.                         switch(GPIO_KEY)
  298.                         {
  299.                                 case(0x07):        KeyValue=0;break;
  300.                                 case(0X0b):        KeyValue=1;break;
  301.                                 case(0X0d):        KeyValue=2;break;
  302.                                 case(0X0e): KeyValue=3;break;
  303.                         }
  304.                         //測試行
  305.                         GPIO_KEY=0XF0;
  306.                         switch(GPIO_KEY)
  307.                         {
  308.                                 case(0x70):        KeyValue=KeyValue;break;
  309.                                 case(0Xb0):        KeyValue=KeyValue+4;break;
  310.                                 case(0Xd0):        KeyValue=KeyValue+8;break;
  311.                                 case(0Xe0): KeyValue=KeyValue+12;break;
  312.                         }
  313.                         while((a<50)&&(GPIO_KEY!=0xf0))         //檢測按鍵松手檢測
  314.                         {
  315.                                 Delay1ms(10);
  316.                                 a++;
  317.                         }
  318.                 }
  319.         }

  320. }

  321. /*******************************************************************************
  322. * 函 數(shù) 名         : datapros_temp()
  323. * 函數(shù)功能                   : 溫度讀取處理函數(shù)
  324. * 輸    入         : temp
  325. * 輸    出         : 無
  326. *******************************************************************************/
  327.   
  328. void datapros_temp(int temp)         
  329. {
  330.            float tp;  
  331.         if(temp<0)                                //當(dāng)溫度值為負(fù)數(shù)
  332.           {
  333.                 tempData[0]='-';
  334.                 temp=temp-1;
  335.                 temp=~temp;
  336.                 tp=temp;
  337.                 temp=tp*0.0625*100+0.5;        
  338.           }
  339.          else                                        //當(dāng)溫度為正數(shù)
  340.           {        
  341.                 tempData[0]='+';               
  342.                 tp=temp;
  343.                 temp=tp*0.0625*100+0.5;        
  344.         }
  345.         tempData[1] =temp/1000+'0';
  346.         tempData[2] =temp%1000/100+'0';
  347. }
  348. /*******************************************************************************
  349. * 函 數(shù) 名         : datapros_time()
  350. * 函數(shù)功能                   : 時間讀取處理函數(shù)
  351. * 輸    入         : 無
  352. * 輸    出         : 無
  353. *******************************************************************************/
  354. void datapros_time()         
  355. {
  356.            Ds1302ReadTime();
  357.         timingData[0] = h/10+'0';                                //定時-時
  358.         timingData[1] = h%10+'0';                                          
  359.         timingData[2] = ':';
  360.         timingData[3] = m/10+'0';                                //定時-分
  361.         timingData[4] = m%10+'0';        
  362.         timingData[5] = ':';
  363.         timingData[6] = s/10+'0';                                //定時-秒
  364.         timingData[7] =s%10+'0';
  365.         dateData[0]= (TIME[6]/16)+'0';                                //年
  366.         dateData[1]=(TIME[6]&0x0f)+'0';
  367.         dateData[2]='-';
  368.         dateData[3]= (TIME[4]/16)+'0';                                  //月                                
  369.         dateData[4]=(TIME[4]&0x0f)+'0';
  370.         dateData[5]='-';
  371.         dateData[6]= (TIME[3]/16)+'0';                                  //日                                
  372.         dateData[7]=(TIME[3]&0x0f)+'0';
  373.         timeData[0]=(TIME[2]/16)+'0';                                //時
  374.         timeData[1]=(TIME[2]&0x0f)+'0';
  375.         timeData[2]=':';
  376.         timeData[3]=(TIME[1]/16)+'0';                                //分
  377.         timeData[4]=(TIME[1]&0x0f)+'0';
  378.         timeData[5]=':';
  379.         timeData[6]=(TIME[0]/16)+'0';                                //秒
  380.         timeData[7]=(TIME[0]&0x0f)+'0';

  381. }


  382. /*******************************************************************************
  383. * 函 數(shù) 名         : lcdDisplay()
  384. * 函數(shù)功能                   : 顯示函數(shù)
  385. * 輸    入         : 無
  386. * 輸    出         : 無
  387. *******************************************************************************/
  388. void lcdDisplay()
  389. {
  390.         u8 i;
  391.         LcdWriteCom(0x80);//從第一行開始寫入        
  392.         LcdWriteData('2');
  393.         LcdWriteData('0');
  394.     for(i=0;i<8;i++)                 //顯示日期
  395.         {
  396.                  LcdWriteData(dateData[i]);
  397.         }
  398.         LcdWriteData(' ');
  399.         LcdWriteData(' ');
  400.         if(switch_pattern==0)//顯示開關(guān)狀態(tài)
  401.         {
  402.                 LcdWriteData('O');
  403.                 LcdWriteData('F');
  404.                 LcdWriteData('F');
  405.                 LcdWriteData(' ');
  406.         }
  407.         else
  408.         {
  409.                 LcdWriteData('O');
  410.                 LcdWriteData('N');
  411.                 LcdWriteData(' ');
  412.                 LcdWriteData(' ');
  413.         }
  414.         LcdWriteCom(0x80+0x40);        //換到lcd第二行開頭
  415.         for(i=0;i<3;i++)                //顯示溫度
  416.         {
  417.                  LcdWriteData(tempData[i]);
  418.         }
  419.         LcdWriteData(' ');
  420.         LcdWriteData(' ');
  421.         LcdWriteData(' ');
  422.         if(timing_pattern<2)        //判斷是否是定時狀態(tài)。timing_pattern<2則是非定時狀態(tài),顯示時間信息;否則顯示定時信息                                                
  423.                 for(i=0;i<8;i++)
  424.                 {        
  425.                         LcdWriteData(timingData[i]);
  426.                 }
  427.         else
  428.                 for(i=0;i<8;i++)
  429.                 {        
  430.                          LcdWriteData(timeData[i]);
  431.                 }
  432.         LcdWriteData(' ');
  433.         LcdWriteData(' ');
  434.         LcdWriteCom(0x80);        
  435. }
  436. /*******************************************************************************
  437. * 函 數(shù) 名         : save_write()
  438. * 函數(shù)功能                   : 將定時數(shù)據(jù)存儲在At24c02中
  439. * 輸    入         : 無
  440. * 輸    出         : 無
  441. * 備    注                     :要注意每寫入一次,應(yīng)有一段延時。
  442. *******************************************************************************/                  
  443. void save_write()
  444. {                                   
  445.      At24c02Write(6,timing_pattern);
  446.          Delay1ms(2);
  447.          At24c02Write(5,switch_pattern);
  448.          Delay1ms(2);
  449. ……………………

  450. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
單片機(jī)源代碼.rar (83.06 KB, 下載次數(shù): 202)
藍(lán)牙開關(guān)app.rar (362.22 KB, 下載次數(shù): 188)




作者: bleach    時間: 2018-8-20 08:52
謝謝樓主分享  
作者: xiaoxiao1122    時間: 2018-8-22 11:01
謝謝樓主分享
作者: 胡正波    時間: 2018-9-1 21:34
謝謝樓主分享
作者: 華成涵涵    時間: 2019-1-14 02:10
你好,請問您這個app的源碼有嗎?我想請教一下,最近在弄這個想在宿舍裝一個,
作者: xingxing123w    時間: 2019-1-17 10:59
最近正研究這個呢,謝謝樓主分享
作者: ifree8    時間: 2019-1-23 16:27
太強(qiáng)大了!!!
作者: 海底沉心    時間: 2019-1-24 17:06
非常不錯,好帖
作者: zhangwx    時間: 2019-4-9 16:58
海底沉心 發(fā)表于 2019-1-24 17:06
非常不錯,好帖

請問您會做這個嗎,想請教一下您
作者: zhangwx    時間: 2019-4-9 16:59
請問怎么聯(lián)系作者啊,想請教一下
作者: Mr_EnLin    時間: 2020-2-15 00:10
你好,你還有這個app的源碼嗎?我想學(xué)習(xí)一下
作者: Mr_EnLin    時間: 2020-3-11 18:12
小白請教,不是用藍(lán)牙控制嗎,為什么還用到按鍵?
作者: aking991    時間: 2020-3-12 08:47
這個充其量也只能是算局部室內(nèi)手機(jī)遙控器,算不上什么智能
作者: chen132    時間: 2020-3-15 17:25
這個插座是220v交流電嗎
作者: muzhi    時間: 2020-3-17 11:38
感謝分享 太強(qiáng)了
作者: contactdeshine    時間: 2020-3-20 17:33
謝謝,請問這個APP時可以用AS打開嗎
作者: 微笑12    時間: 2020-4-5 12:23
這個有全部的元器件清單么

作者: yuche2018    時間: 2020-4-5 14:11
謝謝分享 太牛了
作者: yuan23    時間: 2020-4-24 11:38
作者您好,請問app在哪開發(fā)
作者: Norah    時間: 2020-4-28 11:16
感謝分享




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产精品视频一区二区三区四蜜臂 | 成人一区二区三区 | 国产精品久久久久久久久久免费看 | 国产一区高清 | 黄a免费网络 | av黄色在线 | 成人在线| 日本免费黄色一级片 | 国产精品大片 | 中文字幕一区二区视频 | 一级毛片网 | 久久精品综合网 | 午夜大片| 亚洲女人天堂成人av在线 | 男人的天堂在线视频 | 久久久精品日本 | 亚洲欧美视频 | 精品一区二区三区电影 | 国内成人免费视频 | h视频在线观看免费 | www.蜜桃av | 国产免费视频 | 久久亚洲一区二区三区四区 | 亚洲一区 | 国产一级毛片精品完整视频版 | 欧美精品一区二区三区在线播放 | 亚洲乱码国产乱码精品精的特点 | 99re视频在线观看 | 亚洲综合色丁香婷婷六月图片 | 国产不卡在线播放 | 美日韩中文字幕 | 国产黄色大片在线免费观看 | 欧美一区二区三区视频 | 亚洲精品一区在线观看 | 亚洲 欧美 日韩在线 | 欧美电影一区 | 色视频网站 | wwwxx在线观看| 亚洲精品区 | 91伊人 | 色婷婷亚洲国产女人的天堂 |