找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 39615|回復(fù): 78
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)用PCF8591做個(gè)簡(jiǎn)易電壓表制作 附程序

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
用很簡(jiǎn)單的方法制作一個(gè)51單片機(jī)電壓表,能測(cè)量30V以下的直流電壓,沒(méi)有精確的電壓表,無(wú)法測(cè)定其精度,但是用普通的萬(wàn)用表測(cè)試比較之后發(fā)現(xiàn)其精度還是不錯(cuò)的,其精度主要是看其供給的參考電壓的精度,AD轉(zhuǎn)換的位數(shù),還有分壓電阻的精度。但是用于普通的電壓測(cè)量還是不錯(cuò)的。




可以自行調(diào)整分壓電阻的大小和改動(dòng)電壓算法參數(shù)可以直接適應(yīng)其他量程的電壓測(cè)量



源代碼:
  1. #include<reg52.h>    //包含單片機(jī)寄存器的頭文件
  2. #include <intrins.h>

  3. #define ulong unsigned long
  4. #define uchar unsigned char
  5. #define uint unsigned int
  6. #define LCD1602_PORT P2          //用LED1602_PORT表示P2總線接口
  7. #define  PCF8591 0x90    //PCF8591 地址
  8. #define  NOP()   _nop_()   /* 定義空指令 */
  9. #define  _Nop()  _nop_()   /*定義空指令*/

  10. // 位定義
  11. sbit SCL=P1^0;       //I2C  時(shí)鐘
  12. sbit SDA=P1^1;       //I2C  數(shù)據(jù)
  13. sbit LCD1602_RS = P0^5;      //定義1602液晶顯示屏的數(shù)據(jù)/命令選擇端,數(shù)據(jù)/命令(H/L)
  14. sbit LCD1602_RW = P0^6;      //定義1602液晶顯示屏的讀/寫(xiě)選擇端,讀/寫(xiě)(H/L)
  15. sbit LCD1602_EN = P0^7;      //定義1602液晶顯示屏的使能端
  16. bit ack;                 /*應(yīng)答標(biāo)志位*/

  17. // 變量定義
  18. uchar AD_CHANNEL;
  19. ulong xdata  LedOut[8];      //單片機(jī)內(nèi)部存取器
  20. ulong  v,a,ss;
  21. uchar date;

  22. // 函數(shù)申明
  23. extern bit ack;        //起動(dòng)總線函數(shù)
  24. extern void Start_I2c();    //結(jié)束總線函數(shù)  
  25. extern void Stop_I2c();        //應(yīng)答子函數(shù)
  26. extern void Ack_I2c(bit a);        //字節(jié)數(shù)據(jù)發(fā)送函數(shù)
  27. extern void  SendByte(uchar  c);    //有子地址發(fā)送多字節(jié)數(shù)據(jù)函數(shù)               
  28. extern bit ISendStr(uchar sla,uchar suba,uchar *s,uchar no) ;    //無(wú)子地址發(fā)送多字節(jié)數(shù)據(jù)函數(shù)   
  29. extern bit ISendStrExt(uchar sla,uchar *s,uchar no);    //無(wú)子地址讀字節(jié)數(shù)據(jù)函數(shù)               
  30. extern uchar RcvByte();

  31. void LCD1602_delay_ms(uint n);
  32. void LCD1602_write_com(uchar com);
  33. void LCD1602_write_data(ulong dat);
  34. void LCD1602_write_word(uchar *s);
  35. void Init_LCD1602();

  36. bit ISendByte(uchar sla,uchar c);
  37. uchar IRcvByte(uchar sla);

  38. //MS延時(shí)函數(shù)(12M晶振下測(cè)試)
  39. void delay_ms(uint n)   
  40. {
  41.     unsigned int  i,j;
  42.     for(i=0;i<n;i++)
  43.         for(j=0;j<123;j++);
  44. }

  45. //寫(xiě)指令
  46. void LCD1602_write_com(uchar com)
  47. {
  48.     LCD1602_RS = 0;         //1602液晶顯示屏的數(shù)據(jù)/命令選擇端置0,數(shù)據(jù)/命令(H/L),此時(shí)選擇寫(xiě)命令操作
  49.     delay_ms(1);
  50.     LCD1602_EN = 1;         //使能,也就是打開(kāi)液晶接收數(shù)據(jù)命令的通道
  51.     LCD1602_PORT = com;     //把命令送給P2口
  52.     delay_ms(1);
  53.     LCD1602_EN = 0;
  54. }

  55. //寫(xiě)數(shù)據(jù)
  56. void LCD1602_write_data(ulong dat)
  57. {
  58.     LCD1602_RS = 1;         //1602液晶顯示屏的數(shù)據(jù)/命令選擇端置0,數(shù)據(jù)/命令(H/L),此時(shí)選擇寫(xiě)數(shù)據(jù)操作
  59.     delay_ms(1);   
  60.     LCD1602_PORT = dat;     //把數(shù)據(jù)送給P2口
  61.     LCD1602_EN = 1;
  62.     delay_ms(1);
  63.     LCD1602_EN = 0;
  64. }

  65. //連續(xù)寫(xiě)字符
  66. void LCD1602_write_word(uchar *s)
  67. {
  68.     while(*s>0)
  69.     {
  70.         LCD1602_write_data(*s);
  71.         s++;
  72.     }
  73. }

  74. //1602初始化函數(shù)
  75. void Init_LCD1602()                    
  76. {
  77.     LCD1602_EN = 0;
  78.     LCD1602_RW = 0;                        //設(shè)置為寫(xiě)狀態(tài)
  79.     LCD1602_write_com(0x38);            //顯示模式設(shè)定
  80.     LCD1602_write_com(0x0c);            //開(kāi)關(guān)顯示、光標(biāo)有無(wú)設(shè)置、光標(biāo)閃爍設(shè)置
  81.     LCD1602_write_com(0x06);            //寫(xiě)一個(gè)字符后指針加一
  82.     LCD1602_write_com(0x01);            //清屏指令
  83. }
  84. /*******************************************************************
  85.                      起動(dòng)總線函數(shù)               
  86. 函數(shù)原型: void  Start_I2c();  
  87. 功能:     啟動(dòng)I2C總線,即發(fā)送I2C起始條件.  
  88. ********************************************************************/
  89. void Start_I2c()
  90. {
  91.   SDA=1;         /*發(fā)送起始條件的數(shù)據(jù)信號(hào)*/
  92.   _Nop();
  93.   SCL=1;
  94.   _Nop();        /*起始條件建立時(shí)間大于4.7us,延時(shí)*/
  95.   _Nop();
  96.   _Nop();
  97.   _Nop();
  98.   _Nop();   
  99.   SDA=0;         /*發(fā)送起始信號(hào)*/
  100.   _Nop();        /* 起始條件鎖定時(shí)間大于4μs*/
  101.   _Nop();
  102.   _Nop();
  103.   _Nop();
  104.   _Nop();      
  105.   SCL=0;       /*鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) */
  106.   _Nop();
  107.   _Nop();
  108. }

  109. /*******************************************************************
  110.                       結(jié)束總線函數(shù)               
  111. 函數(shù)原型: void  Stop_I2c();  
  112. 功能:     結(jié)束I2C總線,即發(fā)送I2C結(jié)束條件.  
  113. ********************************************************************/
  114. void Stop_I2c()
  115. {
  116.   SDA=0;      /*發(fā)送結(jié)束條件的數(shù)據(jù)信號(hào)*/
  117.   _Nop();       /*發(fā)送結(jié)束條件的時(shí)鐘信號(hào)*/
  118.   SCL=1;      /*結(jié)束條件建立時(shí)間大于4μs*/
  119.   _Nop();
  120.   _Nop();
  121.   _Nop();
  122.   _Nop();
  123.   _Nop();
  124.   SDA=1;      /*發(fā)送I2C總線結(jié)束信號(hào)*/
  125.   _Nop();
  126.   _Nop();
  127.   _Nop();
  128.   _Nop();
  129. }

  130. /*******************************************************************
  131.                  字節(jié)數(shù)據(jù)發(fā)送函數(shù)               
  132. 函數(shù)原型: void  SendByte(UCHAR c);
  133. 功能:     將數(shù)據(jù)c發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對(duì)
  134.           此狀態(tài)位進(jìn)行操作.(不應(yīng)答或非應(yīng)答都使ack=0)     
  135.            發(fā)送數(shù)據(jù)正常,ack=1; ack=0表示被控器無(wú)應(yīng)答或損壞。
  136. ********************************************************************/
  137. void  SendByte(uchar  c)
  138. {
  139. uchar  BitCnt;

  140. for(BitCnt=0;BitCnt<8;BitCnt++)  /*要傳送的數(shù)據(jù)長(zhǎng)度為8位*/
  141.     {
  142.      if((c<<BitCnt)&0x80)SDA=1;   /*判斷發(fā)送位*/
  143.        else  SDA=0;               
  144.      _Nop();
  145.      SCL=1;               /*置時(shí)鐘線為高,通知被控器開(kāi)始接收數(shù)據(jù)位*/
  146.       _Nop();
  147.       _Nop();             /*保證時(shí)鐘高電平周期大于4μs*/
  148.       _Nop();
  149.       _Nop();
  150.       _Nop();         
  151.      SCL=0;
  152.     }
  153.    
  154.     _Nop();
  155.     _Nop();
  156.     SDA=1;                /*8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/
  157.     _Nop();
  158.     _Nop();   
  159.     SCL=1;
  160.     _Nop();
  161.     _Nop();
  162.     _Nop();
  163.     if(SDA==1)ack=0;     
  164.        else ack=1;        /*判斷是否接收到應(yīng)答信號(hào)*/
  165.     SCL=0;
  166.     _Nop();
  167.     _Nop();
  168. }

  169. /*******************************************************************
  170.                  字節(jié)數(shù)據(jù)接收函數(shù)               
  171. 函數(shù)原型: UCHAR  RcvByte();
  172. 功能:        用來(lái)接收從器件傳來(lái)的數(shù)據(jù),并判斷總線錯(cuò)誤(不發(fā)應(yīng)答信號(hào)),
  173.           發(fā)完后請(qǐng)用應(yīng)答函數(shù)應(yīng)答從機(jī)。  
  174. ********************************************************************/   
  175. uchar   RcvByte()
  176. {
  177.   uchar  retc;
  178.   uchar  BitCnt;
  179.   
  180.   retc=0;
  181.   SDA=1;                     /*置數(shù)據(jù)線為輸入方式*/
  182.   for(BitCnt=0;BitCnt<8;BitCnt++)
  183.       {
  184.         _Nop();           
  185.         SCL=0;                  /*置時(shí)鐘線為低,準(zhǔn)備接收數(shù)據(jù)位*/
  186.         _Nop();
  187.         _Nop();                 /*時(shí)鐘低電平周期大于4.7μs*/
  188.         _Nop();
  189.         _Nop();
  190.         _Nop();
  191.         SCL=1;                  /*置時(shí)鐘線為高使數(shù)據(jù)線上數(shù)據(jù)有效*/
  192.         _Nop();
  193.         _Nop();
  194.         retc=retc<<1;
  195.         if(SDA==1)retc=retc+1;  /*讀數(shù)據(jù)位,接收的數(shù)據(jù)位放入retc中 */
  196.         _Nop();
  197.         _Nop();
  198.       }
  199.   SCL=0;   
  200.   _Nop();
  201.   _Nop();
  202.   return(retc);
  203. }

  204. /********************************************************************
  205.                      應(yīng)答子函數(shù)
  206. 函數(shù)原型:  void Ack_I2c(bit a);
  207. 功能:      主控器進(jìn)行應(yīng)答信號(hào)(可以是應(yīng)答或非應(yīng)答信號(hào),由位參數(shù)a決定)
  208. ********************************************************************/
  209. void Ack_I2c(bit a)
  210. {
  211.   if(a==0)SDA=0;              /*在此發(fā)出應(yīng)答或非應(yīng)答信號(hào) */
  212.   else SDA=1;
  213.   _Nop();
  214.   _Nop();
  215.   _Nop();      
  216.   SCL=1;
  217.   _Nop();
  218.   _Nop();                    /*時(shí)鐘低電平周期大于4μs*/
  219.   _Nop();
  220.   _Nop();
  221.   _Nop();  
  222.   SCL=0;                     /*清時(shí)鐘線,鉗住I2C總線以便繼續(xù)接收*/
  223.   _Nop();
  224.   _Nop();   
  225. }


  226. /*******************************************************************
  227. ADC發(fā)送字節(jié)[命令]數(shù)據(jù)函數(shù)               
  228. *******************************************************************/
  229. bit ISendByte(uchar sla,uchar c)
  230. {
  231.    Start_I2c();              //啟動(dòng)總線
  232.    SendByte(sla);            //發(fā)送器件地址
  233.    if(ack==0)return(0);
  234.    SendByte(c);              //發(fā)送數(shù)據(jù)
  235.    if(ack==0)return(0);
  236.    Stop_I2c();               //結(jié)束總線
  237.    return(1);
  238. }

  239. /*******************************************************************
  240. ADC讀字節(jié)數(shù)據(jù)函數(shù)               
  241. *******************************************************************/
  242. uchar IRcvByte(uchar sla)
  243. {  
  244.    uchar c;
  245.    Start_I2c();          //啟動(dòng)總線
  246.    SendByte(sla+1);      //發(fā)送器件地址
  247.    if(ack==0)return(0);
  248.    c=RcvByte();          //讀取數(shù)據(jù)0
  249.    Ack_I2c(1);           //發(fā)送非就答位
  250.    Stop_I2c();           //結(jié)束總線
  251.    return(c);
  252. }

  253. //    字符顯示函數(shù)
  254. void Display()
  255. {
  256.     LCD1602_write_com(0x80);            //指針設(shè)置,指向1602液晶第一行第一列
  257.     LCD1602_write_word("Voltage: ");
  258.     LCD1602_write_com(0x80+0x0e);            //指針設(shè)置,指向1602液晶第一行第一列
  259.     LCD1602_write_word(" V");
  260. }

  261. //實(shí)時(shí)電壓顯示函數(shù)
  262. void Display_Voltage()
  263. {
  264.     ss=(v*a);
  265.     ss=((ss*6)/100);
  266.     LCD1602_write_com(0x80+0x09);    //1602液晶屏命令操作,表示起始顯示位置為第二行第7列   
  267.     LCD1602_write_data(ss%10000000/1000000 + 0x30);
  268.     LCD1602_write_data(ss%1000000/100000 + 0x30);
  269.     LCD1602_write_data('.');
  270.     LCD1602_write_data(ss%100000/10000 + 0x30);
  271.     LCD1602_write_data(ss%10000/1000 + 0x30);
  272. //    LCD1602_write_data(ss%1000/100 + 0x30);
  273. //    LCD1602_write_data('.');
  274. //    LCD1602_write_data(ss%100/10 + 0x30);
  275. //    LCD1602_write_data(ss%10/1 + 0x30);
  276. }
  277. //******************************************************************/
  278. main()
  279. {  
  280.     Init_LCD1602(); //初始化LCD1602
  281.     Display();
  282.     a=50000000/255;
  283.         while(1)
  284.     {
  285.         ISendByte(PCF8591,0x41);
  286.         v=IRcvByte(PCF8591);      
  287.         Display_Voltage();         
  288.     }      
  289. }

復(fù)制代碼

評(píng)分

參與人數(shù) 10黑幣 +153 收起 理由
huangyuxin + 15
294 + 4
ZB0717226 + 5 很給力!
jinmei1314 + 5 很給力!
vvv64 + 5 共享資料的黑幣獎(jiǎng)勵(lì)!
炫神 + 5 很給力!
自知 + 5 很給力!
qjzyx + 6 贊一個(gè)!
darkly5251 + 3 很給力!
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏25 分享淘帖 頂12 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:110866 發(fā)表于 2017-5-4 00:15 | 只看該作者
仿真怎么沒(méi)給
回復(fù)

使用道具 舉報(bào)

板凳
ID:212280 發(fā)表于 2017-6-18 15:35 | 只看該作者
非常感謝,正在學(xué)習(xí)PCF8591的使用
回復(fù)

使用道具 舉報(bào)

地板
ID:145507 發(fā)表于 2017-7-28 13:00 | 只看該作者
對(duì)我?guī)椭艽?nbsp; 學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

5#
ID:239025 發(fā)表于 2017-10-12 22:14 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

6#
ID:223453 發(fā)表于 2017-11-23 20:45 | 只看該作者
為什么顯示屏顯示的都是0啊,都不跳
回復(fù)

使用道具 舉報(bào)

7#
ID:247901 發(fā)表于 2017-11-24 19:15 | 只看該作者
學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

8#
ID:249545 發(fā)表于 2017-11-25 20:55 | 只看該作者
老師的電壓表相當(dāng)先進(jìn).
能進(jìn)一步升級(jí)嗎?  制做液晶玻璃顯示屏.51MCU做成OTP COB固定在PCB上,用斑馬線連接顯示屏.這樣成工業(yè)品.批量生產(chǎn).
回復(fù)

使用道具 舉報(bào)

9#
ID:71549 發(fā)表于 2017-11-29 18:14 | 只看該作者
對(duì)我?guī)椭艽?nbsp; 學(xué)習(xí)了.....
回復(fù)

使用道具 舉報(bào)

10#
ID:257027 發(fā)表于 2017-12-4 11:25 | 只看該作者
對(duì)我?guī)椭艽?nbsp; 學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

11#
ID:241545 發(fā)表于 2017-12-13 17:35 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

12#
ID:262595 發(fā)表于 2017-12-17 11:52 | 只看該作者
謝謝分享謝謝啊加兩分吧
回復(fù)

使用道具 舉報(bào)

13#
ID:263213 發(fā)表于 2017-12-18 18:27 | 只看該作者
謝謝,很給力
回復(fù)

使用道具 舉報(bào)

14#
ID:240102 發(fā)表于 2017-12-20 19:14 | 只看該作者
樓主大大  ,可以寫(xiě)這個(gè) —————— PCF8591 +12864 +89s52測(cè)電壓0-30V的程序么?! 好想要!
回復(fù)

使用道具 舉報(bào)

15#
ID:264801 發(fā)表于 2017-12-21 15:46 | 只看該作者
問(wèn)一下,接線全部按照你的來(lái),為什么顯示器不顯示電壓
回復(fù)

使用道具 舉報(bào)

16#
ID:265343 發(fā)表于 2017-12-22 16:01 | 只看該作者
很好的帖子。寫(xiě)的很詳細(xì)!
回復(fù)

使用道具 舉報(bào)

17#
ID:272494 發(fā)表于 2018-1-6 19:59 | 只看該作者
程序下不了QAQ,,哪位兄弟能給我發(fā)一份。。
回復(fù)

使用道具 舉報(bào)

18#
ID:272494 發(fā)表于 2018-1-8 14:29 | 只看該作者
姚元紅 發(fā)表于 2017-12-21 15:46
問(wèn)一下,接線全部按照你的來(lái),為什么顯示器不顯示電壓

我的也是,zenme 回事,請(qǐng)教
回復(fù)

使用道具 舉報(bào)

19#
ID:272625 發(fā)表于 2018-1-25 05:05 | 只看該作者
好資料,感謝樓主
回復(fù)

使用道具 舉報(bào)

20#
ID:272625 發(fā)表于 2018-1-25 21:29 | 只看該作者
我也試試看,行不行
回復(fù)

使用道具 舉報(bào)

21#
ID:269211 發(fā)表于 2018-1-26 22:05 | 只看該作者
非常感謝,正在學(xué)習(xí)PCF8591的使用
回復(fù)

使用道具 舉報(bào)

22#
ID:285225 發(fā)表于 2018-2-25 00:06 | 只看該作者
謝謝答主,可以用數(shù)碼管試試感覺(jué)也很方便
回復(fù)

使用道具 舉報(bào)

23#
ID:285225 發(fā)表于 2018-2-28 10:58 | 只看該作者
非常感謝答主的分享
回復(fù)

使用道具 舉報(bào)

24#
ID:302866 發(fā)表于 2018-4-7 21:50 | 只看該作者
老王個(gè) 發(fā)表于 2018-1-8 14:29
我的也是,zenme 回事,請(qǐng)教

我的也)是  你的弄好了么
回復(fù)

使用道具 舉報(bào)

25#
ID:303099 發(fā)表于 2018-4-9 17:20 | 只看該作者
學(xué)習(xí)了~感謝樓主的分享
回復(fù)

使用道具 舉報(bào)

26#
ID:305873 發(fā)表于 2018-4-11 15:04 | 只看該作者
學(xué)習(xí)了,非常感謝答主的分享
回復(fù)

使用道具 舉報(bào)

27#
ID:308601 發(fā)表于 2018-4-15 15:28 | 只看該作者
學(xué)習(xí)了,感謝分享
回復(fù)

使用道具 舉報(bào)

28#
ID:316572 發(fā)表于 2018-5-4 20:13 | 只看該作者

學(xué)習(xí)了,感謝分享!!!學(xué)習(xí)了,感謝分享!!!!
回復(fù)

使用道具 舉報(bào)

29#
ID:146874 發(fā)表于 2018-5-7 16:04 | 只看該作者
感謝樓主分享,很給力
回復(fù)

使用道具 舉報(bào)

30#
ID:146874 發(fā)表于 2018-5-7 16:05 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報(bào)

31#
ID:146874 發(fā)表于 2018-5-7 16:05 | 只看該作者
謝謝分享,正在學(xué)習(xí)這方面的資料
回復(fù)

使用道具 舉報(bào)

32#
ID:324272 發(fā)表于 2018-5-7 16:15 | 只看該作者
很厲害啊
回復(fù)

使用道具 舉報(bào)

33#
ID:316171 發(fā)表于 2018-5-8 20:50 | 只看該作者
左下的元件有誰(shuí)告訴一下名稱(chēng)是什么么
回復(fù)

使用道具 舉報(bào)

34#
ID:316572 發(fā)表于 2018-5-9 21:14 | 只看該作者
樓主可以仔細(xì)解釋一下位定義的意思嗎,不太明白這幾條代碼啊
回復(fù)

使用道具 舉報(bào)

35#
ID:240994 發(fā)表于 2018-5-11 21:53 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

36#
ID:48413 發(fā)表于 2018-5-15 08:00 | 只看該作者
不錯(cuò)值的學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

37#
ID:318584 發(fā)表于 2018-5-15 13:39 | 只看該作者
你好 我按照這個(gè)原理圖焊接了50k與250k的電阻 顯示誤差有些大  2.48v我測(cè)了2.7v 3.26v測(cè)了3.5v 4.96 測(cè)了5.05v 請(qǐng)問(wèn)如何使用算法調(diào)整精度
回復(fù)

使用道具 舉報(bào)

38#
ID:277463 發(fā)表于 2018-5-21 21:10 | 只看該作者
estbon 發(fā)表于 2017-6-18 15:35
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

感謝樓主
回復(fù)

使用道具 舉報(bào)

39#
ID:281991 發(fā)表于 2018-5-23 20:16 | 只看該作者
感謝樓主。
回復(fù)

使用道具 舉報(bào)

40#
ID:353778 發(fā)表于 2018-6-19 16:28 | 只看該作者

感謝樓主。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表