根據(jù)RC充電原理知道:未知Rx=(未知充電時(shí)間us/已知充電時(shí)間us)*已知電阻k
先用10K(或100k或其它精密電阻)根據(jù)下圖測(cè)出所用時(shí)間us(粗測(cè)出289us,公式用到)
1.jpg (26.5 KB)
下載附件
2021-4-21 02:48 上傳
顯示的數(shù)碼管線路可能不同,我自己焊在P1口上。
制作出來(lái)的實(shí)物圖如下:
2.png (674.38 KB)
下載附件
2021-4-21 02:48 上傳
其實(shí)還可以改精度更高些,主要關(guān)鍵穩(wěn)定電壓,穩(wěn)定質(zhì)量電阻電容,還有公式取的精度。
粗陋對(duì)比18B20溫度
3.png (640.64 KB)
下載附件
2021-4-21 02:48 上傳
51單片機(jī)源程序:測(cè)試已知電阻充電時(shí)間也用上面小改一下,讓數(shù)碼管顯示Rxt就是被測(cè)時(shí)間。
- #include<reg52.h>
- #define u8 unsigned char
- #define u16 unsigned int
- sbit Rc=P0^0;u16 s=0,r=0;
- sbit a=P3^4;sbit b=P3^5;sbit c=P3^6;sbit d=P3^7; //4個(gè)數(shù)碼管
- u8 code tab[12]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0,0x63};
- u8 us,t,dw[4];//數(shù)碼管顯示0--9,0是關(guān)顯示,0x63是溫度符號(hào)
- u16 code ntc100[]={31076,29541,28090,26720,25424,24199,23039,21942,20904,
- 19920,18988,18106,17269,16475,15723,15009,14331,13688,13077,12497,11946,
- 11422,10924,10451,10000,9571,9163,8775,8405,8052,7717,7397,7092,6801,6524,
- 6259,6007,5766,5536,5316,5106,4906,4714,4531,4356,4189,4029,3875,3729,3588};
- //1--50的溫度//自己設(shè)置需要的溫度
- void Delay(u16 n){while(--n);}//12M公式n=(延時(shí)-6)*0.12493899(us)
- void disp()
- { s++;if(s==3000)s=0; //s=3000是延時(shí)一會(huì)兒再讀取溫度
- dw[0]=10;dw[1]=t%100/10;dw[2]=t%10;dw[3]=11;
- P1=tab[dw[0]];a=1;Delay(70);a=0;P1=tab[dw[1]];b=1;Delay(70);b=0;
- P1=tab[dw[2]];c=1;Delay(70);c=0;P1=tab[dw[3]];d=1;Delay(70);d=0;P1=0;}
- void T0init()
- {TMOD=0x02;TH0=0x00;TL0=0x00;ET0=1;EA=1;}
- void main(void)
- { long u16 Rxt;u16 temp;u8 j;
- T0init();
- while(1)
- {
- if(s==0){Rc=0;Delay(600);//約5ms
- Rc=1;TR0=1;while(!Rc);TR0=0;
- Rxt=us*256+TL0;TL0=0;us=0;Rc=0;
- r=((float)(Rxt*1.0/289*1.0)+0.00005)*10*100;}
- //289us是已知電阻(10K)測(cè)到的時(shí)間*10是10k單位是k,
- //*100是取溫度有效值,如26度ntc100k是(95.7132k)ntc10k(9.631K)
- if((r>3455)&&(r<32500))//阻值在1~50度之間,顯示對(duì)應(yīng)的溫度
- {for(j=0;j<50;j++){temp=ntc100[j];if(r>=temp) break;}
- t=j;}
- disp();
- }}
- void t0() interrupt 1
- {us++;if(us==255)us=0;}
復(fù)制代碼
【必讀】版權(quán)免責(zé)聲明
1、本主題所有言論和內(nèi)容純屬會(huì)員個(gè)人意見,與本論壇立場(chǎng)無(wú)關(guān)。2、本站對(duì)所發(fā)內(nèi)容真實(shí)性、客觀性、可用性不做任何保證也不負(fù)任何責(zé)任,網(wǎng)友之間僅出于學(xué)習(xí)目的進(jìn)行交流。3、對(duì)提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請(qǐng)勿將該數(shù)字內(nèi)容進(jìn)行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學(xué)習(xí)所提供,使用后發(fā)生的一切問(wèn)題與本站無(wú)關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時(shí)本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來(lái),僅供學(xué)習(xí)用途使用,請(qǐng)務(wù)必下載后兩小時(shí)內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請(qǐng)及時(shí)聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|