找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 21658|回復(fù): 20
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)+MPX4115壓力測量儀的Proteus仿真設(shè)計(jì)+代碼+文檔

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:430253 發(fā)表于 2018-12-19 22:05 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

壓力測量儀的設(shè)計(jì)與仿真

一、設(shè)計(jì)要求:

本課程設(shè)計(jì)用MPX4115傳感器來檢測壓力參數(shù),ADC0832進(jìn)行模數(shù)轉(zhuǎn)換后,利用單片機(jī)AT89C52進(jìn)行數(shù)據(jù)處理后,用四個(gè)八段數(shù)碼管顯示壓力值。壓力測量的量程在15.3KPA~114.9KPA,分度值位0.1kpa。

二、構(gòu)思

2.1 主控模塊的選型。

方案一:

采用MSP430系列單片機(jī),該單片機(jī)是TI公司1996年開始推向市場的一種16位超低功耗的混合信號處理器。其內(nèi)部集成了很多模擬電路、數(shù)字電路和微處理器,提供強(qiáng)大的功能。不過該芯片昂貴不適合一般的設(shè)計(jì)開發(fā)[3]。

方案二

采用51系列的單片機(jī),該單片機(jī)是一個(gè)高可靠性,超低價(jià),無法解密,高性能的8位單片機(jī),32個(gè)IO口,且STC系列的單片機(jī)可以在線編程、調(diào)試,方便地實(shí)現(xiàn)程序的下載與整機(jī)的調(diào)試。

因此選用方案二中的51系列單片機(jī)作為主控芯片

2.2 顯示模塊的選型

方案一:

采用點(diǎn)陣式數(shù)碼管顯示,點(diǎn)陣式數(shù)碼管是由八行八列的發(fā)光二極管組成,對于顯示文字比較合適,如采用在顯示數(shù)字顯得太浪費(fèi),且價(jià)格也相對較高,所以不用此種作為顯示。

方案二:

采用LED數(shù)碼管動態(tài)掃描,LED數(shù)碼管價(jià)格雖適中,對于顯示數(shù)字也最合適,而且采用動態(tài)掃描法與單片機(jī)連接時(shí),占用單片機(jī)口線少。

所以本設(shè)計(jì)中方案二中LED數(shù)碼管的作為顯示模塊

2.3 傳感器的選型。

壓力傳感器對于系統(tǒng)至關(guān)重要,需要綜合實(shí)際的需求和各類壓力傳感器的性 能參數(shù)加以選擇。一般要選用有溫度補(bǔ)償作用的壓力傳感器,因?yàn)闇囟妊a(bǔ)償特性 可以克服半導(dǎo)體壓力傳感器件存在的溫度漂移問題。

本設(shè)計(jì)要實(shí)現(xiàn)的數(shù)字氣壓計(jì)顯示的是絕對氣壓值,同時(shí)為了簡化電路,提高 穩(wěn)定性和抗干擾能力,要求使用具有溫度補(bǔ)償能力的壓力傳感器。MPX4115可以產(chǎn)生高精度模 擬輸出電壓,數(shù)據(jù)采集模塊由壓力傳感器MPX4115構(gòu)成。


三、設(shè)計(jì):

3.1 總體設(shè)計(jì)方案

本次設(shè)計(jì)是基于8051單片機(jī)的測量與顯示。利用傳感器將壓力轉(zhuǎn)換為電信號后,在經(jīng)過ADC0832的模數(shù)轉(zhuǎn)換器經(jīng)A/D轉(zhuǎn)換后由單片機(jī)進(jìn)行有效處理,然后用數(shù)碼管進(jìn)行顯示。

3.2 流程框圖



3.3 單片機(jī)最小系統(tǒng)

由AT89C52單片機(jī)、時(shí)鐘電路、復(fù)位 電路組成AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C52是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的于將多功能MCS-518指令集和輸出管腳相兼容。位CPU和閃爍存儲器組合在由單個(gè)芯片中,ATMEL 的AT89C51是一種高效微控制器,AT89C52是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案

單片機(jī)系統(tǒng)電路

3.4 A/D轉(zhuǎn)換模塊

ADC0832是美國國家半導(dǎo)體公司生產(chǎn)的一種8位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性,性價(jià)比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。學(xué)習(xí)并使用 ADC0832 可是使我們了解A/D轉(zhuǎn)換器的原理,有助于我們單片機(jī)技術(shù)水平的提高。8位分辨率雙通道A/D轉(zhuǎn)換輸入輸出電平與TTL/CMOS 相兼容5V電源供電時(shí)輸入電壓在0~5V之間工作頻率為250KHZ,轉(zhuǎn)換時(shí)間為32μS。 ADC0832為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在 0~5V 之間。

ADC0832模數(shù)轉(zhuǎn)換電路

3.5 傳感器模塊

MPX4115系列壓電電阻傳感器是一個(gè)硅壓力傳感器。這個(gè)傳感器結(jié)合了高級微電機(jī)技術(shù),薄膜鍍金屬。還能為高水準(zhǔn)模擬輸出信號提供一個(gè)均衡壓力。在0℃-85℃的溫度下誤差不超過1.5%,溫度補(bǔ)償是-40℃-125℃。為了克服干擾,在MPX4115輸出電路中增加了RC濾波電路。如下圖所示:


MPX4115信號處理電路

3.6系統(tǒng)總體電路圖


四、仿真

通過仿真,調(diào)節(jié)傳感器的+和-,可以觀察到數(shù)碼管數(shù)值的變化,壓力測量的范圍在15.3KPA~114.9KPA之間,基本可以達(dá)到要求。

五、心得體會:

傳感器課程設(shè)計(jì)結(jié)束了,我的收獲很多,我做的是基于AT89C52單片機(jī)的壓力測量儀的設(shè)計(jì),用到的主要芯片是 AT89C52和ADC0808,實(shí)現(xiàn)的功能是將傳感器采集到的模擬信號轉(zhuǎn)換成單片機(jī)可以識別的數(shù)字信號,再經(jīng)單片機(jī)轉(zhuǎn)換成數(shù)碼管可以識別的信息,最后顯示輸出。通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作�;菊莆樟薖roteus原理圖的方法,從網(wǎng)上搜索的資料對我?guī)椭艽�,遇到不懂的問題自己解決不了,就和大家一起討論。通過發(fā)現(xiàn)問題、分析問題、解決問題,我又學(xué)到了許多新的知識,在工程實(shí)際應(yīng)用才能有切身的體會,實(shí)踐出真知,自己親自動手去做,才知道知識的匱乏。

單片機(jī)源碼:
  1. //線性區(qū)間標(biāo)度變換公式:    y=(115-15)/(243-13)*X+15kpa   

  2. #include <AT89X52.h>
  3. #include <intrins.h>
  4. #include <stdio.h>


  5. #define R24C04ADD 0xA1
  6. #define W24C04ADD 0xA0

  7. //ADC0832的引腳
  8. sbit ADCS =P2^2;  //ADC0832 chip seclect
  9. sbit ADDI =P2^4;  //ADC0832 k in
  10. sbit ADDO =P2^4;  //ADC0832 k out
  11. sbit ADCLK =P2^3;  //ADC0832 clock signal


  12. sbit SDA = P2 ^ 1;                                //數(shù)據(jù)線
  13. sbit SCL = P2 ^ 0;                                //時(shí)鐘線
  14. bit bAck;                                          //應(yīng)答標(biāo)志 當(dāng)bbAck=1是為正確的應(yīng)答

  15. unsigned char dispbitcode[8]={0xf7,0xfb,0xfd,0xfe,0xef,0xdf,0xbf,0x7f};  //位掃描
  16. unsigned char dispcode[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};  //共陽數(shù)碼管字段碼
  17. unsigned char dispbuf[4];
  18. unsigned int temp;
  19. unsigned char getdata; //獲取ADC轉(zhuǎn)換回來的值


  20. void delay_1ms(void)  //12mhz delay 1.01ms
  21. {
  22.    unsigned char x,y;   
  23.    x=3;
  24.    while(x--)
  25.   {
  26.        y=40;
  27.        while(y--);
  28.     }
  29. }
  30. void display(void)  //數(shù)碼管顯示函數(shù)
  31. {
  32.   char k;
  33.   for(k=0;k<4;k++)
  34.   {

  35.   P1 = dispbitcode[k];
  36.   P0 = dispcode[dispbuf[k]];
  37.   if(k==1)          //加上數(shù)碼管的dp小數(shù)點(diǎn)
  38.           P0&=0x7f;
  39.   delay_1ms();         
  40.   }
  41. }

  42. /************
  43. 讀ADC0832函數(shù)
  44. ************/

  45. //采集并返回
  46. unsigned int Adc0832(unsigned char channel)     //AD轉(zhuǎn)換,返回結(jié)果
  47. {
  48.     unsigned char i=0;
  49.     unsigned char j;
  50.     unsigned int dat=0;
  51.     unsigned char ndat=0;

  52.     if(channel==0)channel=2;
  53.     if(channel==1)channel=3;
  54.     ADDI=1;
  55.     _nop_();
  56.     _nop_();
  57.     ADCS=0;//拉低CS端
  58.     _nop_();
  59.     _nop_();
  60.     ADCLK=1;//拉高CLK端
  61.     _nop_();
  62.     _nop_();
  63.     ADCLK=0;//拉低CLK端,形成下降沿1
  64.     _nop_();
  65.     _nop_();
  66.     ADCLK=1;//拉高CLK端
  67.     ADDI=channel&0x1;
  68.     _nop_();
  69.     _nop_();
  70.     ADCLK=0;//拉低CLK端,形成下降沿2
  71.     _nop_();
  72.     _nop_();
  73.     ADCLK=1;//拉高CLK端
  74.     ADDI=(channel>>1)&0x1;
  75.     _nop_();
  76.     _nop_();
  77.     ADCLK=0;//拉低CLK端,形成下降沿3
  78.     ADDI=1;//控制命令結(jié)束
  79.     _nop_();
  80.     _nop_();
  81.     dat=0;
  82.     for(i=0;i<8;i++)
  83.     {
  84.         dat|=ADDO;//收數(shù)據(jù)
  85.         ADCLK=1;
  86.         _nop_();
  87.         _nop_();
  88.         ADCLK=0;//形成一次時(shí)鐘脈沖
  89.         _nop_();
  90.         _nop_();
  91.         dat<<=1;
  92.         if(i==7)dat|=ADDO;
  93.     }  
  94.     for(i=0;i<8;i++)
  95.     {
  96.         j=0;
  97.         j=j|ADDO;//收數(shù)據(jù)
  98.         ADCLK=1;
  99.         _nop_();
  100.         _nop_();
  101.         ADCLK=0;//形成一次時(shí)鐘脈沖
  102.         _nop_();
  103.         _nop_();
  104.         j=j<<7;
  105.         ndat=ndat|j;
  106.         if(i<7)ndat>>=1;
  107.     }
  108.     ADCS=1;//拉低CS端
  109.     ADCLK=0;//拉低CLK端
  110.     ADDO=1;//拉高數(shù)據(jù)端,回到初始狀態(tài)
  111.     dat<<=8;
  112.     dat|=ndat;
  113.     return(dat);            //return ad k
  114. }

  115. //啟動I2C總線,即發(fā)送起始條件
  116. void StartI2C()
  117. {
  118.         SDA = 1;                              //發(fā)送起始條件數(shù)據(jù)信號
  119.         _nop_();
  120.         SCL = 1;
  121.         _nop_();                                    //起始建立時(shí)間大于4.7us
  122.         _nop_();
  123.         _nop_();
  124.         _nop_();
  125.         _nop_();
  126.         SDA = 0;                              //發(fā)送起始信號
  127.         _nop_();
  128.         _nop_();
  129.         _nop_();
  130.         _nop_();
  131.         _nop_();
  132.         SCL = 0;                                //時(shí)鐘操作
  133.         _nop_();
  134.         _nop_();
  135. }
  136. //結(jié)束I2C總線,即發(fā)送I2C結(jié)束條件
  137. void StopI2C()
  138. {
  139.         SDA = 0;                                //發(fā)送結(jié)束條件的數(shù)據(jù)信號
  140.         _nop_();                                      //發(fā)送結(jié)束條件的時(shí)鐘信號
  141.         SCL = 1;                                //結(jié)束條件建立時(shí)間大于4us
  142.         _nop_();
  143.         _nop_();
  144.         _nop_();
  145.         _nop_();
  146.         _nop_();
  147.         SDA = 1;                                //發(fā)送I2C總線結(jié)束命令
  148.         _nop_();
  149.         _nop_();
  150.         _nop_();
  151.         _nop_();
  152.         _nop_();        
  153. }
  154. //發(fā)送一個(gè)字節(jié)的數(shù)據(jù)
  155. void        SendByte(unsigned char c)
  156. {
  157.         unsigned char BitCnt;
  158.         for(BitCnt = 0;BitCnt < 8;BitCnt++)                                  //一個(gè)字節(jié)
  159.                 {
  160.                         if((c << BitCnt)& 0x80) SDA = 1;                   //判斷發(fā)送位
  161.                         else        SDA = 0;
  162.                         _nop_();
  163.                         SCL = 1;                              //時(shí)鐘線為高,通知從機(jī)開始接收數(shù)據(jù)
  164.                         _nop_();
  165.                         _nop_();
  166.                         _nop_();
  167.                         _nop_();
  168.                         _nop_();
  169.                         SCL = 0;
  170.                 }
  171.         _nop_();
  172.         _nop_();
  173.         SDA = 1;                                                //釋放數(shù)據(jù)線,準(zhǔn)備接受應(yīng)答位
  174.         _nop_();
  175.         _nop_();
  176.         SCL = 1;
  177.         _nop_();
  178.         _nop_();
  179.         _nop_();
  180.         if(SDA == 1) bAck =0;
  181.         else bAck = 1;                                                //判斷是否收到應(yīng)答信號
  182.         SCL = 0;
  183.         _nop_();
  184.         _nop_();
  185. }
  186. //接收一個(gè)字節(jié)的數(shù)據(jù)
  187. unsigned char RevByte()
  188. {
  189.         unsigned char retc;
  190.         unsigned char BitCnt;
  191.         retc = 0;
  192.         SDA = 1;
  193.         for(BitCnt=0;BitCnt<8;BitCnt++)
  194.         {
  195.                 _nop_();
  196.                 SCL = 0;                                            //置時(shí)鐘線為低,準(zhǔn)備接收
  197.                 _nop_();
  198.                 _nop_();
  199.                 _nop_();
  200.                 _nop_();
  201.                 _nop_();
  202.                 SCL = 1;                                            //置時(shí)鐘線為高使得數(shù)據(jù)有效
  203.                 _nop_();
  204.                 _nop_();
  205.                 retc = retc << 1;                                    //左移補(bǔ)零
  206.                 if (SDA == 1)
  207.                 retc = retc + 1;                                     //當(dāng)數(shù)據(jù)為1則收到的數(shù)據(jù)+1
  208.                 _nop_();
  209.                 _nop_();
  210.         }
  211.         SCL = 0;
  212.         _nop_();
  213.         _nop_();
  214.         return(retc);                                   //返回收到的數(shù)據(jù)
  215. }


  216. unsigned char WIICByte(unsigned char WChipAdd,unsigned char InterAdd,unsigned char WIICData)
  217. {
  218.         StartI2C();                                                                                      //啟動總線
  219.         SendByte(WChipAdd);                                                        //發(fā)送器件地址以及命令
  220.         if (bAck==1)                                                                                          //收到應(yīng)答
  221.         {
  222.                 SendByte(InterAdd);                                                                //發(fā)送內(nèi)部子地址
  223.                 if (bAck ==1)
  224.                 {
  225.                         SendByte(WIICData);                                                        //發(fā)送數(shù)據(jù)
  226.                         if(bAck == 1)
  227.                         {
  228.                                 StopI2C();                    //停止總線
  229.                                 return(0xff);
  230.                         }
  231.                         else
  232.                         {
  233.                                 return(0x03);
  234.                         }                        
  235.                 }
  236.                 else
  237.                 {
  238.                         return(0x02);
  239.                 }
  240.         }
  241.         return(0x01);
  242. }
  243. //讀取指定器件的內(nèi)部指定地址一個(gè)字節(jié)數(shù)據(jù)
  244. unsigned char RIICByte(unsigned char WChipAdd,unsigned char RChipAdd,unsigned char InterDataAdd)
  245. {
  246.         unsigned char TempData;        
  247.         TempData = 0;
  248.         StartI2C();                                                                        //啟動
  249.         SendByte(WChipAdd);                                                    //發(fā)送器件地址以及讀命令
  250.         if (bAck==1)                                                                            //收到應(yīng)答
  251.         {
  252.                 SendByte(InterDataAdd);                                        //發(fā)送內(nèi)部子地址
  253.                 if (bAck ==1)
  254.                 {
  255.                         StartI2C();
  256.                         SendByte(RChipAdd);        
  257.                         if(bAck == 1)
  258.                         {
  259.                                 TempData = RevByte();       //接收數(shù)據(jù)
  260.                                 StopI2C();                  //停止I2C總線
  261.                                 return(TempData);           //返回?cái)?shù)據(jù)
  262.                         }
  263.                         else
  264.                         {
  265.                                 return(0x03);
  266.                         }        
  267.                 }
  268.                 else
  269.                 {
  270.                         return(0x02);
  271.                 }
  272.         }
  273.         else
  274.         {
  275.                 return(0x01);
  276.         }
  277. }


  278. void main(void)
  279. {
  280.   unsigned int OverCounter = 0;
  281.   unsigned char ptemp;
  282.   bit OverFlg = 0;
  283.   unsigned int temp,ppress = 0;
  284.   float  press;        
  285.   while(1)
  286.   {         
  287.                      
  288.           getdata=Adc0832(0);
  289.           if(14<getdata<243)                                       //當(dāng)壓力值介于15kpa到115kpa之間時(shí),遵循線性變換
  290.                  {                           
  291.                   int vary=getdata;                                                //y=(115-15)/(243-13)*X+15kpa                        
  292.                         press=((10.0/23.0)*vary)+9.3;                        //測試時(shí)補(bǔ)償值為9.3                                                                                                         
  293.                         temp=(int)(press*10);                  //放大10倍,便于后面的計(jì)算
  294.       if(temp != ppress)
  295.       {
  296.         ppress = temp;
  297.         OverFlg = 1;
  298.       }                                                                                            
  299.                         dispbuf[3]=temp/1000;                                     //取壓力值百位
  300.                         dispbuf[2]=(temp%1000)/100;                            //取壓力值十位
  301.                         dispbuf[1]=((temp%1000)%100)/10;                    //取壓力值個(gè)位
  302.                         dispbuf[0]=((temp%1000)%100)%10;                        //取壓力值十分位
  303.                         display();
  304.       if (temp > 100)
  305.       {
  306.           if(OverFlg == 1)   
  307.           {
  308.             OverCounter++;
  309.             WIICByte(W24C04ADD,0x01,(OverCounter/0xff));    //低位
  310.             WIICByte(W24C04ADD,0x02,(OverCounter%0xff));    //高位
  311.             OverFlg = 0;    //清除標(biāo)志
  312.           }
  313.       }

  314.            }            
  315.   }
  316. }
復(fù)制代碼




全部資料51hei下載地址:
電工1611壓力測量儀的設(shè)計(jì)與仿真.zip (652.37 KB, 下載次數(shù): 652)


評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏18 分享淘帖 頂7 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:479248 發(fā)表于 2019-2-27 17:33 | 只看該作者
好資料 可惜黑幣不夠啊
回復(fù)

使用道具 舉報(bào)

板凳
ID:497571 發(fā)表于 2019-3-26 21:19 | 只看該作者
資料不錯(cuò)
回復(fù)

使用道具 舉報(bào)

地板
ID:599601 發(fā)表于 2019-8-13 15:11 | 只看該作者
非常好,值得下載
回復(fù)

使用道具 舉報(bào)

5#
ID:693671 發(fā)表于 2020-3-7 11:53 | 只看該作者
這個(gè)是只能測量氣壓嗎?Proteus里面有沒有可以測量重量壓力的傳感器?
回復(fù)

使用道具 舉報(bào)

6#
ID:709414 發(fā)表于 2020-3-16 18:03 | 只看該作者
有沒有關(guān)于溫度的調(diào)節(jié)啊
回復(fù)

使用道具 舉報(bào)

7#
ID:682441 發(fā)表于 2020-4-12 16:27 | 只看該作者
好資料 謝謝分享
回復(fù)

使用道具 舉報(bào)

8#
ID:710428 發(fā)表于 2020-4-26 23:28 | 只看該作者
好資料 謝謝分享
回復(fù)

使用道具 舉報(bào)

9#
ID:673624 發(fā)表于 2020-4-30 11:35 | 只看該作者
膜拜大佬
回復(fù)

使用道具 舉報(bào)

10#
ID:750771 發(fā)表于 2020-5-17 12:17 | 只看該作者

有proteus連線圖.pdsprj工程文件分享一下。
回復(fù)

使用道具 舉報(bào)

11#
ID:763808 發(fā)表于 2020-5-28 21:59 | 只看該作者
好資料 謝謝分享
回復(fù)

使用道具 舉報(bào)

12#
ID:770198 發(fā)表于 2020-6-6 11:25 | 只看該作者
這個(gè)圖好模糊啊
回復(fù)

使用道具 舉報(bào)

13#
ID:791959 發(fā)表于 2020-6-28 16:34 | 只看該作者
有人下載了嗎,可不可以分享我一下&#128543;
回復(fù)

使用道具 舉報(bào)

14#
ID:825303 發(fā)表于 2020-10-2 18:21 | 只看該作者
5黑幣花的值。一看樓主就是用心做的,布線沒有任何交叉。
回復(fù)

使用道具 舉報(bào)

15#
ID:906376 發(fā)表于 2021-4-20 09:28 | 只看該作者
可以,非常詳細(xì)
回復(fù)

使用道具 舉報(bào)

16#
ID:910305 發(fā)表于 2021-6-13 14:21 | 只看該作者
真的很不錯(cuò),內(nèi)容很全面
回復(fù)

使用道具 舉報(bào)

17#
ID:858170 發(fā)表于 2021-6-19 01:43 | 只看該作者
你好 這個(gè)設(shè)計(jì) 是否可以看作一個(gè)氣壓傳感器呢    望解答 感謝感謝
回復(fù)

使用道具 舉報(bào)

18#
ID:987462 發(fā)表于 2021-12-3 08:35 來自手機(jī) | 只看該作者
這個(gè)代碼全嘛?
回復(fù)

使用道具 舉報(bào)

19#
ID:987007 發(fā)表于 2021-12-14 08:43 | 只看該作者
為什么把.hex放入進(jìn)去,運(yùn)行會報(bào)錯(cuò)?
回復(fù)

使用道具 舉報(bào)

20#
ID:1113285 發(fā)表于 2024-3-21 10:37 | 只看該作者
有沒有可以測量水壓的元器件?
回復(fù)

使用道具 舉報(bào)

21#
ID:291549 發(fā)表于 2024-6-20 09:26 | 只看該作者
感謝提供的資料。
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

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