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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 17846|回復(fù): 23
收起左側(cè)

單片機+DS18B20+LCD1602溫度檢測,注釋超級詳細,適合新手。

  [復(fù)制鏈接]
ID:484960 發(fā)表于 2019-5-7 16:46 | 顯示全部樓層 |閱讀模式
單片機+DS18B20+LCD1602  溫度檢測,注釋超級詳細,適合新手。
需要的下載自取,解壓后即可。包括C文件以及hex文件   晶振使用的是11.0592MHZ

  •   硬件電路設(shè)計
(1)復(fù)位電路設(shè)計
通過Vcc(+5V)電源給電容C充電,然后加給RST引腳一個短暫的高電平信號,此信號隨著Vcc對電容C的充電過程而逐漸回落。RST引腳上的高電平大于復(fù)位要求的高電平時間。(電路中使用10千歐電阻,10微法電解電容),如圖2所示。
圖2 復(fù)位電路
(2)時鐘電路設(shè)計
本設(shè)計采用內(nèi)部時鐘方式。AT89S52單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為引腳XTAL2。這兩個引腳外部跨接石英晶體振蕩器和微調(diào)電容,構(gòu)成一個穩(wěn)定的自激振蕩器。(電路中使用2個30皮法的瓷片電容,12MHZ晶振)如圖3所示。

圖3時鐘電路
(3)溫度測量電路設(shè)計
溫度傳感器采用美國DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20,與傳統(tǒng)的熱敏電阻等測溫元件相比,能夠直接讀出被測溫度,硬件電路簡單,單線接口,可通過數(shù)據(jù)線供電,電壓范圍在3.0V~5.5V。如圖4所示。

圖4溫度測量電路
(4)顯示電路設(shè)計
字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、版本號等的點陣式液晶顯示模塊。它是由若干個5×7或5×11等點陣符位組成的,第一個點陣字符位都可以顯示一個字符。點陣字符位之間有一定點距的間隔,這樣就起到了字符間距和行距的作用。本設(shè)計采用字符型液晶顯示模塊LCD1602。如圖5如示。

圖5LCD1602連線電路
                      圖5液晶顯示模塊電路

(5)總體電路圖

圖6系統(tǒng)總體電路圖
  •   軟件程序設(shè)計(包括程序框圖和參考程序)
(1)DS18B20顯示溫度模塊需要調(diào)用4個子程序分別為
1.DS18B20初始化子程序,讓單片機知道DS18B20在總線上已準(zhǔn)備好操作;
2.DS18B20寫字節(jié)子程序,對DS18B20發(fā)出命令;
3.DS18B20讀字節(jié)子程序,讀取DS18B20存儲器的數(shù)據(jù);
4.延時子程序,對DS18B20操作時的時序控制;


設(shè)計結(jié)果分析及心得體會
(1)結(jié)果分析
本次設(shè)計達到題目要求,能夠利用DS18B20數(shù)字式溫度傳感器較準(zhǔn)確測量周圍環(huán)境的溫度,并能通過字符型的顯示模塊LCD1602進行實時顯示,并且掌握了DS18B20的單總線協(xié)議,如圖16所示,使我們本次設(shè)計的實物圖。

                           圖16設(shè)計結(jié)果實物圖
(2)心得體會
本系統(tǒng)完成設(shè)計的要求、測溫較準(zhǔn)確,作品性能好,具有一定的實際應(yīng)用價值。該溫度檢測系統(tǒng)只是DS18B20在溫度測量領(lǐng)域的一個簡單實例,還有許多需要完善的地方。通過本次設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠遠不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,才能提高自己的實際動手能力和獨立思考的能力。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。總的來說,這次設(shè)計還是比較成功的,在設(shè)計中遇到了很多問題,最后在老師的辛勤的指導(dǎo)下,終于游刃而解,有點小小的成就感,終于覺得平時所學(xué)的知識有了實用的價值,達到了理論與實際相結(jié)合的目的,不僅學(xué)到了不少知識,而且鍛煉了自己的能力。最后,對給過我?guī)椭乃型瑢W(xué)和各位指導(dǎo)老師再次表示忠心的感謝。

單片機源程序如下:
  1. #include<reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit DQ=P0^1; //ds18b20 與單片機連接口
  5. sbit RS=P1^0; //1602 寫數(shù)據(jù) / 寫命令選擇端口
  6. //RS=1 寫數(shù)據(jù),即要顯示的內(nèi)容
  7. //RS=0 寫命令,即一些 LCD設(shè)置命令
  8. sbit RW=P1^1; //1602 讀/ 寫選擇端, RW=0為寫模式
  9. sbit EN=P1^2; // 給 EN一個高脈沖,將數(shù)據(jù)送入液晶控制器,完成寫操作
  10. uchar code str1[]={"1503322615033211"};
  11. uchar code str2[]={"  T="};
  12. uchar data disdata[4];// 百、十、個、小數(shù)位
  13. uint tvalue; // 溫度值
  14. uchar tflag; // 溫度正負標(biāo)志
  15. /**********************lcd1602 設(shè)置子函數(shù) *********************/
  16. void delay1ms(uint ms) // 延時 1 毫秒子函數(shù) ,形參為 ms(不夠精確的)
  17. {
  18. unsigned int i,j;
  19. for(i=0;i<ms;i++)
  20. for(j=0;j<120;j++);
  21. }
  22. void wr_com(uchar com) //lcd 寫控制指令子函數(shù),形參為 com
  23. {
  24. delay1ms(1); // 調(diào)用延時子函數(shù),并用實參 1 代替延時子函數(shù)中的形參 ms
  25. RS=0; //RS=0 進入寫命令狀態(tài),即一些 LCD設(shè)置命令
  26. RW=0; //RW=0 為寫模式
  27. EN=0;  //EN=0 時不能完成寫操作
  28. P2=com; // 把要設(shè)置的指令碼 com送給 P2 口
  29. delay1ms(1);
  30. EN=1; // 給 EN一個高脈沖,將數(shù)據(jù)送入液晶控制器,完成寫操作
  31. delay1ms(1);
  32. EN=0; }//EN=0 時不能完成寫操作
  33. /******************檢測忙標(biāo)志函數(shù)***************************/  
  34. void check_busy(void)
  35. {
  36.   uchar dt;
  37.   do
  38. {
  39.               dt=0xff;
  40.               EN=0;
  41.               RS=0;
  42.               RW=1;
  43.               EN=1;
  44.               dt=P2;
  45.               }while(dt&0x80);
  46.               EN=0;
  47. }
  48. */
  49. //*****************寫數(shù)據(jù)*******************************/
  50. void wr_dat(uchar dat) //lcd 寫顯示數(shù)據(jù)子函數(shù),形參為 dat
  51. {
  52. /* check_busy();*/
  53. delay1ms(1);
  54. RS=1; //RS=1 進入寫數(shù)據(jù)狀態(tài),即要顯示的內(nèi)容
  55. RW=0; //RW=0 為寫模式
  56. EN=0; //EN=0 時不能完成寫操作
  57. P2=dat; // 把要顯示的數(shù)據(jù) dat 送給 P2 口
  58. delay1ms(1);
  59. EN=1; // 給 EN一個高脈沖,將數(shù)據(jù)送入液晶控制器,完成寫操作
  60. delay1ms(1);
  61. EN=0; //EN=0 時不能完成寫操作
  62. }
  63. void lcd_init() //lcd 初始化設(shè)置子函數(shù),不帶參數(shù) ,0x38 是顯示模式設(shè)置 , 其余是顯示開 / 關(guān)及光標(biāo)設(shè)置,無順序
  64. {
  65. delay1ms(15);
  66. wr_com(0x38); // 調(diào)用寫控制指令子函數(shù),并用實參 "0011 1000" 代替形參 com
  67. //0x38 表示設(shè)置為 16*2 顯示,每個塊為 5*7 點陣, 8 位數(shù)據(jù)接口
  68. delay1ms(5);
  69. wr_com(0x08); // 調(diào)用寫控制指令子函數(shù),并用實參 "0000 1000" 代替形參 com
  70. //0x08 表示設(shè)置為關(guān)顯示、不顯示光標(biāo)、光標(biāo)不閃爍
  71. delay1ms(5);
  72. wr_com(0x01); // 調(diào)用寫控制指令子函數(shù),并用實參 "0000 0001" 代替形參 com
  73. //0x01 表示顯示數(shù)據(jù)清屏(數(shù)據(jù)指針清 0,所有顯示清 0)
  74. delay1ms(5);
  75. wr_com(0x06);// 調(diào)用寫控制指令子函數(shù),并用實參 "0000 0110" 代替形參 com
  76. //0x06 表示當(dāng)讀或?qū)懸粋字符后地址指針加 1,且光標(biāo)加 1; 當(dāng)寫一個字符時,整屏顯示不移動
  77. delay1ms(5);
  78. wr_com(0x0c);// 調(diào)用寫控制指令子函數(shù),并用實參 "0000 1100" 代替形參 com
  79. //0x0c 打開顯示、不顯示光標(biāo)、光標(biāo)不閃爍
  80. delay1ms(5);
  81. }
  82. void display(uchar *p) //lcd 顯示字符串子函數(shù)
  83. {
  84. while(*p!='\0') // 測試是否等于 '\0' ,即判斷字符是否結(jié)尾
  85. {
  86. wr_dat(*p); // 顯示指針?biāo)傅淖址?br />
  87. p++; // 指針加 1
  88. delay1ms(1);
  89. }
  90. }
  91. void init_play() // 初始化顯示子函數(shù)
  92. {
  93. lcd_init(); // 調(diào)用 lcd 初始化設(shè)置子函數(shù),對 LCD進行初始化
  94. wr_com(0x80); // 調(diào)用寫控制指令子函數(shù),并用實參 "1000 0000" 代替形參 com
  95. // 并將數(shù)據(jù)指針定位到第一行第一個字符處
  96. display(str1);// 從第一行第一個字符處顯示字符串 str1
  97. wr_com(0x80+0x40);// 調(diào)用寫控制指令子函數(shù),并用實參 "1000 0000" 代替形參 com
  98. // 并將數(shù)據(jù)指針定位到第二行第一個字符處
  99. display(str2); // 從第二行第一個字符處顯示字符串 str2
  100. }

  101. /********************************************************/
  102. /********************ds18b20 程序 ***********************/
  103. void delay_18b20(uint i) // 延時 1 微秒
  104. {
  105. while(i--);
  106. }
  107. void ds18b20rst() //ds18b20 初始化子函數(shù)
  108. // 要求"數(shù)據(jù)線拉高 - 延時 - 數(shù)據(jù)線拉低 - 延時大于 480 微妙 -數(shù)據(jù)線拉高 - 延時等待 "
  109. {
  110. uchar x=0;
  111. DQ = 1; // 信號線 DQ復(fù)位
  112. delay_18b20(4); // 延時
  113. DQ = 0; //DQ 拉低
  114. delay_18b20(100); // 精確延時大于 480us
  115. DQ = 1; // 拉高
  116. delay_18b20(40);
  117. }
  118. void ds18b20wr(uchar wdata) /* 寫數(shù)據(jù)子函數(shù) , 無返回值,含參數(shù) */
  119. {
  120. uchar i=0;
  121. for (i=8; i>0; i--)// 要寫完一個字節(jié),故需要重復(fù) 8 次以下操作
  122. {
  123. DQ = 0; // 數(shù)據(jù)線拉低
  124. DQ = wdata&0x01;//wdata 是一個形參,將其與 0000 0001 進行按位與
  125. // 按從低到高的順序發(fā)送數(shù)據(jù)(一次發(fā)送一位 )
  126. delay_18b20(10);
  127. DQ = 1; // 最后將數(shù)據(jù)線拉高
  128. wdata>>=1; // 將 wdata 右移 1 位
  129. }
  130. }
  131. uchar ds18b20rd() // 讀數(shù)據(jù)子函數(shù) , 是有返回值 dat
  132. {
  133. uchar i=0;
  134. uchar dat = 0;
  135. for (i=8;i>0;i--)// 要讀完一個字節(jié),故需要重復(fù) 8 次以下操作
  136. {
  137. DQ = 0; // 給脈沖信號
  138. dat>>=1;
  139. DQ = 1; // 給脈沖信號
  140. if(DQ)
  141. dat|=0x80;
  142. delay_18b20(10);
  143. }
  144. return(dat); // 返回 dat
  145. }
  146. read_temp() // 讀取溫度值并轉(zhuǎn)換的子函數(shù),有返回值溫度值 tvalue
  147. {
  148. uchar a,b;
  149. ds18b20rst(); // 調(diào)用 ds18b20 初始化子函數(shù)
  150. ds18b20wr(0xcc);// 調(diào)用寫數(shù)據(jù)子函數(shù),向 ds18b20 寫命令 0xcc
  151. //ccH 表示跳過 ROM讀序列號,適用于單機工作,直接向 18b20 發(fā)送溫度變換命令
  152. ds18b20wr(0x44);// 調(diào)用寫數(shù)據(jù)子函數(shù),向 ds18b20 寫命令 0x44
  153. //44H 表示啟動 ds18b20 溫度轉(zhuǎn)換 , 結(jié)果自行存入 9 字節(jié)的 RAM中
  154. ds18b20rst(); // 調(diào)用 ds18b20 初始化子函數(shù)
  155. ds18b20wr(0xcc);// 同上
  156. ds18b20wr(0xbe);// 調(diào)用寫數(shù)據(jù)子函數(shù),向 ds18b20 寫命令 0xbe
  157. //beH 表示讀取 RAM中 9 字節(jié)的溫度數(shù)據(jù)
  158. a=ds18b20rd(); // 調(diào)用讀數(shù)據(jù)子函數(shù),并將所得數(shù)據(jù)給 a
  159. b=ds18b20rd(); //
  160. tvalue=b; // 把 b 的值給 tvalue
  161. tvalue<<=8; //tvalue 左移 8 位
  162. tvalue=tvalue|a;//tvalue 與 a 進行按位或
  163. if(tvalue<0x0fff)//
  164. tflag=0; // 前五位為 0 時,讀取的溫度為正,標(biāo)志位為 0,此時只要
  165. // 將測得數(shù)值乘以 0.0625 即可得到實際溫度
  166. else // 前五位為 1 時,讀取的溫度為負,標(biāo)志位為 1,此時需要
  167. { // 將測得數(shù)值取反后再加 1,再乘以 0.0625 即可得到實際溫度
  168. tflag=1; // 此時表示負溫度
  169. tvalue=~tvalue+1;
  170. }
  171. tvalue=tvalue*(0.625);// 溫度值擴大 10 倍,精確到 1 位小數(shù)
  172. return(tvalue); // 返回溫度值
  173. }
  174. /**********************************************************/
  175. /************************ 溫度值顯示 *********************/
  176. void ds18b20disp() // 溫度值顯示
  177. {
  178. uchar flagdat;
  179. disdata[0]=tvalue/1000+0x30; // 百位數(shù)
  180. disdata[1]=tvalue%1000/100+0x30;// 十位數(shù)
  181. disdata[2]=tvalue%100/10+0x30; // 個位數(shù)
  182. disdata[3]=tvalue%10+0x30; // 小數(shù)位
  183. if(tflag==0)
  184. flagdat=0x2b; // 正溫度顯示符號 :+
  185. else
  186. flagdat=0x2d; // 負溫度顯示負號 :-
  187. if(disdata[0]==0x30)
  188. {
  189. disdata[0]=0x20; // 如果百位為 0,不顯示
  190. if(disdata[1]==0x30)
  191. {
  192. disdata[1]=0x20; // 如果百位為 0,十位為 0 也不顯示
  193. }
  194. }
  195. wr_com(0x80+0x44); // 定位數(shù)據(jù)指針的位置:第二行第五個字符處
  196. wr_dat(flagdat); // 顯示符號位
  197. wr_com(0x80+0x45);  // 定位數(shù)據(jù)指針的位置:第二行第六個字符處
  198. wr_dat(disdata[0]);  // 顯示百位
  199. wr_com(0x80+0x46);  // 定位數(shù)據(jù)指針的位置:第二行第七個字符處
  200. wr_dat(disdata[1]);  // 顯示十位
  201. wr_com(0x80+0x47);  // 定位數(shù)據(jù)指針的位置:第二行第八個字符處
  202. wr_dat(disdata[2]);  // 顯示個位
  203. wr_com(0x80+0x48);  // 定位數(shù)據(jù)指針的位置:第二行第九個字符處
  204. wr_dat(0x2e); // 顯示小數(shù)點
  205. wr_com(0x80+0x49);  // 定位數(shù)據(jù)指針的位置:第二行第十個字符處
  206. wr_dat(disdata[3]);  // 顯示小數(shù)位
  207.               /**********************顯示攝氏度************************/
  208. wr_com(0x80+0x4A);  // 定位數(shù)據(jù)指針的位置:第二行第十一個字符處
  209. wr_dat(0XDF);
  210. wr_com(0x80+0x4B);  // 定位數(shù)據(jù)指針的位置:第二行第十二個字符處
  211. wr_dat(0X43);
  212. }

  213. /*******************************************************/
  214. /******************** 主程序 *****************************/
  215. void main()
  216. {
  217. init_play();  // 調(diào)用 lcd 初始化顯示子函數(shù)
  218. while(1)
  219. {
  220. read_temp(); // 調(diào)用 ds18b20 讀取溫度
  221. ds18b20disp(); // 調(diào)用溫度顯示子函數(shù)
  222. }
  223. }
復(fù)制代碼
全部資料51hei下載地址:
基于51溫度檢測程序.zip (17.52 MB, 下載次數(shù): 677)

評分

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

查看全部評分

回復(fù)

使用道具 舉報

ID:532593 發(fā)表于 2019-5-10 15:51 | 顯示全部樓層
你這程序有錯
回復(fù)

使用道具 舉報

ID:532593 發(fā)表于 2019-5-10 16:07 | 顯示全部樓層
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的
回復(fù)

使用道具 舉報

ID:484960 發(fā)表于 2020-3-21 16:03 | 顯示全部樓層

沒有呀!我設(shè)計就是這個程序呀!當(dāng)時都可以演示的尼
回復(fù)

使用道具 舉報

ID:484960 發(fā)表于 2020-3-21 16:04 | 顯示全部樓層
大白菜111 發(fā)表于 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的

你生成HEX文件后燒錄在單片機里面搭配其他外圍硬件就可以實現(xiàn)功能的呀!!!
回復(fù)

使用道具 舉報

ID:701939 發(fā)表于 2020-3-23 17:09 | 顯示全部樓層
感謝樓主分享
回復(fù)

使用道具 舉報

ID:611568 發(fā)表于 2020-3-23 21:25 | 顯示全部樓層
學(xué)習(xí)一下,就是下載速度太慢了。
回復(fù)

使用道具 舉報

ID:720980 發(fā)表于 2020-4-2 17:20 | 顯示全部樓層
請問一下樓主 為什么我的proteus中仿真就一直顯示的溫度為-1、-0這種?
回復(fù)

使用道具 舉報

ID:703051 發(fā)表于 2020-4-3 12:23 | 顯示全部樓層
問一下樓主,硬件里面的電源那塊你是怎么弄的,直接用USB轉(zhuǎn)DC線就行了嘛?
回復(fù)

使用道具 舉報

ID:224782 發(fā)表于 2020-4-16 11:14 | 顯示全部樓層
大白菜111 發(fā)表于 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的

正常編譯,正常工作,只能說你有毒,或者不會用。。。。。。
回復(fù)

使用道具 舉報

ID:730449 發(fā)表于 2020-4-17 19:28 來自觸屏版 | 顯示全部樓層
大白菜111 發(fā)表于 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的

注意是AT89C52單片機!建工程別選錯!

回復(fù)

使用道具 舉報

ID:362692 發(fā)表于 2020-5-14 16:47 來自觸屏版 | 顯示全部樓層
大白菜111 發(fā)表于 2019-5-10 16:07
大家看看就好,在keil中只是可以翻譯,不能編譯,親測的

啥都不會,亂叫
回復(fù)

使用道具 舉報

ID:744393 發(fā)表于 2020-5-23 12:09 | 顯示全部樓層
黑子的難拿 發(fā)表于 2020-4-2 17:20
請問一下樓主 為什么我的proteus中仿真就一直顯示的溫度為-1、-0這種?

時序問題,改一下單片機的頻率,改為12M的
回復(fù)

使用道具 舉報

ID:737508 發(fā)表于 2020-5-25 10:20 | 顯示全部樓層
xddfandy 發(fā)表于 2020-3-21 16:03
沒有呀!我課程設(shè)計就是這個程序呀!當(dāng)時都可以演示的尼

兄弟你做成了嗎
回復(fù)

使用道具 舉報

ID:861694 發(fā)表于 2020-12-16 20:29 | 顯示全部樓層
如果出錯,可能還與軟件有關(guān)
回復(fù)

使用道具 舉報

ID:495586 發(fā)表于 2020-12-20 08:38 | 顯示全部樓層
只有程序,沒有其他的內(nèi)容了/
回復(fù)

使用道具 舉報

ID:484960 發(fā)表于 2021-1-9 14:57 | 顯示全部樓層
黑弓的拉迪 發(fā)表于 2020-4-3 12:23
問一下樓主,硬件里面的電源那塊你是怎么弄的,直接用USB轉(zhuǎn)DC線就行了嘛?

這個是直接轉(zhuǎn)DC的,后面我自己做了一個220V交流轉(zhuǎn)5V直流的電源,用作DIY小玩意了,但是已經(jīng)找不見了,后面找見給你發(fā)過去,或者你在網(wǎng)上直接找,很多的原理圖。
回復(fù)

使用道具 舉報

ID:484960 發(fā)表于 2021-1-9 14:58 | 顯示全部樓層

我做成了,給師傅演示了
回復(fù)

使用道具 舉報

ID:484960 發(fā)表于 2021-1-9 14:58 | 顯示全部樓層
cheng7791 發(fā)表于 2020-12-20 08:38
只有程序,沒有其他的內(nèi)容了/

里面的文字描述的可以作為設(shè)計思路的,提交文本直接給師傅看
回復(fù)

使用道具 舉報

ID:18702 發(fā)表于 2022-2-4 22:19 | 顯示全部樓層
編譯的沒有問題,做的不錯
回復(fù)

使用道具 舉報

ID:18702 發(fā)表于 2022-2-5 12:11 | 顯示全部樓層
追加回復(fù)來了,通過調(diào)試研究,注釋的和實際編寫的I/O 口有時候?qū)Σ簧希臋n里的是對的,請樓主自行查驗,我根據(jù)自己的電路更改了一下程序,下載到單片機上了,可用,very good!
IMG_20220205_115513.jpg
回復(fù)

使用道具 舉報

ID:1088965 發(fā)表于 2023-9-21 22:54 | 顯示全部樓層
試運行結(jié)果為0,仔細看,原來是tvalue這個全局變量。
回復(fù)

使用道具 舉報

ID:1120154 發(fā)表于 2024-5-15 19:16 | 顯示全部樓層
uchar code str1[]={"1503322615033211"}; uchar code str2[]={"  T="};
回復(fù)

使用道具 舉報

ID:1120154 發(fā)表于 2024-5-15 19:18 | 顯示全部樓層
uchar code str1[]={"1503322615033211"}; 問問大佬 這句是干嘛用的
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩不卡 | 情侣av | 91精品国产综合久久婷婷香蕉 | 亚洲第一天堂无码专区 | 日韩欧美亚洲 | 亚洲免费观看视频 | 久久久久久综合 | 久久国产高清视频 | 一区二区三区福利视频 | 国产一级一级国产 | 久久精品一区 | 欧美日韩国产精品一区 | 欧美啊v在线观看 | 亚洲精品久久久一区二区三区 | 精品免费国产 | 亚洲免费av一区 | 久久精品小视频 | 99热在线免费 | 久久99这里只有精品 | 欧美日韩中文国产一区发布 | 中文字幕在线三区 | 黑人巨大精品欧美一区二区一视频 | 国产精品久久国产精品99 | 日本一区二区不卡 | 天堂一区二区三区 | 国产高清在线 | 欧美成人免费在线视频 | 高清国产一区二区 | 成人h视频 | 日韩av在线一区 | 久久国品片 | 91在线观看视频 | av在线免费看网址 | 一区二区三区四区在线 | 一区二区日韩 | 日韩成人一区 | 青青伊人久久 | av中文网 | 中文字幕在线观看国产 | 精品一区二区三区在线播放 | 国产亚洲精品久久久久久豆腐 |