低頻數(shù)字式相位測(cè)量?jī)x設(shè)計(jì)【畢業(yè)論文】_第1頁(yè)
已閱讀1頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p>  本科畢業(yè)論文(設(shè)計(jì))</p><p><b> ?。ǘ?屆)</b></p><p>  低頻數(shù)字式相位測(cè)量?jī)x設(shè)計(jì)</p><p>  所在學(xué)院 </p><p>  專業(yè)班級(jí) 電氣工程及其自動(dòng)化 </p>

2、<p>  學(xué)生姓名 學(xué)號(hào) </p><p>  指導(dǎo)教師 職稱 </p><p>  完成日期 年 月 </p><p><b>  摘 要</b></p><p>  本系統(tǒng)是以

3、AT89S51單片機(jī)為核心的一個(gè)相位測(cè)量?jī)x,整個(gè)系統(tǒng)由移相網(wǎng)絡(luò)和相位測(cè)量?jī)x兩部分組成。</p><p>  數(shù)字式相位測(cè)量?jī)x實(shí)現(xiàn)了對(duì)20Hz到10KHz的峰-峰值為1V到5V的正弦信號(hào)、方波信號(hào)等信號(hào)進(jìn)行精確的測(cè)頻、測(cè)相的功能;移相網(wǎng)絡(luò)則采用RC移相網(wǎng)絡(luò)來(lái)實(shí)現(xiàn),在100Hz、1KHz、10KHz三種情況下,可以實(shí)現(xiàn)最大相移±45°的調(diào)整。相位測(cè)量?jī)x由信號(hào)處理模塊、單片機(jī)模塊和數(shù)碼管顯示模塊組成

4、,對(duì)20Hz到10KHz信號(hào)進(jìn)行頻率和相位差的測(cè)量,而被測(cè)信號(hào)的相位差、頻率則是通過(guò)LED數(shù)碼管顯示。</p><p>  整個(gè)系統(tǒng)設(shè)計(jì)硬件結(jié)構(gòu)簡(jiǎn)單,軟件采用C51語(yǔ)言實(shí)現(xiàn),程序簡(jiǎn)單可讀性強(qiáng),效率高。與傳統(tǒng)的電路系統(tǒng)相比,具有處理速度快、穩(wěn)定性高、性價(jià)比高的特點(diǎn)。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī);頻率;相位測(cè)量;相位差</p><p><b>  Ab

5、stract</b></p><p>  The system is a phase meter based on microcontroller AT89S51, and is composed of two parts: Phase Shift Module and Phase Measurement Module. </p><p>  The digital phase

6、 meter achieves to accurately measure frequency and phase for sinusoidal signal and square wave signal with the frequency from 20Hz to 10KHz, the peak from -1V to 5V. Phase Shift Module is achieved by using RC phase shif

7、t networks, and it can achieve maximum phase shift of ±45° at the frequency of 100Hz, 1KHz and 10KHz. Phase Measurement Module is composed of signal processing circuit, single-chip microcomputer circuit and dig

8、ital display circuit, and to measure frequency and ph</p><p>  The system has simple hardware structure and uses C51 language for software, the program is simple, readable and efficient. Compared with the co

9、nventional circuit system, the system has the features of high processing speed, high stability and cost-effective.</p><p>  Key Words: Microcontroller; Frequency; Phase Measure; Phase Difference</p>

10、<p><b>  目 錄</b></p><p><b>  1 概述1</b></p><p><b>  1.1引言1</b></p><p>  1.2 課題的主要內(nèi)容和基本要求2</p><p><b>  2 總體設(shè)計(jì)3</b&

11、gt;</p><p><b>  2.1移相網(wǎng)絡(luò)3</b></p><p>  2.2數(shù)字式相位測(cè)量?jī)x5</p><p><b>  3 硬件設(shè)計(jì)8</b></p><p><b>  3.1移相網(wǎng)絡(luò)8</b></p><p>  3.2 數(shù)字

12、式相位測(cè)量?jī)x12</p><p>  3.2.1 信號(hào)處理模塊13</p><p>  3.2.2 單片機(jī)模塊17</p><p>  3.2.3 LED數(shù)碼管顯示模塊18</p><p><b>  4 軟件設(shè)計(jì)22</b></p><p>  4.1 主程序22</p>

13、<p>  4.2 測(cè)量時(shí)間差、周期子程序23</p><p>  4.3 HD7279讀、寫子程序子程序24</p><p>  5 制作和調(diào)試27</p><p>  5.1 硬件部分的制作和調(diào)試27</p><p>  5.2 軟件部分的制作和調(diào)試27</p><p><b> 

14、 6 結(jié)論28</b></p><p>  致 謝錯(cuò)誤!未定義書簽。</p><p><b>  參考文獻(xiàn)29</b></p><p>  附錄1 系統(tǒng)實(shí)物圖30</p><p>  附錄2 實(shí)驗(yàn)原理圖31</p><p>  附錄3 程序清單32</p>

15、;<p><b>  1 概述</b></p><p><b>  1.1引言</b></p><p>  隨著科學(xué)技術(shù)的突飛猛進(jìn)的發(fā)展,電子技術(shù)廣泛的應(yīng)用于工業(yè)、農(nóng)業(yè)、交通運(yùn)輸、航空航天、國(guó)防建設(shè)等國(guó)民經(jīng)濟(jì)的諸多領(lǐng)域中,而電子測(cè)量技術(shù)又是電子技術(shù)中進(jìn)行信息檢測(cè)的重要手段,在現(xiàn)代科學(xué)技術(shù)中占有舉足輕重的作用和地位。</p&g

16、t;<p>  低頻數(shù)字式相位測(cè)試儀在工業(yè)領(lǐng)域中是經(jīng)常用到的一般測(cè)量工具,比如在電力系統(tǒng)中電網(wǎng)并網(wǎng)合閘時(shí),要求兩電網(wǎng)的電信號(hào)相同,這就要求精確的測(cè)量?jī)晒ゎl信號(hào)之間的相位差。還有測(cè)量?jī)闪型l信號(hào)的相位差在研究網(wǎng)絡(luò)、系統(tǒng)的頻率特性中具有重要意義[1]。</p><p>  相位差是工業(yè)測(cè)控領(lǐng)域經(jīng)常需要測(cè)量的參數(shù),如電力系統(tǒng)中功率因數(shù)的測(cè)量、鐵路系統(tǒng)中相敏軌道電路相位差的測(cè)量以及科氏質(zhì)量流量計(jì)中的相位差測(cè)

17、量等等。而相位差的測(cè)量又不同于傳統(tǒng)的電壓、電流信號(hào)或物位、溫度量的測(cè)量。首先,相位差信號(hào)依附于電壓、電流信號(hào)中,如何剔除電壓、電流、頻率變化對(duì)相位差測(cè)量的影響是相位差測(cè)量中很重要的一個(gè)方面;其次相位差是一個(gè)比較量,測(cè)量?jī)陕沸盘?hào)之間的相位差不僅需要保證兩路信號(hào)的頻率相同,而且要排除由于兩路信號(hào)的幅值等其它因素不一致而對(duì)測(cè)量造成的影響[2-3]。因此,如何準(zhǔn)確可靠地測(cè)量相位差是值得研究的課題。</p><p>  目

18、前新制造的相位測(cè)量?jī)x一般都是采用數(shù)字化方法設(shè)計(jì)的。常用的設(shè)計(jì)方法有采用單片機(jī)、可編程邏輯器件CPLD或FPGA和DSP。現(xiàn)在隨著集成電路的發(fā)展,很多測(cè)量?jī)x逐漸向“智能儀器”和“自動(dòng)測(cè)試系統(tǒng)”發(fā)展,這使得儀器的使用比較簡(jiǎn)單,功能越來(lái)越多。</p><p>  本設(shè)計(jì)就是以單片機(jī)為核心的一個(gè)相位測(cè)量?jī)x,整個(gè)系統(tǒng)分為移相網(wǎng)絡(luò)和數(shù)字式相位測(cè)量?jī)x兩部分。系統(tǒng)的原理是由信號(hào)發(fā)生器產(chǎn)生同頻率但不同相位的信號(hào),再將這兩個(gè)同頻不同

19、相位的正弦波通過(guò)整形,變成方波,然后測(cè)量其中一個(gè)方波的周期,從而得到兩輸入信號(hào)的頻率;再測(cè)量?jī)煞讲ㄟ^(guò)零時(shí)間差,通過(guò)計(jì)算獲得信號(hào)的相位差。再通過(guò)單片機(jī)編程,將相位差在LED數(shù)碼管中顯示出來(lái)。</p><p>  1.2 課題的主要內(nèi)容和基本要求</p><p>  首先,制作一個(gè)模擬移相網(wǎng)絡(luò),滿足下列要求:</p><p>  a.輸入信號(hào)頻率:100Hz、1kHz、

20、10kHz。</p><p>  b.連續(xù)相移范圍:-45°~+45°。 </p><p>  c.輸出的正弦信號(hào)峰-峰值可分別在1V~5V范圍內(nèi)變化。</p><p>  在此基礎(chǔ)上,利用單片機(jī)設(shè)計(jì)并制作一個(gè)低頻數(shù)字式相位測(cè)量?jī)x,性能要求如下:</p><p>  a.頻率范圍:20Hz~10kHz。 </p>

21、;<p>  b.相位測(cè)量絕對(duì)誤差≤2°。</p><p>  c.具有頻率測(cè)量及數(shù)字顯示功能。 </p><p>  d.相位差數(shù)字顯示:相位讀數(shù)為0°-359.9°,分辨率為0.1°。</p><p><b>  2 總體設(shè)計(jì)</b></p><p>  本設(shè)計(jì)以

22、AT89S51單片機(jī)為核心,構(gòu)成低頻相位測(cè)量?jī)x。它具有移相、頻率和相位測(cè)量?jī)纱蠊δ?。移相電路由移相網(wǎng)絡(luò)和信號(hào)放大電路組成,對(duì)固定頻率信號(hào)100Hz、1KHz、10KHz可實(shí)現(xiàn)-45°~+45°的相移;頻率、相位測(cè)量電路由阻抗變換電路、整形電路、計(jì)數(shù)器電路、顯示電路組成,對(duì)20Hz~10KHz信號(hào)進(jìn)行頻率和相位測(cè)量。單片機(jī)系統(tǒng)是整個(gè)硬件系統(tǒng)的核心,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器,并完成對(duì)最終顯示的控制??傮w

23、設(shè)計(jì)框圖如圖2-1所示。</p><p>  圖2-1 總體設(shè)計(jì)框圖</p><p><b>  2.1移相網(wǎng)絡(luò)</b></p><p>  移相網(wǎng)絡(luò)有數(shù)字移相網(wǎng)絡(luò)和模擬移相網(wǎng)絡(luò)兩種。</p><p><b>  方案一:數(shù)字移相</b></p><p>  單片機(jī)或CPLD

24、控制高速ADC,對(duì)一個(gè)周期內(nèi)的信號(hào)進(jìn)行多次采樣,將數(shù)據(jù)保存在高速RAM中。然后根據(jù)需要移相的大小,對(duì)量化數(shù)據(jù)的地址加上一個(gè)相位偏移量后輸出。該方案的優(yōu)點(diǎn)是相移量可以很大(0°~360°都可),并且精度高,數(shù)字控制方便。但是一個(gè)周期內(nèi)需要采樣較多點(diǎn),對(duì)ADC速度、RAM速度要求很高。數(shù)字移相有三種方法:</p><p>  方法一:用傳統(tǒng)的直接頻率合成器</p><p>

25、  采用傳統(tǒng)的直接頻率合成器,再通過(guò)移相網(wǎng)絡(luò)實(shí)現(xiàn)移相輸出。這種方法能快速實(shí)現(xiàn)頻率變換,具有低相位噪聲的優(yōu)點(diǎn),是所有方法中最高的工作頻率。但由于采用大量的倍頻、分頻、混頻和濾波及移相環(huán)節(jié),導(dǎo)致結(jié)構(gòu)復(fù)雜,成本高,容易產(chǎn)生雜散分量,并且難以實(shí)現(xiàn)相位差1°精度[4]。</p><p>  方法二:地址生成器與外ROM構(gòu)成的信號(hào)發(fā)生器</p><p>  將正弦波的采樣點(diǎn)存在外ROM中,當(dāng)

26、單片機(jī)向地址發(fā)生器發(fā)出控制信號(hào)后,地址發(fā)生器便以輸入數(shù)值為初始值進(jìn)行地址累加。外ROM便根據(jù)輸入的地址輸出存儲(chǔ)的正弦波,再經(jīng)過(guò)D/A轉(zhuǎn)換和整流電路后,輸出模擬正弦波A。同理,另一通道輸出同頻率的模擬正弦波B。改變單片機(jī)的控制信號(hào)的時(shí)間就改變了輸出信號(hào)的頻率,改變兩個(gè)地址生成器的初始地址就改變了輸出新號(hào)的相位差[5]。</p><p>  方法三:采用直接數(shù)字頻率合成器(DDFS)</p><p

27、>  采用直接數(shù)字頻率合成器(DDFS),它主要由相位累加器、波形表、D/A輸出、低通濾波器四部分組成。采用這種純數(shù)字化的方法,產(chǎn)生信號(hào)的頻率準(zhǔn)確、頻率分辨率高,輸出相位連續(xù),頻率、相位和幅度均可實(shí)現(xiàn)程控[6]。</p><p><b>  方案二:模擬移相。</b></p><p>  由于只要實(shí)現(xiàn)- 45°~+ 45°的相移要求,考慮到實(shí)

28、現(xiàn)難易程度,決定采用R、C移相網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)相位的偏移。電路圖如圖2-2所示。</p><p> ?。╝)超前網(wǎng)絡(luò) (b)滯后網(wǎng)絡(luò)</p><p> ?。╟) (d)</p><p>  圖2-2 移相網(wǎng)絡(luò)電路原理圖</p><p&g

29、t;  對(duì)于相位超前RC網(wǎng)絡(luò): (2-1)</p><p>  對(duì)于相位滯后RC網(wǎng)絡(luò): (2-2)</p><p>  它們對(duì)應(yīng)得相頻特性分別為: (2-3)</p><p><b> ?。?-4)</b></p>

30、<p>  理論上要實(shí)現(xiàn)相移范圍為- 45°~+ 45°,則要求,,也就是說(shuō),都為1。</p><p>  2.2數(shù)字式相位測(cè)量?jī)x</p><p>  從功能角度來(lái)看,相位測(cè)量?jī)x要完成信號(hào)頻率的測(cè)量和相位差的測(cè)量。相位測(cè)量?jī)x有兩路輸入信號(hào),也是被測(cè)信號(hào),它們是同頻率的正弦信號(hào),頻率范圍為20Hz—20KHz,令正弦電信號(hào)為:</p><

31、p><b>  (2-5)</b></p><p>  其中,稱為振幅(最大值),且,A稱為有效值;稱為相位,稱為初相位,稱為角頻率。、、稱為正弦量的三要素。</p><p>  只有兩個(gè)同頻率的(正弦)信號(hào),才有相位差的概念。不妨令兩個(gè)同頻率的正弦信號(hào)為:</p><p><b>  (2-6)</b></p

32、><p><b>  (2-7)</b></p><p>  則相位差,由此可以看出,相位差在數(shù)值上等于初相位之差,是一個(gè)角度。</p><p>  測(cè)量相位差有兩種方案:</p><p>  方案一:相位-電壓轉(zhuǎn)換法</p><p>  波形圖如圖2-3,將兩個(gè)頻率相同,相位差為的被測(cè)正弦信號(hào),經(jīng)限

33、幅放大和脈沖整形后變成兩個(gè)方波,在經(jīng)微分得到兩個(gè)對(duì)應(yīng)被測(cè)信號(hào)負(fù)向過(guò)零瞬間的尖脈沖,利用非飽和型高速雙穩(wěn)態(tài)電路將這兩組負(fù)脈沖所觸發(fā),輸出周期為T、寬度為Tx的方波,若方波幅度為Ug,則此方波的平均值為:</p><p><b> ?。?-8)</b></p><p>  因此,用低通濾波器將方波中的基波和諧波分量全部濾除后,輸出電壓即直流電壓Uo。上式中T為被測(cè)信號(hào)的周

34、期,Tx由兩信號(hào)的相位差決定。</p><p>  因?yàn)檎倚盘?hào)與正弦信號(hào)的相位差為,也就是時(shí)間上差Tx,所以Tx與的關(guān)系為:</p><p><b> ?。?-9)</b></p><p><b>  即:U1</b></p><p><b>  (2-10)</b><

35、/p><p>  將公式(2-8)代入上式得</p><p><b> ?。?-11)</b></p><p>  方案二:相位-時(shí)間轉(zhuǎn)換法</p><p>  波形圖如圖2-4,首先將頻率相同,相位不同的正弦信號(hào)通過(guò)過(guò)零比較器轉(zhuǎn)變成方波信號(hào),然后進(jìn)行與運(yùn)算,產(chǎn)生脈寬為Tx、周期為T的另一方波,若計(jì)算時(shí)鐘脈沖周期為Tc,則在

36、Tx時(shí)間內(nèi)的計(jì)數(shù)數(shù)值為:</p><p><b> ?。?-12)</b></p><p>  所以即為相位差的讀數(shù)。</p><p>  縱觀上述兩種方案,方案一是將相位差信號(hào)轉(zhuǎn)變?yōu)殡妷盒盘?hào)進(jìn)行測(cè)量,對(duì)單一頻率信號(hào)的相位檢測(cè)時(shí),相位差信號(hào)與電壓信號(hào)之間存在唯一對(duì)應(yīng)關(guān)系,電壓的高低反應(yīng)了相位的大小,但當(dāng)輸入的信號(hào)頻率在一定范圍可變時(shí),此方法不適

37、用。原因有二:一是相位變化會(huì)引起輸出電壓信號(hào)Uo的變化,二是頻率變化也會(huì)影響輸出信號(hào)Uo的變化。 所以對(duì)于20Hz-10KHz 范圍內(nèi)的信號(hào)檢測(cè)系統(tǒng)的輸出Uo與被測(cè)信號(hào)的相位之間不存在唯一對(duì)應(yīng)關(guān)系。方案二是將相位差信號(hào)轉(zhuǎn)變?yōu)闀r(shí)間信號(hào)進(jìn)行測(cè)量,相位差與(Tx/T)之間始終著一一對(duì)應(yīng)關(guān)系,因此不管頻率如何變化,只要測(cè)量出(Tx/T)大小,相位差的大小也就確定了[7]。</p><p>  圖2-3 相位-電壓轉(zhuǎn)換波形

38、 圖2-4相位-時(shí)間轉(zhuǎn)換波形</p><p><b>  3 硬件設(shè)計(jì)</b></p><p>  本系統(tǒng)硬件主要有兩個(gè)模塊組成:移相網(wǎng)絡(luò)和數(shù)字式相位測(cè)量?jī)x。</p><p><b>  3.1移相網(wǎng)絡(luò)</b></p><p>  圖3-1 移相網(wǎng)絡(luò)電路圖</p>

39、<p>  移相網(wǎng)絡(luò)的電路如圖3-1所示。輸入信號(hào)經(jīng)過(guò)兩個(gè)RC網(wǎng)絡(luò)后一路超前于輸入信號(hào),一路滯后于輸入信號(hào),并分別輸入給兩個(gè)運(yùn)放構(gòu)成的電壓跟隨器,當(dāng)電位器調(diào)到頂端時(shí),滯后信號(hào)占主導(dǎo)地位;當(dāng)電位器調(diào)至底端時(shí),超前信號(hào)占主導(dǎo)地位。</p><p>  根據(jù)題目要求,移相網(wǎng)絡(luò)輸入信號(hào)的頻率有3個(gè)值,需要搭接3個(gè)不同的移相網(wǎng)絡(luò),由撥碼開關(guān)控制。下面進(jìn)行參數(shù)的粗略計(jì)算,各參數(shù)取值由下所示。</p>

40、<p> ?。?) (3-1)</p><p>  取=0.033,則=482</p><p> ?。?) (3-2)</p><p>  取=0.1,則=1.59</p><p> ?。?)

41、 (3-3)</p><p>  取=0.33,則=4.77</p><p>  調(diào)節(jié)電位器R1可以改變輸出的相位,調(diào)節(jié)電位器R2和R3,可以改變輸出相位的幅值。</p><p>  該電路中的LM324是四運(yùn)放集成電路,它采用14腳雙列直插塑料封裝,內(nèi)部包含四組完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。每一組運(yùn)算放大器可用圖

42、3-2所示的符號(hào)來(lái)表示,它有5個(gè)引腳,其中“+”、“-”為兩個(gè)信號(hào)輸入端,“V+”、“V-”為正、負(fù)電源端,“Vo”為輸出端。兩個(gè)信號(hào)輸入端中,Vi-(-)為反相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的位相反;V+(+)為同相輸入端,表示運(yùn)放輸出端Vo的信號(hào)與該輸入端的相位相同。LM324的引腳排列見圖3-3。</p><p>  圖3-2 每一級(jí)運(yùn)算放大器 圖3-3 LM

43、324引腳排列</p><p>  仿真軟件采用Multisim 8,仿真電路圖如圖3-4所示。本系統(tǒng)有三個(gè)輸入頻率10KHz、1KHz和100Hz,輸入不同頻率時(shí),只要修改相應(yīng)R、C的參數(shù)就可以了。在以下六幅仿真圖片中,藍(lán)色的波形是A輸出的信號(hào),黃色的波形是B輸出的信號(hào)。滯后網(wǎng)絡(luò)時(shí)電位器RW1調(diào)至頂端,超前網(wǎng)絡(luò)時(shí)電位器RW1調(diào)至底端。</p><p>  圖3-4 移相網(wǎng)絡(luò)仿真電路圖&l

44、t;/p><p>  圖3-5 f=10KHz時(shí)的超前網(wǎng)絡(luò)</p><p>  圖3-6 f=10KHz時(shí)的滯后網(wǎng)絡(luò)</p><p>  圖3-7 f=1KHz時(shí)的超前網(wǎng)絡(luò)</p><p>  圖3-8 f=1KHz時(shí)的滯后網(wǎng)絡(luò)</p><p>  圖3-9 f=100Hz時(shí)的超前網(wǎng)絡(luò)</p><p&g

45、t;  圖3-10 f=100Hz時(shí)的滯后網(wǎng)絡(luò)</p><p>  圖3-11 電位器RW1調(diào)至中間時(shí)輸出波形</p><p>  當(dāng)電位器RW1調(diào)至中間處時(shí),不管輸入信號(hào)的頻率是10KHz、1KHz或者是100Hz,A輸出和B輸出的波形完全一致,如圖3-11所示。移相網(wǎng)絡(luò)測(cè)試數(shù)據(jù)見表3-1。</p><p>  表3-1 移相網(wǎng)絡(luò)測(cè)試數(shù)據(jù)</p>

46、<p>  結(jié)果分析:由表3-1所見,輸入頻率為100Hz和1KHz時(shí),移相范圍達(dá)到了要求(-45°~+45°)。當(dāng)輸入頻率為10KHz時(shí),最小相位差沒有達(dá)到要求。主要是電路中選擇的電阻跟理論值存在誤差,另外,電容對(duì)波形也存在一定的影響。</p><p>  3.2 數(shù)字式相位測(cè)量?jī)x</p><p>  以單片機(jī)為核心的相位測(cè)量?jī)x原理框圖如圖3-12所示。&l

47、t;/p><p>  圖3-12 相位測(cè)量?jī)x系統(tǒng)框圖</p><p>  相位測(cè)量?jī)x需要測(cè)量?jī)蓚€(gè)數(shù)據(jù):頻率和相位差。</p><p><b> ?。?)頻率的測(cè)量</b></p><p>  MCU對(duì)信號(hào)頻率的測(cè)量可以采用直接測(cè)率的方法和測(cè)周期的方法。一般是信號(hào)頻率較高時(shí),采用直接測(cè)頻率的方法,而信號(hào)頻率較低時(shí),采用測(cè)周期的

48、方法。因?yàn)樵撛O(shè)計(jì)是測(cè)低頻的相位,故采用測(cè)周期的方法。</p><p>  由圖3-13可知,對(duì)I進(jìn)行2分頻后的信號(hào)波形中,高電平的寬度正好對(duì)應(yīng)I的周期,我們將此高電平信號(hào)作為MCU內(nèi)部定時(shí)器的硬件啟動(dòng)/停止信號(hào),便可測(cè)得周期T,再由公式f=1/T,計(jì)算得到頻率f。</p><p>  圖3-13 用測(cè)周期的方法獲得信號(hào)頻率</p><p><b> ?。?

49、)相位差的測(cè)量</b></p><p>  相位差的測(cè)量是通過(guò)鑒相器來(lái)實(shí)現(xiàn)的。鑒相器就是異或門,在鑒相器的輸出波形中,正脈沖寬度就是要測(cè)量I和V相位差所對(duì)應(yīng)的時(shí)間差,如圖3-14所示。</p><p>  圖3-14鑒相器的輸入、輸出波形圖</p><p>  在測(cè)量相位差時(shí)還應(yīng)考慮超前、滯后兩種情況(圖3-14為I超前V)。把波形中的正脈沖作為門控信號(hào)

50、,控制閘門的開啟閉合,即控制單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器的啟動(dòng)停止,從而達(dá)到測(cè)量時(shí)間差的目的,再根據(jù)公式,計(jì)算得到相位差。</p><p>  另外,由圖3-14可知,信號(hào)是I信號(hào)的二倍頻,由此可見,對(duì)于同頻不同相的兩個(gè)信號(hào),經(jīng)過(guò)異或門后可得到二倍頻的信號(hào)。因此從這個(gè)意義上講,異或門可以實(shí)現(xiàn)信號(hào)的二倍頻。</p><p>  3.2.1 信號(hào)處理模塊</p><p>&

51、lt;b>  1、整形電路</b></p><p>  在相位差測(cè)量過(guò)程中,不允許兩路信號(hào)在放大整形電路中發(fā)生相對(duì)相移。為了使兩路信號(hào)在測(cè)量電路中引起的附加相移是相同的,圖3-15中輸入1和輸入2安排了相同的電路。第一級(jí)運(yùn)放將輸入信號(hào)放大,第二級(jí)運(yùn)放作比較器,經(jīng)過(guò)限幅電路后再通過(guò)一個(gè)74HC14D的施密特觸發(fā)器,使其轉(zhuǎn)換成TTL電平的信號(hào),并將原本邊沿變化緩慢的周期信號(hào)變換為邊沿很陡峭的矩形脈沖

52、信號(hào),得到了效果比較好的整形波形。</p><p>  設(shè)計(jì)任務(wù)要求輸入阻抗≥100k,所以采用同相放大器,在輸入端并上一個(gè)100k的電阻,這樣就能滿足輸入阻抗要求。</p><p>  2、時(shí)間差、周期的測(cè)量電路</p><p>  MCU-51系列單片機(jī)的芯片內(nèi)部集成了兩個(gè)16位的硬件定時(shí)器/計(jì)數(shù)器,它們是T0、T1。MCU芯片內(nèi)部的硬件定時(shí)器/計(jì)數(shù)器有三個(gè)特點(diǎn)

53、:</p><p>  定時(shí)器/計(jì)數(shù)器可以與CPU并行工作;</p><p>  定時(shí)器/計(jì)數(shù)器可以采用中斷方式與系統(tǒng)協(xié)調(diào)工作;</p><p>  定時(shí)器/計(jì)數(shù)器可以由軟件或硬件控制啟動(dòng)和停止。</p><p>  圖3-15 信號(hào)處理電路圖</p><p>  我們讓定時(shí)器/計(jì)數(shù)器工作在定時(shí)工作方式,其計(jì)數(shù)器對(duì)內(nèi)部

54、機(jī)器周期進(jìn)行加1計(jì)數(shù),而定時(shí)器/計(jì)數(shù)器的工作啟動(dòng)、停止采用外部硬件控制。</p><p>  電路圖如3-16所示,該電路由單片機(jī)、門電路等組成。由定時(shí)器/計(jì)數(shù)器T0、T1分別測(cè)量周期、時(shí)間差,用P3.6來(lái)控制定時(shí)器讀數(shù)的時(shí)間。</p><p>  圖3-17是圖3-16對(duì)應(yīng)的時(shí)序圖。具體的PROTEL原理圖見附錄2。</p><p>  圖3-16 MCU測(cè)量時(shí)間

55、差、周期的電路圖</p><p><b>  圖3-17 時(shí)序圖</b></p><p>  1)、異或門鑒相電路</p><p>  異或門由一片74LS86構(gòu)成,起鑒相作用。這樣將兩路方波信號(hào)輸入后,即可將兩信號(hào)高低電平相異的部分以高電平輸出,而這個(gè)輸出信號(hào)的脈沖寬度就是所要求的相位差。電路原理圖如圖3-18所示。</p>&

56、lt;p>  2)、相位超前或滯后判斷電路</p><p>  相位超前或滯后判斷模塊由D觸發(fā)器構(gòu)成,采用74LS74芯片。74LS74是一個(gè)邊沿觸發(fā)器數(shù)字電路器件,每個(gè)器件中包含兩個(gè)相同的、相互獨(dú)立的上升沿有效的D觸發(fā)器電路。74LS74內(nèi)部管腳圖如圖3-19所示。</p><p>  將待測(cè)信號(hào)1經(jīng)整形后送入D腳,待測(cè)信號(hào)2經(jīng)整形后送入CLK腳,若Q輸出為高電平,則說(shuō)明待測(cè)信號(hào)1

57、的相位超前待測(cè)信號(hào)2;反之則說(shuō)明待測(cè)信號(hào)1的相位滯后待測(cè)信號(hào)2。于是將Q的值送至發(fā)光二極管,若發(fā)光二極管點(diǎn)亮,則說(shuō)明待測(cè)信號(hào)1相位超前待測(cè)信號(hào)2,反之,則說(shuō)明待測(cè)信號(hào)1的相位滯后待測(cè)信號(hào)2[8]。電路原理圖如圖3-20所示。</p><p>  圖3-18 鑒相電路</p><p>  圖3-19 74LS74內(nèi)部管腳圖</p><p>  圖3-20相位超前滯后判

58、斷電路</p><p><b>  3)、二分頻電路</b></p><p>  二分頻電路也是由D觸發(fā)器來(lái)實(shí)現(xiàn),同樣用74LS74芯片。將待測(cè)信號(hào)1整形后輸入CLK腳,將D觸發(fā)器的D腳與腳相連,則從Q端輸出的就是待測(cè)信號(hào)1的二分頻電路。時(shí)序圖如圖3-21所示,電路圖如圖3-22所示。</p><p>  圖3-21 二分頻電路時(shí)序圖</

59、p><p>  圖3-22 二分頻電路原理圖</p><p>  3.2.2 單片機(jī)模塊</p><p>  系統(tǒng)設(shè)計(jì)中使用AT89S51單片機(jī),它是51系列的8位單片機(jī),基于CMOS的靜態(tài)控制器,共有32個(gè)I/O端口,3個(gè)定時(shí)器/計(jì)數(shù)器,8個(gè)中斷,支持異步串行收發(fā);3級(jí)程序存儲(chǔ)器,8KB的閃存,128B的片內(nèi)RAM,串行口是一個(gè)全雙工的串行通信口,具有兩個(gè)數(shù)據(jù)指針DP

60、TR0和DPTR1。</p><p><b>  1、時(shí)鐘電路</b></p><p>  單片機(jī)的時(shí)鐘信號(hào)用來(lái)為單片機(jī)芯片內(nèi)部各種微操作提供時(shí)間基準(zhǔn)。單片機(jī)的時(shí)鐘信號(hào)通常由兩種方式產(chǎn)生:一是內(nèi)部振蕩方式。二是外部時(shí)鐘方式。本系統(tǒng)采用內(nèi)部振蕩方式。</p><p>  在單片機(jī)內(nèi)部有一個(gè)高增益反相放大器,只要在單片機(jī)的XTAL1和XTAL2引腳

61、外接晶體振蕩器就構(gòu)成了自激振蕩器并在單片機(jī)內(nèi)部產(chǎn)生時(shí)鐘脈沖信號(hào)。電容器C1和C2的作用是穩(wěn)定頻率和快速起振,電容值在5—30pF,典型值為30pF。對(duì)于晶振的取值,因?yàn)楸驹O(shè)計(jì)要求相位測(cè)量精度絕對(duì)誤差≤2°,因此,在所測(cè)信號(hào)一個(gè)周期中,只有計(jì)數(shù)數(shù)值超過(guò)360次時(shí)才能達(dá)到要求。對(duì)于被測(cè)信號(hào)頻率為20KHz時(shí),其周期為50us,在50us內(nèi)計(jì)數(shù)值為360次,由此可計(jì)算出時(shí)間基準(zhǔn)信號(hào)的頻率為20KHz×360=7.2MHz,

62、由于買了12MHz晶振,所以采用12MHz晶振作為時(shí)基信號(hào)源[9]。電路圖如圖3-23所示。</p><p>  圖3-23 時(shí)鐘電路</p><p><b>  2、復(fù)位電路</b></p><p>  復(fù)位是使單片機(jī)的CPU或系統(tǒng)中的其他部件處于某一確定的初始狀態(tài),并從這一狀態(tài)開始工作。單片機(jī)的工作就是從復(fù)位開始的。本系統(tǒng)選用上電與按鍵均有

63、效的復(fù)位電路,它不僅在上電時(shí)可以自動(dòng)復(fù)位,而且在單片機(jī)運(yùn)行期間,利用按鍵也可以完成復(fù)位操作。如圖3-24所示。</p><p>  圖3-24 復(fù)位電路</p><p>  3.2.3 LED數(shù)碼管顯示模塊</p><p>  本系統(tǒng)要將兩路信號(hào)之間的相位差和頻率通過(guò)LED數(shù)碼管顯示出來(lái),所以這里采用HD7279A這塊芯片。</p><p>

64、  HD7279A芯片是一片具有串行接口,可同時(shí)驅(qū)動(dòng)八位共陰式數(shù)碼管的智能顯示驅(qū)動(dòng)芯片,該芯片同時(shí)還可連接多達(dá)64鍵的鍵盤矩陣,單片即可完成LED顯示和鍵盤接口的全部功能。HD7279A內(nèi)部含有譯碼器,可直接接受BCD碼或16進(jìn)制碼,并同時(shí)具有兩種譯碼方式。此外,它還具有多種控制指令,如左移、右移、閃爍、消隱、段點(diǎn)亮、段關(guān)閉、讀鍵盤數(shù)據(jù)指令等。HD7279A具有片選信號(hào),可方便地實(shí)現(xiàn)多于8位的顯示或多于64鍵的鍵盤接口。</p&g

65、t;<p>  HD7279A還具有如下的特點(diǎn):無(wú)需外圍元件,可直接驅(qū)動(dòng)數(shù)碼管;多種譯碼方式,各顯示位可分別控制譯碼方式;段尋址功能,可以單獨(dú)控制顯示段,最多64鍵的鍵盤控制器,內(nèi)含去抖動(dòng)電路[10]。</p><p>  HD7279A的引腳總用有28個(gè),采用雙列直插式封裝。HD7279A的引腳功能如表3-2所示。</p><p>  表3-2 HD7279的引腳功能<

66、;/p><p>  HD7279A外圍電路連接圖如圖3-25所示。由于在本系統(tǒng)中用到了鍵盤,所以電路中的8只下拉電阻不得省略。下拉電阻大于位選電阻的5倍而小于其50倍,典型值為10倍。下拉電阻的取值范圍是10K—100K,位選電阻的取值范圍是1K—10K。在不影響顯示的前提下,下拉電阻盡可能取小,這樣可以提高鍵盤部分的抗干擾能力。</p><p>  HD7279A還需要一個(gè)外接的RC振蕩電路

67、以供系統(tǒng)工作,其典型值分別為。另外,因?yàn)樾酒苯域?qū)動(dòng)LED數(shù)碼管顯示,電流較大,且為動(dòng)態(tài)掃描方式,所以如果該部分電路電源連線較細(xì)較長(zhǎng),可能會(huì)引入較大的電源噪聲干擾,將HD7279A的正負(fù)電源端上并入去耦電容就可以提高電路的抗干擾能力。</p><p>  HD7279A和AT89S51的連接如圖3-26所示,HD7279A的片選輸入端CS與AT89S51的P1.4口相連接,同步時(shí)鐘輸入端CLK與AT89S51的P

68、1.5口相連接,串行數(shù)據(jù)輸入/輸出端DATA與AT89S51的P1.6口相連接,按鍵有效輸出端KEY與AT89S51的P1.7口相連接。</p><p>  HD7279A用串行方式與微處理器連接,串行數(shù)據(jù)從DATA腳送入芯片,并由CLK端同步,當(dāng)片選信號(hào)變?yōu)榈碗娖胶?,DATA引腳上的數(shù)據(jù)在CLK引腳的上升沿被寫入到HD7279A芯片的緩沖寄存器。</p><p>  圖3-25 HD72

69、79A外圍電路</p><p>  圖3-26 HD7279A與AT89S51的連接</p><p>  圖3-27為8位數(shù)碼顯示管,其各引腳對(duì)應(yīng)與HD7279A各引腳相連接??紤]到采用循環(huán)掃描的方式,普通的數(shù)碼管可能亮度不夠,采用高亮或超高亮的數(shù)碼管就可以解決這個(gè)問題。數(shù)碼管的尺寸不宜太大,一般字符高度不宜超過(guò)1英寸,如果使用大型的數(shù)碼管,應(yīng)使用適當(dāng)?shù)尿?qū)動(dòng)電路。</p>&

70、lt;p>  圖3-27 數(shù)碼管引腳圖</p><p><b>  4 軟件設(shè)計(jì)</b></p><p>  軟件部分是整個(gè)系統(tǒng)的核心部分,硬件調(diào)試成功后,加上軟件部分才能使整個(gè)系統(tǒng)得以運(yùn)行。本系統(tǒng)軟件采用C51語(yǔ)言,主要包括主程序、測(cè)量時(shí)間差、周期子程序和HD7279讀、寫子程序等。</p><p><b>  4.1 主程序

71、</b></p><p>  主程序流程圖如圖4-1所示,首先進(jìn)行系統(tǒng)初始化,設(shè)置相應(yīng)標(biāo)志位狀態(tài)、緩沖區(qū)數(shù)據(jù)初始化、顯示開機(jī)畫面、定時(shí)器計(jì)數(shù)器工作方式、計(jì)數(shù)初值和中斷初始化等。</p><p>  圖4-1 主程序流程框圖</p><p>  4.2 測(cè)量時(shí)間差、周期子程序</p><p>  測(cè)量時(shí)間差、周期子程序流程圖如圖4-

72、2所示。需要說(shuō)明的是,由軟件創(chuàng)建一標(biāo)志位,當(dāng)輸入引腳P3.6=0時(shí),CPU軟件標(biāo)志位置1,而當(dāng)P3.6=1時(shí),CPU在讀取時(shí)間差數(shù)據(jù)后,軟件標(biāo)志位清零。子程序SUB1完成的功能是:測(cè)量3次時(shí)間差、周期并保存到內(nèi)存[11]。因?yàn)榈谝淮螠y(cè)量的時(shí)間差、周期的起始時(shí)刻有一定的隨機(jī)性(這是由于軟件啟動(dòng)定時(shí)器/計(jì)數(shù)器T0、T1的時(shí)刻是隨機(jī)的),所以由T0、T1第一次分別測(cè)得的周期、時(shí)間差是不準(zhǔn)確的,故舍棄之。</p><p>

73、;  圖4-2 測(cè)量時(shí)間差、周期子程序流程框圖</p><p>  4.3 HD7279讀、寫子程序子程序</p><p>  HD7279采用串行通信,其指令功能如表4-1所示。</p><p>  表4-1 HD7279A指令功能表</p><p>  HD7279A的指令結(jié)構(gòu)有三種類型:</p><p>  1、

74、不帶數(shù)據(jù)的純指令。指令的寬度為8位,即微處理器需發(fā)送8個(gè)CLK脈沖,其時(shí)序圖如4-3。</p><p>  2、帶有數(shù)據(jù)的指令,寬度為16位,即微處理器需發(fā)送16個(gè)CLK脈沖。其時(shí)序圖如圖4-4。</p><p>  3、讀取鍵盤數(shù)據(jù)指令,寬度為16位,前8位微處理器發(fā)送到HD7279A的指令,后8位為HD7279A返回的鍵盤代碼。其時(shí)序圖如4-5。</p><p>

75、;  圖4-3 純指令的時(shí)序圖</p><p>  圖4-4帶有數(shù)據(jù)的指令時(shí)序圖</p><p>  圖4-5 讀取鍵盤數(shù)據(jù)的指令時(shí)序圖</p><p>  HD7279發(fā)送一個(gè)字節(jié)的程序具體如下:</p><p>  void send_byte(unsigned char out_byte)</p><p><

76、;b>  { </b></p><p>  unsigned char i;</p><p>  cs=0;//選中HD7279芯片</p><p>  long_delay();</p><p>  for (i=0;i<8;i++)//發(fā)送1個(gè)字節(jié),即循環(huán)8次</p>&l

77、t;p><b>  {</b></p><p>  if (out_byte&0x80) dat=1;//發(fā)送數(shù)據(jù)的最高位為1,則發(fā)送位為1</p><p>  else dat=0; //發(fā)送數(shù)據(jù)的最高位為0,則發(fā)送位為0</p><p>  clk=1;</p><p&g

78、t;  short_delay();</p><p><b>  clk=0;</b></p><p>  short_delay();</p><p>  out_byte=out_byte*2;//發(fā)送數(shù)據(jù)左移1位</p><p><b>  dat=0;</b></p>&

79、lt;p><b>  }</b></p><p><b>  }</b></p><p>  HD7279接收一個(gè)字節(jié)的程序具體如下:</p><p>  unsigned char receive_byte(void)</p><p><b>  { </b></

80、p><p>  unsigned char i,in_byte;</p><p>  dat=1; //設(shè)為輸入狀態(tài)</p><p>  long_delay();</p><p>  for (i=0;i<8;i++)//接收1個(gè)字節(jié),即循環(huán)8次</p><p><b>  {

81、 </b></p><p><b>  clk=1;</b></p><p>  short_delay();</p><p>  in_byte=in_byte*2;//接收數(shù)據(jù)左移1位</p><p>  if (dat) in_byte=in_byte|0x01; //如果接收位為1,則將接收數(shù)

82、據(jù)最低位置1</p><p><b>  clk=0;</b></p><p>  short_delay();</p><p><b>  }</b></p><p><b>  dat=0;</b></p><p>  return (in_byte

83、);//返回接收數(shù)據(jù)</p><p><b>  }</b></p><p><b>  5 制作和調(diào)試</b></p><p>  由于本系統(tǒng)的設(shè)計(jì)既有硬件部分又有軟件部分,所以在制作和調(diào)試方面存在比較多的問題。</p><p>  5.1 硬件部分的制作和調(diào)試</p>

84、<p>  1、首先進(jìn)行移相網(wǎng)絡(luò)的硬件制作和調(diào)試。在制作硬件之前要先確定各個(gè)部分的電路圖及其中元器件的參數(shù),畫出PROTEL原理圖,然后根據(jù)元器件清單去買元器件。在移相網(wǎng)絡(luò)模塊中本來(lái)確定的放大器是LF356,由于元件采購(gòu)較難,最后用到了比較常用到但功能一樣的LM324。在焊接電路時(shí),因?yàn)樾酒霸逶诎遄拥恼?,而接線卻在背面,有時(shí)會(huì)發(fā)生接線錯(cuò)誤的情況,這通常要在焊好整塊電路板進(jìn)行整體電路測(cè)試的情況下才能發(fā)現(xiàn)。</p&g

85、t;<p>  在調(diào)試的過(guò)程中也出現(xiàn)了不少問題。剛開始調(diào)試電路能出來(lái)正常的波形,一段時(shí)間后,移相網(wǎng)絡(luò)A輸出端的波形測(cè)不出來(lái)。檢查了整個(gè)電路的連線,一級(jí)一級(jí)往下檢查的時(shí)候發(fā)現(xiàn)是電位器已經(jīng)損壞。在調(diào)試過(guò)程中需要經(jīng)常性地使用電位器,應(yīng)該是這個(gè)原因致使電位器的損壞。后來(lái)重新?lián)Q了一個(gè)電位器就能出來(lái)正常的結(jié)果了。</p><p>  2、接下來(lái)對(duì)信號(hào)處理模塊進(jìn)行調(diào)試。用示波器觀察整形電路、異或門鑒相電路、相位超

86、前滯后電路和二分頻電路的輸出是否正確,確保送入單片機(jī)的信號(hào)無(wú)誤。</p><p>  3、接下來(lái)檢查單片機(jī)最小系統(tǒng)和HD7279的硬件連接,用萬(wàn)用表測(cè)量線路是否連通,當(dāng)然這點(diǎn)在后面的軟件測(cè)試中要重點(diǎn)關(guān)注。</p><p>  5.2 軟件部分的制作和調(diào)試</p><p>  軟件調(diào)試中單片機(jī)程序是在KEIL編譯器下進(jìn)行,源程序編譯及調(diào)試應(yīng)分段或以子程序?yàn)閱挝恢饌€(gè)進(jìn)行

87、。</p><p>  首先編寫一段測(cè)試程序測(cè)試單片機(jī)最小系統(tǒng)和HD7279顯示部分的硬件是否正常,這是通過(guò)單片機(jī)對(duì)鍵盤顯示驅(qū)動(dòng)芯片HD7279A進(jìn)行相應(yīng)的讀寫操作來(lái)實(shí)現(xiàn)的。接著再對(duì)數(shù)據(jù)處理子程序和數(shù)據(jù)顯示子程序進(jìn)行調(diào)試。</p><p><b>  6 結(jié)論</b></p><p>  從上學(xué)期確定選題開始到現(xiàn)在,整個(gè)設(shè)計(jì)總共歷時(shí)五個(gè)多月。在

88、這段時(shí)間內(nèi),由于考研的事,所以沒有足夠的時(shí)間花在做畢業(yè)設(shè)計(jì)上,非常遺憾,但是我還是花了很多時(shí)間收集資料。</p><p>  本系統(tǒng)以單片機(jī)AT89S51為核心,構(gòu)成完備的頻率和相位差測(cè)量系統(tǒng)。完成由信號(hào)發(fā)生器產(chǎn)生對(duì)10Hz~10kHz頻率范圍的信號(hào),經(jīng)過(guò)模擬移相網(wǎng)絡(luò),產(chǎn)生一前一后兩個(gè)頻率相同,相位不同的正弦,再經(jīng)過(guò)鑒相器和相位超前或滯后判斷,由單片機(jī)對(duì)數(shù)據(jù)的計(jì)數(shù)和運(yùn)算,最后得到相位差和頻率。硬件結(jié)構(gòu)簡(jiǎn)單,軟件采

89、用匯編語(yǔ)言實(shí)現(xiàn),程序簡(jiǎn)單可讀寫性強(qiáng)、效率高。與傳統(tǒng)的電路系統(tǒng)相比,其有處理速度快、穩(wěn)定性高、性價(jià)比高的優(yōu)點(diǎn)。</p><p>  當(dāng)然,該設(shè)計(jì)還有很多不足的地方。比方說(shuō),RC模擬移相中,R、C計(jì)算出的理論值跟最后所選擇的存在一定的誤差,這跟最后的結(jié)果有一定的影響。另外,整個(gè)硬件系統(tǒng)不太穩(wěn)定,出來(lái)的波形有一定程度的失真。還有,我選擇了用單片機(jī)加74系列的芯片來(lái)實(shí)現(xiàn)相位的測(cè)量,雖然結(jié)構(gòu)簡(jiǎn)單,但是速度并不太高,而且系統(tǒng)

90、可擴(kuò)展性不強(qiáng),如果有機(jī)會(huì),以后希望能試試看用可編程邏輯器件CPLD或者FPGA來(lái)實(shí)現(xiàn)對(duì)信號(hào)的計(jì)數(shù)控制。</p><p>  通過(guò)這一段時(shí)間的學(xué)習(xí),我對(duì)整個(gè)系統(tǒng)以及其間涉及的知識(shí)都有了更深入的了解,對(duì)之前學(xué)習(xí)的理論知識(shí)又重新理解,把模電,數(shù)電,單片機(jī)等知識(shí)都串在一起,成為整個(gè)系統(tǒng)。將理論知識(shí)應(yīng)用到實(shí)際當(dāng)中這點(diǎn)是我覺得學(xué)到最有用的一點(diǎn)。這次沒有充分的時(shí)間做硬件是比較遺憾的,以后若是還有機(jī)會(huì),希望能花更多的時(shí)間完成整個(gè)

91、系統(tǒng)的設(shè)計(jì)。</p><p><b>  參考文獻(xiàn)</b></p><p>  [1]史國(guó)清等. 基于單片機(jī)的低頻數(shù)字相位測(cè)量?jī)x的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2005,8:80~81.</p><p>  [2]John Wiley. Analog and digital electronics for scientists[M]. New Yo

92、rk: Vasses Basil,1985.</p><p>  [3]楊寧等. 簡(jiǎn)易低頻數(shù)字式相位測(cè)量?jī)x的設(shè)計(jì)[J].武漢化工學(xué)院學(xué)報(bào),2006(6),28:75~79.</p><p>  [4]全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì)編.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品精選(2003)[M].2003.</p><p>  [5]姚遠(yuǎn)等.低頻數(shù)字式相位差測(cè)量?jī)x[J].電子世

93、界,2004(5):39~41.</p><p>  [6]譚會(huì)生.EDA技術(shù)綜合應(yīng)用實(shí)例與分析[M].西安:西安電子科大出版社,2004.</p><p>  [7]張超,劉開培.基于CPLD的相位差測(cè)量?jī)x[J].電子技術(shù),2003(5):13~17.</p><p>  [8]王振紅等.基于FPGA 控制的低頻數(shù)字式相位測(cè)量?jī)x研究[J].北方工業(yè)大學(xué)信息工程學(xué)院

94、,2010(1):76~78.</p><p>  [9]田秀豐等.低頻數(shù)字式相位測(cè)量?jī)x的設(shè)計(jì)[J].無(wú)線通信技術(shù),2008,2:55~58.</p><p>  [10]俞斌等.基于DSP的低頻數(shù)字式相位測(cè)量?jī)x的設(shè)計(jì)[J].電子產(chǎn)品世界,2006(12):84~87.</p><p>  [11]姜玉宏等.基于MCS-51的高精度數(shù)字測(cè)相方法[J].重慶大學(xué)學(xué)報(bào)(

95、自然科學(xué)版),2005,8:28~30.</p><p>  [12] V. V. Tereshkov and V. M. Avanesov. LOW-FREQUENCY DIGITAL PHASE METER[J].Izmeritel naya Tekhnika, No. 4, pp. 48~50, April, 1992.</p><p>  附錄1 系統(tǒng)實(shí)物圖</p>

96、<p>  附錄2 實(shí)驗(yàn)原理圖</p><p><b>  附錄3 程序清單</b></p><p>  //該程序是測(cè)量相位差和頻率的,相位差和頻率顯示精度為小數(shù)點(diǎn)后1位。</p><p>  #include <reg51.h></p><p>  //***函數(shù)定義***</p&g

97、t;<p>  void long_delay(void); // 長(zhǎng)延時(shí)</p><p>  void short_delay(void); // 短延時(shí)</p><p>  void delay10ms(unsigned char); //

98、延時(shí)10mS</p><p>  void write7279(unsigned char, unsigned char); //寫入到HD7279</p><p>  unsigned char read7279(unsigned char); // 從HD7279讀出</p><p>  void send_byte(unsigned ch

99、ar); // 發(fā)送一個(gè)字節(jié)</p><p>  unsigned char receive_byte(void); // 接收一個(gè)字節(jié)</p><p>  //*** 變量及I/O口定義 ***</p><p>  unsigned char pldigit[6],xwdigit[3];</p&g

100、t;<p>  unsigned char key_number,j,t1counter;</p><p>  unsigned int tmr,plcounter,xwcounter,pinlv[4],xiangwei[4];</p><p>  unsigned int plnumber,xwnumber;</p><p>  unsigned c

101、har pldot,xwdot;</p><p>  sbit cs=P1^4; // cs連P1.4</p><p>  sbit clk=P1^5; // clk連P1.5</p><p>  sbit dat=P1^6; // dat連P1.6</p><p>  sbit key=P1^7; // key連P1.7</p>

102、<p>  sbit test=P3^6;</p><p>  unsigned char counter;</p><p><b>  bit flag;</b></p><p>  //****** HD7279A指令 ******</p><p>  #define CMD_RESET 0xa4<

103、;/p><p>  #define CMD_TEST 0xbf</p><p>  #define DECODE0 0x80</p><p>  #define DECODE1 0xc8</p><p>  #define CMD_READ 0x15</p><p>  #define UNDECODE 0x90</

104、p><p>  #define RTL_CYCLE 0xa3</p><p>  #define RTR_CYCLE 0xa2</p><p>  #define RTL_UNCYL 0xa1</p><p>  #define RTR_UNCYL 0xa0</p><p>  #define ACTCTL 0x98<

105、;/p><p>  #define SEGON 0xe0</p><p>  #define SEGOFF 0xc0</p><p>  #define BLINKCTL 0x88</p><p>  void sub1(void)</p><p><b>  {</b></p><

106、;p>  counter=4;</p><p>  while(counter!=0)</p><p><b>  {</b></p><p>  if(!test) flag=1;</p><p>  else if(flag==1)</p><p><b>  {</b&

107、gt;</p><p>  if(counter!=4)</p><p><b>  {</b></p><p>  xiangwei[4-counter]=TH1*256+TL1;</p><p>  pinlv[4-counter]=TH0*256+TL0;</p><p><b>

108、  }</b></p><p>  TH0=0;TL0=0;</p><p>  TH1=0;TL1=0;</p><p><b>  flag=0;</b></p><p>  counter--;</p><p><b>  }</b></p>

109、<p><b>  }</b></p><p><b>  }</b></p><p>  //*** 主程序 ***</p><p><b>  main()</b></p><p>  { for (tmr=0;tmr<0x2000;tmr++);

110、 // 上電延時(shí)</p><p>  send_byte(CMD_RESET); // 復(fù)位HD7279A</p><p>  do{ ;}while(key);</p><p>  while(!key);</p><p>  for(j=0;j<6;j++)</p><p&

111、gt;  { pldigit[j]=0;</p><p>  write7279(DECODE0+j,pldigit[j]);</p><p><b>  }</b></p><p>  TMOD=0X11;</p><p><b>  while(1)</b></p><p&g

112、t;<b>  { </b></p><p>  TR1=1;TR0=1;</p><p><b>  sub1();</b></p><p>  TR1=0; TR0=0;</p><p>  plcounter=(pinlv[0]+pinlv[1]+pinlv[2]+pinlv[3])/4;&

113、lt;/p><p>  xwcounter=(xiangwei[0]+xiangwei[1]+xiangwei[2]+xiangwei[3])/4;</p><p>  plnumber=1000000/plcounter;</p><p>  pldot=10000000/plcounter-plnumber*10;</p><p>  pld

114、igit[5]=plnumber/10000;</p><p>  pldigit[4]=(plnumber%10000)/1000;</p><p>  pldigit[3]=(plnumber%1000)/100;</p><p>  pldigit[2]=(plnumber%100)/10;</p><p>  pldigit[1]=(

115、plnumber%10)+0x80;</p><p>  pldigit[0]=pldot;</p><p>  write7279(ACTCTL,0x9f);</p><p>  write7279(DECODE1+7,0x0f);</p><p>  for(j=0;j<6;j++) { write7279(DECODE0+j,p

116、ldigit[j]); }</p><p>  delay10ms(200);</p><p>  xwnumber=360*xwcounter/plcounter;</p><p>  xwdot=3600*xwcounter/plcounter-xwnumber*10;</p><p>  xwdigit[2]=(xwnumber%100

117、)/10;</p><p>  xwdigit[1]=(xwnumber%10)+0x80;</p><p>  xwdigit[0]=xwdot;</p><p>  write7279(ACTCTL,0x87);</p><p>  write7279(DECODE0+7,0x0e);</p><p>  for(

118、j=0;j<3;j++) { write7279(DECODE0+j,xwdigit[j]); }</p><p>  delay10ms(200); </p><p>  /* pldigit[5]=t0high/100; //測(cè)試用的,用來(lái)顯示T0和T1的計(jì)數(shù)值</p><p>  pldigit[4]=(t0high%100)/10

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論