【正文】
在本次設(shè)計(jì)中,我遇到了無(wú)數(shù)困難,在需要幫助的時(shí)候,各位同學(xué)給了我無(wú)私的幫助,助我度過(guò)了一個(gè)又一個(gè)的難題。只有運(yùn)用四年學(xué)習(xí)的基礎(chǔ)知識(shí)和經(jīng)驗(yàn)的積累,才能使我能夠順利的完成本次畢業(yè)設(shè)計(jì)工作。 其次,要對(duì)大學(xué)四年以來(lái) 所有給我授課的老師們表示感謝。從方案的選取、審題、查找資料,到系統(tǒng)軟硬件的各部分設(shè)計(jì)工作,到最后論文的書(shū)寫(xiě)和完成,陳老師在我的整個(gè)畢業(yè)設(shè)計(jì)工作中給了我很大的幫助和支持。在此,對(duì)他們表示衷心的感謝。在今后的工作應(yīng)該在以上改善的方面繼續(xù)研究。此法可保證測(cè)頻過(guò)程中精度一直很高,但實(shí)現(xiàn)的電路和程序都將很復(fù)雜。 把顯示位數(shù)清零 開(kāi)始 計(jì)算當(dāng)前要顯示的位數(shù),取得地址 滅 LED 燈 取數(shù)顯示 返回主程序 判斷顯示位數(shù)是否為 6 判斷顯示位數(shù)是否大 于 6 是 否 否 是 結(jié)論 基于單片機(jī)的頻率計(jì)的設(shè)計(jì)涉及到計(jì)算機(jī)的硬軟件知識(shí),通過(guò)對(duì)系統(tǒng)的設(shè)計(jì)和調(diào)試,本次設(shè)計(jì)主要完成了以下工作: 1. 學(xué)習(xí)了單片 機(jī)的原理及使用并對(duì)頻率計(jì)的發(fā)展史有了一定的了解 2. 提出基于單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)的基本方案; 3. 完成了整形電路、同步電路、分頻電路、主控門電路等相應(yīng)的硬件電路設(shè)計(jì); 4. 編譯了數(shù)字式頻率計(jì)的控制程序、數(shù)碼轉(zhuǎn)化程序、數(shù)據(jù)顯示程序等系統(tǒng)軟件程序; 本次設(shè)計(jì)由于作者知識(shí)的有限,所以設(shè)計(jì)的系統(tǒng)并不是最理想的。本章軟件的編輯時(shí)按照上章硬件框圖而設(shè)計(jì)的,本章程序的編輯部分直接影響到了本次設(shè)計(jì)的成功與否。其流程圖如圖 42 所示。因?yàn)槲覀兘?jīng)過(guò)轉(zhuǎn)換程序把所得的數(shù)據(jù)存儲(chǔ)在 40H~45H 中,因此,數(shù)碼顯示的基本原理就是把 40H~45H 中的數(shù)據(jù)分時(shí)的通過(guò) P1 口送到數(shù)碼管,再通過(guò) 74LS138 來(lái)控制各個(gè)數(shù)碼管的亮和滅。 3. 數(shù)碼顯示程序:?jiǎn)纹瑱C(jī)控制其內(nèi)部計(jì)數(shù)器得到的數(shù)據(jù)要送到 8 位數(shù)碼顯示管中顯示出來(lái),才能被我們所看到,直接得到我們所測(cè)量的頻率。 數(shù)碼轉(zhuǎn)化程序設(shè)計(jì)的原理:本次設(shè)計(jì)的單片機(jī)數(shù)碼轉(zhuǎn)換是通過(guò)單片機(jī)的移位乘二特性和單片機(jī)的十進(jìn)制調(diào)整功能來(lái)實(shí)現(xiàn)的。因此,單片機(jī)的控制程序在本次設(shè)計(jì)中顯得非常重要。下面分別介紹這幾個(gè)程序。 . 恢復(fù)初值,重新開(kāi)始計(jì)數(shù); 10. 返回主程序。本次軟件設(shè)計(jì)語(yǔ)言采用匯編語(yǔ)言,在電腦上編譯通過(guò)后即可下載到電路上的實(shí)際電路中,即可實(shí)現(xiàn)頻率的測(cè)量。 圖 41 系統(tǒng)流程圖 測(cè)頻軟件實(shí) 現(xiàn)原理 測(cè)頻軟件的實(shí)現(xiàn)是基于電路系統(tǒng)來(lái)進(jìn)行設(shè)計(jì)的 [14]。它可以說(shuō)是頻率計(jì)的主導(dǎo),也是 接下來(lái)軟件部分的編輯方向,所以硬件設(shè)計(jì)是非常重要的。用結(jié)構(gòu)方框圖的方式把整個(gè)硬件模式分為 5 大模塊, 并且 詳細(xì)的介紹了各個(gè)模塊工作原理及作用 。其電路圖如圖 311 所示。 由于單片機(jī)輸出的顯示數(shù)據(jù)電壓不夠高,無(wú)法直接送到數(shù)碼管上直接顯示,因此需要用一個(gè)上拉電路來(lái)提高輸出數(shù)據(jù)的電壓值,以便送到數(shù)碼管顯示。其中譯碼選通端 /G2B 也被稱作數(shù)據(jù)輸入端,主要指它用于數(shù)據(jù)分配時(shí)所起的作用。另外,該譯碼器還有三個(gè)使能端: G/G2A、 /G2B,只有當(dāng) G1= /G2A=0、 /G2B=0 同時(shí)滿足,才能譯碼。其功能表如表 35所示 [13]。 顯示電路圖 顯示電路由數(shù)碼管和 74LS138 組成,數(shù)碼管已經(jīng)介紹過(guò)了,所以不再多加闡述,現(xiàn)在介紹顯示電路組成的另一重要電路: 74LS138。 綜合以上內(nèi)容,我們?cè)谶@次設(shè)計(jì)中采 用 LED 數(shù)碼管,采用單片機(jī)靜態(tài)顯示計(jì)數(shù)來(lái)顯示。而所謂動(dòng)態(tài)掃描就是指我們采用分時(shí)的辦法,輪流控制各個(gè)顯示器的 COM 端,使各個(gè)顯示器輪流點(diǎn)亮。其接口電路是把所有顯示器的 8 個(gè)筆劃段 ah 同名端連在一起,而每一個(gè)顯示器的公共極 COM 是各自獨(dú)立地受 I/O 線控制。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種辦法單片機(jī)中 CPU 的開(kāi)銷小 ,能供給單獨(dú)鎖存的 I/O 接口電路很多。 在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示器 顯示常用兩種辦法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示 [12]。當(dāng)二極管導(dǎo)通時(shí),對(duì)應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。如下圖所示?;?7 個(gè)長(zhǎng)條形的發(fā)光管排列成 “ 日 ” 字形,另一個(gè)圓點(diǎn)形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英 文字 母。八段 LED 數(shù)碼管顯示器 [11]基本電路如圖310 所示。從功能表可看出,當(dāng) S 端輸入為低電平時(shí),四選一數(shù)據(jù)選擇器處于工作狀態(tài),它有 4 位并行數(shù)據(jù)輸入 D0~D3,單選擇地址輸入 A A0 的二進(jìn)制碼依次由 00 遞增至 11 時(shí), 4 個(gè)通道的并行數(shù)據(jù)便依次傳送到輸出端 W。管腳如圖 39所示。系統(tǒng)控制端 S 為低電平有效。 TTL 中規(guī)模數(shù)據(jù)選擇器是根據(jù)多位數(shù)據(jù)的編碼情況將其中一路數(shù)據(jù)由輸出端送出的電路, 74LS153 是雙四選一數(shù)據(jù)選擇器 ,其中有兩個(gè)四選一數(shù)據(jù)選擇器,它們各有四個(gè)數(shù)據(jù)輸入端: 1D 1D 1D 1D0 和 2D 2D 2D2D0。其功 能類似于單刀多擲開(kāi)關(guān),故又稱為多路開(kāi)關(guān) (MUX)。所以這次采用很常見(jiàn)的 74LS153 集成電路 ,其電路圖如 圖 39 所示。 圖 38 74LS90 引腳圖 表 32 74LS90 功能表 H=HIGH Voltgate Level L=LOW Voltgate Level X=Don’t Care RESET/SET INPUTS OUTPUTS MR1 MR2 MS 1 MS2 Q0 Q1 Q2 Q3 H H L X L L L L H HX X L L L L L X L H H H L L H L X L X Count X L X L Count L X X L Count X L L X Count 表 33 COUNT 數(shù)值變化與輸出的關(guān)系表 COUNT OUTPUT Q0 Q1 Q2 Q3 0 L L L 1 H L L L 2 L H L L 3 H H L L 4 L L H L 5 H L H L 6 L H H L 7 H H H L 8 L L L H 9 H L L H 四選一電路 本次設(shè)計(jì)需要用到一個(gè)四選一電路 [10],用來(lái)選擇輸入單片機(jī)進(jìn)行計(jì)數(shù)的待測(cè)信號(hào)。在本次設(shè)計(jì)中,因?yàn)槲覀円M(jìn)行的是十分頻、一百分頻和一千分頻,所以我們選用 74LS90 電路,經(jīng)過(guò)正確的連接后就可以進(jìn)行十分頻,進(jìn)行三次十分頻就可以得到分頻一千次的信號(hào)。 分頻電路 分頻電路介紹 本次設(shè)計(jì)采用的是脈沖定時(shí)測(cè)頻法,由于考慮到單片機(jī) 的定時(shí)計(jì)數(shù)器得計(jì)數(shù)能力有限,無(wú)法對(duì)過(guò)高頻進(jìn)行測(cè)量,所以我們對(duì)待測(cè)信號(hào)進(jìn)行了分頻,這樣能提高測(cè)量頻率的范圍,還能相應(yīng)的提高頻率測(cè)量的精度。 圖 37 施密特觸發(fā)器的邏輯符號(hào) 集成施密特觸發(fā)器,常用 TTL 電路集成施密特觸發(fā)器有 7413 等。 VT VT HVD DVT +UOUI2 VT HR1/ R2 圖 36 電壓傳輸特性 ( 5) 邏輯符號(hào)。 ( 4)電壓傳輸特性。 ? ? 212I T H O H O H TU RU U U V RR???? ? ? ? ??? ??? ( 3— 3) 1 2 122T T H O HVR R RVURR? ??? ( 3— 4)OH DDU V? ( 3— 5)12TH DDV V? ( 3— 6)121T THV R VR? ???????? ( 3— 7) 求回差電壓 TV? 求出 ?TV 和 ?TV 之后,由下面的公式( 3— 8)就可求出 V? 。在 ??? TI VU , THI VU ??? ,G G2 門要翻轉(zhuǎn)前的瞬間,電路中電流流向和電位情況如圖 35 所示。 1R11G 1G 2R 2UIUI’UO 1UOVT +VT HVO HVO L 圖 34 求 VT+時(shí)電路圖 從求 IU ,入手求 ?TV :由公式( 3— 1)就可以推導(dǎo)出公式( 3— 2),就可以得出 ?TV 。 表 31 用 CMOS 非門構(gòu)成的施密特觸發(fā)器工作原理表 UI UI’ UO1 UO 說(shuō)明 UI=0 0 0 1 0 同向施密特觸發(fā)器 U1 上 升過(guò)程中 VT+ VTH 1 0 =VT+ =VTH 1 0 G G2 門將要翻轉(zhuǎn) =VT+ =VTH 0 1 UO 突變 VT+ VTH 0 1 U1 下降過(guò)程中 VT+ VTH 0 1 =VT+ =VTH 0 1 G G2 門將要翻轉(zhuǎn) =VT+ =VTH 1 0 UO 突 變 VT+ VTH 1 0 ( 3) 計(jì)算回差電壓 TV? 求 ?TV 在 IU 從 0 開(kāi)始上升時(shí), OLO UU ? 。 2. 輸出特性 ( 1) 同向輸出: ( 2) 反向輸出: 3. 整形原理 用門電路構(gòu)成施密特觸發(fā)器 ( 1) 構(gòu)成,用 CMOS 非門構(gòu)成的施密特觸發(fā)器電路圖如圖 33 所示。 ( 2) 電壓滯后傳輸:輸入信號(hào) IU 從低電平上升過(guò)程中,電路狀態(tài)轉(zhuǎn)換時(shí)對(duì)應(yīng)的輸入電平, IU 與從高電平下降過(guò)程中電路狀態(tài)轉(zhuǎn)換時(shí)對(duì)應(yīng)的輸入電平不同。 1. 特點(diǎn) ( 1) 電平觸發(fā):觸發(fā)信號(hào) IU 可以是變化緩慢的模擬信號(hào), IU 達(dá)某一電平放大整形電路 分頻電路 多路數(shù)據(jù)選擇器 單片機(jī) 顯示電路 待測(cè)信號(hào) 值時(shí),輸出電壓 OU 突變。由于本次設(shè)計(jì)的基于單片機(jī)的數(shù)字頻率計(jì)的放大整形電路部分需求比較簡(jiǎn)單 9,所以我們選擇由 555 定時(shí)器構(gòu)成的施密特觸發(fā)器來(lái)作為信號(hào)波形整形電路,下面我們給出其全面的介紹。 放大整形電路的原理 矩形脈 沖波的整形電路有兩種:施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器。 放大整形電路 放大整形電路的必要性 因?yàn)樵趩纹瑱C(jī)計(jì)數(shù)中只能對(duì)脈沖波進(jìn)行計(jì)數(shù),而實(shí)際中需要測(cè)量頻率的信號(hào)是多種多樣的,有脈沖波、還有可能有正弦波、三角波等,所以需要一個(gè)電路。所以本次設(shè)計(jì)的數(shù)字式頻 率計(jì)的電路由以下幾塊構(gòu)成:由施密特觸發(fā)器 [8]構(gòu)成的波形整形放大電路、由 74LS90 構(gòu)成的分頻電路、由 74LS153 四選一電路構(gòu)成的四選一電路、 AT89C51 單片機(jī)以及由 74LS138 譯碼電路、 74LS245 上拉電路和八段 數(shù)碼管顯示電路構(gòu)成的數(shù)碼顯示電路 。 根據(jù)上述的基于單片機(jī)的數(shù)字頻率計(jì)的設(shè)計(jì)原理,我們可設(shè)計(jì)一個(gè)由放大整形電路、分頻電路、多路數(shù)據(jù)選擇器、 AT89C51 以及顯示電路來(lái)構(gòu)成的數(shù)字式頻率計(jì),其系統(tǒng)框圖如圖 32 所示。本系統(tǒng)讓被測(cè)信號(hào)經(jīng)過(guò)放大整形后,進(jìn)入單片機(jī)開(kāi)始計(jì)數(shù) ,利用單片機(jī)內(nèi)部定 時(shí)計(jì)數(shù)器定時(shí),在把所記得的數(shù)經(jīng)過(guò)相關(guān)處理后送到顯示電路中顯示。由第二章的內(nèi)容可知,為了得到一個(gè)高性能的數(shù)字頻率計(jì),本次設(shè)計(jì)采用單片機(jī)來(lái)做為數(shù)字頻率計(jì)的核心控制電路,輔之于少數(shù)的外部控制電路。 基于單片機(jī)的數(shù)字頻率計(jì)原理 由上節(jié)介紹可知,控制電路在數(shù)字頻率計(jì)中起至關(guān)重要的作用。 圖 31 數(shù)字式頻率計(jì)原理框圖 由上圖可以看出,待測(cè)信號(hào)經(jīng)過(guò)放大整形電路后得到一個(gè)待測(cè)信號(hào)的脈沖信號(hào),然后通過(guò)計(jì)數(shù)器計(jì)數(shù),可得到需要的頻率值, 最后送入譯碼顯示電路中顯示出來(lái)。本章是在做本次設(shè)計(jì)前的準(zhǔn)備工作,通過(guò)查閱資料對(duì)各種方案的了解,我對(duì)頻率計(jì)有了進(jìn)一步的了 解 ,對(duì)本次設(shè)計(jì)的成功有很大的幫助。本次設(shè)計(jì)由于個(gè)人水平有限,因此,本次設(shè)計(jì)根據(jù)需要,采用脈沖定時(shí)測(cè)頻法。采用脈沖周期測(cè)頻法則測(cè)高頻率時(shí)精度無(wú)法保證;采用脈沖數(shù)倍頻測(cè)頻法和脈沖數(shù)分頻測(cè)頻法則精度有所提高,但控制電路較復(fù)雜;采 用脈沖平均周期測(cè)頻法則很難兼顧低頻信號(hào)的測(cè)量;而采用多周期同步測(cè)頻法,閘門時(shí)間與被測(cè)信號(hào)同步,消除了對(duì)被測(cè)信號(hào)計(jì)數(shù)產(chǎn)生的 177。 本次設(shè)計(jì)采用的方案 根據(jù)頻率的定義 [6],頻率是單位時(shí)間內(nèi)信號(hào)波的個(gè)數(shù),因此采用上述各種方案都能實(shí)現(xiàn)頻率的測(cè)量。 多周期同步測(cè) 頻法,此法的優(yōu)點(diǎn)是,閘門時(shí)間與被測(cè)信號(hào)同步,消除了對(duì)被測(cè)信號(hào)計(jì)數(shù)產(chǎn)生的 177。 脈沖數(shù)分頻測(cè)頻法,其特點(diǎn)是高頻測(cè)量精度比 T 法高 A 倍,但控制電路也較復(fù)雜。 脈沖周期測(cè)頻法 [5],此法的特點(diǎn)是低頻檢測(cè)時(shí)精度高,但當(dāng)高頻檢測(cè)時(shí)誤差較大。 幾種方案的優(yōu)劣討論 以上幾種方法各有其優(yōu)缺 點(diǎn): 脈沖數(shù)定時(shí)測(cè)頻法,時(shí)間 Tc 為準(zhǔn)確值,測(cè)量的精度主要取決于計(jì)數(shù) Mx 的誤差。由于 T 法測(cè)量時(shí)要求待測(cè)信號(hào)的周期不能太短,所以可通過(guò) A 分頻使待測(cè)信號(hào)的周期擴(kuò)大 A 倍,所測(cè)頻率為: