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

標題: 基于新唐M0內核的智能空氣檢測儀程序設計 [打印本頁]

作者: 736898032    時間: 2019-8-10 17:04
標題: 基于新唐M0內核的智能空氣檢測儀程序設計
NuMicro® NUC131系列特色為寬電壓工作范圍2.5V至5.5V, 工作溫度: -40℃至105℃, 內建22.1184MHz高精度晶振(1%準確度)。 備有豐富的外設, 如CAN2.0A/B, 定時器, 看門狗定時器,多組UART, SPI, I2C, PWM, 12位ADC, 模擬比較器等.提供多種包裝 LQFP48, LQFP64。
1.lcd段碼屏顯示
2.傳感器部分:溫濕度  SHT31  PM2.5: 四方光電  PM2008  CO2 : CM1106  TVOC傳感器
3.4路觸摸按鍵:  經典算法 : 長按 短按  持續按鍵  復合按鍵
5,慶科wifi模塊 串口通信
6.鋰電池 充電 升壓 二合一
7.設備聯控:采用標準的MOSBUS RTU 協議


單片機源程序如下:
  1. /**************************************************************************//**
  2. * @file     main.c
  3. * @version  V2.00
  4. * $Revision: 5 $
  5. * $Date: 15/01/16 11:44a $
  6. * @brief    Implement timer counting in periodic mode.
  7. * @note
  8. * Copyright (C) 2013 Nuvoton Technology Corp. All rights reserved.
  9. ******************************************************************************/
  10. #include        "define.H"

  11. #define PLL_CLOCK           50000000

  12. /*---------------------------------------------------------------------------------------------------------*/
  13. /* Global Interface Variables Declarations                                                                 */
  14. /*---------------------------------------------------------------------------------------------------------*/
  15. volatile uint32_t g_au32TMRINTCount[4] = {0};

  16. uint8_t PwmIO_count;


  17. uint16_t        PM_value;
  18. uint16_t        CO2_value;
  19. uint16_t        HCHO_value;

  20. #if 0
  21. /*
  22. V003 2019-03-02
  23. 1,Power on and power off button change to touch leave control,
  24.     perviously is short press control.
  25. 2.WIFI COM temperture,perviously version PCBA send indoor temperture,
  26.    modified to send inlet air temperature.

  27.    
  28. V009 2019-05-25
  29. 1.Add DS1302 RTC
  30. 2.Adjust the GPIO with 20190325 schematic

  31. V010 2019-05-29
  32. 1.Set PM2.5 value 999 up  limit
  33. 2.Modify the button sequence except child lock.
  34. */
  35. #endif


  36. /**
  37. * @brief       Timer0 IRQ
  38. *
  39. * @param       None
  40. *
  41. * @return      None
  42. *
  43. * @details     The Timer0 default IRQ, declared in startup_NUC131.s.
  44. */
  45. void TMR0_IRQHandler(void)
  46. {
  47.     if(TIMER_GetIntFlag(TIMER0) == 1)
  48.     {
  49.         /* Clear Timer0 time-out interrupt flag */
  50.         TIMER_ClearIntFlag(TIMER0);
  51.                 if(Time.t_1ms==0)
  52.                 {
  53.                         Time.t_1ms=10;
  54.                         F_10ms=1;
  55.                         Time_handler();
  56.                 }
  57.                 Time.t_1ms--;
  58.                 F_1ms=1;
  59.                 if (++PwmIO_count > 14)
  60.                         PwmIO_count = 0;
  61.                 if (PwmIO_set > PwmIO_count)
  62.                         LedCom_pin = 1;
  63.                 else
  64.                         LedCom_pin = 0;
  65.         //        LedCom_pin=1;
  66.     }
  67. }

  68. /**
  69. * @brief       Timer1 IRQ
  70. *
  71. * @param       None
  72. *
  73. * @return      None
  74. *
  75. * @details     The Timer1 default IRQ, declared in startup_NUC131.s.
  76. */
  77. void TMR1_IRQHandler(void)
  78. {
  79.     if(TIMER_GetIntFlag(TIMER1) == 1)
  80.     {
  81.         /* Clear Timer1 time-out interrupt flag */
  82.         
  83.         g_au32TMRINTCount[1]++;
  84.     }
  85. }

  86. /**
  87. * @brief       Timer2 IRQ
  88. *
  89. * @param       None
  90. *
  91. * @return      None
  92. *
  93. * @details     The Timer2 default IRQ, declared in startup_NUC131.s.
  94. */
  95. void TMR2_IRQHandler(void)
  96. {
  97.     if(TIMER_GetIntFlag(TIMER2) == 1)
  98.     {
  99.         /* Clear Timer2 time-out interrupt flag */
  100.         TIMER_ClearIntFlag(TIMER2);
  101.                 TIMER_ClearIntFlag(TIMER1);
  102.                 if(Buzz.B_Buzzer_Model)
  103.                 {
  104.                         if(Buzz_Frec_pin)
  105.                                 Buzz_Frec_pin=0;
  106.                         else
  107.                                 Buzz_Frec_pin=1;
  108.                 }
  109.     }
  110. }

  111. /**
  112. * @brief       Timer3 IRQ
  113. *
  114. * @param       None
  115. *
  116. * @return      None
  117. *
  118. * @details     The Timer3 default IRQ, declared in startup_NUC131.s.
  119. */
  120. void TMR3_IRQHandler(void)
  121. {
  122.     if(TIMER_GetIntFlag(TIMER3) == 1)
  123.     {
  124.         /* Clear Timer3 time-out interrupt flag */
  125.         TIMER_ClearIntFlag(TIMER3);

  126.         g_au32TMRINTCount[3]++;
  127.     }
  128. }

  129. #if 0
  130. void SYS_Init(void)
  131. {
  132.     /*---------------------------------------------------------------------------------------------------------*/
  133.     /* Init System Clock                                                                                       */
  134.     /*---------------------------------------------------------------------------------------------------------*/
  135.     /* Enable HIRC clock */
  136.     CLK_EnableXtalRC(CLK_PWRCON_IRC22M_EN_Msk);

  137.     /* Waiting for HIRC clock ready */
  138.     CLK_WaitClockReady(CLK_CLKSTATUS_IRC22M_STB_Msk);

  139.     /* Switch HCLK clock source to HIRC */
  140.     CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1));

  141.     /* Enable HXT */
  142. //    CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk);

  143.     /* Waiting for clock ready */
  144. //    CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk);

  145.     /* Set core clock as PLL_CLOCK from PLL and SysTick source to HCLK/2*/
  146.     CLK_SetCoreClock(PLL_CLOCK);
  147.     CLK_SetSysTickClockSrc(CLK_CLKSEL0_STCLK_S_HCLK_DIV2);

  148.     /* Enable peripheral clock */
  149.     CLK_EnableModuleClock(UART0_MODULE);
  150. //   CLK_EnableModuleClock(UART4_MODULE);
  151.     CLK_EnableModuleClock(TMR0_MODULE);
  152.     CLK_EnableModuleClock(TMR1_MODULE);
  153.     CLK_EnableModuleClock(TMR2_MODULE);
  154.     CLK_EnableModuleClock(TMR3_MODULE);

  155.     /* Peripheral clock source *///CLK_CLKSEL1_UART_S_PLL
  156.     CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  157. //   CLK_SetModuleClock(UART4_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  158.     CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0_S_HIRC, 0);
  159.     CLK_SetModuleClock(TMR1_MODULE, CLK_CLKSEL1_TMR0_S_HIRC, 0);
  160.     CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL1_TMR2_S_HIRC, 0);
  161.     CLK_SetModuleClock(TMR3_MODULE, CLK_CLKSEL1_TMR3_S_HIRC, 0);

  162.     /*---------------------------------------------------------------------------------------------------------*/
  163.     /* Init I/O Multi-function                                                                                 */
  164.     /*---------------------------------------------------------------------------------------------------------*/
  165.     /* Set PB multi-function pins for UART0 RXD, TXD */
  166.                 /* Set GPB multi-function pins for UART0 RXD(PB.0) and TXD(PB.1) */
  167.     SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk);
  168.     SYS->GPB_MFP |= SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD;
  169.                
  170.         //        SYS->GPB_MFP &= ~(SYS_GPC_MFP_PC7_Msk | SYS_GPC_MFP_PC6_Msk);
  171.         //        SYS->GPB_MFP |= SYS_GPC_MFP_PC7_UART4_RXD | SYS_GPC_MFP_PC6_UART4_TXD;
  172. }
  173. #endif

  174. void SYS_Init(void)
  175. {
  176.         /*---------------------------------------------------------------------------------------------------------*/
  177.         /* Init System Clock                                                                                       */
  178.         /*---------------------------------------------------------------------------------------------------------*/

  179.         /* Enable Internal RC 22.1184MHz clock */
  180.         CLK_EnableXtalRC(CLK_PWRCON_OSC22M_EN_Msk);

  181.         /* Waiting for Internal RC clock ready */
  182.         CLK_WaitClockReady(CLK_CLKSTATUS_OSC22M_STB_Msk);

  183.         /* Switch HCLK clock source to Internal RC and HCLK source divide 1 */
  184.         CLK_SetHCLK(CLK_CLKSEL0_HCLK_S_HIRC, CLK_CLKDIV_HCLK(1));

  185.         /* Enable external XTAL 12MHz clock */
  186.         //    CLK_EnableXtalRC(CLK_PWRCON_XTL12M_EN_Msk);

  187.         /* Waiting for external XTAL clock ready */
  188.         //    CLK_WaitClockReady(CLK_CLKSTATUS_XTL12M_STB_Msk);

  189.         /* Set core clock as PLL_CLOCK from PLL */
  190.         CLK_SetCoreClock(PLL_CLOCK);

  191.         /* Enable UART module clock */
  192.         CLK_EnableModuleClock(UART0_MODULE);
  193.         CLK_EnableModuleClock(UART1_MODULE);
  194.         CLK_EnableModuleClock(UART2_MODULE);
  195.         CLK_EnableModuleClock(UART3_MODULE);
  196.         CLK_EnableModuleClock(UART4_MODULE);
  197.         CLK_EnableModuleClock(TMR0_MODULE);
  198.         CLK_EnableModuleClock(TMR1_MODULE);
  199.         CLK_EnableModuleClock(TMR2_MODULE);
  200.         CLK_EnableModuleClock(TMR3_MODULE);

  201.         /* Select UART module clock source */
  202.         // CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART_S_HXT, CLK_CLKDIV_UART(1));

  203.         /* Select UART module clock source */
  204.         CLK_SetModuleClock(UART0_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  205.         CLK_SetModuleClock(UART1_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  206.         CLK_SetModuleClock(UART2_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  207.         CLK_SetModuleClock(UART3_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  208.         CLK_SetModuleClock(UART4_MODULE, CLK_CLKSEL1_UART_S_HIRC, CLK_CLKDIV_UART(1));
  209.                
  210.         CLK_SetModuleClock(TMR0_MODULE, CLK_CLKSEL1_TMR0_S_HIRC, 0);
  211.         CLK_SetModuleClock(TMR1_MODULE, CLK_CLKSEL1_TMR0_S_HIRC, 0);
  212.         CLK_SetModuleClock(TMR2_MODULE, CLK_CLKSEL1_TMR2_S_HIRC, 0);
  213.         CLK_SetModuleClock(TMR3_MODULE, CLK_CLKSEL1_TMR3_S_HIRC, 0);
  214.        
  215.         /* Enable ADC module clock */
  216.     CLK_EnableModuleClock(ADC_MODULE);
  217.         /* ADC clock source is 22.1184MHz, set divider to 7, ADC clock is 22.1184/7 MHz */
  218.     CLK_SetModuleClock(ADC_MODULE, CLK_CLKSEL1_ADC_S_HIRC, CLK_CLKDIV_ADC(7));
  219.         /*---------------------------------------------------------------------------------------------------------*/
  220.         /* Init I/O Multi-function                                                                                 */
  221.         /*---------------------------------------------------------------------------------------------------------*/

  222.         /* Set GPB multi-function pins for UART0 RXD(PB.0) and TXD(PB.1) */
  223.         SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB0_Msk | SYS_GPB_MFP_PB1_Msk);
  224.         SYS->GPB_MFP |= SYS_GPB_MFP_PB0_UART0_RXD | SYS_GPB_MFP_PB1_UART0_TXD;

  225. //        SYS->GPB_MFP &= ~(SYS_GPB_MFP_PB4_Msk | SYS_GPB_MFP_PB5_Msk);
  226. //        SYS->GPB_MFP |= SYS_GPB_MFP_PB4_UART1_RXD | SYS_GPB_MFP_PB5_UART1_TXD;

  227.         SYS->GPB_MFP &= ~(  SYS_GPB_MFP_PB5_Msk);
  228.         SYS->GPB_MFP |=   SYS_GPB_MFP_PB5_UART1_TXD;

  229.         SYS->GPD_MFP &= ~(SYS_GPD_MFP_PD14_Msk | SYS_GPD_MFP_PD15_Msk);
  230.         SYS->GPD_MFP |= SYS_GPD_MFP_PD14_UART2_RXD | SYS_GPD_MFP_PD15_UART2_TXD;

  231. //        SYS->GPA_MFP &= ~(SYS_GPA_MFP_PA3_Msk | SYS_GPA_MFP_PA2_Msk);
  232. //        SYS->GPA_MFP |= SYS_GPA_MFP_PA3_UART3_RXD | SYS_GPA_MFP_PA2_UART3_TXD;

  233.         SYS->ALT_MFP4 &= ~(SYS_ALT_MFP4_PA5_Msk | SYS_ALT_MFP4_PA6_Msk);
  234.         SYS->ALT_MFP4 |= SYS_ALT_MFP4_PA5_UART3_RXD | SYS_ALT_MFP4_PA6_UART3_TXD;
  235.         SYS->GPA_MFP &= ~(SYS_GPA_MFP_PA5_Msk | SYS_GPA_MFP_PA6_Msk);
  236.         SYS->GPA_MFP |= SYS_GPA_MFP_PA5_UART3_RXD | SYS_GPA_MFP_PA6_UART3_TXD;
  237.        
  238.         SYS->GPC_MFP &= ~(SYS_GPC_MFP_PC7_Msk | SYS_GPC_MFP_PC6_Msk);
  239.         SYS->GPC_MFP |= SYS_GPC_MFP_PC7_UART4_RXD | SYS_GPC_MFP_PC6_UART4_TXD;
  240.         /*
  241.         SYS->GPF_MFP &= ~(SYS_GPF_MFP_PF0_Msk | SYS_GPF_MFP_PF1_Msk);
  242.         SYS->GPF_MFP |= SYS_GPF_MFP_PF0_GPIO | SYS_GPF_MFP_PF1_GPIO; */
  243.          /* Configure the GPA0 - GPA3 ADC analog input pins */
  244.     SYS->GPA_MFP &= ~( SYS_GPA_MFP_PA7_Msk ) ;
  245.     SYS->GPA_MFP |=  SYS_GPA_MFP_PA7_ADC7;
  246. }

  247. void GPIO_Init(void)
  248. {
  249.         #if 0
  250.         GPIO_SetMode(PC, BIT6, GPIO_PMD_OUTPUT);//UART4 TX
  251.         PC6=0;
  252.         GPIO_SetMode(PA, BIT6, GPIO_PMD_OUTPUT);//UART4 TX
  253.         PA6=0;
  254.         GPIO_SetMode(PB, BIT1, GPIO_PMD_OUTPUT);//UART4 TX
  255.         PB1=0;
  256. #endif
  257.         GPIO_SetMode(PA,BIT1,GPIO_PMD_OUTPUT);//Sensor power
  258.         GPIO_SetMode(PA,BIT12,GPIO_PMD_OUTPUT);//SW485
  259.         GPIO_SetMode(PA,BIT13,GPIO_PMD_OUTPUT);//BackLight
  260.         GPIO_SetMode(PA,BIT2,GPIO_PMD_INPUT);//KEY
  261.         GPIO_SetMode(PA,BIT3,GPIO_PMD_INPUT);
  262.         GPIO_SetMode(PA,BIT4,GPIO_PMD_INPUT);
  263.        
  264.         GPIO_SetMode(PA,BIT14,GPIO_PMD_OUTPUT);//Led Com
  265.         GPIO_SetMode(PC,BIT0,GPIO_PMD_OUTPUT);//Led
  266.         GPIO_SetMode(PC,BIT1,GPIO_PMD_OUTPUT);//Led
  267.         GPIO_SetMode(PC,BIT2,GPIO_PMD_OUTPUT);//Led
  268.         GPIO_SetMode(PC,BIT3,GPIO_PMD_OUTPUT);//Led
  269.        
  270.         GPIO_SetMode(PB,BIT3,GPIO_PMD_OUTPUT);//Buzz`
  271.         GPIO_SetMode(PD,BIT6,GPIO_PMD_OUTPUT);//Buzz
  272.         GPIO_SetMode(PD,BIT7,GPIO_PMD_OUTPUT);//Sensor power
  273.         GPIO_SetMode(PB,BIT2,GPIO_PMD_OUTPUT);//WIFI power
  274.         GPIO_SetMode(PB,BIT12,GPIO_PMD_INPUT);//CHG
  275.        
  276.         GPIO_SetMode(PB,BIT15,GPIO_PMD_OUTPUT);//1302
  277.         GPIO_SetMode(PF,BIT1,GPIO_PMD_OUTPUT);//1302
  278.         GPIO_SetMode(PF,BIT0,GPIO_PMD_OUTPUT);//1302
  279.         WIFI_EN();
  280.         PA14=1;
  281.        
  282.         Led_pin1 = 0;
  283.         Led_pin2 = 0;
  284.         Led_pin3 = 0;
  285.         Led_pin4 = 0;
  286. //        PD7 = 1;
  287.        
  288.         /* Led_pin1=0;
  289.         Led_pin2=0;
  290.         Led_pin3=0;
  291.         Led_pin4=0; */
  292.        
  293.         //GPIO_SetMode(PB,BIT12,GPIO_PMD_OUTPUT);//TEST`
  294.         SW485_DIS();
  295. }





  296. uint8_t  Adc_Cnt;
  297. uint32_t Adc_buffer2;
  298. uint32_t Adc_buffer1;
  299. uint16_t VBatMv=0;


  300. void ADC_Init(void)
  301. {
  302.         ADC_Open(ADC, ADC_ADCR_DIFFEN_SINGLE_END, ADC_ADCR_ADMD_CONTINUOUS, 0x80);

  303.         /* Power on ADC module */
  304.         ADC_POWER_ON(ADC);

  305.         /* Clear the A/D interrupt flag for safe */
  306.         ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);
  307.        
  308.         /* Start A/D conversion */
  309.         ADC_START_CONV(ADC);
  310. }



  311. void ADC_Scan(void)
  312. {
  313.         /* Clear the A/D interrupt flag for safe */
  314. //        ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);

  315.         /* Start A/D conversion */
  316. //        ADC_START_CONV(ADC);
  317.        
  318.         /* Wait conversion done */
  319. //        while(!ADC_GET_INT_FLAG(ADC, ADC_ADF_INT));

  320.         /* Clear the A/D interrupt flag for safe */
  321.         ADC_CLR_INT_FLAG(ADC, ADC_ADF_INT);

  322.         Adc_buffer1+=ADC_GET_CONVERSION_DATA(ADC,7);
  323.        
  324.         if(++Adc_Cnt<149)
  325.                 return;

  326.                 Adc_buffer2=Adc_buffer1;
  327.                 Adc_Cnt=0;
  328.                 Adc_buffer1=0;
  329.                
  330.                 if(VBatMv==0)
  331.                 {
  332.                         VBatMv=Adc_buffer2/64;
  333.                 }
  334.                 else
  335.                 {
  336.                         VBatMv+=Adc_buffer2/64;
  337.                         VBatMv/=2;
  338.                 }
  339. }





  340. /*---------------------------------------------------------------------------------------------------------*/
  341. /*  MAIN function                                                                                          */
  342. /*---------------------------------------------------------------------------------------------------------*/
  343. int main(void)
  344. {
  345.     volatile uint32_t u32InitCount;

  346.     /* Unlock protected registers */
  347.     SYS_UnlockReg();

  348.     /* Init System, peripheral clock and multi-function I/O */
  349.     SYS_Init();

  350.     /* Lock protected registers */
  351.     SYS_LockReg();

  352.     /* Init UART0 for printf */
  353.         UART0_Init();
  354.         UART1_Init();
  355.         UART2_Init();
  356.         UART3_Init();
  357.         UART4_Init();
  358.        
  359.         GPIO_Init();
  360.         TVOC_init();
  361.         IIC_Init();
  362.         InitCHM_01A();
  363.         PA13=1;
  364.         Rtc_init();
  365.         Init_DS1302();

  366.     /* Open Timer0 in periodic mode, enable interrupt and 1 interrupt tick per second */
  367.     TIMER_Open(TIMER0, TIMER_PERIODIC_MODE, 1000);
  368.     TIMER_EnableInt(TIMER0);

  369.     /* Open Timer1 in periodic mode, enable interrupt and 2 interrupt ticks per second */
  370.     TIMER_Open(TIMER1, TIMER_PERIODIC_MODE, 2);
  371.     TIMER_EnableInt(TIMER1);

  372.     /* Open Timer2 in periodic mode, enable interrupt and 4 interrupt ticks per second */
  373.     TIMER_Open(TIMER2, TIMER_PERIODIC_MODE, 4);
  374.     TIMER_EnableInt(TIMER2);

  375.     /* Open Timer3 in periodic mode, enable interrupt and 8 interrupt ticks per second */
  376.     TIMER_Open(TIMER3, TIMER_PERIODIC_MODE, 8);
  377.     TIMER_EnableInt(TIMER3);

  378.     /* Enable Timer0 ~ Timer3 NVIC */
  379.     NVIC_EnableIRQ(TMR0_IRQn);
  380.     NVIC_EnableIRQ(TMR1_IRQn);
  381.     NVIC_EnableIRQ(TMR2_IRQn);
  382.     NVIC_EnableIRQ(TMR3_IRQn);

  383.     /* Start Timer0 ~ Timer3 counting */
  384.     TIMER_Start(TIMER0);
  385.     TIMER_Start(TIMER1);
  386.     TIMER_Start(TIMER2);
  387.     TIMER_Start(TIMER3);

  388.         SetTemp=25;
  389.         SetHum=50;
  390.         ADC_Init();
  391.         Init1729();
  392.         WriteDDRAM();
  393.         WriteDDRAM();
  394. //        WriteDDRAM();
  395. //        Buzz.B_Buzzer_Model=1;
  396.         UART_ClearIntFlag(UART1, UART_ISR_DATWKIF_Msk | UART_ISR_CTSWKIF_Msk | UART_ISR_BUF_ERR_INT_Msk|
  397.                 UART_ISR_MODEM_INT_Msk| UART_ISR_RLS_INT_Msk);
  398.                
  399.         UART_EnableInt(UART0, (UART_IER_RDA_IEN_Msk));
  400.         UART_EnableInt(UART1, (UART_IER_RDA_IEN_Msk));
  401. ……………………

  402. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
Airbox_190525.7z (2.17 MB, 下載次數: 34)



作者: jiajia86    時間: 2019-12-9 15:40
謝謝分享。
作者: Qierven    時間: 2019-12-11 10:59
謝謝分享
作者: 舞者人生    時間: 2019-12-18 08:47
本帖最后由 舞者人生 于 2019-12-19 08:24 編輯

參考學習一下,原理圖看不清楚,能不給出清晰版的
作者: 舞者人生    時間: 2019-12-19 08:14
學習參考
作者: fengye615    時間: 2020-6-4 20:53
參考學習一下,就是原理圖看不清楚




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 美女天天操 | 亚洲欧美日韩电影 | 午夜国产 | 日韩一二区 | 天天射色综合 | 日韩成人在线播放 | 91视频免费黄 | 亚洲人成人一区二区在线观看 | 国产色片 | 激情视频网站 | 综合色播 | 久久这里只有 | 亚洲综合色婷婷 | 99久久99| av大片在线观看 | 在线视频 中文字幕 | 婷婷久久综合 | 国产一区二区日韩 | 男女羞羞视频在线 | 国产伦精品一区二区三区照片91 | 日韩亚洲欧美综合 | 日韩精品一区二区三区 | 久久亚洲欧美日韩精品专区 | 在线国产一区二区 | 欧美日韩国产在线观看 | 国产精品免费视频一区 | 免费福利视频一区二区三区 | 日韩精品亚洲专区在线观看 | 99福利视频| 亚洲社区在线 | a级片在线观看 | 亚洲精品天堂 | 天天干天天操天天爽 | 在线观看中文字幕av | 中文字幕av在线一二三区 | 羞羞视频在线观免费观看 | 国产精品成人一区二区三区 | 成人免费视频久久 | 中日韩毛片 | 午夜精品久久久久久久久久久久久 | 久久成人免费 |