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

標題: LM35+ADC0809使用51單片機制作溫度顯示(問題解決) [打印本頁]

作者: hslcac    時間: 2021-9-13 19:09
標題: LM35+ADC0809使用51單片機制作溫度顯示(問題解決)
本帖最后由 hslcac 于 2021-9-16 21:20 編輯

學習調試過程中,單獨顯示輸入沒問題,關鍵的ADC0809的數據不顯示,請幫忙看一下哪里除了問題,謝謝。問題已經解決,謝謝各位老師指點,謝謝,后面附完成后的程序
  1. //以下為程序
  2. //#include <STC89C5xRC.H>
  3. #include <reg52.h>
  4. #include"LM35LCD1602.h"

  5. //ADC0809相關引腳定義
  6. //===========================
  7. #define ADC_DATA P1
  8. sbit ADC_EOC = P3^3;              
  9. sbit ADC_CLK = P3^4;               
  10. sbit ADC_START = P3^6;            
  11. sbit ADC_OE = P3^7;  

  12. //===========================
  13. //警報:LED與蜂鳴器引腳
  14. //===========================
  15. //sbit BEEP = P3^5; //高電平響
  16. //===========================
  17. //粗略延時函數  AT89C51 & 12MHz
  18. //===========================
  19. void delayms(unsigned int ms)
  20. {                    
  21.          unsigned char a,b,c;
  22.          while(ms--)
  23.          {
  24.             for(c=1;c>0;c--)
  25.                for(b=142;b>0;b--)
  26.                   for(a=2;a>0;a--);
  27.          }
  28. }

  29. //===========================
  30. //定時器初始化,配置ADC0809時鐘
  31. //===========================
  32. void timer_init(void)
  33. {
  34.          //配置定時器0
  35.         ET0 = 1;
  36.         TMOD &= 0xF0;
  37.         TMOD |= 0x02;                //定時器0,模式2,自動重裝定時器
  38.         TH0 = 200;                        //自動重裝值
  39.         TL0 = 200;
  40.         TR0 = 1;                        //配置定時器1
  41.         ET1 = 1;
  42.         TMOD &= 0x0F;                //清除定時器1配置,不改動定時器0的配置
  43.         TMOD |= 0x10;                        //定時器1模式一,不改動定時器0的模式
  44.         TH1 = (65536 - 2000)/256;
  45.         TL1 = (65536 - 2000)%256;
  46.         TR1 = 1;
  47.         EA = 1;
  48. }
  49. //===========================
  50. //定時器0中斷,為ADC0809提供時鐘信號
  51. //===========================

  52. void timer0() interrupt 1
  53. {
  54.          ADC_CLK = ~ADC_CLK;
  55. }

  56. //============================
  57. //ADC0809 轉換函數
  58. //============================

  59. uchar ADC0809_GET(void)
  60. {
  61.          ADC_START = 0;
  62.          ADC_OE = 0;
  63.          ADC_START = 1;
  64.          ADC_START = 0;
  65.          while(ADC_EOC == 0);
  66.          ADC_OE = 1;
  67.          return ADC_DATA;
  68. }

  69. uchar t1_flag = 0;                //用于標記顯示第幾位數碼管
  70. uchar seg0 = 0;                //第0位數碼管的值        
  71. uchar seg1 = 1;                //第1位數碼管的值        
  72. uchar seg2 = 2;                //第2位數碼管的值        
  73. uchar seg3 = 3;                //第3位數碼管的值        

  74. //============================
  75. //顯示電壓值,輸入0~255,顯示0.000~5.000
  76. //============================
  77. uint print_volt(uchar num)
  78. {
  79.          uint volt = 0;
  80.          volt = num/255.0 * 5000 + 0.5;        //除255.0和除255有很大區別,除255.0會自動轉換為float型,小數才能保持,而volt/255=0,+0.5四舍五入。
  81.          seg0 = volt/1000%10;
  82.          seg1 = volt/100%10;
  83.          seg2 = volt/10%10;
  84.          seg3 = volt%10;
  85.          return volt;
  86. }

  87. //============================
  88. //主函數
  89. //============================
  90. void main(void)
  91. {
  92.             uchar adc_num = 0;                //ADC采集到的值
  93.         uint volt = 0;                                        //電壓值 0~5000,代表(0~5)V
  94.          lcd_init();
  95.                 lcd_wcom(0x80+0x0f);
  96.                 lcd_wdat(0xc3);//*"1",0*/
  97.                 lcd_wcom(0x80+0x0d);
  98.                 lcd_wdat(0xdf);//*"1",0*/
  99.                 lcd_wcom(0x80+0x0e);
  100.                 lcd_wdat(0x43);//*"1",0*/
  101.         timer_init();                                        //定時器0、定時器1初始化。

  102.          while(1)
  103.          {
  104.                  adc_num = ADC0809_GET();
  105.                  volt = print_volt(adc_num);                        //在數碼管上顯示電壓值,并返回一個0~5000的值,用于判斷是否要報警。
  106.             lcd_wcom(0x80+0x09);lcd_wdat(volt);
  107.                         lcd_wcom(0x80+0x0A);lcd_wdat(seg1);
  108.                         lcd_wcom(0x80+0x4A);lcd_wdat(seg2);
  109.                         lcd_wcom(0x80+0x4B);lcd_wdat(seg3);

  110.                  delayms(100);
  111.          }
  112. }

  113. //LCD1602顯示程序


  114. /*------------------------------------*/
  115. #ifndef __LCD1602_H__
  116. #define __LCD1602_H__

  117. //#include"delay.h"
  118. #define uint unsigned int                //預定義
  119. #define uchar unsigned char

  120. sbit rs=P2^5;        //1602的數據/指令選擇控制線?
  121. sbit rw=P2^6;         //1602的讀寫控制線?
  122. sbit en=P2^7;        //1602的使能控制線?
  123. /*P0口接1602的D0~D7*/

  124. //uchar h1,h2,h3,h4;//LCD顯示變量
  125. //uchar table[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};                 //要顯示的內容放入數組table
  126. //uchar table1[43]="0123456789abcdefABCDEFGHIJKLMNOPQRSTUVWXYZ";
  127. //uchar table2[]={0x15,0x0A,0x15,0x0A,0x15,0x0A,0x15,0x0A};
  128. //uchar table3[]=".VAWa";
  129. //uchar table3[]="8888888888";
  130. //uchar code table[]="I LIKE MCU!";
  131. void delayZ(uint n)                 //延時函數
  132. {        
  133.         uint x,y;        
  134.         for(x=n;x>0;x--)        
  135.                 for(y=110;y>0;y--);        
  136. }
  137. //void tablex(uint tab1);        

  138.         
  139. void lcd_wcom(uchar com)        //1602寫命令函數
  140. {        
  141.         rs=0;        //選擇指令寄存器?
  142.         rw=0;        //選擇寫?
  143.         P0=com;        //把命令字送入P0?
  144.         delayZ(5);        //延時一小會兒,讓1602準備接收數據?
  145.         en=1;         //使能線電平變化,命令送入1602的8位數據口?
  146.         en=0;//        
  147. }        
  148. void lcd_wdat(uchar dat)        //1602寫數據函數
  149. {        
  150.         rs=1;        //選擇數據寄存器?
  151.         rw=0;        //選擇寫
  152.         P0=dat;        //把要顯示的數據送入P2
  153.         delayZ(5);        //延時一小會兒,讓1602準備接收數據
  154.         en=1;        //使能線電平變化,數據送入1602的8位數據口
  155.         en=0;        
  156. }        
  157. void lcd_init()                //1602初始化函數
  158. {        
  159.         lcd_wcom(0x38);                //8位數據,雙列,5*7字形
  160.         lcd_wcom(0x0c);         //開啟顯示屏,關光標,光標不閃爍?
  161.         lcd_wcom(0x06);                //顯示地址遞增,即寫一個數據后,顯示位置右移一位
  162.         lcd_wcom(0x01);         //清屏?
  163. }
  164. /************
  165. void tablex(uint tab1)//數據分解
  166. {
  167.         uchar num;
  168.         h1=tab1/1000;//1023//1
  169.         h2=tab1%1000/100;//023//0
  170.         h3=tab1%100/10;//23//2
  171.         h4=tab1%10;//3
  172. }

  173. for(num=0;num<11;num++)
  174.                                 {
  175.                                         write_date(table[num]);           //a//寫數據write_date(0x31); write_date('1');
  176.                                         delay(200);
  177.                         //                write_date('B');
  178.                                 }
  179. ****************/


  180. /*------------------------------------*/
  181. /*--------------------------------------------------------------*/
  182. #endif

  183.         

復制代碼

lALPDh0cQirwNNLNAdvNAog_648_475.png (37.75 KB, 下載次數: 158)

有需要制版的我發給你

有需要制版的我發給你

lADPDhmOw4Yj78zNA8DNBQA_1280_960.jpg (45.58 KB, 下載次數: 153)

打樣后制作顯示ADC沒有數據

打樣后制作顯示ADC沒有數據

LM35溫度測試程序.rar

42.9 KB, 下載次數: 30

程序與電路圖


作者: hslcac    時間: 2021-9-13 19:16
本帖最后由 hslcac 于 2021-9-13 19:58 編輯

有需要圖紙打樣的告訴我發給你,現在經過調試顯示亂碼,郁悶,請幫我看看,謝謝

lADPDgQ9y6mz5p3NA8DNBQA_1280_960.jpg (70.78 KB, 下載次數: 163)

lADPDgQ9y6mz5p3NA8DNBQA_1280_960.jpg

lALPDgfLSk5e1CfNAfzNAg8_527_508.png (35.49 KB, 下載次數: 171)

lALPDgfLSk5e1CfNAfzNAg8_527_508.png

作者: munuc_w    時間: 2021-9-14 08:28
顯示不顯示和0809無關,問題可能出現在數據處理上,仔細檢查0809后的數據處理過程。
作者: hslcac    時間: 2021-9-14 09:36
munuc_w 發表于 2021-9-14 08:28
顯示不顯示和0809無關,問題可能出現在數據處理上,仔細檢查0809后的數據處理過程。

出現亂碼是不是0809數據錯誤啊
作者: lkc8210    時間: 2021-9-14 11:20
經過半天排查
發現是你初始化了定時器1但又沒有相應的中斷函數
結果在定時器1第一次溢出后單片機就當機了
應加上
void timer1() interrupt 3
{
}

另外,LCD1602要顯示字符,lcd_wdat();的形參要以ASCII值輸入
lcd_wdat(volt);//自己想一下怎樣改
lcd_wdat(seg1);>>>>>>>>>>>>lcd_wdat('0'+seg1);
lcd_wdat(seg2);>>>>>>>>>>>>lcd_wdat('0'+seg2);
lcd_wdat(seg3);>>>>>>>>>>>>lcd_wdat('0'+seg3);

作者: yzwzfyz    時間: 2021-9-14 15:04
1、顯示程序:應能顯示某個變量于LED上,如A3。
2、采樣程序:應能將采樣的數值,轉換成溫度,再放入A3中。
做到以上兩點不就OK了嗎?有什么難度呢?

作者: hslcac    時間: 2021-9-15 09:13
lkc8210 發表于 2021-9-14 11:20
經過半天排查
發現是你初始化了定時器1但又沒有相應的中斷函數
結果在定時器1第一次溢出后單片機就當機了 ...

非常感謝,開始測試使用的中斷刷新顯示,調試后放在主函數內做顯示,我再改一下試試。
作者: hslcac    時間: 2021-9-15 09:14
yzwzfyz 發表于 2021-9-14 15:04
1、顯示程序:應能顯示某個變量于LED上,如A3。
2、采樣程序:應能將采樣的數值,轉換成溫度,再放入A3中 ...

謝謝指導,我按您的辦法試試。
作者: hslcac    時間: 2021-9-15 19:56
  1. //主程序
  2. //#include <STC89C5xRC.H>
  3. #include <reg52.h>
  4. #include"LM35LCD1602.h"

  5. #define ADC_DATA P1
  6. uchar Temp;
  7. uchar ggao[]="0123456789";
  8. uchar volt_data[]="volt:000.00v";

  9. uchar t1_flag = 0;                //用于標記顯示第幾位數碼管
  10. uchar seg0 = 0;                //第0位數碼管的值        
  11. uchar seg1 = 1;                //第1位數碼管的值        
  12. uchar seg2 = 2;                //第2位數碼管的值        
  13. uchar seg3 = 3;                //第3位數碼管的值        
  14.                                                   //處理后的數據
  15. sbit  ADC_EOC = P3^3;              
  16. sbit  ADC_CLK = P3^4;               
  17. sbit  ADC_START = P3^6;            
  18. sbit  ADC_OE  = P3^7;  

  19. //*********************************************************************************
  20. //函數名:Delay
  21. //函數功能:軟件延時函數
  22. //形式參數:uint i
  23. //*********************************************************************************
  24. void delayms(unsigned int ms)
  25. {                    
  26.          unsigned char a,b,c;
  27.          while(ms--)
  28.          {
  29.             for(c=1;c>0;c--)
  30.                for(b=142;b>0;b--)
  31.                   for(a=2;a>0;a--);
  32.          }
  33. }
  34. //===========================
  35. //定時器初始化,配置ADC0809時鐘
  36. //===========================
  37. void timer_init(void)
  38. {
  39.          //配置定時器0
  40.         ET0 = 1;
  41.         TMOD &= 0xF0;
  42.         TMOD |= 0x02;                //定時器0,模式2,自動重裝定時器
  43.         TH0 = 200;                        //自動重裝值
  44.         TL0 = 200;
  45.         TR0 = 1;                        //配置定時器1
  46.         ET1 = 1;
  47.         TMOD &= 0x0F;                //清除定時器1配置,不改動定時器0的配置
  48.         TMOD |= 0x10;                        //定時器1模式一,不改動定時器0的模式
  49.         TH1 = (65536 - 2000)/256;
  50.         TL1 = (65536 - 2000)%256;
  51.         TR1 = 1;
  52.         EA = 1;
  53. }
  54. //============================
  55. //ADC0809 轉換函數
  56. //============================

  57. uchar ADC0809_GET(void)
  58. {
  59.          ADC_START = 0;
  60.          ADC_OE = 0;
  61.          ADC_START = 1;
  62.          ADC_START = 0;
  63.          while(ADC_EOC == 0);
  64.          ADC_OE = 1;
  65.          return ADC_DATA;
  66. }
  67. /********************

  68. **********************/
  69. void timer0() interrupt 1
  70. {
  71.          ADC_CLK = ~ADC_CLK;
  72. }

  73. /********************************************  
  74. void timer1() interrupt 3
  75. {
  76.         TH1 = (65536 - 2000)/256;
  77.         TL1 = (65536 - 2000)%256;  
  78.      
  79.         if(t1_flag == 0)
  80.                 {
  81.                         lcd_wcom(0x80+0x01);lcd_wdat(ggao[seg0]);               ////選通第0位
  82.         }
  83.                 else if(t1_flag == 1)
  84.                 {
  85.                         lcd_wcom(0x80+0x02);lcd_wdat(volt_data[seg1]);
  86.          }
  87.          else if(t1_flag == 2)
  88.          {
  89.                         lcd_wcom(0x80+0x03);lcd_wdat(ggao[seg2]);
  90.          }
  91.          else if(t1_flag == 3)
  92.          {
  93.                         lcd_wcom(0x80+0x04);lcd_wdat(ggao[seg3]);               //選通第3位數碼管
  94.         }

  95.          t1_flag++;                                //自加1
  96.          t1_flag =  t1_flag%4;                //讓t1_flag 在0和3之間循環
  97. }
  98. *********************************************************/
  99. //============================
  100. //顯示電壓值,輸入0~255,顯示0.000~5.000
  101. //============================
  102. uint Display_volt()
  103. {
  104.         uchar num,Temp;// = 0;                //ADC采集到的值
  105.         Temp= ADC0809_GET;
  106.         num=(Temp*1.0/255*5)*100; //數據處理:輸出值=輸入值*5/255  參數5是基準電壓5V
  107.         volt_data[10]=num%10+48;                  //取處理后的數據個位,對應顯示溫度值的小數2位
  108.         volt_data[9]=num/10%10+48;         //取處理后的數據十位,對應顯示溫度值的小數1位
  109.         volt_data[7]=num/100%10+48;        //取處理后的數據百位,對應顯示溫度值的個位
  110.         volt_data[6]=num/1000;          //取處理后的數據千位,對應顯示溫度值的十位
  111.         wsrt(0xc0,volt_data);
  112.         return num;

  113. }
  114. /*************
  115. uint print_volt(uchar num)
  116. {
  117.                 uchar volt = 0;
  118.                 volt = num/255.0 * 5000 + 0.5;        //除255.0和除255有很大區別,除255.0會自動轉換為float型,小數才能保持,而volt/255=0,+0.5四舍五入。
  119.          seg0 = volt/1000%10;
  120.          seg1 = volt/100%10;
  121.          seg2 = volt/10%10;
  122.          seg3 = volt%10;
  123.          return volt;
  124. }
  125. *****************/
  126. //============================
  127. //主函數
  128. //============================
  129. void main()
  130. {
  131.         uint volt = 0;                                        //電壓值 0~5000,代表(0~5)V
  132.          lcd_init();
  133.                  wsrt(0x80,ggao);
  134.                 lcd_wcom(0x80+0x0f);lcd_wdat(0xc3);//*"1",0*/
  135.                 lcd_wcom(0x80+0x0d);
  136.                 lcd_wdat(0xdf);//*"1",0*/
  137.                 lcd_wcom(0x80+0x0e);
  138.                 lcd_wdat(0x43);//*"1",0*/
  139.         timer_init();                                        //定時器0、定時器1初始化。

  140. /**********************
  141.         uchar adc_num = 0;                //ADC采集到的值
  142.     uint volt = 0;
  143.         timer_init();
  144.         lcd_init();
  145.         lcd_wcom(0x38);
  146.         lcd_wcom(0x0c);
  147.         lcd_wcom(0x06);
  148. **************************/
  149. while(1)
  150.         {
  151.                                  

  152.                 Display_volt();
  153.             delayms(5);
  154.         }
  155. }


  156. //LCD程序


  157. /*------------------------------------*/
  158. #ifndef __LCD1602_H__
  159. #define __LCD1602_H__

  160. //#include"delay.h"
  161. #define uint unsigned int                //預定義
  162. #define uchar unsigned char

  163. sbit rs=P2^5;        //1602/定義數據/命令選擇端
  164. sbit rw=P2^6;         //定義讀/寫選擇端
  165. sbit en=P2^7;        //定義使能端
  166. /*P0口接1602的D0~D7*/

  167. //uchar h1,h2,h3,h4;//LCD顯示變量
  168. //uchar table[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};                 //要顯示的內容放入數組table
  169. //uchar table1[43]="0123456789abcdefABCDEFGHIJKLMNOPQRSTUVWXYZ";
  170. //uchar table2[]={0x15,0x0A,0x15,0x0A,0x15,0x0A,0x15,0x0A};
  171. //uchar table3[]=".VAWa";
  172. //uchar table3[]="888888888888";
  173. //uchar code table[]="I LIKE MCU!";
  174. void delayZ(uint n)                 //延時函數
  175. {        
  176.         uint x,y;        
  177.         for(x=n;x>0;x--)        
  178.                 for(y=110;y>0;y--);        
  179. }
  180. //void tablex(uint tab1);        

  181.         
  182. void lcd_wcom(uchar com)        //1602寫命令函數
  183. {        
  184.         rs=0;             //RS置0
  185.         rw=0;             //RW置0     RS、RW置零,指令寄存器寫入
  186.         en=1;             //使能端置為高電平
  187.         P0=com;          //對液晶屏位置控制的命令
  188.         en=0;            //使能端置為低電平。使能端從高電平跳變低電平,液晶模塊執行寫操作
  189.           delayZ(5);       //延時一定時間
  190. }        
  191. void lcd_wdat(uchar dat)        //1602寫數據函數
  192. {        
  193.         rs=1;            //RS置1  
  194.         rw=0;             //RW置0     RS置1,RW置零,數據寄存器寫入
  195.         en=1;            //讀取液晶模塊信息
  196.         P0=dat;          //液晶屏顯示的命令
  197.         en=0;             //使能端置為低電平。使能端從高電平跳變低電平,液晶模塊執行寫操作
  198.           delayZ(5);       //延時一定時間        
  199. }        
  200. void lcd_init()                //1602初始化函數
  201. {        
  202.         lcd_wcom(0x38);                //8位數據,雙列,5*7字形
  203.         lcd_wcom(0x0c);         //開啟顯示屏,關光標,光標不閃爍?
  204.         lcd_wcom(0x06);                //顯示地址遞增,即寫一個數據后,顯示位置右移一位
  205.         lcd_wcom(0x01);         //清屏?
  206. }
  207. /************
  208. void tablex(uint tab1)//數據分解
  209. {
  210.         uchar num;
  211.         h1=tab1/1000;//1023//1
  212.         h2=tab1%1000/100;//023//0
  213.         h3=tab1%100/10;//23//2
  214.         h4=tab1%10;//3
  215. }

  216. for(num=0;num<11;num++)
  217.                                 {
  218.                                         write_date(table[num]);           //a//寫數據write_date(0x31); write_date('1');
  219.                                         delay(200);
  220.                         //                write_date('B');
  221.                                 }
  222. ****************/


  223. /*-----------------        -------------------*/

  224. void  wsrt(unsigned char adr,unsigned char *p)    //顯示位置及顯示內容的函數
  225. {
  226.         lcd_wcom(adr);     //顯示位置
  227.         while(*p!='\0')      //指針指向對象是否為字符結束符
  228.   {
  229.         lcd_wdat(*p);      //顯示指針所指向對象
  230.         p++;       //指針指向數組的下一個元素
  231.         }
  232. }

  233. /*--------------------------------------------------------------*/
  234. #endif

  235.         
復制代碼

顯示正常了,為什么只顯示0-9呢?哪里出錯了

lADPDiCpwOp8n8fNA8DNBQA_1280_960.jpg (68.89 KB, 下載次數: 162)

lADPDiCpwOp8n8fNA8DNBQA_1280_960.jpg

作者: hslcac    時間: 2021-9-15 23:33
請路過的大師幫我看一下
作者: lkc8210    時間: 2021-9-16 00:40
定時器1的中斷是2ms一次吧?
對LCD1602來說太頻密了
再加上注釋
你好像抄錯了數碼管的動態掃描代碼了吧
作者: hslcac    時間: 2021-9-16 12:44
lkc8210 發表于 2021-9-16 00:40
定時器1的中斷是2ms一次吧?
對LCD1602來說太頻密了
再加上注釋

是使用的1602,原來的數碼管顯示沒問題,修改的,定時器是1ms的啊
作者: 188610329    時間: 2021-9-16 12:55
hslcac 發表于 2021-9-16 12:44
是使用的1602,原來的數碼管顯示沒問題,修改的,定時器是1ms的啊

液晶屏刷新是電壓翻轉一次就定格了,一般,沒有內容變化就不必反復刷新,和數碼管需要不斷的供電點亮是不同的,所以,8210才提醒你一下。
作者: hslcac    時間: 2021-9-16 13:18
188610329 發表于 2021-9-16 12:55
液晶屏刷新是電壓翻轉一次就定格了,一般,沒有內容變化就不必反復刷新,和數碼管需要不斷的供電點亮是不 ...

嗯嗯明白了,謝謝,
作者: lkc8210    時間: 2021-9-16 15:03
hslcac 發表于 2021-9-16 12:44
是使用的1602,原來的數碼管顯示沒問題,修改的,定時器是1ms的啊

在網頁看,沒留意到那一段注釋掉了
正因為注釋掉了
又重覆了5樓的問題1
沒有定時器1的中斷函數,又當機了

第117行
volt_data[6]=num/1000;          //取處理后的數據千位,對應顯示溫度值的十位
缺了個"+48"
又重覆了5樓的問題2
作者: hslcac    時間: 2021-9-16 21:09
lkc8210 發表于 2021-9-16 15:03
在網頁看,沒留意到那一段注釋掉了
正因為注釋掉了
又重覆了5樓的問題1

為什么要加個‘’+48‘’,非常感謝,已經找到問題了,第一、沒有加48,第二,num定義錯誤應該是uint型。再次非常感謝各位老師指點,謝謝,上傳完成程序。
作者: hslcac    時間: 2021-9-16 21:16

問題已經解決,上傳完成主程序,顯示程序及電路沒變。

LM35溫度程序01(完成).rar

28.68 KB, 下載次數: 29

程序


作者: hslcac    時間: 2021-9-16 21:48
溫度和AD0809輸入電壓名稱標錯位置了,電壓顯示的是LM358輸出至0809IN0的電壓,制作板子的時候沒有計算好,358的最大輸出電壓測量3.74V,實際與顯示的電壓準確(沒有具體檢測),有借鑒制作溫度及數控電源的程序比較接近(針對新手)。
作者: gemxie    時間: 2023-1-9 16:32
hslcac 發表于 2021-9-16 21:16
問題已經解決,上傳完成主程序,顯示程序及電路沒變。

謝謝樓主分享啦




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 一区二区中文 | 欧美精品一二三区 | 成人a网 | 国产激情片在线观看 | 91色啪 | 精品国产18久久久久久二百 | 成人二区 | 欧美一级做a爰片免费视频 国产美女特级嫩嫩嫩bbb片 | 中文字幕 在线观看 | 国产精品视频导航 | 黄色成人国产 | 精品国产aⅴ | 日韩色综合 | 成人免费日韩 | 免费看国产片在线观看 | 99精品一区二区 | 久久1区| 伊人伊人伊人 | 天堂av中文在线 | 色综合久久久久 | 日韩精品免费 | 欧美三级三级三级爽爽爽 | 国产亚洲精品久久久久动 | 狠狠爱免费视频 | 欧美成人免费电影 | 欧美大片黄| 欧美在线天堂 | 亚洲视频在线一区 | 久久久精品视频一区二区三区 | 国产视频精品区 | 在线第一页 | 色男人的天堂 | 99精品电影| 欧美成视频| 狠狠操你 | 欧美日韩国产一区二区三区 | 欧美日韩国产一区二区三区不卡 | 亚洲免费视频播放 | 天天躁日日躁狠狠的躁天龙影院 | 欧美日韩国产精品一区 | h视频免费观看 |