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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于51單片機的智能溫控器設計

  [復制鏈接]
跳轉到指定樓層
樓主

智能溫控器電路原理圖:

仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)



單片機源程序如下:
  1. /*******************************************************************
  2.                           智能溫控器

  3. 問題描述:當溫控開關打開時,若測得環境溫度大于設定溫度,則繼電器吸合
  4.                   ,啟動壓縮機工作;若測得環境溫度小于設定溫度,則繼電器釋放,
  5.                   壓縮機停止工作。
  6.           該實驗可以應用于對溫度控制精度要求不是很高的場合,例如,糧倉,
  7.                   電冰箱,空調,電飯鍋等。如果配以通訊接口,可以做成多點溫度檢
  8.           測監控系統。具有極強的擴展性。

  9. 作者:    yiwei  "shannxi university of technolog "
  10. 日期:    2007.4.1在proteus上仿真成功;
  11.           2007.4.3電路板焊接調試成功

  12. 參考資料:[1] 周興華 編著 《單片機智能產品c語言設計實例祥解》
  13.           [2]《電子制作》 2006.11

  14. 注意: 此文檔為仿真程序,若要在試驗板上驗證,需要須改一下函數
  15.         

  16. void lcd_wait(void)
  17. {
  18.     DATAPORT=0xff;             
  19.         LCM_EN=1;
  20.     LCM_RS=0;                          
  21.     LCM_RW=1;                          
  22.     _nop_();
  23.     while(DATAPORT&BUSY);
  24.            LCM_EN=0;
  25.        
  26. }

  27. *******************************************************************/

  28. #include<reg51.h>
  29. #include<intrins.h>
  30. #include <absacc.h>
  31. #define uchar unsigned char
  32. #define uint   unsigned int

  33. #define BUSY  0x80                               //lcd忙檢測標志
  34. #define DATAPORT P0                              //定義P0口為LCD通訊端口
  35. #define PLAYE_ADDR XBYTE[0XBFFF]                 //語音報警地址

  36. sbit RED_ALARM=P1^0;                                                    //紅色指示燈
  37. sbit WRITE_ALARM=P1^1;                                          //白色指示燈
  38. sbit GREEN_ALARM=P1^2;                                          //綠色指示燈
  39. sbit P1_4=P1^4;                                                    //時鐘調整
  40. sbit P1_5=P1^5;                                                 //時鐘加
  41. sbit P1_6=P1^6;                                                 //時鐘減

  42. sbit DQ = P1^7;                                                 //定義ds18b20通信端口
  43. sbit LCM_RS=P2^0;                                                                //數據/命令端
  44. sbit LCM_RW=P2^1;                                                                //讀/寫選擇端
  45. sbit LCM_EN=P2^2;                                               //LCD使能信號
  46. sbit ad_busy=P3^2;                                              //adc中斷方式接口
  47. sbit RECLED_EOC=P3^5;                                           //ISD1420放音結束查詢標志
  48. sbit OUT=P3^7;

  49. uchar ad_data;                                                  //ad采樣值存儲                                               
  50. uchar seconde=0;                                                //定義并初始化時鐘變量
  51. uchar minite=0;
  52. uchar hour=12;
  53. uchar mstcnt=0;
  54. uchar temp1,temp2,temp;                                     //溫度顯示變量
  55. uchar t,set;
  56. uchar K;
  57. bit ON_OFF=0;
  58. bit outflag;

  59. uchar code str0[]={"---  :  :  ---  "};
  60. uchar code str1[]={"SET:  C SA:  . C"};

  61. void delay_LCM(uint);                                                                                                     //LCD延時子程序
  62. void initLCM( void);                                                                                                       //LCD初始化子程序
  63. void lcd_wait(void);                                                                                                      //LCD檢測忙子程序
  64. void WriteCommandLCM(uchar WCLCM,uchar BusyC);                              //寫指令到ICM子函數
  65. void WriteDataLCM(uchar WDLCM);                                             //寫數據到LCM子函數
  66. void DisplayOneChar(uchar X,uchar Y,uchar DData);                           //顯示指定坐標的一個字符子函數
  67. void DisplayListChar(uchar X,uchar Y,uchar code *DData);                    //顯示指定坐標的一串字符子函數
  68. void init_timer0(void);                                                                                               //定時器初始化
  69. void displayfun1(void);
  70. void displayfun2(void);
  71. void displayfun3(void);
  72. void displayfun4(void);
  73. void keyscan(void );                                                                                            //鍵盤掃描子程序
  74. void set_adj(void);
  75. void inc_key(void);
  76. void dec_key(void);
  77. void delay_18B20(unsigned int i);
  78. void Init_DS18B20(void) ;
  79. uchar ReadOneChar(void);
  80. void WriteOneChar(unsigned char dat);
  81. void ReadTemperature(void);
  82. void ad0809(void);
  83. void playalarm(void);


  84. /*********延時K*1ms,12.000mhz**********/

  85. void delay_LCM(uint k)
  86. {
  87.     uint i,j;
  88.     for(i=0;i<k;i++)
  89.     {
  90.         for(j=0;j<60;j++)
  91.                 {;}
  92.     }
  93. }   
  94. /**********寫指令到ICM子函數************/

  95. void WriteCommandLCM(uchar WCLCM,uchar BusyC)
  96. {
  97.     if(BusyC)lcd_wait();
  98.         DATAPORT=WCLCM;
  99.     LCM_RS=0;                   // 選中指令寄存器
  100.     LCM_RW=0;                       // 寫模式       
  101.     LCM_EN=1;   
  102.         _nop_();   
  103.         _nop_();
  104.         _nop_();
  105.     LCM_EN=0;  
  106. }

  107. /**********寫數據到LCM子函數************/

  108. void WriteDataLCM(uchar WDLCM)
  109. {
  110.     lcd_wait( );            //檢測忙信號   
  111.         DATAPORT=WDLCM;
  112.     LCM_RS=1;               // 選中數據寄存器
  113.     LCM_RW=0;                   // 寫模式
  114.     LCM_EN=1;
  115.     _nop_();
  116.         _nop_();
  117.         _nop_();
  118.     LCM_EN=0;
  119. }

  120. /***********lcm內部等待函數*************/

  121. void lcd_wait(void)
  122. {
  123.     DATAPORT=0xff;             
  124.         LCM_EN=1;
  125.     LCM_RS=0;                          
  126.     LCM_RW=1;                          
  127.     _nop_();
  128.     while(DATAPORT&BUSY)
  129.         {  LCM_EN=0;
  130.            _nop_();
  131.            _nop_();
  132.            LCM_EN=1;
  133.            _nop_();
  134.            _nop_();
  135.            }
  136.            LCM_EN=0;
  137.        
  138. }

  139. /**********LCM初始化子函數***********/

  140. void initLCM( )
  141. {   
  142.         DATAPORT=0;       
  143.         delay_LCM(15);
  144.         WriteCommandLCM(0x38,0);    //三次顯示模式設置,不檢測忙信號
  145.     delay_LCM(5);
  146.     WriteCommandLCM(0x38,0);
  147.     delay_LCM(5);
  148.     WriteCommandLCM(0x38,0);
  149.     delay_LCM(5);

  150.     WriteCommandLCM(0x38,1);    //8bit數據傳送,2行顯示,5*7字型,檢測忙信號
  151.     WriteCommandLCM(0x08,1);    //關閉顯示,檢測忙信號
  152.     WriteCommandLCM(0x01,1);    //清屏,檢測忙信號
  153.     WriteCommandLCM(0x06,1);    //顯示光標右移設置,檢測忙信號
  154.     WriteCommandLCM(0x0c,1);    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號
  155. }

  156. /****************顯示指定坐標的一個字符子函數*************/

  157. void DisplayOneChar(uchar X,uchar Y,uchar DData)
  158. {
  159.     Y&=1;
  160.     X&=15;
  161.     if(Y)X|=0x40;               //若y為1(顯示第二行),地址碼+0X40
  162.     X|=0x80;                    //指令碼為地址碼+0X80
  163.     WriteCommandLCM(X,0);
  164.     WriteDataLCM(DData);
  165. }

  166. /***********顯示指定坐標的一串字符子函數***********/

  167. void DisplayListChar(uchar X,uchar Y,uchar code *DData)
  168. {
  169.     uchar ListLength=0;
  170.     Y&=0x01;
  171.     X&=0x0f;
  172.     while(X<16)
  173.     {
  174.         DisplayOneChar(X,Y,DData[ListLength]);
  175.         ListLength++;
  176.         X++;
  177.     }
  178. }

  179. /***********ds18b20延遲子函數(晶振12MHz )*******/

  180. void delay_18B20(unsigned int i)
  181. {
  182.         while(i--);
  183. }

  184. /**********ds18b20初始化函數**********************/

  185. void Init_DS18B20(void)
  186. {
  187.          unsigned char x=0;
  188.          DQ = 1;          //DQ復位
  189.          delay_18B20(8);  //稍做延時
  190.          DQ = 0;          //單片機將DQ拉低
  191.          delay_18B20(80); //精確延時 大于 480us
  192.          DQ = 1;          //拉高總線
  193.          delay_18B20(14);
  194.          x=DQ;            //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
  195.          delay_18B20(20);
  196. }

  197. /***********ds18b20讀一個字節**************/  

  198. unsigned char ReadOneChar(void)
  199. {
  200.         uchar i=0;
  201.         uchar dat = 0;
  202.         for (i=8;i>0;i--)
  203.          {
  204.                   DQ = 0; // 給脈沖信號
  205.                   dat>>=1;
  206.                   DQ = 1; // 給脈沖信號
  207.                   if(DQ)
  208.                   dat|=0x80;
  209.                   delay_18B20(4);
  210.          }
  211.         return(dat);
  212. }

  213. /*************ds18b20寫一個字節****************/  

  214. void WriteOneChar(uchar dat)
  215. {
  216.         unsigned char i=0;
  217.         for (i=8; i>0; i--)
  218.         {
  219.                   DQ = 0;
  220.                 DQ = dat&0x01;
  221.             delay_18B20(5);
  222.                 DQ = 1;
  223.             dat>>=1;
  224. }
  225. }

  226. /**************讀取ds18b20當前溫度************/

  227. void ReadTemperature(void)
  228. {
  229.         unsigned char a=0;
  230.         unsigned char b=0;
  231.         unsigned char t=0;

  232.         Init_DS18B20();
  233.         WriteOneChar(0xCC);            // 跳過讀序號列號的操作
  234.         WriteOneChar(0x44);         // 啟動溫度轉換

  235.         delay_18B20(100);       // this message is wery important

  236.         Init_DS18B20();
  237.         WriteOneChar(0xCC);         //跳過讀序號列號的操作
  238.         WriteOneChar(0xBE);         //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度

  239.         delay_18B20(100);

  240.         a=ReadOneChar();            //讀取溫度值低位
  241.         b=ReadOneChar();                   //讀取溫度值高位
  242.         temp1=b<<4;
  243.         temp1+=(a&0xf0)>>4;
  244.         temp2=a&0x0f;

  245.    temp=((b*256+a)>>4);    //當前采集溫度值除16得實際溫度值


  246. }

  247. /***************液晶顯示子函數1正常顯示*****************/

  248. void displayfun1(void)
  249. {       
  250.         WriteCommandLCM(0x0c,1);                                            //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  251.         DisplayListChar(0,0,str0);       
  252.         DisplayListChar(0,1,str1);       
  253.                                                                                                       
  254.         DisplayOneChar(3,0,hour/10+0x30);                    //液晶上顯示小時
  255.         DisplayOneChar(4,0,hour%10+0x30);

  256.         DisplayOneChar(6,0,minite/10+0x30);                        //液晶上顯示分
  257.         DisplayOneChar(7,0,minite%10+0x30);
  258.        
  259.         DisplayOneChar(9,0,seconde/10+0x30);            //液晶上顯示秒
  260.         DisplayOneChar(10,0,seconde%10+0x30);

  261.         DisplayOneChar(4,1,K/10+0x30);                            //液晶上顯示設定的溫度
  262.         DisplayOneChar(5,1,K%10+0x30);

  263.            DisplayOneChar(11,1,temp1/10+0x30);         //液晶上顯示測得的溫度  
  264.         DisplayOneChar(12,1,temp1%10+0x30);
  265.         DisplayOneChar(14,1,temp2/10+0x30);

  266.         if(ON_OFF==0)                                                      //若溫控標志為0
  267.         {
  268.                 DisplayOneChar(14,0,0x4f);                           // 液晶上顯示不控溫的標志
  269.                 DisplayOneChar(15,0,0x46);
  270.         }
  271.         else
  272.         {
  273.                 DisplayOneChar(14,0,0x4f);                           // 液晶上顯示控溫的標志
  274.                 DisplayOneChar(15,0,0x4e);
  275.                 if(outflag==1)
  276.                     DisplayOneChar(0,0,0x7c);                          
  277.             else
  278.                         DisplayOneChar(0,0,0xef);
  279.         }

  280.        
  281. }
  282. /************液晶顯示子函數2***************/

  283. void displayfun2(void)
  284. {
  285.         WriteCommandLCM(0x0c,1);                     //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  286.         DisplayListChar(0,0,str0);       
  287.         DisplayListChar(0,1,str1);       
  288.                
  289.         DisplayOneChar(6,0,minite/10+0x30);
  290.         DisplayOneChar(7,0,minite%10+0x30);
  291.        
  292.         DisplayOneChar(9,0,seconde/10+0x30);
  293.         DisplayOneChar(10,0,seconde%10+0x30);

  294.         DisplayOneChar(4,1,K/10+0x30);                          
  295.         DisplayOneChar(5,1,K%10+0x30);

  296.            DisplayOneChar(11,1,temp1/10+0x30);         
  297.         DisplayOneChar(12,1,temp1%10+0x30);
  298.         DisplayOneChar(14,1,temp2/10+0x30);

  299.            WriteCommandLCM(0x0f,1);                                            //顯示屏打開,光標顯示,閃爍,檢測忙信號       
  300.     DisplayOneChar(3,0,hour/10+0x30);
  301.         DisplayOneChar(4,0,hour%10+0x30);
  302. }

  303. /**************液晶顯示子函數3*****************/

  304. void displayfun3(void)
  305. {
  306.         WriteCommandLCM(0x0c,1);                                    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  307.         DisplayListChar(0,0,str0);       
  308.         DisplayListChar(0,1,str1);       
  309.        
  310.         DisplayOneChar(3,0,hour/10+0x30);
  311.         DisplayOneChar(4,0,hour%10+0x30);

  312.         DisplayOneChar(9,0,seconde/10+0x30);
  313.         DisplayOneChar(10,0,seconde%10+0x30);

  314.         DisplayOneChar(4,1,K/10+0x30);                          
  315.         DisplayOneChar(5,1,K%10+0x30);

  316.            DisplayOneChar(11,1,temp1/10+0x30);         
  317.         DisplayOneChar(12,1,temp1%10+0x30);
  318.         DisplayOneChar(14,1,temp2/10+0x30);

  319.    
  320.         WriteCommandLCM(0x0f,1);                                            //顯示屏打開,光標顯示,閃爍,檢測忙信號
  321.         DisplayOneChar(6,0,minite/10+0x30);
  322.         DisplayOneChar(7,0,minite%10+0x30);

  323. }

  324. /**************液晶顯示子函數4 *****************/

  325. void displayfun4(void)
  326. {
  327.         WriteCommandLCM(0x0c,1);                                    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號       
  328.         DisplayListChar(0,0,str0);       
  329.         DisplayListChar(0,1,str1);       
  330.        
  331.         DisplayOneChar(3,0,hour/10+0x30);
  332.         DisplayOneChar(4,0,hour%10+0x30);

  333.         DisplayOneChar(6,0,minite/10+0x30);
  334.         DisplayOneChar(7,0,minite%10+0x30);

  335.         DisplayOneChar(9,0,seconde/10+0x30);
  336.         DisplayOneChar(10,0,seconde%10+0x30);

  337.        
  338.            DisplayOneChar(11,1,temp1/10+0x30);         
  339.         DisplayOneChar(12,1,temp1%10+0x30);
  340.         DisplayOneChar(14,1,temp2/10+0x30);

  341.    
  342.         WriteCommandLCM(0x0f,1);                                            //顯示屏打開,光標顯示,閃爍,檢測忙信號
  343.         DisplayOneChar(4,1,K/10+0x30);                          
  344.         DisplayOneChar(5,1,K%10+0x30);

  345. }

  346. /**************鍵盤掃描子函數******************/

  347. void keyscan(void)
  348. {
  349.         uchar xx;                                           //局部變量
  350.         P1=0xff;
  351.         if(P1!=0xff)
  352.           {
  353.             delay_LCM(50);

  354.                 if(P1!=0xff)
  355.                   {       
  356.                         xx=P1;
  357.                         switch(xx)                                                       // 根據按鍵狀態,調用不同的子函數
  358.                         {
  359.                                 case 0xfe:set_adj();       break;               
  360.                                 case 0xfd:inc_key();       break;               
  361.                                 case 0xfb:dec_key();       break;               
  362.                                 case 0xf7:ON_OFF=!ON_OFF;  break;
  363.                                 default:break;
  364.                         }
  365.                   }
  366.                
  367.           }
  368.   
  369. }

  370. /**************設定工作模式子函數****************/

  371. void set_adj(void)
  372. {
  373.         delay_LCM(100);
  374.         set++;
  375.     if(set>=4)set=0;
  376.                
  377. }

  378. /****************按鍵加法子函數******************/

  379. void inc_key(void)
  380. {
  381.         delay_LCM(100);
  382.                
  383.         switch(set)
  384.         {
  385.                 case 0:if(P1==0xf7)ON_OFF=!ON_OFF;       break;
  386.                 case 1:hour++;   if(hour>=23)hour=23;    break;
  387.                 case 2:minite++; if(minite>=59)minite=59;break;
  388.                 case 3:K++;if(K>=99)K=99;                                 break;
  389.                 default:break;
  390.         }
  391.                
  392. }

  393. /****************按鍵減法子函數*****************/

  394. void dec_key(void)
  395. {
  396.         delay_LCM(100);
  397.        
  398.         switch(set)
  399.         {
  400.                    case 0:if(P1==0xf7)ON_OFF=!ON_OFF;    break;
  401.                 case 1:hour--;  if(hour<=0)hour=0;    break;
  402.                 case 2:minite--;if(minite<=0)minite=0;break;
  403.                 case 3:K--;if(K<=1)K=1;                                  break;
  404.                 default:break;
  405.         }
  406.                
  407. }

  408. /***************定時器t0初始化*******************/

  409. void init_timer0(void)
  410. {
  411.          TMOD=0x01;                                  //time0為定時器,方式1
  412.      TH0=0x3c;                                   //預置計數初值
  413.      TL0=0xb0;
  414.      EA=1;                                                                  
  415.      ET0=1;                                                                                                 
  416. ……………………

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

所有資料51hei提供下載:
基于51單片機的智能溫控器.zip (134.82 KB, 下載次數: 337)


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏13 分享淘帖 頂1 踩
回復

使用道具 舉報

來自 2#
ID:392145 發表于 2018-9-7 19:12 | 只看該作者
用什么代替呢?

QQ圖片20180907191122.png (8.44 KB, 下載次數: 185)

QQ圖片20180907191122.png
回復

使用道具 舉報

板凳
ID:241772 發表于 2018-4-12 14:29 來自手機 | 只看該作者
厲害,學習了!!
回復

使用道具 舉報

地板
ID:353810 發表于 2018-9-5 19:04 | 只看該作者
最近正好在做相關的項目前來學習
回復

使用道具 舉報

5#
ID:390998 發表于 2018-9-6 17:27 | 只看該作者
代碼簡介有效  值得學習
回復

使用道具 舉報

6#
ID:392145 發表于 2018-9-7 20:01 | 只看該作者
怎么改呢,改哪里

搜狗截圖20180907200119.png (6.52 KB, 下載次數: 166)

搜狗截圖20180907200119.png
回復

使用道具 舉報

7#
ID:392145 發表于 2018-9-7 20:06 | 只看該作者
怎么改呢,請指教

搜狗截圖20180907200608.png (10.51 KB, 下載次數: 175)

搜狗截圖20180907200608.png
回復

使用道具 舉報

8#
ID:460632 發表于 2019-1-3 09:00 | 只看該作者
可以有
回復

使用道具 舉報

9#
ID:513748 發表于 2019-4-23 23:11 來自手機 | 只看該作者
學習參考借鑒
回復

使用道具 舉報

10#
ID:558708 發表于 2019-6-10 10:37 | 只看該作者
怎么下載啊
回復

使用道具 舉報

11#
ID:558708 發表于 2019-6-10 10:38 | 只看該作者
謝謝你的資源
回復

使用道具 舉報

12#
ID:659812 發表于 2019-12-9 17:12 | 只看該作者

學習參考借鑒
回復

使用道具 舉報

13#
ID:631290 發表于 2019-12-11 10:46 | 只看該作者
可以可以
回復

使用道具 舉報

14#
ID:661660 發表于 2019-12-16 12:18 來自手機 | 只看該作者
qin531100 發表于 2018-9-7 19:12
用什么代替呢?

這個要怎么弄呀
回復

使用道具 舉報

15#
ID:665385 發表于 2019-12-26 14:29 | 只看該作者
很好,很有幫助。
回復

使用道具 舉報

16#
ID:665385 發表于 2019-12-26 14:35 | 只看該作者
#在這里快速回復#/***************定時器t0初始化*******************/  void init_timer0(void) {          TMOD=0x01;                                  //time0為定時器,方式1      TH0=0x3c;                                   //預置計數初值      TL0=0xb0;      EA=1;                                                                         ET0=1;         這個很有用                                                                                          ……………………
回復

使用道具 舉報

17#
ID:861930 發表于 2020-12-17 09:48 來自手機 | 只看該作者
學習參考借鑒
回復

使用道具 舉報

18#
ID:885073 發表于 2021-2-21 09:41 | 只看該作者
謝謝大佬,請問下這個液晶顯示可以改為數碼管顯示嗎,有沒有大佬幫忙解答
回復

使用道具 舉報

19#
ID:883698 發表于 2021-2-21 11:11 | 只看該作者
沐葉 發表于 2021-2-21 09:41
謝謝大佬,請問下這個液晶顯示可以改為數碼管顯示嗎,有沒有大佬幫忙解答

可以通過修改程序,用數碼管來完成顯示,
回復

使用道具 舉報

20#
ID:885073 發表于 2021-2-21 15:19 | 只看該作者
小貓電子 發表于 2021-2-21 11:11
可以通過修改程序,用數碼管來完成顯示,

請問是只要修改那個液晶的子函數就可以了嗎
回復

使用道具 舉報

21#
ID:106239 發表于 2021-2-21 20:18 | 只看該作者
這個用處廣。。。
回復

使用道具 舉報

22#
ID:885073 發表于 2021-2-22 14:57 | 只看該作者
DSIM model LCDALPHA.DLL failed to authorize - Missing or invalid Customer Key.. [LCD1]
DSIM model MCS8051.DLL failed to authorize - Missing or invalid Customer Key.. [U1]
D1WIO.DLL failed to create DSIM model for primitive type 'D1WIO'. [U2_I1]
DSIM model DS182X.DLL failed to authorize - Missing or invalid Customer Key.. [U2_U1]
Real Time Simulation failed to start.
Simulation FAILED due to fatal simulator errors.


仿真的時候有這些錯誤是為什么
回復

使用道具 舉報

23#
ID:888764 發表于 2021-3-15 10:58 | 只看該作者
程序和設計圖不配套啊
回復

使用道具 舉報

24#
ID:902018 發表于 2021-4-7 19:37 | 只看該作者
怎么改變環境溫度呢
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久精品一区二区三区四区 | 一区二区三区国产在线观看 | 男人的天堂亚洲 | 一区二区三区四区免费观看 | 在线观看黄色电影 | 国产三级国产精品 | 欧美激情久久久 | 亚洲国产高清高潮精品美女 | 亚洲精品福利视频 | 精品欧美一区二区三区久久久 | 亚洲啊v | 日本一区视频在线观看 | 国产精品一码二码三码在线 | 欧美一区不卡 | 国产精品美女www爽爽爽视频 | 黄色大片毛片 | 超碰男人天堂 | 日韩欧美在线播放 | 91精品一区二区 | 日本午夜免费福利视频 | 欧美区在线 | 中文字幕av网址 | 中文字幕人成人 | 一级网站 | jvid精品资源在线观看 | 成人av一区二区三区 | 在线观看av网站 | 免费在线观看一级毛片 | 在线观看中文字幕dvd播放 | 免费麻豆视频 | 成人在线观看免费视频 | 欧美一区二区三区在线播放 | 999久久久| 国产成人久久精品一区二区三区 | 精精国产xxxx视频在线播放 | 九色一区 | 美女久久久久 | 一级毛片视频在线观看 | 草久在线| 国产大片黄色 | 久久国产成人 |