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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

SHT11溫濕度傳感器的proteus仿真與程序源碼

  [復制鏈接]
跳轉到指定樓層
樓主
ID:344131 發表于 2018-6-3 18:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我最近做項目,接觸到了sht11溫濕度傳感器,分享給大家

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



單片機源程序如下:
  1. /***********************************************************************************
  2. ;功能說明:DHT90與LCD1602的溫濕度顯示
  3. ;文件名稱:DHT90.c   

  4. ;微處理器:AT89S52
  5. ;編譯環境:Keil uVision V2.38a

  6. ;作    者:Huang Yanxiang
  7. ;版    權:(c)Huang Yanxiang
  8. ;創建日期:2008.08.15   
  9. ;版    本:V1.2  
  10. ;修改日期:2008.08.26
  11. ;修改說明:添加了一個LCD_disp_str()函數,修改了延時函數的注釋。(感謝ouravr的網友wyb4993的提醒)
  12. ;***********************************************************************************/

  13. /*************定義接口********************
  14.          P0------DB0~DB7  (LCD1602)     
  15.          P2.0------RS      (LCD1602)
  16.          P2.1------RW      (LCD1602)
  17.          P2.2------E       (LCD1602)
  18.                  P2.6------SCK     (DHT90)
  19.                  P2.7------DATA    (DHT90)
  20. *****************************************/

  21. #include <reg52.h>
  22. #include <intrins.h>
  23. #include <math.h>    //Keil library   
  24. #include <stdio.h>   //Keil library

  25. //*********************第一部分LCD1602設置 START****************************************
  26. #define LCD_DB        P0
  27.         sbit         LCD_RS=P2^0;   //P2^0是p2.0的意思;LCD_RS與P2.0等效起來,對LCD_RS 讀寫,就是對P2.0讀寫 好處在于LCD_RS含義直接明了,寫程序多了就會知道有必要de
  28.         sbit         LCD_RW=P2^1;   //P2^1是p2.1的意思
  29.         sbit         LCD_E=P2^2;    //P2^2是p2.2的意思

  30. /******定義函數****************/
  31. #define uchar unsigned char
  32. #define uint unsigned int
  33. void LCD_init(void);                          //初始化函數
  34. void LCD_write_command(uchar command);        //寫指令函數
  35. void LCD_write_data(uchar dat);               //寫數據函數
  36. void LCD_disp_char(uchar x,uchar y,uchar dat);//在某個屏幕位置上顯示一個字符,X(0-15),y(1-2)
  37. void LCD_disp_str(uchar x,uchar y,uchar *str); //LCD1602顯示字符串函數
  38. void delay_n10us(uint n);                     //延時函數


  39. /*--------------------------------------
  40. ;模塊名稱:LCD_init();
  41. ;功    能:初始化LCD1602
  42. ;占用資源:--
  43. ;參數說明:--
  44. ;創建日期:2008.08.15
  45. ;版    本:FV1.0(函數版本Function Version)
  46. ;修改日期:--
  47. ;修改說明:--
  48. ;-------------------------------------*/
  49. void LCD_init(void)
  50. {
  51. delay_n10us(10);
  52. LCD_write_command(0x38);//設置8位格式,2行,5x7
  53. delay_n10us(10);
  54. LCD_write_command(0x0c);//整體顯示,關光標,不閃爍
  55. delay_n10us(10);
  56. LCD_write_command(0x06);//設定輸入方式,增量不移位
  57. delay_n10us(10);
  58. LCD_write_command(0x01);//清除屏幕顯示
  59. delay_n10us(100);       //延時清屏,延時函數,延時約n個10us
  60. }


  61. /*--------------------------------------
  62. ;模塊名稱:LCD_write_command();
  63. ;功    能:LCD1602寫指令函數
  64. ;占用資源: P2.0--RS(LCD_RS),P2.1--RW(LCD_RW),P2.2--E(LCD_E).
  65. ;參數說明:dat為寫命令參數
  66. ;創建日期:2008.08.15
  67. ;版    本:FV1.0(函數版本Function Version)
  68. ;修改日期:--
  69. ;修改說明:--
  70. ;-------------------------------------*/
  71. void LCD_write_command(uchar dat)
  72. {
  73. delay_n10us(10);
  74. LCD_RS=0;         //指令
  75. LCD_RW=0;         //寫入
  76. LCD_E=1;          //允許
  77. LCD_DB=dat;
  78. delay_n10us(10);  //實踐證明,我的LCD1602上,用for循環1次就能完成普通寫指令。
  79. LCD_E=0;
  80. delay_n10us(10);  //實踐證明,我的LCD1602上,用for循環1次就能完成普通寫指令。
  81. }


  82. /*--------------------------------------
  83. ;模塊名稱:LCD_write_data();
  84. ;功    能:LCD1602寫數據函數
  85. ;占用資源: P2.0--RS(LCD_RS),P2.1--RW(LCD_RW),P2.2--E(LCD_E).
  86. ;參數說明:dat為寫數據參數
  87. ;創建日期:2008.08.15
  88. ;版    本:FV1.0(函數版本Function Version)
  89. ;修改日期:--
  90. ;修改說明:--
  91. ;-------------------------------------*/
  92. void LCD_write_data(uchar dat)
  93. {
  94. delay_n10us(10);
  95. LCD_RS=1;          //數據
  96. LCD_RW=0;          //寫入
  97. LCD_E=1;           //允許
  98. LCD_DB=dat;
  99. delay_n10us(10);
  100. LCD_E=0;
  101. delay_n10us(10);
  102. }


  103. /*--------------------------------------
  104. ;模塊名稱:LCD_disp_char();
  105. ;功    能:LCD1602顯示一個字符函數,在某個屏幕位置上顯示一個字符,X(0-15),y(1-2)。
  106. ;占用資源:--
  107. ;參數說明:X為1602的列值(取值范圍是0-15),y為1602的行值(取值范圍是1-2),dat為所要顯示字符對應的地址參數。
  108. ;創建日期:2008.08.15
  109. ;版    本:FV1.0(函數版本Function Version)
  110. ;修改日期:--
  111. ;修改說明:--
  112. ;-------------------------------------*/
  113. void LCD_disp_char(uchar x,uchar y,uchar dat)
  114. {
  115.   uchar address;
  116.   if(y==1)
  117.          address=0x80+x;
  118.   else
  119.          address=0xc0+x;
  120.   LCD_write_command(address);
  121.   LCD_write_data(dat);
  122. }



  123. /*--------------------------------------
  124. ;模塊名稱:LCD_disp_str();
  125. ;功    能:LCD1602顯示字符串函數,在某個屏幕起始位置{X(0-15),y(1-2)}上顯示一個字符串。
  126. ;占用資源:--
  127. ;參數說明:X為1602的列值(取值范圍是0-15),y為1602的行值(取值范圍是1-2),str為所要顯示字符串對應的指針參數。
  128. ;創建日期:2008.08.16
  129. ;版    本:FV1.0(函數版本Function Version)
  130. ;修改日期:--
  131. ;修改說明:--
  132. ;-------------------------------------*/
  133. void LCD_disp_str(uchar x,uchar y,uchar *str)
  134. {
  135.   uchar address;
  136.   if(y==1)
  137.          address=0x80+x;
  138.   else
  139.          address=0xc0+x;
  140.   LCD_write_command(address);
  141.   while(*str!='\0')
  142.   {
  143.     LCD_write_data(*str);   
  144.     str++;
  145.   }
  146. }


  147. /*--------------------------------------
  148. ;模塊名稱:delay_n10us();
  149. ;功    能:延時函數,延時約n個10us
  150. ;占用資源:--
  151. ;參數說明:--
  152. ;創建日期:2008.08.15
  153. ;版    本:FV1.1(函數版本Function Version)
  154. ;修改日期:2008.08.26
  155. ;修改說明:修改為較精確的延時函數,"_nop_()"延時1us@12M晶振
  156. ;-------------------------------------*/
  157. void delay_n10us(uint n)  //延時n個10us@12M晶振
  158. {      
  159.         uint i;           
  160.         for(i=n;i>0;i--)   
  161.         {
  162.         _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  163.                 }
  164. }                                    

  165. //*********************第一部分LCD1602設置 END****************************************


  166. //*********************第二部分DHT90設置   START****************************************
  167. sbit SCK  = P2^6;      //定義通訊時鐘端口
  168. sbit DATA = P2^7;      //定義通訊數據端口

  169. typedef union  
  170. { unsigned int i;      //定義了兩個共用體
  171.   float f;
  172. } value;

  173. enum {TEMP,HUMI};      //TEMP=0,HUMI=1


  174. #define noACK 0             //用于判斷是否結束通訊
  175. #define ACK   1             //結束數據傳輸
  176.                             //adr  command  r/w
  177. #define STATUS_REG_W 0x06   //000   0011    0
  178. #define STATUS_REG_R 0x07   //000   0011    1
  179. #define MEASURE_TEMP 0x03   //000   0001    1
  180. #define MEASURE_HUMI 0x05   //000   0010    1
  181. #define RESET        0x1e   //000   1111    0

  182. /****************定義函數****************/
  183. void s_transstart(void);               //啟動傳輸函數
  184. void s_connectionreset(void);          //連接復位函數
  185. char s_write_byte(unsigned char value);//DHT90寫函數
  186. char s_read_byte(unsigned char ack);   //DHT90讀函數
  187. char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode);//測量溫濕度函數
  188. void calc_dht90(float *p_humidity ,float *p_temperature);//溫濕度補償



  189. /*--------------------------------------
  190. ;模塊名稱:s_transstart();
  191. ;功    能:啟動傳輸函數
  192. ;占用資源:--
  193. ;參數說明:--
  194. ;創建日期:2008.08.15
  195. ;版    本:FV1.0(函數版本Function Version)
  196. ;修改日期:--
  197. ;修改說明:--
  198. ;-------------------------------------*/  
  199. void s_transstart(void)
  200. // generates a transmission start  
  201. //       _____         ________
  202. // DATA:      |_______|
  203. //           ___     ___
  204. // SCK : ___|   |___|   |______
  205. {   
  206.    DATA=1; SCK=0;                   //Initial state
  207.    _nop_();
  208.    SCK=1;
  209.    _nop_();
  210.    DATA=0;
  211.    _nop_();
  212.    SCK=0;   
  213.    _nop_();_nop_();_nop_();
  214.    SCK=1;
  215.    _nop_();
  216.    DATA=1;        
  217.    _nop_();
  218.    SCK=0;        
  219. }

  220. /*--------------------------------------
  221. ;模塊名稱:s_connectionreset();
  222. ;功    能:連接復位函數
  223. ;占用資源:--
  224. ;參數說明:--
  225. ;創建日期:2008.08.15
  226. ;版    本:FV1.0(函數版本Function Version)
  227. ;修改日期:--
  228. ;修改說明:--
  229. ;-------------------------------------*/
  230. void s_connectionreset(void)
  231. // communication reset: DATA-line=1 and at least 9 SCK cycles followed by transstart
  232. //       _____________________________________________________         ________
  233. // DATA:                                                      |_______|
  234. //          _    _    _    _    _    _    _    _    _        ___     ___
  235. // SCK : __| |__| |__| |__| |__| |__| |__| |__| |__| |______|   |___|   |______
  236. {   
  237.   unsigned char i;  
  238.   DATA=1; SCK=0;                    //Initial state
  239.   for(i=0;i<9;i++)                  //9 SCK cycles
  240.   {
  241.     SCK=1;
  242.     SCK=0;
  243.   }
  244.   s_transstart();                   //transmission start
  245. }


  246. /*--------------------------------------
  247. ;模塊名稱:s_write_byte();
  248. ;功    能:DHT90寫函數
  249. ;占用資源:--
  250. ;參數說明:--
  251. ;創建日期:2008.08.15
  252. ;版    本:FV1.0(函數版本Function Version)
  253. ;修改日期:--
  254. ;修改說明:--
  255. ;-------------------------------------*/
  256. char s_write_byte(unsigned char value)
  257. //----------------------------------------------------------------------------------
  258. // writes a byte on the Sensibus and checks the acknowledge  
  259. {  
  260.   unsigned char i,error=0;   
  261.   for (i=0x80;i>0;i/=2)             //shift bit for masking
  262.   {  
  263.     if (i & value) DATA=1;          //masking value with i , write to SENSI-BUS
  264.     else DATA=0;                        
  265.     SCK=1;                          //clk for SENSI-BUS
  266.     _nop_();_nop_();_nop_();        //pulswith approx. 3 us     
  267.     SCK=0;
  268.   }
  269.   DATA=1;                           //release DATA-line
  270.   SCK=1;                            //clk #9 for ack  
  271.   error=DATA;                       //check ack (DATA will be pulled down by DHT90),DATA在第9個上升沿將被DHT90自動下拉為低電平。
  272.   _nop_();_nop_();_nop_();
  273.   SCK=0;
  274.   DATA=1;                           //release DATA-line
  275.   return error;                     //error=1 in case of no acknowledge //返回:0成功,1失敗
  276. }


  277. /*--------------------------------------
  278. ;模塊名稱:s_read_byte();
  279. ;功    能:DHT11讀函數
  280. ;占用資源:--
  281. ;參數說明:--
  282. ;創建日期:2008.08.15
  283. ;版    本:FV1.0(函數版本Function Version)
  284. ;修改日期:--
  285. ;修改說明:--
  286. ;-------------------------------------*/
  287. char s_read_byte(unsigned char ack)  
  288. // reads a byte form the Sensibus and gives an acknowledge in case of "ack=1"  
  289. {  
  290.   unsigned char i,val=0;
  291.   DATA=1;                           //release DATA-line
  292.   for (i=0x80;i>0;i/=2)             //shift bit for masking
  293.   { SCK=1;                          //clk for SENSI-BUS
  294.     if (DATA) val=(val | i);        //read bit   
  295.         _nop_();_nop_();_nop_();        //pulswith approx. 3 us
  296.     SCK=0;              
  297.   }
  298.   if(ack==1)DATA=0;                 //in case of "ack==1" pull down DATA-Line
  299.   else DATA=1;                      //如果是校驗(ack==0),讀取完后結束通訊
  300.   _nop_();_nop_();_nop_();          //pulswith approx. 3 us
  301.   SCK=1;                            //clk #9 for ack
  302.   _nop_();_nop_();_nop_();          //pulswith approx. 3 us  
  303.   SCK=0;                 
  304.   _nop_();_nop_();_nop_();          //pulswith approx. 3 us
  305.   DATA=1;                           //release DATA-line
  306.   return val;
  307. }




  308. /*--------------------------------------
  309. ;模塊名稱:s_measure();
  310. ;功    能:測量溫濕度函數
  311. ;占用資源:--
  312. ;參數說明:--
  313. ;創建日期:2008.08.15
  314. ;版    本:FV1.0(函數版本Function Version)
  315. ;修改日期:--
  316. ;修改說明:--
  317. ;-------------------------------------*/
  318. char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)
  319. // makes a measurement (humidity/temperature) with checksum
  320. {  
  321.   unsigned error=0;
  322.   unsigned int i;

  323.   s_transstart();                   //transmission start
  324.   switch(mode){                     //send command to sensor
  325.     case TEMP  : error+=s_write_byte(MEASURE_TEMP); break;
  326.     case HUMI  : error+=s_write_byte(MEASURE_HUMI); break;
  327.     default     : break;   
  328.   }
  329.   for (i=0;i<65535;i++) if(DATA==0) break; //wait until sensor has finished the measurement
  330.   if(DATA) error+=1;                // or timeout (~2 sec.) is reached
  331.   *(p_value)  =s_read_byte(ACK);    //read the first byte (MSB)
  332.   *(p_value+1)=s_read_byte(ACK);    //read the second byte (LSB)
  333.   *p_checksum =s_read_byte(noACK);  //read checksum
  334.   return error;
  335. }


  336. /*--------------------------------------
  337. ;模塊名稱:calc_dht90();
  338. ;功    能:溫濕度補償函數
  339. ;占用資源:--
  340. ;參數說明:--
  341. ;創建日期:2008.08.15
  342. ;版    本:FV1.0(函數版本Function Version)
  343. ;修改日期:--
  344. ;修改說明:--
  345. ;-------------------------------------*/
  346. void calc_dht90(float *p_humidity ,float *p_temperature)
  347. // calculates temperature [C] and humidity [%RH]
  348. // input :  humi [Ticks] (12 bit)
  349. //          temp [Ticks] (14 bit)
  350. // output:  humi [%RH]
  351. //          temp [C]
  352. { const float C1=-4.0;              // for 12 Bit
  353.   const float C2=+0.0405;           // for 12 Bit
  354.   const float C3=-0.0000028;        // for 12 Bit
  355.   const float T1=+0.01;             // for 14 Bit @ 5V
  356.   const float T2=+0.00008;           // for 14 Bit @ 5V

  357.   float rh=*p_humidity;             // rh:      Humidity [Ticks] 12 Bit
  358.   float t=*p_temperature;           // t:       Temperature [Ticks] 14 Bit
  359.   float rh_lin;                     // rh_lin:  Humidity linear
  360.   float rh_true;                    // rh_true: Temperature compensated humidity
  361.   float t_C;                        // t_C   :  Temperature [C]

  362.   t_C=t*0.01 - 40;                  //calc. temperature from ticks to [C]
  363.   rh_lin=C3*rh*rh + C2*rh + C1;     //calc. humidity from ticks to [%RH]
  364.   rh_true=(t_C-25)*(T1+T2*rh)+rh_lin-3;   //calc. temperature compensated humidity [%RH]
  365.   if(rh_true>100)rh_true=100;       //cut if the value is outside of
  366.   if(rh_true<0.1)rh_true=0.1;       //the physical possible range

  367.   *p_temperature=t_C;               //return temperature [C]
  368.   *p_humidity=rh_true;              //return humidity[%RH]
  369. }




  370. //*********************第二部分DHT90設置   END****************************************

  371. //*********主函數*****************
  372. void main(void)
  373. {
  374.                 value humi_val,temp_val;
  375.         unsigned char error,checksum;
  376.         unsigned int wendu,shidu;
  377.         LCD_init();        
  378.         s_connectionreset();
  379.         LCD_disp_str(0,1,"TE");
  380.                 LCD_disp_str(0,2,"RH");


  381. //*********初始化溫度顯示區*********
  382.         LCD_disp_str(2,1,"TTT.TC");

  383. //*********初始化濕度顯示區*********
  384.         LCD_disp_str(2,2,"RRR.R%");

  385.         delay_n10us(20000);     //延時0.2s

  386.         while(1)
  387.         { error=0;
  388.           error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI);  //measure humidity
  389.           error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP);  //measure temperature
  390.           if(error!=0) s_connectionreset();                 //in case of an error: connection reset
  391.           else
  392.           { humi_val.f=(float)humi_val.i;                   //converts integer to float
  393.             temp_val.f=(float)temp_val.i;                   //converts integer to float
  394.             calc_dht90(&humi_val.f,&temp_val.f);            //calculate humidity, temperature
  395.                         wendu=10*temp_val.f;
  396.                         LCD_disp_char(2,1,wendu/1000+'0');              //顯示溫度百位
  397.             LCD_disp_char(3,1,(wendu%1000)/100+'0');        //顯示溫度十位
  398.             LCD_disp_char(4,1,(wendu%100)/10+'0');          //顯示溫度個位
  399.                         LCD_disp_char(6,1,(wendu%10)+'0');              //顯示溫度小數點后第一位

  400.                         shidu=10*humi_val.f;
  401.                         LCD_disp_char(2,2,shidu/1000+'0');               //顯示濕度百位
  402.             LCD_disp_char(3,2,(shidu%1000)/100+'0');         //顯示濕度十位
  403.             LCD_disp_char(4,2,(shidu%100)/10+'0');           //顯示濕度個位
  404.                         LCD_disp_char(6,2,(shidu%10)+'0');               //顯示濕度小數點后第一位
  405.           }
  406.           //----------wait approx. 0.8s to avoid heating up SHTxx------------------------------      
  407.                   delay_n10us(80000);                                //延時約0.8s
  408.         }
  409. }
復制代碼

所有資料51hei提供下載:
sth11.zip (79.36 KB, 下載次數: 808)




評分

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

查看全部評分

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

使用道具 舉報

來自 2#
ID:562801 發表于 2019-6-17 21:32 | 只看該作者
為什么我下載了打不開dsn文件啊?
回復

使用道具 舉報

來自 3#
ID:328014 發表于 2019-6-17 21:35 | 只看該作者
llh0303 發表于 2019-6-17 21:32
為什么我下載了打不開dsn文件啊?

因為你Proteus版本太高了,這個dns只能用7.8以下的版本,我剛用Proteus7.5成功打開了
回復

使用道具 舉報

地板
ID:332241 發表于 2018-6-13 09:40 | 只看該作者
具體實現什么功能?麻煩說一下
謝謝
回復

使用道具 舉報

5#
ID:354942 發表于 2018-6-20 10:34 | 只看該作者
具體能實現什么功能呢?????
回復

使用道具 舉報

6#
ID:239427 發表于 2018-9-30 21:05 | 只看該作者
謝謝,試試
回復

使用道具 舉報

7#
ID:435643 發表于 2018-12-4 23:26 | 只看該作者
非常好的SHT11仿真!
回復

使用道具 舉報

8#
ID:120108 發表于 2019-1-9 10:24 | 只看該作者
謝謝 有用的資料
回復

使用道具 舉報

9#
ID:351608 發表于 2019-4-8 06:58 來自手機 | 只看該作者
謝謝樓主
回復

使用道具 舉報

10#
ID:191910 發表于 2019-4-17 17:12 | 只看該作者
下來學習一下,這精度不大高啊
回復

使用道具 舉報

11#
ID:503018 發表于 2019-5-11 15:55 | 只看該作者
具體實現什么功能?麻煩說一下 謝謝
回復

使用道具 舉報

12#
ID:553060 發表于 2019-6-2 16:18 | 只看該作者
JohnnyYue 發表于 2018-6-13 09:40
具體實現什么功能?麻煩說一下
謝謝

應該是用來模擬檢測溫濕度并用LCD顯示出來
回復

使用道具 舉報

13#
ID:553060 發表于 2019-6-2 16:19 | 只看該作者
ycl 發表于 2018-6-20 10:34
具體能實現什么功能呢?????

應該是用來模擬傳感器檢測環境的溫濕度并用LCD顯示讀數
回復

使用道具 舉報

14#
ID:553060 發表于 2019-6-2 16:40 | 只看該作者
很有用
回復

使用道具 舉報

15#
ID:530333 發表于 2019-6-3 08:44 來自手機 | 只看該作者
液晶屏
回復

使用道具 舉報

16#
ID:366617 發表于 2019-6-3 13:42 | 只看該作者
不錯不錯,參考一下
回復

使用道具 舉報

17#
ID:579428 發表于 2019-7-7 16:14 | 只看該作者
這個是DHT90的程序,圖中的是SHT10,標題是SHT11.我有點不明白,可以麻煩大佬們解釋一下么
回復

使用道具 舉報

18#
ID:663131 發表于 2019-12-13 14:40 來自手機 | 只看該作者
怎么加一個電機去檢測溫濕度
回復

使用道具 舉報

19#
ID:714117 發表于 2020-3-23 15:52 | 只看該作者
謝謝分享,先看看
回復

使用道具 舉報

20#
ID:239620 發表于 2020-5-26 16:03 | 只看該作者
謝謝分享,下載下來學習一下
回復

使用道具 舉報

21#
ID:116607 發表于 2020-6-11 09:16 | 只看該作者
剛好要用到,謝謝分享啊
回復

使用道具 舉報

22#
ID:790170 發表于 2020-6-27 21:44 | 只看該作者
謝謝分享,好好學習一下
回復

使用道具 舉報

23#
ID:615183 發表于 2020-6-29 11:43 | 只看該作者
謝謝樓主提供的資料,非常有用!幫助了我的學習!
回復

使用道具 舉報

24#
ID:935717 發表于 2021-6-9 21:56 | 只看該作者
為什么電路都是一樣的就是仿真不了
回復

使用道具 舉報

25#
ID:849985 發表于 2021-6-19 09:13 | 只看該作者
這個可以控制溫度嗎
回復

使用道具 舉報

26#
ID:1015563 發表于 2022-4-4 12:49 | 只看該作者
有沒有程序的流程圖
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区日韩 | 国产欧美精品 | 视频一区 国产精品 | 男人的天堂久久 | 精品亚洲一区二区三区四区五区 | 播放一级毛片 | 国产欧美日韩二区 | 欧美日韩专区 | 91色在线 | 国产日韩欧美一区 | 午夜影院在线观看 | 久久久久久亚洲国产精品 | 欧美精品久久久 | www.婷婷| 久久大香 | 久久久久久久久久久91 | 91视频精选 | 一级看片免费视频囗交动图 | 国产精品我不卡 | 人成久久 | 久久亚洲国产精品日日av夜夜 | 日韩毛片 | 区一区二在线观看 | www.887色视频免费 | 久久久久久久久久久久久久久久久久久久 | 国产乱码久久久久久 | 国产三级在线观看播放 | 美女黄视频网站 | 日日操天天射 | 国产精品黄色 | 国产亚洲一区二区三区 | 男女网站在线观看 | 久久亚洲一区二区 | 中文字幕观看 | 一区在线视频 | 成人在线免费 | 亚洲国产一区二区三区四区 | 国产一区影院 | 久国产 | 9久久婷婷国产综合精品性色 | 久久久久国产一区二区三区 |