版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于AT89C52單片機(jī)控制的簡(jiǎn)易R(shí)LC測(cè)試儀本文所設(shè)計(jì)的系統(tǒng)是基于AT89C52單片機(jī)控制的簡(jiǎn)易R(shí)LC測(cè)試儀。為了充分利用單片機(jī)的運(yùn)算和控制功能,方便的實(shí)現(xiàn)測(cè)量。把參數(shù)R、L、C轉(zhuǎn)換成頻率信號(hào)f,然后用單片機(jī)計(jì)數(shù)后再運(yùn)算求出R、L、C的值,并送顯示。轉(zhuǎn)換的原理分別是RC振蕩電路和電容三點(diǎn)式振蕩電路。為了比擬準(zhǔn)確的測(cè)試而頻率的計(jì)數(shù)那么是利用等精度數(shù)字頻率計(jì)完成。然后再將結(jié)果送單片機(jī)運(yùn)算,并在LED顯示器上顯示所測(cè)得的數(shù)值。通過一系列的系統(tǒng)調(diào)試,本測(cè)試儀到達(dá)了測(cè)試標(biāo)準(zhǔn)。經(jīng)過測(cè)試,第1章:緒論1.1電路參數(shù)R,L,C電路參數(shù)—電阻、電容和電感是電路的三種根本參數(shù),也是描述網(wǎng)絡(luò)和系統(tǒng)的重要參數(shù),廣泛應(yīng)用于科學(xué)研究、教學(xué)實(shí)驗(yàn)、工農(nóng)業(yè)生產(chǎn)、通信、醫(yī)療及軍事等領(lǐng)域中。例如在強(qiáng)電系統(tǒng)中,輸電線路中的傳輸線,電氣設(shè)備中繼電器、變壓器、發(fā)電機(jī)等,都是用阻抗參數(shù)R、L、C來描述的。人們通過測(cè)試阻抗參數(shù)可以判定設(shè)備的好壞,是否存在故障隱患。在弱電系統(tǒng)中,電路參數(shù)元件的好壞、量值的大小直接影響所設(shè)計(jì)的線路板的正常工作和可靠性。所以對(duì)它們的測(cè)試具有重要的意義。1.2電路參數(shù)的測(cè)量方法電路參數(shù)的測(cè)量通常是把被測(cè)參數(shù)通過轉(zhuǎn)換電路變成直流電壓或頻率后進(jìn)行測(cè)量。1.傳統(tǒng)的RLC參數(shù)測(cè)量的方法種類很多,例如:對(duì)電阻的測(cè)量常用歐姆表直接測(cè)量,也可以使用對(duì)電阻施加一個(gè)電壓,利用模擬電表和電流表測(cè)量得到電阻兩端的電壓值和流過電阻的電流值。然后利用歐姆定理計(jì)算出電阻值;而對(duì)電感或電容的測(cè)試常采用測(cè)量阻抗角和負(fù)阻抗,然后用數(shù)學(xué)公式計(jì)算出電阻和電抗的參數(shù)。也可以采用過度過程法測(cè)出時(shí)間常數(shù),由于電路中使用的固定電阻,所以可以通過計(jì)算,得出電抗參數(shù)。在要求測(cè)試準(zhǔn)確度高的地方常采用交流電橋通過調(diào)整參數(shù)使得電橋到達(dá)平衡,讀出電感或電容值。上述方法,簡(jiǎn)單明了,測(cè)試也有一定的準(zhǔn)確度;但必須采用手工操作,費(fèi)時(shí)費(fèi)力且測(cè)量精度帶有一定的人為因素。2.在上世紀(jì)70年代后,由于數(shù)字電子技術(shù)的開展,出現(xiàn)了數(shù)字式的RLC測(cè)試儀。這種方法通常是把被測(cè)參數(shù)通過轉(zhuǎn)換電路變成直流電壓或頻率后進(jìn)行測(cè)量。例如:(1)電阻的測(cè)量可采用如圖1-1所示的比例運(yùn)算放大器轉(zhuǎn)換電路,將電阻值變?yōu)橹绷麟妷狠敵?,然后?jīng)過AD轉(zhuǎn)換,測(cè)得電阻值。圖1-1比例運(yùn)算器法歐姆轉(zhuǎn)換器圖中UN為基準(zhǔn)電壓源,RN為標(biāo)準(zhǔn)電阻,R2為被測(cè)電阻為了減小測(cè)量誤差,可采用四探針法接線。當(dāng)測(cè)量大電阻時(shí),采用可采用積分運(yùn)算器法。(2)電容測(cè)量可采用恒流法,用恒流法測(cè)量電容的原理圖以及波形如圖1-2所示。恒流源I對(duì)電容C充電,經(jīng)過T時(shí)間后充電電荷Q=I?T,此時(shí)電容兩端的電壓U=Q/C,顯然只要IT,測(cè)出電壓U便可按C=I?T/U計(jì)算出的電容值。恒流源向C充電,同時(shí)時(shí)標(biāo)脈沖CP經(jīng)與門進(jìn)入計(jì)數(shù)器。當(dāng)Uc值大于UR時(shí),比擬器輸出零電平,停止計(jì)數(shù)。測(cè)量結(jié)果與電容值成正比。圖1-2用恒流法測(cè)量電容的原理和工作波形圖即(3)時(shí)間常數(shù)法測(cè)量電感一般電感含有線圈電阻R和寄生電容C0,通常C0很小,在工頻情況下可以忽略。所以際電感可以視為一純電感L和電阻R的串聯(lián),其時(shí)間常數(shù)τ=L/R,測(cè)量電感的原理圖如圖1-3所示。(a)(b)圖1-3時(shí)間常數(shù)法測(cè)量電感的根本原理在t=0時(shí)合上開關(guān),電感i中電流將按指數(shù)曲線上升,其最大值為I。從圖(b)中可看出,在開始階段變化曲線和t=0時(shí)刻的切線根本重合。令I(lǐng)’<<I,I’與i交點(diǎn)的橫坐標(biāo)為ΔT,從圖中可知:即只要先測(cè)出電感線圈的直流電阻,并Us便可計(jì)算出I,或者保證每次測(cè)量回路的直流電阻相等,使得到的I為定值,那么由測(cè)定的ΔT即可求得τ,從而算出L=τR。RLC測(cè)量和電子測(cè)量?jī)x器的開展一樣呈現(xiàn)出以下幾個(gè)趨勢(shì):第一,數(shù)字化與集成化模塊化趨勢(shì)。便攜式儀器越來越多,使用者要求集成化、微型化,無論高檔還是低檔儀器,數(shù)字化越來越普及。隨著微電子技術(shù)的開展,數(shù)字電路的本錢越來越低。第二,智能化趨勢(shì)。具有很強(qiáng)的自校準(zhǔn)、自診斷、自補(bǔ)償和存儲(chǔ)、計(jì)算、報(bào)表輸出功能。例如,虛擬儀器,利用計(jì)算機(jī)軟件虛擬傳統(tǒng)儀器的功能,一臺(tái)電子儀器,可測(cè)量多種參數(shù),具有多種用途。第三,網(wǎng)絡(luò)化趨勢(shì)。通過局域網(wǎng)或Internet來控制和使用電子儀器,可以工程技術(shù)人員遠(yuǎn)在千里之外仍能遙控儀器和獲取結(jié)果??傊娮訙y(cè)量?jī)x器向著精度更高,可靠性更好,以及本錢更低,便于使用的方向開展。隨之電子技術(shù)的飛速開展,對(duì)于被測(cè)的RLC參量,可以通過參數(shù)轉(zhuǎn)換器變換成電壓、電流或時(shí)間來進(jìn)行測(cè)量。1.3《基于振蕩的單片機(jī)電阻、電容和電感測(cè)試儀》具體要求如下:1.測(cè)量范圍是:〔1〕電阻:100-1M?!?〕電容:100pF-10000pF?!?〕電感:100uH-10mH2.技術(shù)要求:〔1〕測(cè)量準(zhǔn)確度:±5%〔2〕四位數(shù)碼管顯示測(cè)量數(shù)值,并用另外四位數(shù)碼管指示類型和單位。3.工作內(nèi)容:〔1〕組建基于振蕩的測(cè)電阻、電容和電感的總體結(jié)構(gòu)框圖?!?〕根據(jù)設(shè)計(jì)測(cè)量范圍和準(zhǔn)確度要求,設(shè)計(jì)測(cè)電阻、電容和電感的調(diào)理電路,配置標(biāo)準(zhǔn)。通過理論分析和計(jì)算選擇電路參數(shù)?!?〕根據(jù)操作功能要求,確定鍵盤控制功能?!?〕按設(shè)計(jì)要求確定顯示位數(shù)、指示類型和單位?!?〕采用C語言編寫應(yīng)用程序并調(diào)試通過?!?〕對(duì)系統(tǒng)進(jìn)行測(cè)試和結(jié)果分析。〔7〕寫出論文。本設(shè)計(jì)論文的結(jié)構(gòu)安排:第1章:緒論;第2章:基于振蕩的電阻、電容和電感的測(cè)試原理;第3章:測(cè)試儀的硬件系統(tǒng)設(shè)計(jì);第4章:系統(tǒng)的軟件設(shè)計(jì);第5章:系統(tǒng)的調(diào)試與測(cè)試;第6章:結(jié)論與展望。第2章:基于振蕩的電阻、電容和電感的測(cè)試原理的總體框圖系統(tǒng)測(cè)量原理的總體框圖如圖2-1所示單片機(jī)單片機(jī)多路選擇開關(guān)頻率按鍵LED顯示器RC振蕩器RC振蕩器電容三點(diǎn)式振蕩器被測(cè)電阻被測(cè)電容被測(cè)電感圖2-1系統(tǒng)測(cè)量原理的總體框圖右圖中可知,本文所采用的參數(shù)測(cè)量的方法是基于振蕩器原理,通過將被測(cè)參數(shù)接入振蕩電路中,產(chǎn)生振蕩頻率輸出,采用測(cè)頻率方法間接獲得被測(cè)參數(shù)的值?;谡袷庪娮韬碗娙莸臏y(cè)量原理由數(shù)字電子技術(shù)根底可知,最簡(jiǎn)單的由555定時(shí)器構(gòu)成的多諧振蕩器電路如下圖,其工作波形如圖2-2所示。(a)(b)圖2-2555定時(shí)器接成的多諧振蕩器及工作波形圖555外接定時(shí)電阻、和電容構(gòu)成的多諧振蕩器電路如圖2-2所示,由圖可見,它將高電平觸發(fā)端TH和低點(diǎn)平觸發(fā)端TR相連,且放電回路中還串接了一個(gè)定時(shí)電阻。電路的工作原理可對(duì)照?qǐng)D2-2〔b〕所示工作波形圖來分析。當(dāng)接通電源時(shí),如電容上的初始電壓為0,那么處于高電平,放電管T截止,電源通過、向充電,經(jīng)過時(shí)間后,到達(dá)高觸發(fā)電平〔/3〕,由1變成0,這時(shí)放電管T導(dǎo)通,電容通過電阻放電,到時(shí),下降到低觸發(fā)電平〔/3〕,又翻回到1狀態(tài),隨即T又截止,電容又開始充電。如此周而復(fù)始,重復(fù)上述的過程。就可以在輸出端得到矩形波電壓。現(xiàn)在計(jì)算此電路的振蕩周期。為了簡(jiǎn)單起見,設(shè)組件內(nèi)運(yùn)放、的輸入電阻為無窮大,并近似的認(rèn)為放電管T截止時(shí),DIS端對(duì)地的等效電阻為無窮大,而放電管T導(dǎo)通時(shí),管壓降為零?,F(xiàn)以為起始點(diǎn),可得充電時(shí)間為假設(shè)以為起始點(diǎn),可得電容的放電時(shí)間為由此可得方波的周期為,頻率為振蕩頻率主要取決于時(shí)間常數(shù)和,改變和參數(shù)可改變振蕩頻率,幅度那么由電源電壓來決定。所以,當(dāng)該電路用來測(cè)量電阻時(shí),只需選擇標(biāo)準(zhǔn)電容和標(biāo)準(zhǔn)電阻,那么,就是被測(cè)電阻。換句話講原來接的位置上,接上被測(cè)。這樣,通過測(cè)得振蕩器的輸出頻率就可以利用上式計(jì)算出的值。當(dāng)測(cè)電容時(shí),將和接標(biāo)準(zhǔn)電阻,而被測(cè)電容替換原電路中的。同理,通過測(cè)量輸出頻率,利用上式算出的值。電感的測(cè)量原理電容三點(diǎn)式振蕩電路如圖2-3所示,它的根本結(jié)構(gòu)與電感三點(diǎn)式一樣,只是將并聯(lián)諧振回路中的電感與電容互換。三極管的三個(gè)電極直接與兩個(gè)電容器的三點(diǎn)相連,因此稱為電容三點(diǎn)式振蕩電路。當(dāng)斷開反應(yīng)回路,設(shè)在放大器的輸入端加一瞬時(shí)極性為的輸入信號(hào),由于并聯(lián)諧振電路在諧振頻率時(shí)呈現(xiàn)純電阻性,所以放大器的輸出電壓與輸入電壓反相〔〕。反應(yīng)信號(hào)取自電容器,其極性為上端為,而下端為。又由于輸出電壓等于電容器兩端的電壓,其極性為上端為,而下端為。和的公共端為零電位。因此,與反相〔〕,形成了反應(yīng),滿足相位平衡條件。圖2-3電容三點(diǎn)式振蕩電路適中選取,的比值,以獲得足夠的反應(yīng)量,并使放大電路具有足夠的放大倍數(shù),使振幅平衡條件得到滿足,電路就能產(chǎn)生自激振蕩。電容三點(diǎn)式振蕩電路的振蕩頻率為其中電容三點(diǎn)式振蕩電路的反應(yīng)電壓從電容器的兩端取得,所以對(duì)高次諧波的阻抗較小,輸出波形較好。而且和可以選的很小,因而振蕩頻率可以很高,一般可以到100以上。由公式可以知道,振蕩頻率根本上由電感和電容決定,因此改變電容即可調(diào)節(jié)振蕩頻率。當(dāng)該電路用來測(cè)量電感時(shí),只需選擇標(biāo)準(zhǔn)電容和,那么,就是被測(cè)電感。換句話講原來接的位置上,接上被測(cè)電感。這樣,通過測(cè)得振蕩器的輸出頻率就可以利用上式計(jì)算出。頻率測(cè)量的原理1.等精度測(cè)頻、測(cè)周期法的工作原理等精度測(cè)頻法原理如圖2-5所示圖2-5等精度測(cè)頻原理由圖中可知,被測(cè)信號(hào)經(jīng)放大整形電路后分別接至D觸發(fā)器的端和與門〔上〕,D觸發(fā)器的功能是實(shí)現(xiàn)被測(cè)信號(hào)與預(yù)置門控信號(hào)同步以產(chǎn)生一個(gè)寬度為整數(shù)倍的閘門信號(hào),該閘門信號(hào)在高電平期間,控制A計(jì)數(shù)器的計(jì)數(shù)值。閘門信號(hào)的另一路與時(shí)標(biāo)脈沖相與后進(jìn)入計(jì)數(shù)器B計(jì)數(shù)。計(jì)數(shù)器A和計(jì)數(shù)器B在閘門信號(hào)寬度相同的情況下,分別對(duì)測(cè)量信號(hào)〔頻率為〕和標(biāo)準(zhǔn)頻率信號(hào)〔頻率為〕同時(shí)計(jì)數(shù)。當(dāng)預(yù)置門信號(hào)變?yōu)榈碗娖綍r(shí),隨后而至的被測(cè)信號(hào)的上升沿同步將使兩個(gè)計(jì)數(shù)器關(guān)閉。兩個(gè)計(jì)數(shù)器的計(jì)數(shù)值經(jīng)運(yùn)算電路運(yùn)算后,輸出顯示被測(cè)信號(hào)的頻率。2.等精度數(shù)字頻率計(jì)的數(shù)據(jù)處理工作波形如圖2-6所示,設(shè)在一次預(yù)置門時(shí)間P內(nèi)對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為,對(duì)時(shí)標(biāo)信號(hào)的計(jì)數(shù)值為,那么有下式成立:由此可得:〔2-4〕圖2-6等精度數(shù)字頻率計(jì)工作波形顯示原理本設(shè)計(jì)采用LED顯示器用于數(shù)字顯示。LED顯示器是由發(fā)光二極管組成的顯示字段的器件。通常的八段LED顯示器是由八個(gè)發(fā)光二極管組成〔包括小數(shù)點(diǎn)〕。LED顯示器是由發(fā)光二極管組成顯示字段的器件。通常的八段LED顯示器是由八個(gè)發(fā)光二極管組成〔包括小數(shù)點(diǎn)〕,如圖6-1〔c〕所示。圖6-17段LED顯示器外形、管腳及原理圖LED顯示器分共陽極和共陰極兩種。假設(shè)共陽極LED顯示器的公共端〔3、8通常稱為位線〕為高電平時(shí),而a端〔7腳稱為段線〕又為低電平時(shí),a段發(fā)光二極管發(fā)光,同理,假設(shè)共陰極LED顯示器公共端〔3、8〕接低電平時(shí),a端〔7腳〕又為高電平時(shí),a段二極管發(fā)光。當(dāng)LED顯示器每段的平均電流為5mA時(shí),就有比擬滿意的亮度,一般選擇5mA~10mA電流。LED顯示器的顯示方式有靜態(tài)和動(dòng)態(tài)兩種。在靜態(tài)顯示中,各個(gè)字段連續(xù)通過電流,而動(dòng)態(tài)顯示的字段是斷續(xù)通過電流的。在動(dòng)態(tài)顯示中,逐次把所需顯示的字符顯示出來。在每點(diǎn)亮一個(gè)數(shù)碼顯示器之后,必須持續(xù)通電一段時(shí)間,使之發(fā)光穩(wěn)定,然后再點(diǎn)亮另一個(gè)顯示器,如此巡回掃描所有的顯示器。雖然在同一時(shí)刻只有一個(gè)顯示器通電,但人的視覺以為每個(gè)顯示器都在穩(wěn)定的顯示。當(dāng)電源電壓為5V時(shí),選擇的限流電阻的范圍為200~510。第3章:硬件電路設(shè)計(jì)3.1等精度數(shù)字頻率計(jì)的系統(tǒng)框圖的設(shè)計(jì)等精度數(shù)字頻率計(jì)的系統(tǒng)框圖如圖3-1所示,被測(cè)信號(hào)和標(biāo)準(zhǔn)頻率信號(hào)進(jìn)入調(diào)理整形電路后進(jìn)行放大和整形,經(jīng)過放大和整形之后的信號(hào)和進(jìn)入等精度測(cè)頻邏輯電路,經(jīng)過邏輯電路后進(jìn)入接口電路,最后送入單片機(jī)控制系統(tǒng)進(jìn)行一系列的運(yùn)算,和標(biāo)準(zhǔn)頻率進(jìn)行比擬后送入顯示電路進(jìn)行顯示。圖3-1頻率計(jì)硬件系統(tǒng)框圖等精度數(shù)字頻率計(jì)的系統(tǒng)電路設(shè)計(jì)單片機(jī)與外圍電路的設(shè)計(jì)單片機(jī)系統(tǒng)及外圍電路如圖3-2所示。圖中START為開關(guān)按鈕,按下時(shí)開關(guān)將使程序轉(zhuǎn)入選擇顯示頻率的值,否那么顯示狀態(tài)為零。S13為按鈕開關(guān),按下此開關(guān)那么將程序載入可編程邏輯器件CPLD中。ISP為程序下載接口,其作用是將PC機(jī)上調(diào)試好的程序經(jīng)編譯后寫入單片機(jī)內(nèi)程序儲(chǔ)存器中。所接按鈕開關(guān),其作用是按下按鈕開關(guān)啟動(dòng)T0計(jì)數(shù)。、所接按鈕開關(guān),其作用是進(jìn)入顯示狀態(tài)。圖3-2單片機(jī)系統(tǒng)電路設(shè)計(jì)3.2.2單片機(jī)與顯示電路接口如圖3-4所示,其中六位共陰極LED有6根位選線和6×8根段選線。由段選線控制字符的選擇,而位選線有效時(shí),控制該顯示位的點(diǎn)亮。圖中,接入8510Ω阻排是為了增強(qiáng)驅(qū)動(dòng)能力,當(dāng)573輸出為低電平時(shí),阻排各電阻中流過的電流灌入573的輸出端,顯示器不被點(diǎn)亮,當(dāng)573輸出高電平的時(shí),位選為低電平的顯示器被點(diǎn)亮,通常顯示二極管點(diǎn)亮?xí)r,壓將為1.6V左右,加上1413的低電平0.3V,使573的輸出被嵌位在2V左右,而電流那么是由573的輸出電流和阻排電流共同供應(yīng)約6mA左右。這樣接法比擬實(shí)用,阻排接入也比擬簡(jiǎn)單。如果將74LS573換成74HC573阻排也可以不接。因?yàn)?4HC573的高電平輸出根本就可提供6mA的拉電流。如果不想讓573的邏輯電平下降到2V左右,而保持到3V以上那么應(yīng)采用串入電阻后接三極管射級(jí)跟隨的方法驅(qū)動(dòng)。段地址:8000H~BFFFH位地址:4000H~7FFFH片選/Y0:C000H~C7FFFH;/Y3:D800H~DFFFH;片選/Y1:C800H~CFFFH;/Y4:E000H~E7FFFH;片選/Y2:D000H~D7FFFH;/Y5:E800H~EFFFH;圖3-47段LED顯示接口CPLD與單片機(jī)的接口設(shè)計(jì)1.CPLD與單片機(jī)的接口設(shè)計(jì)如圖3-5所示圖3-5CPLD與單片機(jī)的接口設(shè)計(jì)2.CPLD測(cè)量頻率模塊邏輯設(shè)計(jì)圖3-6中,框外D觸發(fā)器、兩個(gè)反相器和過零比擬器組成輸入信號(hào)調(diào)理電路,其中輸入信號(hào)經(jīng)比擬器輸出后變?yōu)榉讲ㄐ盘?hào),為了使方波的上升沿和下降沿陡峭,后面又加了兩個(gè)斯密特反向器,整形后作為預(yù)置閘門的同步信號(hào)。圖3-6CPLD測(cè)量頻率模塊的整體框中內(nèi)容為CPLD所實(shí)現(xiàn)的邏輯功能,邏輯電路的寫入方法采用在調(diào)試軟件:QuartusII5.0下輸入邏輯電路圖,然后經(jīng)編譯后,直接生成代碼,經(jīng)JTAG下載。3.3測(cè)量電路設(shè)計(jì)測(cè)電阻Rx的RC振蕩電路圖3-3是一由555電路構(gòu)成的多諧振蕩電路。它的振蕩周期為:即圖3-3測(cè)電阻的RC振蕩電路為了使振蕩頻率保持在1MkHZ以內(nèi)這一頻率計(jì)計(jì)數(shù)的高精度范圍內(nèi),需選擇適宜的值和值。同時(shí)不使電阻功耗太大,選擇:=200Ω,;當(dāng)=100Ω時(shí):當(dāng)RX=1MΩ時(shí):3.3.2如圖3-4,測(cè)量CX的RC振蕩電路與測(cè)RX的振蕩電路完全一樣。假設(shè)R1=R2,那么圖3-4測(cè)量電容的RC振蕩電路選擇R1=R2=100KΩ,當(dāng)CX=100時(shí):當(dāng)CX=10000時(shí):3.測(cè)LX的電容三點(diǎn)式振蕩電路如圖3-5,在這個(gè)電容三點(diǎn)式振蕩電路中,C1、C2分別采用1000pF和1000pF的獨(dú)石電容,其電容值遠(yuǎn)大于晶體管極間電容,可以把極間電容忽略。根據(jù)振蕩頻率公式: ,其中 對(duì)于100H的電感 由于單片采用12MHz晶振晶,最快只能計(jì)幾百kHz的頻率,因此在測(cè)電感這一檔時(shí),應(yīng)分頻后再送單片機(jī)計(jì)數(shù)。圖3-5測(cè)量電感Lx的電容三點(diǎn)式振蕩電路4.測(cè)試系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)軟件的總體流程圖圖4-1系統(tǒng)軟件的總體流程圖不管是電阻、電容還是電感,都是轉(zhuǎn)為頻率后再測(cè)量的,因此頻率或周期的測(cè)量是本軟件的核心,其精度會(huì)直接影響到本儀表的精度。頻率或周期的測(cè)量可以利用頻率計(jì)的功能來實(shí)現(xiàn)頻率計(jì)數(shù)。如圖4-2所示,通過選擇開關(guān)選擇被測(cè)量的參數(shù),其中P1.2、P1.3、P1.4分別對(duì)應(yīng)電阻、電容和電感。圖4-2選擇開關(guān)頻率計(jì)數(shù)的軟件流程圖如圖4-3所示。圖4-3頻率計(jì)數(shù)的軟件流程頻率計(jì)數(shù)的源程序#include<reg52.h>#include<stdio.h>#include<absacc.h>#defineucharunsignedchar#defineSEGMENTXBYTE[0x1000]#defineBIT_LEDXBYTE[0x2000]#defineCOUNT1XBYTE[0x2800] //定義6個(gè)數(shù)據(jù)鎖存區(qū)的地址#defineCOUNT2XBYTE[0x2000]#defineCOUNT3XBYTE[0xd800]#defineCOUNT4XBYTE[0xd000]#defineCOUNT5XBYTE[0xc800]#defineCOUNT6XBYTE[0xc000]sbitCTRL=P1^1; //定義門控信號(hào)sbitSTART=P1^4; //定義啟動(dòng)信號(hào)sbitR=P1^2; //定義門控信號(hào)sbitC=P1^3; //定義門控信號(hào)unsignedget_code(unsignedchari);unsignedintcount=0,K1,K2,K3;unsignedcharb[6];chara[6]; //定義2個(gè)緩沖區(qū)數(shù)組voidtime0_init() //定時(shí)器0初始化{ TMOD=0x01; TL0=0xb0; TH0=0x3c; ET0=1;}unsignedget_code(unsignedchari)//段碼值表{unsignedcharp;switch(i){ case0:p=0x3f;break;//'0' case1:p=0x06;break;//'1' case2:p=0x5b;break;//'2' case3:p=0x4f;break;//'3' case4:p=0x66;break;//'4' case5:p=0x6d;break;//'5' case6:p=0x7d;break;//'6' case7:p=0x07;break;//'7' case8:p=0x7f;break;//'8' case9:p=0x67;break;//'9' default:break; } return(p);}voidtime0_int(void)interrupt1 //定時(shí)器0中斷函數(shù){ count++; TL0=0xb0; TH0=0x3c;}voiddelay(unsignedinttime)//延時(shí)函數(shù){ while(time--);}main(){ ucharj=0,k; uchari=1; CTRL=0; //復(fù)位門控信號(hào) time0_init(); //初始化定時(shí)器 EA=1;while(START); //查詢是否有啟動(dòng)信號(hào)while(!START);delay(1000000);//延時(shí)1sTR0=1;TL0=0xb0;TH0=0x3C;count=0;CTRL=1; //開啟門控信號(hào)while(count!=20);//延時(shí)1000msCTRL=0;TR0=0;TL0=0xb0;TH0=0x3c;a[0]=COUNT1; //從數(shù)據(jù)鎖存區(qū)讀回計(jì)數(shù)值a[1]=COUNT2;a[2]=COUNT3; a[3]=COUNT4; a[4]=COUNT5; a[5]=COUNT6; b[0]=a[2]>>4; //將計(jì)數(shù)值送入數(shù)組,以便查詢相應(yīng)段碼 b[1]=a[2]&0x0f; b[2]=a[1]>>4; b[3]=a[1]&0x0f; b[4]=a[0]>>4; b[5]=a[0]&0x0f;result=b[0]+b[1]*10+b[2]*100+b[3]*1000+b[4]*10000+b[5]*100000;if(R=0){result=result/K1; b[0]=result/100000%10; b[1]=result/10000%10; b[2]=result/1000%10; b[3]=result/100%10; b[4]=result/10%10; b[5]=result%10;} elseif(C=0) { result=result/K2;b[0]=result/100000%10; b[1]=result/10000%10; b[2]=result/1000%10; b[3]=result/100%10; b[4]=result/10%10; b[5]=result%10; } else{ result=result/K3;b[0]=result/100000%10; b[1]=result/10000%10; b[2]=result/1000%10; b[3]=result/100%10; b[4]=result/10%10; b[5]=result%10; }while(1) //通過LED動(dòng)態(tài)顯示計(jì)數(shù)值 { k=b[j]; BIT_LED=i;SEGMENT=get_code(k);j++; i=i<<1; delay(200); if(i==0x40) {i=1; j=0; }}}調(diào)試儀器:方波發(fā)生器和示波器,調(diào)試工具:1.調(diào)試軟件:Keil51,ISP燒寫線〔單片機(jī)調(diào)試用〕2.調(diào)試軟件:QuartusII5.0〔CPLD編程用〕,JTAG下載線考前須知:用示波器或數(shù)字表測(cè)試CPLD的管腳時(shí),盡量不在CPLD的管座上直接測(cè)量,以免造成接觸不良。硬件調(diào)試方法將系統(tǒng)劃分成假設(shè)干個(gè)功能模塊,并編寫簡(jiǎn)單的測(cè)試程序,驗(yàn)證系統(tǒng)硬件設(shè)計(jì)的正確性。本系統(tǒng)劃分為以下五個(gè)功能模塊:振蕩器模塊、單片機(jī)最小系統(tǒng)、顯示系統(tǒng)、CPLD中的計(jì)數(shù)、控制局部和輸入調(diào)理局部。調(diào)試1.振蕩器模塊調(diào)試根據(jù)第3章圖,分別用示波器進(jìn)行調(diào)試,看是否起振。2.根據(jù)原理圖焊接單片機(jī)最小系統(tǒng),并檢測(cè)系統(tǒng)晶振是否正常運(yùn)作〔示波器〕晶振頻率為12M,用示波器檢測(cè)晶振管腳信號(hào)和ALE有無即是否正常。3.根據(jù)原理圖焊接CPLD管座,檢查無誤后,插入CPLD,給CPLD內(nèi)寫片選邏輯,CPLD片選邏輯如圖5-1所示,用寫入CPLD,調(diào)試LED。圖5-1CPLD片選邏輯調(diào)試LED步驟如下:1〕給單片機(jī)寫入簡(jiǎn)單的循環(huán)執(zhí)行程序,檢查段選和位選信號(hào)控制信號(hào)是否正常該調(diào)試程序如下:#include<reg52.h>#include<stdio.h>#include<absacc.h>#defineSEGMENTXBYTE[0x1000] //定義段選地址#defineBIT_LEDXBYTE[0x2000] //定義位選地址main(){while(1) { BIT_LED=0x01; //任意給一位選地址SEGMENT=0x3f; //任意給一段選地址 }}結(jié)果:示波器上可連續(xù)顯示位和段選信號(hào),說明控制邏輯正常2〕給段碼寫入“8”,逐次從最高位向右改變位碼地址,每次使選中位LED點(diǎn)亮,并顯示數(shù)字“該調(diào)試程序如下:#include<reg52.h>#include<stdio.h>#include<absacc.h>#defineSEGMENTXBYTE[0x1000]//定義段選地址#defineBIT_LEDXBYTE[0x2000]//定義位選地址main(){while(1) { BIT_LED=0x01; //位選第一個(gè)LEDSEGMENT=0x7f; //段碼值給“ }} 依次編譯并執(zhí)行BIT_LED賦值0x01,0x02,0x04,0x08,0x10,0x20,使位碼地址從高位到低位改變,分別觀察LED顯示結(jié)果。完成以上2步證明硬件正常3〕在單片機(jī)中開辟顯示緩沖區(qū),并將給定數(shù)字“654321”完成該步驟說明顯示器工作正常,顯示子程序也工作正常該調(diào)試程序如下:#include<reg52.h>#include<stdio.h>#include<absacc.h>#defineucharunsignedchar#defineSEGMENTXBYTE[0x1000]//定義段選地址#defineBIT_LEDXBYTE[0x2000]//定義位選地址unsignedcharb[6]; //定義緩沖區(qū)數(shù)組unsignedget_code(unsignedchari) //段碼值表{unsignedcharp;switch(i){ case0:p=0x3f;break;//'0' case1:p=0x06;break;//'1' case2:p=0x5b;break;//'2' case3:p=0x4f;break;//'3' case4:p=0x66;break;//'4' case5:p=0x6d;break;//'5' case6:p=0x7d;break;//'6' case7:p=0x07;break;//'7' case8:p=0x7f;break;//'8' case9:p=0x67;break;//'9' default:break; } return(p);}voidmain(){ uchari=1,j=0,k,n;b[0]=6; //將給定數(shù)字寫入數(shù)組 b[1]=5; b[2]=4; b[3]=3; b[4]=2; b[5]=1;while(1) //動(dòng)態(tài)顯示數(shù)組中的給定數(shù)字 { k=b[j]; BIT_LED=i;//給位碼值SEGMENT=get_code(k);//給段碼值j++; i=i<<1; if(i==0x40) {i=1; j=0; }for(n=0;n<200;n++); }}4.調(diào)同步邏輯在MSC-51中編寫給定脈寬“1000ms〞的門控信號(hào),輸入1KHz信號(hào),觀察同步脈寬用示波器觀察同步后的同步給定脈沖,說明該同步脈沖為1s該調(diào)試程序如下:#include<reg52.h>#include<stdio.h>#include<absacc.h>#defineucharunsignedcharsbitCTRL=P1^1; //定義門控信號(hào)sbitSTART=P1^4; //定義啟動(dòng)信號(hào)unsignedget_code(unsignedchari);unsignedintcount=0;voidtime0_init() //定時(shí)器0初始化{ TMOD=0x01;//把工作方式控制字寫入TMOD存放器中; TL0=0xb0;//定時(shí)器初值 TH0=0x3c;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度EPS環(huán)保設(shè)施施工合同
- 凝血系統(tǒng)課件教學(xué)課件
- 2024年度婚姻心理咨詢服務(wù)協(xié)議
- 2024年全球互聯(lián)網(wǎng)金融服務(wù)協(xié)議
- 2024年廢舊書籍收購協(xié)議
- 2024代理授權(quán)協(xié)議合同租房合同模板
- 洗手絹課件教學(xué)課件
- 2024年度通信網(wǎng)絡(luò)建設(shè)與維護(hù)合同
- 2024機(jī)械使用合同
- (2024版)網(wǎng)絡(luò)安全系統(tǒng)設(shè)計(jì)與實(shí)施合同
- 區(qū)塊鏈在信息安全中的應(yīng)用
- 軍事體育訓(xùn)練傷病預(yù)防課件
- JCT2094-2011 干壘擋土墻用混凝土砌塊
- 前端開發(fā)生涯人物訪談報(bào)告
- 農(nóng)藥采購及配送服務(wù)方案(技術(shù)標(biāo))
- 《紅色經(jīng)典故事》課件
- 公司青馬工程總結(jié)經(jīng)驗(yàn)亮點(diǎn)
- 《夏天里的成長》語文教學(xué)PPT課件(6篇)
- 《智能電表介紹》課件
- 教科版(2023秋)小學(xué)科學(xué) 五年級(jí)上冊(cè) 第三單元 計(jì)量時(shí)間 單元提升卷(含答案)
- 16PF人格測(cè)試量表
評(píng)論
0/150
提交評(píng)論