大家都知道,51 單片機(jī)的外部中斷,可以設(shè)定為下降沿觸發(fā)。 當(dāng)?shù)谝淮蜗陆笛貋?lái)臨時(shí),在中斷程序中,啟動(dòng)定時(shí)器的計(jì)時(shí);在第二次下降沿來(lái)臨時(shí),再停止定時(shí)器。
這樣一來(lái),計(jì)時(shí)器所統(tǒng)計(jì)的數(shù)值,就代表了脈沖的周期。 定時(shí)器在計(jì)時(shí)方式下,是針對(duì)機(jī)器周期計(jì)數(shù),在晶振為 12MHz 時(shí),計(jì)時(shí)的結(jié)果將在 0~65536us 范圍內(nèi)。
以 ms 為單位,就是:00.000 ~ 65.535,也就是:00.000 ~ 65.535 uF。 直接用顯示器把這個(gè)數(shù)字顯示出來(lái),這就是測(cè)量電容的結(jié)果。 如果電容器的容量,超出了這范圍,可以顯示超量程的信息,提示使用者換用不同的檔位,就是換用不同的電阻。 使用單片機(jī)測(cè)量電容的仿真電路如下: 圖片連接:超量程的提示顯示如下:  單片機(jī)的程序如下:
系統(tǒng)主要采用了555定時(shí)器構(gòu)成的RC振蕩電路和單片機(jī)技術(shù)。設(shè)計(jì)思路:被測(cè)電容C通過(guò)RC振蕩轉(zhuǎn)換成頻率信號(hào)f,送入單片機(jī)測(cè)頻,對(duì)該頻率進(jìn)行運(yùn)算處理求出被測(cè)電容的值,并送顯示器顯示。系統(tǒng)框圖如圖1所示,其主要由測(cè)量電路和控制電路兩部分組成。當(dāng)接入被測(cè)電容后,由555定時(shí)器構(gòu)成RC振蕩器產(chǎn)生方波信號(hào),把此信號(hào)通過(guò)接口傳到AT89C51單片機(jī)I/O口上,對(duì)此方波信號(hào)進(jìn)行測(cè)頻,通過(guò)軟件編程,計(jì)算出得到被測(cè)電容值,由LCD1602液晶顯示。 
圖1 系統(tǒng)框圖 3 硬件設(shè)計(jì) 3.1 555振蕩電路的設(shè)計(jì) 由555芯片構(gòu)成的多諧振蕩電路如圖2,CX為被測(cè)電容,接通電源后,CX被充電,A點(diǎn)電壓UA上升。當(dāng)UA上升到時(shí),觸發(fā)器被復(fù)位,同時(shí)555芯片內(nèi)部放電三極管導(dǎo)通,此時(shí)U0為低電平。CX通過(guò)R2和放電三極管放電,使UA下降。當(dāng)UA下降到時(shí),觸發(fā)器又被置位,U0翻轉(zhuǎn)為高電平[3]。CX放電所需的時(shí)間為: 
圖2 555構(gòu)成的RC振蕩電路 
由上式可知,當(dāng)電路設(shè)計(jì)完成后,振蕩器輸出f隨CX的變化而改變。改變R1、R2的值即可改變系統(tǒng)量程。系統(tǒng)量程分為四檔:(1)R1+2R2=470KΩ時(shí),測(cè)1.0nF-10.0nF的電容值。(2)R1+2R2=47KΩ時(shí),測(cè)10.0nF~100.0nF的電容(3)R1+2R2=4.7KΩ時(shí),測(cè)100.0nF~1000.0nF的電容。(4)R1+2R2=470Ω時(shí),測(cè)1.0μF~10.0μF的電容。圖3為R1+2R2=470KΩ時(shí),測(cè)量電容為2μF振蕩輸出輸出波形。 
圖3 振蕩電路輸出的頻率信號(hào) 3.2 信號(hào)處理及顯示電路 信號(hào)處理電路部分采用單片機(jī)AT89S51作為系統(tǒng)的主控制器。AT89S51單片機(jī)的最小系統(tǒng)由時(shí)鐘電路、復(fù)位電路、外加電源及單片機(jī)構(gòu)成[4],其硬件電路如圖4所示。555振蕩電路輸出的是脈沖波,接到AT89S51處理器的輸入引腳P3.5,通過(guò)AT89S51內(nèi)部定時(shí)/計(jì)時(shí)器T0、T1及相應(yīng)的程序設(shè)計(jì),構(gòu)成一個(gè)數(shù)字式頻率測(cè)量系統(tǒng),測(cè)出頻率后按(5)式運(yùn)算處理后得到被測(cè)電容值。 
圖4 單片機(jī)控制顯示模塊 顯示模塊LCD1602液晶第1、2腳接驅(qū)動(dòng)電源;第三腳VL為液晶的對(duì)比度調(diào)節(jié),通過(guò)在VCC和GND之間接一個(gè)10K多圈可調(diào)電阻,中間抽頭接VL,可實(shí)現(xiàn)液晶對(duì)比度的調(diào)節(jié);液晶的控制線RS、R/W、E分別接單片機(jī)的P2.5、P2.6、P2.7;D0~D7為L(zhǎng)CD1602液晶模塊的8位雙向數(shù)據(jù)口,分別與STC89C52RC單片機(jī)的P1.0~P1.7相連,用于傳輸數(shù)據(jù)。接在單片機(jī)的P0口;BL+、BL-為液晶背光電源[5][6]。 4 系統(tǒng)軟件設(shè)計(jì) 
圖5 主程序流程圖 系統(tǒng)軟件環(huán)境以Keil4.0為仿真平臺(tái),使用C語(yǔ)言編程編寫了運(yùn)行程序;包括主程序模塊、顯示模塊和電容測(cè)試模塊。軟件設(shè)計(jì)主要包括三個(gè)方面:一是初始化系統(tǒng);二是按鍵檢測(cè);三是數(shù)據(jù)采集、數(shù)據(jù)處理并進(jìn)行顯示。程序采用模塊化的結(jié)構(gòu),這樣便于調(diào)試和修改,易編程和易讀性好,也程序結(jié)構(gòu)清楚[7]。系統(tǒng)程序流程如圖6所示,首先對(duì)P3.5口脈沖信號(hào)頻率的測(cè)量,再通過(guò)(5)式算出所測(cè)的電容值,由LCD1602顯示出來(lái)。 5 系統(tǒng)的測(cè)試 
表1 電容測(cè)試數(shù)據(jù) 6 結(jié)束語(yǔ) 設(shè)計(jì)的電容測(cè)試儀硬件采用555定時(shí)器作為信號(hào)采集模塊、AT89S51單片機(jī)作為信號(hào)處理器模塊,軟件采用Keil4.0為仿真平臺(tái),使用C語(yǔ)言編程編寫了運(yùn)行程序。其具有性能穩(wěn)定、精度高、操作簡(jiǎn)單、功耗低等優(yōu)點(diǎn)。經(jīng)測(cè)試表明:其可以測(cè)試1.0nF-10.0uF范圍的電容,誤差小于0.5%。誤差產(chǎn)生主要原因與電路元件參數(shù)、測(cè)試環(huán)境、測(cè)試方法等因素有關(guān)。
555.jpg (87.13 KB, 下載次數(shù): 81)
下載附件
2020-4-16 21:19 上傳
以上的Word格式文檔51黑下載地址:
測(cè)電導(dǎo)格式整理版.docx
(1.48 MB, 下載次數(shù): 85)
2020-4-16 21:22 上傳
點(diǎn)擊文件名下載附件
源程序及圖紙 下載積分: 黑幣 -5
|