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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機酒精濃度測試儀設計資料 含源碼與電路原理圖

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

一、 設計意義
二、 硬件設計
1、設計框圖
2、乙醇信號檢測及調理電路
3、單片機電路
4、顯示電路
5、供電及程序下載電路
三、 Protel硬件開發軟件
1.Protel軟件組成
2.PCB板設計
四、 軟件編程
1、軟件流程圖
2、主程序
五、 下載與調試
1、 USB轉串口驅動安裝
2、 下載程序
參考文獻
程序
一、     設計意義
自《道路交通安全法》正式實施,“醉酒駕駛”正式入刑。不僅交警部門,而且很多車主都期盼能夠有便攜儀器方便地測量氣體酒精濃度,為安全駕駛提供保障,有效減少重大交通事故的發生。
本研究設計的酒精濃度測試儀是一款實用性強、安全可靠的氣體乙醇濃度檢測工具,采用高精度MQ-3乙醇氣體傳感器對空氣中的乙醇濃度進行檢測,利用宏晶公司高性能低成本單片機STC89C52對檢測信號進行A/D轉換和處理,最后通過液晶屏顯示輸出。本研究設計的酒精濃度測試儀還具有醉酒閾值設定功能,可以根據法律法規或用戶需要設定修改醉酒閾值,并進行保存。
二、     硬件設計
1、設計框圖
本研究設計的酒精濃度測試儀框圖如圖1所示。MQ-3乙醇氣體傳感器輸出信號經信號調理電路處理,輸出隨乙醇濃度變化的電壓信號,該電壓信號送入單片機系統,經AD轉換,與設定的醉酒閾值進行比較,并顯示或報警。
圖1 酒精濃度測試儀方框圖
2、乙醇信號檢測及調理電路
MQ-3乙醇氣體傳感器可以應用用于機動車駕駛人員及其他嚴禁酒后作業人員的現場檢測,也用于其他場所乙醇蒸汽的檢測。其技術特點為:
  • 對乙醇蒸汽有很高的靈敏度和良好的選擇性
  • 快速的響應恢復特性
  • 長期的壽命和可靠的穩定性
  • 簡單的驅動回路
主要技術指標:
MQ-3乙醇氣體傳感器靈敏度曲線如圖2所示,其傳感原理為氣敏電阻的輸出阻值隨乙醇氣體等濃度變化而變化。
圖2 MQ-3乙醇氣體傳感器靈敏度曲線
MQ-3乙醇氣體傳感器管腳與測試電路如圖3所示。
    (a) 管腳圖                   (b) 測試電路
圖3 MQ-3乙醇氣體傳感器管腳及測試電路
    MQ-3乙醇氣體傳感器及其調理電路原理如圖4所示。其外形如圖5所示。經過調理,檢測信號由電阻值轉變成電壓值,便于后續電路進行A/D轉換和處理。
圖4 傳感器及調理模塊原理圖
  該傳感器模塊具有如下特點,方便與單片機系統接口組成檢測儀器。
  •             具有信號輸出指示。
  •             雙路信號輸出(模擬量輸出及TTL電平輸出)
  •             TTL輸出有效信號為低電平。
(當輸出低電平時信號燈亮,可直接接單片機)               
  •             模擬量輸出0~5V電壓,濃度越高電壓越高。
3、單片機電路
本設計選用宏晶公司高性能單片機STC89C52,其管腳如圖6所示。
圖6  STC89C52單片機管腳圖
該芯片為52內核8位單片機,適用于常用檢測電路。由STC89C52組成的單片機系統原理圖如圖7所示。圖中AOUT為MQ-3傳感器模塊輸出的檢測電壓信號,送入ADC0832采集芯片端口進行處理,該信號可以根據乙醇氣體濃度直接輸出報警信號,報警閾值通過模塊上的電位器進行調節。
圖7 單片機系統原理圖
   圖7中,按鍵K2和K3為醉酒閾值調整鍵,其中K2為“增加”,K3為“減小”按鍵。L2和L3為報警指示燈,分別可以進行酒后和醉酒兩級報警。
4、顯示電路
顯示部分采用SMC 1602液晶屏進行數據顯示,其主要技術參數為:
表1  液晶屏技術指標
接口信號說明如表2所示。
表2  液晶屏接口信號說明
與單片機接口電路如圖8所示。其中J2的3腳為背光引腳,R9和R10電阻用于調節背光亮度。J2的4、5、6引腳分別接液晶的RS、E/W和E控制引腳,J2的7—14引腳為數據引腳。
圖8  LCD與單片機接口電路
5、供電及程序下載電路
本設計采用電池盒接口供電,電源電壓5V。同時,其電路原理如圖10所示。
圖10  供電及程序下載電路
三、     Protel硬件開發軟件
Protel是目前國內最流行的通用EDA軟件,它是將電路原理圖設計、PCB板圖設計、電路仿真和PLD設計等多個實用工具軟件組合后構成的EDA工作平臺,是第一個將EDA軟件設計成基于Windows的普及型產品。它集成了軟件界面、仿真功能和PLD設計和信號完整性分析,在此基礎上Protel 99SE又增加了一些新的功能,用戶使用更加方便靈活。Protel的功能十分強大,在電子電路設計領域占有極其重要的地位。它以其強大功能和實用性,逐漸獲得廣大硬件設計人員的青睞,是目前眾多EDA設計軟件中用戶最多的產品之一。
1.Protel軟件組成
Protel軟件主要由電路原理圖設計模塊、印制電路板設計模塊(PCB設計模塊)、電路信號仿真模塊和PLD邏輯器件設計模塊等組成,各模塊具有強大的功能,可以很好的實現電路設計與分析。
(1)  原理圖設計模塊(Schematic模塊)
電路原理圖是表示電氣產品或電路工作原理的重要技術文件,電路原理圖主要由代表各種電子器件的圖形符號、線路和結點組成。圖4.1所示為一張電路原理圖。該原理圖是由Schematic模塊設計完成的。Schematic模塊具有如下功能:豐富而靈活的編輯功能、在線庫編輯及完善的庫管理功能、強大的設計自動化功能、支持層次化設計功能等。
(2) 印制電路板設計模塊(PCB設計模塊)
印制電路板(PCB)制板圖是由電路原理圖到制作電路板的橋梁。設計了電路原理圖后,需要根據原理圖生設計成印制電路板的制板圖,然后在根據制板圖制作具體的電路板。印制電路板設計模塊具有如下主要功能和特點:可完成復雜印制電路板(PCB)的設計;方便而又靈活的編輯功能;強大的設計自動化功能;在線式庫編輯及完善的庫管理;完備的輸出系統等。
(3) 電路信號仿真模塊
電路信號仿真模塊是一個功能強大的數字/模擬混合信號電路仿真器,能提供連續的模擬信號和離散的數字信號仿真。它運行在Protel的EDA/Client集成環境下,與Protel Advanced Schematic原理圖輸入程序協同工作,作為Advanced Schematic的擴展,為用戶提供了一個完整的從設計到驗證仿真設計環境。
在Protel中進行仿真,只需從仿真用元器件庫中放置所需的元器件,連接好原理圖,加上激勵源,然后單擊防真按鈕即可自動開始。
2.PCB板設計
(1)  定元件的封裝
① 打開網絡表(可以利用一些編輯器輔助編輯),將所有封裝瀏覽一遍,確保所有元件的封裝都正確無誤并且元件庫中包含所有元件的封裝,網絡表中所有信息全部大寫,一面載入出問題,或PCB BOM不連續。
② 標準元件全部采用公司統一元件庫中的封裝。
③ ④⑥⑤元件庫中不存在的封裝,應自己建立元器件庫。
(2) 建立PCB板框
① 根據PCB結構圖,或相應的模板建立PCB文件,包括安裝孔、禁布區等相關信息。
② 尺寸標注。在鉆孔層中應標明PCB的精確結構,且不可以形成封閉尺寸標注。
(3) 載入網絡表
① 載入網表并排除所有載入問題,具體請看《PROTEL技術大全》。其他軟件載入問題有很多相似之處,可以借鑒。
② 如果使用PROTEL,網表須載入兩次以上(沒有任何提示信息)才可以確認載入無誤。
(4) 布局
① 首先要確定參考點。
一般參考點都設置在左邊和底邊的邊框線的交點(或延長線的交點)上或印制板的插件的第一個焊盤。
② 一但參考點確定以后,元件布局、布線均以此參考點為準。布局推薦使用25MIL網格。
③ 根據要求先將所有有定位要求的元件固定并鎖定。
④ 布局的基本原則
A. 遵循先難后易、先大后小的原則。
B. 布局可以參考硬件工程師提供的原理圖和大致的布局,根據信號流向規律放置主要原器件。
C. 總的連線盡可能的短,關鍵信號線最短。
D. 強信號、弱信號、高電壓信號和弱電壓信號要完全分開。
E. 高頻元件間隔要充分。
F. 模擬信號、數字信號分開。
⑤ 相同結構電路部分應盡可能采取對稱布局。
⑥ 按照均勻分布、重心平衡、版面美觀的標準來優化布局。
(5) PCB設計遵循的規則
① 地線回路規則:

圖11 地線回路規則

環路最小規則,即信號線與其回路構成的環面積要盡可能小,環面積要盡可能小,環面積越小,對外的輻射越少,接收外界的干擾也越小。針對這一規則,在地平面分割時,要考慮到地平面與重要信號走線的分布,防止由于地平面開槽等帶來的問題;在雙層板設計中,在為電源留下足夠空間的情況下,應該將留下的部分用參考地填充,且增加一些必要的過孔,將雙面信號有效連接起來,對一些關鍵信號盡量采用地線隔離,對一些頻率較高的設計,需特別考慮其地平面信號回路問題,建議采用多層板為宜。
② 竄擾控制
竄擾(CrossTalk)是指PCB上不同網絡之間因較長的平行布線引起的相互干擾,主要是由于平行線間的分布電容和分布電感的作用。克服竄擾的主要措施是:
A.加大平行布線的間距,遵循3W規則。
B.在平行線間插入接地的隔離線。
C.減少布線層與地平面的距離
屏蔽保護

圖12  屏蔽保護

對應地線回路規則,實際上也是為了盡量減小信號的回路面積,多用于一些比較重要的信號,如時鐘信號,同步信號;對一些特別重要,頻率特別高的信號,應該考慮采用銅軸電纜屏蔽結構設計,即將所布的線上下左右用地線隔離,而且還要考慮好如何有效的讓屏蔽地與實際地平面有效結合。
④ 走線方向控制規則
相鄰層的走線方向成正交結構,避免將不同的信號線在相鄰層走成同一方向,以減少不必要的層間竄擾;當由于板結構限制(如某些背板)難以避免出現該情況,特別是信號速率較高時,應考慮用地平面隔離各布線層,用地信號線隔離各信號線。
電源與地線層的完整性規則
對于導通孔密集的區域,要注意避免孔在電源和地層的挖空區域相互連接,形成對平面層的分割,從而破壞平面層的完整性,并進而導致信號線在地層 的回路面積增大。
四、     軟件編程1、軟件流程圖
本設計軟件主程序流程圖如圖13所示。
圖13 主程序流程圖
2、主程序
    下面介紹main.c主程序編寫,其他程序略。
  • 頭文件和一些宏定義

五、     下載與調試
當程序在uVision環境下編寫完成,并編譯生成.hex文件后,就可以下載并進行調試了。
1、 USB轉串口驅動安裝
打開USB驅動文件夾下的PL2303_Prolific_DriverInstaller_v130.exe安裝文件,按提示安裝USB轉串口驅動程序。安裝完成后,插入USB下載線后,在[開始]-[控制面板]-[打印機和其他硬件]-[設備管理器],在“端口”分支下有(Prolific USB-to-Serial Comm Port(COMX)。X表示串口號,如果沒有說明USB轉串口驅動沒有安裝,須重新安裝。記住括號里的COM口號。
圖14 成功安裝USB轉串口驅動示意圖
2、 下載程序
打開STC單片機下載軟件文件夾,點擊運行STC_ISP_V481.exe程序,出現如下界面。
圖15 下載軟件
正確選擇MCU 類型,COM口(與剛才安裝的COM號一致),最高波特率和最低波特率都選2400bps或者1200bps (下載線內PL2303芯片所限,沒辦法!),并打開正確的.hex數據文件。
點擊“Download/下載”按紐,窗口出現提示:
Chinese:正在嘗試與 MCU/單片機 握手連接 ...
Connection is failure. You can try:
1.Give your MCU Power On Reset.
2.Stop operation, then re-select COM Port.
3.Because PLCC-DIP/PQFP-DIP Socket trace too long.
4.Update the STC ISP.exe version.
5.If still error, your MCU Firmware is error
   or null.
Chinese:連接失敗,請嘗試以下操作:
1.在單片機停電狀態下,點下載按鈕,再給單片機上電
2.停止下載,重新選擇 RS-232 串口, 接好電纜
3.可能需要先將 P1.0/P1.1 短接到地
4.可能外部時鐘未接
5.因 PLCC、PQFP 轉換座引線過長而引起時鐘不振蕩,請
   調整參數
6.可能要升級電腦端的 STC ISP.exe 軟件
7.若仍然不成功,可能 MCU/單片機內無 ISP 系統引導碼,
   或需退回升級,或 MCU 已損壞
8.若使用 USB 轉 RS-232 串口線下載,可能會遇到不兼容
   的問題,可以讓我們幫助購買兼容的 USB 轉 RS-232
   串口線

仍在連接中, 請給 MCU 上電...

按下電路板上的電源按紐,保證其有個失電至上電的過程,則窗口顯示開始燒錄芯片。
芯片燒錄成功后,程序開始運行,酒精濃度測試儀正常工作。

單片機源碼:
  1. #include <reg52.h>             //調用單片機頭文件
  2. #define uchar unsigned char  //無符號字符型 宏定義    變量范圍0~255
  3. #define uint  unsigned int     //無符號整型 宏定義    變量范圍0~65535

  4. #include <intrins.h>
  5. //#include "lcd1602.h"

  6. sbit CS=P2^4;        //CS定義為P2口的第4位腳,連接ADC0832CS腳
  7. sbit SCL=P2^3;        //SCL定義為P2口的第3位腳,連接ADC0832SCL腳
  8. sbit DO=P2^2;        //DO定義為P2口的第4位腳,連接ADC0832DO腳

  9. sbit beep = P3^2;   //蜂鳴器IO口定義
  10. long dengji,s_dengji = 50;     //酒精等級


  11. bit flag_300ms ;
  12. uchar key_can;         //按鍵值的變量
  13. uchar menu_1;        //菜單設計的變量
  14. uchar flag_clock;
  15. #include "eeprom52.h"

  16. #include "lcd1602.h"



  17. /***********************1ms延時函數*****************************/
  18. void delay_1ms(uint q)
  19. {
  20.     uint i,j;
  21.     for(i=0;i<q;i++)
  22.         for(j=0;j<120;j++);
  23. }


  24. /******************把數據保存到單片機內部eeprom中******************/
  25. void write_eeprom()
  26. {
  27.     SectorErase(0x2000);
  28. //    byte_write(0x2000, s_dengji);
  29.     byte_write(0x2001, s_dengji);
  30.     byte_write(0x2060, a_a);   
  31. }

  32. /******************把數據從單片機內部eeprom中讀出來*****************/
  33. void read_eeprom()
  34. {
  35. //    s_dengji   = byte_read(0x2000);
  36.     s_dengji = byte_read(0x2001);
  37.     a_a      = byte_read(0x2060);
  38. }

  39. /**************開機自檢eeprom初始化*****************/
  40. void init_eeprom()
  41. {
  42.     read_eeprom();        //先讀
  43.     if(a_a != 2)        //新的單片機初始單片機內問eeprom
  44.     {
  45.         s_dengji = 80;
  46.         a_a = 2;
  47.         write_eeprom();
  48.     }   
  49. }

  50. /***********讀數模轉換數據********************************************************/   
  51. //請先了解ADC0832模數轉換的串行協議,再來讀本函數,主要是對應時序圖來理解,本函數是模擬0832的串行協議進行的
  52.                         //  1  0  0 通道
  53.                         //  1  1  1 通道
  54. unsigned char ad0832read(bit SGL,bit ODD)
  55. {
  56.     unsigned char i=0,value=0,value1=0;        
  57.         SCL=0;
  58.         DO=1;
  59.         CS=0;        //開始
  60.         SCL=1;        //第一個上升沿   
  61.         SCL=0;
  62.         DO=SGL;
  63.         SCL=1;      //第二個上升沿
  64.         SCL=0;
  65.         DO=ODD;
  66.         SCL=1;        //第三個上升沿
  67.         SCL=0;        //第三個下降沿
  68.         DO=1;
  69.         for(i=0;i<8;i++)
  70.         {
  71.             SCL=1;
  72.             SCL=0; //開始從第四個下降沿接收數據
  73.             value<<=1;
  74.             if(DO)
  75.                 value++;                        
  76.         }
  77.         for(i=0;i<8;i++)
  78.         {            //接收校驗數據
  79.             value1>>=1;
  80.             if(DO)
  81.                 value1+=0x80;
  82.             SCL=1;
  83.             SCL=0;
  84.         }
  85.         CS=1;
  86.         SCL=1;   
  87.         if(value==value1)                //與校驗數據比較,正確就返回數據,否則返回0   
  88.             return value;
  89.     return 0;
  90. }


  91. /*************定時器0初始化程序***************/
  92. void time_init()      
  93. {
  94.     EA   = 1;           //開總中斷
  95.     TMOD = 0X01;      //定時器0、定時器1工作方式1
  96.     ET0  = 1;          //開定時器0中斷
  97.     TR0  = 1;          //允許定時器0定時
  98. }

  99. /****************按鍵處理顯示函數***************/
  100. void key_with()
  101. {
  102.     if(key_can == 1)
  103.     {
  104.         s_dengji ++ ;            //酒精濃度設置數加1
  105.         if(s_dengji > 999)
  106.             s_dengji = 999;
  107.     }
  108.     if(key_can == 2)
  109.     {
  110.             s_dengji -= 1;    //酒精濃度設置數減1
  111.         if(s_dengji <= 1)
  112.             s_dengji = 1 ;
  113.     }
  114.     write_sfm2(2,9,s_dengji);           //顯示酒精等級
  115.     write_eeprom();       //保存數據                    
  116.             
  117. }  

  118. /********************獨立按鍵程序*****************/
  119. uchar key_can;     //按鍵值

  120. void key()     //獨立按鍵程序
  121. {
  122.     static uchar key_new;
  123.     key_can = 20;                   //按鍵值還原
  124.     P1 |= 0x0f;
  125.     if((P1 & 0x0f) != 0x0f)        //按鍵按下
  126.     {
  127.         delay_1ms(1);             //按鍵消抖動
  128.         if(((P1 & 0x0f) != 0x0f) && (key_new == 1))
  129.         {                        //確認是按鍵按下
  130.             key_new = 0;
  131.             switch(P1 & 0x0f)
  132.             {
  133.                 case 0x0b: key_can = 2; break;       //得到k3鍵值
  134.                 case 0x07: key_can = 1; break;       //得到k4鍵值
  135.             }        
  136.         }            
  137.     }
  138.     else
  139.         key_new = 1;   
  140. }

  141. /****************報警函數***************/
  142. void clock_h_l()
  143. {
  144.     static uchar value;
  145.     if(dengji >= s_dengji )        //報警
  146.     {
  147.         value ++;
  148.         if(value >= 2)
  149.         {
  150.             value = 10;
  151.             beep = ~beep;      //蜂鳴器報警
  152.         }
  153.     }else
  154.     {
  155.         if(dengji < s_dengji)      //取消報警
  156.         {
  157.             value = 0;
  158.             beep = 1;
  159.         }   
  160.     }
  161. }

  162. /***************主函數*****************/
  163. void main()
  164. {
  165.     beep = 0;                        //開機叫一聲   
  166.     delay_1ms(150);
  167.     P0 = P1 = P2 = P3 = 0xff;        //單片機IO口初始化為1   
  168.     init_eeprom();                  //讀eeprom數據
  169.     time_init();                //初始化定時器
  170.     init_1602();
  171.     while(1)
  172.     {
  173.         key();                    //獨立按鍵程序
  174.         if(key_can < 10)
  175.         {
  176.             key_with();            //按鍵按下要執行的程序
  177.         }
  178.         if(flag_300ms == 1)
  179.         {        
  180.             flag_300ms = 0;
  181.             clock_h_l();       //報警函數
  182.             dengji = ad0832read(1,0);   
  183.             dengji = dengji * 450 / 255.0;
  184.             dengji = dengji - 130;              //首先減去零點漂移,一般是1V
  185.             if(dengji < 0)
  186.                 dengji = 0;   
  187.             dengji = dengji * 2;             //將mV轉變成mg/L,系數需要校準   
  188.                                   //電壓每升高0.1V,實際被測氣體的濃度增加20ppm
  189.                                   //1ppm=1mg/kg=1mg/L=1×10-6 常用來表示氣體濃度,或者溶液濃度。      

  190.             write_sfm2(1,9,dengji);          //顯示酒精濃度
  191.         }
  192.     }
  193. }

  194. /*************定時器0中斷服務程序***************/
  195. void time0_int() interrupt 1
  196. {   
  197.     static uchar value;
  198.     TH0 = 0x3c;
  199.     TL0 = 0xb0;     // 50ms
  200.     value ++;     
  201.     if(value % 6 == 0)
  202.     {
  203.         flag_300ms = 1;       //300ms
  204.         value = 0;
  205.     }
  206. }

復制代碼

以上圖文的Word格式文檔下載(內容和本網頁上的一模一樣,方便保存):
酒精濃度測試儀.doc (954.52 KB, 下載次數: 316)
酒精濃度檢測 - 硬件電路.pdf (197.55 KB, 下載次數: 212)
缺少頭文件,無法編譯大家能修正一下嗎

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

使用道具 舉報

沙發
ID:418149 發表于 2018-10-30 20:22 | 只看該作者
好東西,學習了
回復

使用道具 舉報

板凳
ID:426557 發表于 2018-11-14 18:11 | 只看該作者
這是個好東西啊
值得學習
回復

使用道具 舉報

地板
ID:374595 發表于 2018-12-10 08:51 | 只看該作者
請問里面也有上面那些圖文嗎?
回復

使用道具 舉報

5#
ID:374595 發表于 2018-12-10 09:02 | 只看該作者
沒有整體的仿真圖嗎?
回復

使用道具 舉報

6#
ID:374595 發表于 2018-12-10 09:16 | 只看該作者
想求整體的仿真圖,這個給的是各個單個的模塊
回復

使用道具 舉報

7#
ID:458800 發表于 2018-12-31 11:49 | 只看該作者
代碼放去keiv 顯示錯誤
回復

使用道具 舉報

8#
ID:465321 發表于 2019-1-9 19:57 | 只看該作者
好厲害啊
回復

使用道具 舉報

9#
ID:483635 發表于 2019-3-7 21:37 來自手機 | 只看該作者
有沒有完整電路圖
回復

使用道具 舉報

10#
ID:500523 發表于 2019-3-31 12:51 | 只看該作者
#include "eeprom52.h"這個函數沒有寫報錯了
回復

使用道具 舉報

11#
ID:566228 發表于 2020-2-11 12:15 | 只看該作者
學習,值得好好研究一下,果然高手在人間阿
回復

使用道具 舉報

12#
ID:735923 發表于 2020-4-26 18:11 | 只看該作者
請問不用USB接口,怎么把程序刷進去
回復

使用道具 舉報

13#
ID:600952 發表于 2020-4-27 10:40 | 只看該作者
好厲害!程序不錯,單片機酒精濃度測試儀,好資料,萬用板電路焊的也很漂亮,學習到了,謝謝樓主分享!!!
不知道乙醇氣體傳感器什么原理
回復

使用道具 舉報

14#
ID:48541 發表于 2020-5-4 22:06 | 只看該作者
mark 一下
回復

使用道具 舉報

15#
ID:747867 發表于 2020-5-9 18:53 | 只看該作者
可以,好東西學習了!
回復

使用道具 舉報

16#
ID:635237 發表于 2020-5-18 10:43 來自手機 | 只看該作者
好東西
回復

使用道具 舉報

17#
ID:635237 發表于 2020-5-18 18:12 | 只看該作者

真的香
回復

使用道具 舉報

18#
ID:635237 發表于 2020-5-18 18:17 | 只看該作者
王達豬 發表于 2018-11-14 18:11
這是個好東西啊
值得學習

嗯  感覺蠻好的
回復

使用道具 舉報

19#
ID:764410 發表于 2020-5-31 13:15 | 只看該作者
值得學習,向知識致敬。
回復

使用道具 舉報

20#
ID:44347 發表于 2020-11-28 22:35 | 只看該作者
經典的  歷史的 , 也是我學習的!
回復

使用道具 舉報

21#
ID:782510 發表于 2020-12-8 23:34 | 只看該作者
頭文件找不到誒
回復

使用道具 舉報

22#
ID:501389 發表于 2021-2-3 21:52 來自手機 | 只看該作者
這個好啊,有沒有做好的兄弟
回復

使用道具 舉報

23#
ID:957243 發表于 2021-8-13 21:51 | 只看該作者
請問這個電壓轉換成濃度是怎么計算的,下載看了之后還是有些不明白。謝謝啦
回復

使用道具 舉報

24#
ID:964929 發表于 2021-9-8 17:31 | 只看該作者
想問一下怎么完成這樣一個東西需要什么材料啊
回復

使用道具 舉報

25#
ID:957243 發表于 2021-9-20 15:17 | 只看該作者
這里的定時器有什么用
回復

使用道具 舉報

26#
ID:1081303 發表于 2023-6-1 10:54 | 只看該作者

好東西值得學習,向知識致敬。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩精品一区二区三区在线播放 | 91精品国产综合久久久动漫日韩 | 97在线观看 | 国产精品呻吟久久av凹凸 | 91精品国产色综合久久不卡98口 | 欧美一区二区三区四区视频 | 精久久| 国产精品亚洲一区二区三区在线观看 | 中文字幕在线视频网站 | 亚洲免费在线观看视频 | 综合久久综合久久 | 午夜免费视频 | 日本成人中文字幕 | 99伊人| 一级片子 | 免费高清av | 在线观看亚| 国产精品福利视频 | 精品一区二区观看 | 九九久久精品 | 国产精品18hdxxxⅹ在线 | 国产成人免费网站 | 在线免费观看亚洲 | 欧美黄在线观看 | 日本欧美国产在线观看 | 天堂成人国产精品一区 | 午夜精品一区二区三区在线观看 | 国产精品成人一区 | 日韩成人免费视频 | 超碰日韩 | 日韩成人性视频 | 一区在线观看 | 国产精品久久久久久久久久久新郎 | 国产精品xxxx | 亚欧精品一区 | 欧美福利| 国产精品a久久久久 | 久久的色 | 免费骚视频 | 久久99精品久久 | 国产片淫级awww |