亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13072|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

單片機分檔RLC測量儀制作課程設(shè)計報告

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:161768 發(fā)表于 2017-7-30 20:26 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式

目錄

一、方案設(shè)計單片機源程序如下:

1.1 方案論證與設(shè)計
1.2 系統(tǒng)原理框圖
1.3 主要電路設(shè)計與參數(shù)計算
1.4 總體電路圖
二、測試步驟
三、測試數(shù)據(jù)及實驗結(jié)果
四、結(jié)論
4.1 本方案特點及存在的問題
4.2 功能擴展
五、學(xué)習(xí)心得
六、本作品使用說明
七、完整電路圖及印制板圖
八、附錄
成員分工
程序
元件清單


一、方案設(shè)計1.1 方案論證與設(shè)計
基于單片機的RLC檢測儀,是指以單片機為核心,實現(xiàn)對電阻、電感和電容的值的測量。測量阻抗參數(shù)最常用的方法有伏安法、電橋法和諧振法。
伏安法又稱為電壓電流法,該方法是利用電壓表和電流表分別測出元件的電壓值和電流值,從而計算出元器件的值。該方法一般只能用于頻率較低的情況,而且還需要把電阻器、電容器和電感器看成是理想的元器件。可想而知,這樣的測量方法,誤差肯定比較大,而且測量也不方便,受到的限制比較多,但是,也有它的好處,那就是使用比較簡單。
電橋法是利用電橋平衡的原理。電橋平衡的條件是:一對相對橋臂阻抗的乘積必須等于另一對相對橋臂阻抗的乘積。直流電橋法用于精確地測量電阻的阻值,但是要適當(dāng)?shù)倪x擇比率臂的倍率和標(biāo)準(zhǔn)電阻的阻值;比較電橋測量電容或電感,就是通過與已知電容或電感比較來測定未知電容或電感,但是相鄰兩臂要采用純電阻。此種測量方法,精度比較高,使用不同電橋可得到寬頻率范圍,價格低,但需要手動平衡,測試速度比較慢。
諧振法是利用LC串聯(lián)電路和并聯(lián)電路的諧振特性來進行測量的方法。當(dāng)外加信號源的角頻率等于回路的固有角頻率時,LC串聯(lián)或并聯(lián)諧振電路發(fā)生諧振,可以求出電感和電容的值。利用這種方法,前提是需要把電路調(diào)到諧振,而且精度不高,但是可一測得很高的Q值。
測量這些參量的方法有很多經(jīng)典的方法,現(xiàn)在比較容易的一個方法就是阻抗的數(shù)字化測量。數(shù)字化測量是將測量的模擬量轉(zhuǎn)化為數(shù)字量,我們的設(shè)計最基本的思路就是RLC的數(shù)字化測量,可以把它們轉(zhuǎn)換為電壓、電流及頻率等。在我們小組的設(shè)計中,被測電阻、電容、電感作為諧振電路的一部分,用單片機測得電路發(fā)出的矩形波的頻率,然后根據(jù)公式計算出電阻、電感和電容。運用的方法就是諧振法。而我們小組選擇的測量電路,是用555定時器組成的基本振蕩電路來測量電阻和電容,三點式振蕩電路構(gòu)成的LC諧振電路來測量電感。
1.2 系統(tǒng)原理框圖
圖1-2 系統(tǒng)原理框圖
測量電阻和電容,是以555芯片為核心,外加幾個電阻、電容組成RC振蕩電路,利用電容的充放電過程,使這個電路輸出高低矩形波,我們就是利用這一點,使電阻和電容的參數(shù)值數(shù)字化的。測電感的時候,由于555沒有電路可以測電感,所以我們就選擇了三點式振蕩電路,它利用電容電感的三點式接法,就可以構(gòu)成LC振蕩電路。諧振時,電路輸出矩形波。波形產(chǎn)生了,就把矩形波信號送給單片機,通過單片機的定時/計數(shù)端測量出矩形波的頻率,這樣就把阻抗轉(zhuǎn)換為頻率了,再通過公式就可以計算出阻抗的參數(shù)值了。
這個測量方法是目前比較好的一個選擇了,首先,數(shù)字化測量的準(zhǔn)確度高,測量速度快,又是數(shù)字顯示,簡單明了;其次,把阻抗轉(zhuǎn)換為頻率,頻率相對來說,是一個比較容易測量出的量,尤其在單片機里,這一點就使整個設(shè)計輕松了不少;再者,選用的兩個芯片555和三點式振蕩電路,所用的測量電路都是它們最基本的電路,電路圖比較簡單,也很容易理解,測量范圍也很廣,還有最重要的一點是,電路比較穩(wěn)定,受外界影響比較小,都可以穩(wěn)定的輸出矩形波。總的來說,這個測量方法幾乎集合了其他測量方法的所用優(yōu)點,是一個比較好方法。
1.3 主要電路設(shè)計與參數(shù)計算
電阻的測量采用“脈沖計數(shù)法”,如圖1-3-1所示,由555電路構(gòu)成,多諧振蕩電路,通過計算振蕩輸出的頻率來計算被測電阻的大小。

圖1-3-1 電阻測量模塊
555接成多諧振蕩器的形式131,其振蕩周期為:
                                                                  (式1-3-1)

(式1-3-2)

電路分為3檔:
電容的測量同樣采用“脈沖計數(shù)法”,如圖1-3-2所示,由555電路構(gòu)成多諧振蕩電路,通過計算振蕩輸出的頻率來計算被測電容的大小。
測量范圍:中檔100pF~5000pF,高檔5000pF~0.15Uf。
圖1-3-2 電容測量模塊
555接成多諧振蕩器的形式,其振蕩周期為:
                                                          (式1-3-3)
                                                          (式1-3-4)
電感測量電路如圖1-3-3所示,電感的測量是采用電容三點式振蕩電路來實現(xiàn)的。三點式電路是指:LC回路中與發(fā)射極相連的兩個電抗元件必須是同性質(zhì)的,另外一個電抗元件必須為異性質(zhì)的,而與發(fā)射極相連的兩個電抗元件同為電容時的三點式電路,成為電容三點式電路。有:
                                                                 (式1-3-5)
                                                                 (式1-3-6)

測量范圍:1mH~1000mH。
圖1-3-3 電感測量模塊
1.4 總體電路圖
圖1-4-1 總體電路原理圖
圖1-4-2 總體電路原理圖
二、測試步驟
在測試過程中,我們使用proteus仿真軟件搭建電路,將用keil軟件生成的程序hex文件導(dǎo)入單片機,對所設(shè)計的RLC進行了功能測試。仿真電路如圖2所示:
圖2 proteus仿真電路圖
三、測試數(shù)據(jù)及實驗結(jié)果
    對低檔電阻50Ω仿真測試結(jié)果如圖3-1所示:
圖3-1  50Ω電阻仿真測試結(jié)果圖
對中檔電阻5kΩ仿真測試結(jié)果如圖3-2所示:
圖3-2  5kΩ電阻仿真測試結(jié)果圖
對高檔電阻500kΩ仿真測試結(jié)果如圖3-3所示:
圖3-3  500kΩ電阻仿真測試結(jié)果圖
對中檔電容2000pF仿真測試結(jié)果如圖3-4所示:
圖3-4  2000pF電容仿真測試結(jié)果圖
對高檔電容0.1uF仿真測試結(jié)果如圖3-5所示:
圖3-5  0.1uF電容仿真測試結(jié)果圖
對電感800mH仿真測試結(jié)果如圖3-6所示:
圖3-6 800mH電感仿真測試結(jié)果圖
仿真測試數(shù)據(jù)分析表如下:
表3-1  測試數(shù)據(jù)分析表
元件種類
檔位
元件原值
元件測量值
絕對誤差
相對誤差(%)
電阻
低檔
10Ω
10Ω
0
0.000
20Ω
20Ω
0
0.000
50Ω
50Ω
0
0.000
80Ω
80Ω
0
0.000
中檔
200Ω
196Ω
4
2.000
1kΩ
987Ω
13
1.300
5kΩ
4955Ω
45
0.900
8kΩ
7936Ω
64
0.800
高檔
20kΩ
19954Ω
46
0.230
100kΩ
99848Ω
152
0.152
500kΩ
500247Ω
247
0.049
900kΩ
900333Ω
333
0.037
電容
中檔
500pF
533pF
33
6.600
1000pF
1038pF
38
3.800
2000pF
2054pF
54
2.700
5000pF
5051pF
51
1.020
高檔
0.01uF
10020pF
20
0.200
0.05uF
50104pF
104
0.208
0.1uF
100208pF
208
0.208
0.15uF
160333pF
10333
6.889
電感
/
500mH
594mH
94
18.800
800mH
817mH
17
2.125
1000mH
900mH
100
10.000
四、結(jié)論
4.1 本方案特點及存在的問題
我們小組選取的該測量方法是比較好的一個選擇,首先,數(shù)字化測量的準(zhǔn)確度高,測量速度快,又是數(shù)字顯示,簡單明了;其次,把阻抗轉(zhuǎn)換為頻率,頻率相對來說,是一個比較容易測量出的量,尤其在單片機里,這一點就使整個設(shè)計輕松了不少;再者,選用的兩個芯片555和三點式振蕩電路,所用的測量電路都是它們最基本的電路,電路圖比較簡單,也很容易理解,測量范圍也很廣,還有最重要的一點是,電路比較穩(wěn)定,受外界影響比較小,都可以穩(wěn)定的輸出矩形波。總的來說,這個測量方法幾乎集合了其他測量方法的所用優(yōu)點,是一個比較好的方法。
但本方案仍在存在部分問題:
  • 銜接處附近所測電阻/電容相對偏差較大
  • 較低和較高的電感測量值相對偏差較大
  • 電容量程有限,只設(shè)置了中檔和高檔
從表3-1表格可以看出,測量時部分電容值時誤差較大。測量電阻和電容時,電路是由555芯片和外接的電阻電容組成的。555是根據(jù)電源的精度和外圍阻容元件的精度來決定輸出頻率精度的,如果外圍精度很高且溫度變化不大,那么555的精度是足夠的,但是以目前的情況來看,部分電容值有5%以上的偏差,這就直接導(dǎo)致了測量電路的精確性不是很好,所以就造成了現(xiàn)在上面這種狀況。其實555定時器還有一個很大的缺點,那就是不能產(chǎn)生頻率很低的信號,所以我們的測量范圍比較小,這和555本身的內(nèi)部結(jié)構(gòu)有關(guān),這里就不討論了。
還有一點就是,我們的測量電路必須要保證起振,并且振蕩電路要穩(wěn)定,否則也會增加誤差,這也是把元件參數(shù)轉(zhuǎn)換成頻率后測量的方法的一個不足之處。可以根據(jù)實際電路中的電阻或電容,多測一些數(shù)據(jù),并求這些數(shù)據(jù)的平均誤差,再把這個誤差加到程序中,那么再測數(shù)據(jù),誤差就會小很多,這樣就做了誤差的修正。
4.2 功能擴展
    除了我們原有電路能夠?qū)崿F(xiàn)的功能以外,我們希望還能夠?qū)崿F(xiàn)電感分組測量的功能,修改程序中的計算參數(shù),使得降低對較高和較低電感值測量時的誤差。
五、學(xué)習(xí)心得
在這一次課程設(shè)計的暑期實習(xí)過程中,我們的小組成員收獲良多。從最開始的龍文杰老師和易安林老師的電子工藝基礎(chǔ)課程,到焊接練習(xí)、PCB圖繪制練習(xí),我們一步一步掌握了相應(yīng)的技巧,為之后的課程設(shè)計實習(xí)打下了基礎(chǔ)。
我們的課程設(shè)計內(nèi)容是RLC測量儀,在這次課程設(shè)計的過程中,硬件方面,從在電腦上制作原理圖、印刷版圖、仿真,到實物的焊接、調(diào)試,在此過程中每個環(huán)節(jié)都遇到了許多大大小小的問題。原理圖的繪制時,由于原來的原理圖庫的元件不全,我們又下載了很多原理圖庫,在封裝時,首先調(diào)整線寬、孔環(huán)大小、焊盤大小等規(guī)則大小,再根據(jù)老師規(guī)定的設(shè)計規(guī)則一個個來調(diào)整元件的封裝,此過程需要極大的耐心及足夠的細心。在proteus仿真的過程中,我們一步一步地檢查電路的問題及程序的問題。我們也經(jīng)歷過煩躁的時期,但都一一克服,耐心地解決所遇到的每一個bug。印刷了板子后,我們將它腐蝕、刮銅、刷松香,并仔細地對照原理圖焊接每一個元件。之后就迎來了無比艱難的調(diào)試環(huán)節(jié),我們接通電源后發(fā)現(xiàn)顯示屏并沒有顯示,但我們并沒有氣餒,而是拿著萬用表,一個一個模塊地測量,測量各個引腳之間的電阻、電壓,并且記下電壓降,與仿真環(huán)節(jié)中的值相比較,之后再一點點調(diào)整電路,將模塊輸出的方波波形調(diào)了出來。顯示屏顯示出實數(shù)的那一瞬間,成就感油然而生。
這次課程設(shè)計既鍛煉了我們收集整理資料、設(shè)計電路圖的能力,又考驗了我們繪制PCB圖時需要的耐心與細心,也在隨之而來的焊接過程中鍛煉了我們的動手能力。在這次實習(xí)中,我們真正做到了從無到有,從理論到實踐,這并不是一個容易的過程,期間困難無數(shù),但我們堅持初衷,所有小組成員團結(jié)協(xié)作、全力以赴,終于把電路調(diào)試成功。
在此,我們要感謝我們的指導(dǎo)老師,我們組設(shè)計的電路當(dāng)中的參數(shù)十分復(fù)雜,需要各種各樣值的電容和電阻,老師非常耐心地幫我們收集元件,還領(lǐng)我們到庫房尋找需要的元件。在之后的電路調(diào)試過程中,她也仔細地查看了我們的電路板,并給我們指出問題,我們才能夠更加精確地對板子進行修復(fù)。在這次課程設(shè)計過程中,同學(xué)們互幫互助,共同研究學(xué)習(xí),在大家的幫助下,我們才能使該RLC測量儀工作更加精確,功能更加完善。
六、本作品使用說明
這是一個分檔RLC測量儀。本系統(tǒng)在調(diào)試方面經(jīng)過長時間的測試操作,穩(wěn)定性能得到了認可。同時此系統(tǒng)通過軟件設(shè)計,減少誤差的存在,并采用標(biāo)準(zhǔn)的電阻、電容器和電感進行校準(zhǔn),大大提高了系統(tǒng)的精度。該設(shè)計采用555震蕩和LC三點式振蕩來實現(xiàn)對參數(shù)R,L,C的測量的方法,滿足總體設(shè)計的技術(shù)指標(biāo)與功能要求,具有較好的應(yīng)用價值。
使用方法:
  • 確定待測元件種類【電阻/電容/電感】,按下相應(yīng)開關(guān)。
  • 確定待測元件檔位高檔/中檔/低檔】,按下相應(yīng)開關(guān)。
  • 接通電源,觀察液晶顯示屏的示數(shù)。
  • 需要換擋測量時,按下復(fù)位按鈕。
圖6 RLC測量儀使用說明圖
七、完整電路圖及印制板圖
圖7-1 完整電路原理圖
圖7-2 完整電路PCB圖
圖7-3 印刷板圖
圖7-4 課程設(shè)計作品正面圖
圖7-4 課程設(shè)計作品背面圖
以下是RLC測量儀對部分電阻、電容、電感的測量結(jié)果圖:
圖7-5 2kΩ電阻測量結(jié)果圖
圖7-6 5kΩ電阻測量結(jié)果圖
圖7-7 33kΩ電阻測量結(jié)果圖
圖7-8 100kΩ電阻測量結(jié)果圖
圖7-9 200kΩ電阻測量結(jié)果圖
圖7-10 330pF電容測量結(jié)果圖
圖7-11 102電容測量結(jié)果圖
圖7-12 103電容測量結(jié)果圖
圖7-13 104電容測量結(jié)果圖
圖7-14  9.4mH電感測量結(jié)果圖
圖7-15  14.1mH電感測量結(jié)果圖
RLC測量儀測量數(shù)據(jù)分析表如下:
表7-1 測量數(shù)據(jù)分析表
元件種類
檔位
元件原值
萬用表測量值
RLC測量儀測量值
相對誤差(%)
電阻
中檔
2kΩ
1984Ω
1930Ω
2.70
5kΩ
5070Ω
5078Ω
0.16
高檔
33kΩ
32880Ω
32910Ω
0.09
100kΩ
100500Ω
99574Ω
0.92
200kΩ
200400Ω
198133Ω
1.13
電容
中檔
330pF
/
323 pF
2.10
1000pF
1059pF
5.90
高檔
10000pF
/
9816pF
1.84
100000pF
100208pF
0.21
電感
/
9.4mH
/
9mH
4.20
14.1mH
13mH
7.80

元件清單
元件
數(shù)量
STC89C51芯片
1
74HC132芯片
1
555觸發(fā)器
2
LCD1602顯示器
1
6腳開關(guān)
17
4腳開關(guān)
1
單刀雙擲開關(guān)
2
電位計
2
12MHz晶振
1
NPN管
1
排阻
1
50Ω電阻
1
330Ω電阻
1
1kΩ電阻
1
10kΩ電阻
3
20kΩ電阻
4
21kΩ電阻
1
100kΩ電阻
1
3.3nF電容
1
1nF電容
1
0.1uF電容
4
30pF電容
2
0.22uF電容
1
0.47uF電容
1
管座
若干

八、附錄程序

  1. #include<reg52.h>
  2. #include<intrins.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. sbit RS=P2^6;
  6. sbit RW=P2^5;
  7. sbit E=P2^7;
  8. sbit R=P1^0;
  9. sbit C=P1^1;
  10. sbit L=P1^2;
  11. sbit A1=P1^3;
  12. sbit A0=P1^4;
  13. sbit Low=P1^5;
  14. sbit Mid=P1^6;
  15. sbit High=P1^7;

  16. #define LCD_data  P0                                                                     
  17. uchar   code  table1[10]={"R=      R"};
  18. uchar   code  table2[10]={"C=      pF"};
  19. uchar   code  table3[10]={"L=      mH"};

  20. uchar code f_table[88]={13,14,15,16,17,              18,              19,              20,              21,              22,              23,              24,              25,              26,              27,              28,              29,              30,              31,              32,              33,              34,              35,              36,              37,              38,              39,              40,              41,              42,              43,              44,              45,              46,              47,              48,              49,              50,              51,              52,              53,              54,              55,              56,              57,              58,              59,              60,              61,              62,              63,              64,              65,              66,              67,              68,              69,              70,              71,              72,              73,              74,              75,              76,              77,              78,              79,              80,              81,              82,              83,              84,              85,              86,              87,              88,              89,              90,              91,              92,              93,              94,              95,              96,              97,              98,              99,              100};
  21. uchar code f_correct[88]={9,10,              11,              12,              12,              12,              13,              14,              15,              16,              17,              18,              18,              18,              19,              20,              21,              21,              22,              23,              24,              25,              25,              26,              26,              27,              28,              29,              29,              30,              30,              31,              32,              33,              33,              34,              35,              35,              36,              37,              38,              38,              39,              40,              41,              41,              42,              42,              43,              44,              45,              45,              46,              47,              48,              49,              49,              50,              51,              51,              52,              53,              54,              54,              55,              55,              56,              57,              57,              58,              59,              60,              60,              62,              62,              63,              64,              64,              65,              66,              66,              67,              67,              68,              69,              70,              71,              71,};

  22. uchar a7,a6,a5,a4,a3,a2,a1;
  23. uchar flag;
  24. unsigned long cnt,cnt1;
  25. uchar f_cnt;


  26. /********************************/

  27. void delay_us(); //18us
  28. void delay_ms(uint);
  29. void lcd_init();
  30. void lcd_write_com(uchar com);
  31. void lcd_write_dat(uchar dat);
  32. void lcd_init();
  33. void lcd_display(uchar add,uchar dat);
  34. /***********************************/

  35. void delay_us()
  36. {
  37.               uchar x;
  38.               for(x=0;x<5;x++);
  39. }

  40. void delay_ms(uint z)
  41. {
  42.               uint x,y;
  43.               for(x=0;x<z;x++)
  44.                             for(y=0;y<123;y++);
  45. }
  46. void lcd_write_com(uchar com)
  47. {
  48.   E=0;
  49.   RS=0;
  50.   RW=0;
  51.   delay_us();
  52.   LCD_data=com;
  53.   E=1;                 //高脈沖寫入數(shù)據(jù)
  54.   delay_us();
  55.   E=0;
  56. }
  57. void lcd_write_dat(uchar dat)
  58. {
  59.   E=0;
  60.   RS=1;
  61.   RW=0;
  62.   delay_us();
  63.   LCD_data=dat;
  64.   E=1;                 //高脈沖寫入數(shù)據(jù)
  65.   delay_us();
  66.   E=0;
  67. }
  68. void lcd_init()                              //lcd初始化
  69. {
  70.               delay_ms(15);
  71.               lcd_write_com(0x38);
  72.               delay_ms(10);
  73.               lcd_write_com(0x0c);
  74.               lcd_write_com(0x06);
  75.               lcd_write_com(0x01);
  76.               delay_ms(2);
  77.             
  78.             
  79. }
  80. void timer_init(void)  //定時器初始化
  81. {
  82.               TMOD=0X51;
  83.         PT0=1;     /*中斷優(yōu)先*/
  84.               TH0=0x3c;
  85.               TL0=0xb0;
  86.               TH1=0;
  87.               TL1=0;
  88.               ET0=1;
  89.               ET1=1;
  90.               TR0=1;
  91.               TR1=1;
  92.               EA=1;            
  93. }
  94. void lcd_display(uchar add,uchar dat)                 //lcd顯示(地址,數(shù)據(jù))
  95. {

  96.               lcd_write_com(add);
  97.             
  98.               lcd_write_dat(dat);
  99.               delay_us();

  100. }
  101. void real_display(void)
  102. {
  103.             if(!R)
  104.                                           {
  105.                                           A1=A0=0;            
  106.                               lcd_display(0x80,table1[0]);
  107.                                           lcd_display(0x80+1,table1[1]);
  108.                                           lcd_display(0x80+8,table1[8]);
  109.                                           lcd_display(0x80+9,table1[9]);
  110.                                             }
  111.                                           else if(!C)
  112.                                           {
  113.                                           A0=0;A1=1;
  114.                                           lcd_display(0x80,table2[0]);
  115.                                           lcd_display(0x80+1,table2[1]);
  116.                                           lcd_display(0x80+8,table2[8]);
  117.                                           lcd_display(0x80+9,table2[9]);
  118.                                           }
  119.                                           else if(!L)
  120.                                           {
  121.                                           A0=1;A1=0;
  122.                                           lcd_display(0x80,table3[0]);
  123.                                           lcd_display(0x80+1,table3[1]);
  124.                                           lcd_display(0x80+8,table3[8]);
  125.                                           lcd_display(0x80+9,table3[9]);
  126.                                           }
  127.                                           if(a6)
  128.                                             lcd_display(0x80+2,0x30+a6);
  129.                                           else
  130.                                           lcd_display(0x80+2,' ');


  131.                                           if(a6||a5)
  132.                                           lcd_display(0x80+3,0x30+a5);
  133.                                           else
  134.                                                         lcd_display(0x80+3,' ');


  135.                                           if(a6||a5||a4)
  136.                                           lcd_display(0x80+4,0x30+a4);            
  137.                                           else
  138.                                lcd_display(0x80+4,' ');


  139.                                           if(a6||a5||a4||a3)
  140.                                           lcd_display(0x80+5,0x30+a3);            
  141.                                           else
  142.                                 lcd_display(0x80+5,' ');


  143.                                           if(a6||a5||a4||a3||a2)
  144.                                           lcd_display(0x80+6,0x30+a2);
  145.                                           else
  146.                                           lcd_display(0x80+6,' ');

  147.                                          
  148.                                           lcd_display(0x80+7,0x30+a1);
  149.                            

  150. }

  151. void correct(void)                                          //誤差修正函數(shù)
  152. {
  153.               uchar i,k;
  154.               unsigned long wucha;
  155.               if(cnt<100000)                               //100KHz以內(nèi)的修正
  156.               {
  157.                             if(cnt>980&&cnt<2100)     cnt-=1;
  158.                             if(cnt>=2100&&cnt<3900)   cnt-=2;
  159.                             if(cnt>=3900&&cnt<4800)   cnt-=3;
  160.                             if(cnt>=4800&&cnt<5700)   cnt-=4;
  161.                             if(cnt>=5700&&cnt<8000)   cnt-=5;
  162.                             if(cnt>=8000&&cnt<9100)                cnt-=6;
  163.                             if(cnt>=9100&&cnt<10900)  cnt-=7;
  164.                             if(cnt>=10900&&cnt<11900) cnt-=8;
  165.                             if(cnt>=11900&&cnt<13000) cnt-=9;
  166.                             if(cnt>=13000&&cnt<=100000)
  167.                             {
  168.                                           k=cnt/1000;
  169.                                           for(i=0;i<88;i++)
  170.                                           {
  171.                                                         if(k==f_table[i])
  172.                                                         {
  173.                                                                       cnt-=f_correct[i];
  174.                                                         }
  175.                                           }
  176.                             }
  177.                            
  178.                            
  179.               }
  180.               if(cnt>100000)            
  181.               {
  182.                             wucha=(cnt/1000)*73065/100000;
  183.                             cnt-=wucha;
  184.               }
  185. }

  186. void main()
  187. {

  188.               timer_init();
  189.               lcd_init();
  190.               while(1)
  191.               {                           
  192.                                if(flag==1)
  193.                                {
  194.                                           real_display();
  195.                                           flag=0;
  196.                                           }
  197.                            
  198.             
  199.               }
  200.             
  201. }


  202. void timer0() interrupt 1
  203. {
  204.               uchar timer0;
  205.             
  206.               TH0=0x3c;                //50ms
  207.               TL0=0xb0;
  208.               timer0++;
  209.               if(timer0==20)
  210.               {
  211.                             TR1=0;                //關(guān)閉的計數(shù)器
  212.                             EA=0;
  213.                             cnt=TL1+TH1*256+f_cnt*65536;
  214.                             correct();
  215.                             if(!R)
  216.                             {
  217.                             if(High&&Mid&&!Low){cnt1=(2.6*1000000)/(2*cnt)-25;}
  218.                   else if(High&&!Mid&&Low){cnt1=((6.4*1000000)/(2*cnt)-16)/3*4-200;}
  219.                             else if(!High&&Mid&&Low){cnt1=((4.372*100000000)/(2*cnt)-(2.1*10000/2))/19*20;}
  220.                             }                           
  221.                             else if(!C)
  222.                             {                                                                                                      
  223.                   if(High&&!Mid&&Low){cnt1=(1000000000/(3*0.693*20*cnt))/5*4;}
  224.                             else if(!High&&Mid&&Low){cnt1=1000000000/(3*0.693*200*cnt);}                           
  225.                             }
  226.                            
  227. ……………………

  228. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

完整論文下載(word格式 可編輯):
http://www.denmoz.com/bbs/dpj-90086-1.html





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

使用道具 舉報

沙發(fā)
ID:192999 發(fā)表于 2018-1-5 16:59 | 只看該作者
請問有壓縮包嘛,包括原理圖跟仿真圖還有程序
回復(fù)

使用道具 舉報

板凳
ID:192999 發(fā)表于 2018-1-11 17:02 | 只看該作者
請問能不能給一下在仿真過程時按鍵是怎么連接的
回復(fù)

使用道具 舉報

地板
ID:192999 發(fā)表于 2018-1-11 17:02 | 只看該作者

請問有壓縮包嘛,包括原理圖跟仿真圖還有程序
回復(fù)

使用道具 舉報

5#
ID:364967 發(fā)表于 2018-7-26 14:42 | 只看該作者
請問有壓縮包嘛,包括原理圖跟仿真圖還有程序
回復(fù)

使用道具 舉報

6#
ID:267809 發(fā)表于 2019-2-8 16:28 | 只看該作者
我想問一個問題,就是這個RLC測試儀可以加DS1302時間顯示功能嗎?
我修改了代碼發(fā)現(xiàn)時間能走就是走得特別慢
回復(fù)

使用道具 舉報

7#
ID:522603 發(fā)表于 2019-4-29 14:14 | 只看該作者
UP主如果能給HEX文件就好了。。
回復(fù)

使用道具 舉報

8#
ID:511461 發(fā)表于 2019-8-7 21:37 | 只看該作者
請問有壓縮包嘛,包括原理圖跟仿真圖還有程序
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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