![基于單片機的數(shù)字頻率計的設計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/5386ee78-61ab-4a68-a689-c0a4c7e19276/5386ee78-61ab-4a68-a689-c0a4c7e192761.gif)
![基于單片機的數(shù)字頻率計的設計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/5386ee78-61ab-4a68-a689-c0a4c7e19276/5386ee78-61ab-4a68-a689-c0a4c7e192762.gif)
![基于單片機的數(shù)字頻率計的設計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/5386ee78-61ab-4a68-a689-c0a4c7e19276/5386ee78-61ab-4a68-a689-c0a4c7e192763.gif)
![基于單片機的數(shù)字頻率計的設計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/5386ee78-61ab-4a68-a689-c0a4c7e19276/5386ee78-61ab-4a68-a689-c0a4c7e192764.gif)
![基于單片機的數(shù)字頻率計的設計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/25/5386ee78-61ab-4a68-a689-c0a4c7e19276/5386ee78-61ab-4a68-a689-c0a4c7e192765.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘 要隨著電子信息產業(yè)的不斷發(fā)展,信號頻率的測量在科技研究和實際應用中的作用日益重要。傳統(tǒng)的頻率計通常是用很多的邏輯電路和時序電路來實現(xiàn)的,這種電路一般運行緩慢,而且測量頻率的范圍比較小??紤]到上述問題,本論文設計一個基于單片機技術的數(shù)字頻率計。首先,我們把待測信號經過放大整形;然后把信號送入單片機的定時計數(shù)器里進行計數(shù),獲得頻率值;最后把測得的頻率數(shù)值送入顯示電路里進行顯示。本文從頻率計的原理出發(fā),介紹了基于單片機的數(shù)字頻率計的設計方案,選擇了實現(xiàn)系統(tǒng)得各種電路元器件,并對硬件電路進行了仿真。關鍵字:單片機,頻率計,測量目錄第1章引言1第2章方案論證22.1 數(shù)字頻率計設計的幾種方案22.2
2、 幾種方案的優(yōu)劣討論32.3 本次設計采用的方案3第3章系統(tǒng)硬件設計43.1 數(shù)字頻率計工作原理43.1.1 一般數(shù)字式頻率計的原理43.1.2 基于單片機的數(shù)字頻率計原理43.2 電路原理圖53.3 放大整形電路63.3.1 放大整形電路的必要性63.3.2 放大整形電路的原理63.4 分頻電路103.4.1 分頻電路介紹103.5 四選一電路113.6 單片機133.7 顯示電路143.7.1 顯示原理143.7.2 顯示電路圖163.8 電路PCB板18第4章系統(tǒng)軟件設計204.1 測頻軟件實現(xiàn)原理204.2 軟件流程圖204.3 幾個重要的分程序21第5章系統(tǒng)的仿真和調試345.1 硬
3、件電路的仿真345.2 誤差分析37結束語38參考文獻40致謝41附錄42附錄一:系統(tǒng)整體電路圖42附錄二:電路PCB圖42附錄三:系統(tǒng)整體程序44外文資料原文60翻譯文稿63第1章 引言隨著電子信息產業(yè)的發(fā)展,信號作為其最基礎的元素,其頻率的測量在科技研究和實際應用中的作用日益重要,而且需要測頻的范圍也越來越寬。傳統(tǒng)的頻率計通常采用組合電路和時序電路等大量的硬件電路構成,產品不但體積較大,運行速度慢,而且測量范圍低,精度低。因此,隨著對頻率測量的要求的提高,傳統(tǒng)的測頻的方法在實際應用中已不能滿足要求。因此我們需要尋找一種新的測頻的方法。隨著單片機技術的發(fā)展和成熟,用單片機來做為一個電路系統(tǒng)的
4、控制電路逐漸顯示出其無與倫比的優(yōu)越性。因此本論文采用單片機來做為電路的控制系統(tǒng),設計一個能測量高頻率的數(shù)字頻率計。用單片機來做控制電路的數(shù)字頻率計測量頻率精度高,測量頻率的范圍得到很大的提高。本論文的任務是設計一個基于單片機技術的數(shù)字頻率計。主要介紹了整形電路、控制電路和顯示電路的構成原理,以及其測頻的基本方法。進行了相應的硬軟件設計。第2章 方案論證2.1 數(shù)字頻率計設計的幾種方案測量頻率的方法有很多種,主要分為模擬法和數(shù)字法兩大類,因為本次設計的要求和環(huán)境,現(xiàn)在主要討論數(shù)字法中的電子計數(shù)式的幾種測頻方法。電子計數(shù)式的測頻方法主要有以下幾種:脈沖數(shù)定時測頻法(M法),脈沖周期測頻法(T法),
5、脈沖數(shù)倍頻測頻法(AM法),脈沖數(shù)分頻測頻法(AT法),脈沖平均周期測頻法(M/T法),多周期同步測頻法。下面是幾種方案的具體方法介紹。脈沖數(shù)定時測頻法(M法):此法是記錄在確定時間Tc內待測信號的脈沖個數(shù)Mx,則待測頻率為: Fx=Mx/Tc (2-1)脈沖周期測頻法(T法):此法是在待測信號的一個周期Tx內,記錄標準頻率信號變化次數(shù)Mo。這種方法測出的頻率是: Fx=Mo/Tx (2-2)脈沖數(shù)倍頻測頻法(AM法):此法是為克服M法在低頻測量時精度不高的缺陷發(fā)展起來的。通過A倍頻,把待測信號頻率放大A倍,以提高測量精度。其待測頻率為: Fx=Mx/ATo (2-3)脈沖數(shù)分頻測頻法(AT法
6、):此法是為了提高T法高頻測量時的精度形成的。由于T法測量時要求待測信號的周期不能太短,所以可通過A分頻使待測信號的周期擴大A倍,所測頻率為: Fx=AMo/Tx (2-4)脈沖平均周期測頻法(M/T法):此法是在閘門時間Tc內,同時用兩個計數(shù)器分別記錄待測信號的脈沖數(shù)Mx和標準信號的脈沖數(shù)Mo。若標準信號的頻率為Fo,則待測信號頻率為: Fx=FoMx/Mo (2-5)多周期同步測頻法:是由閘門時間Tc與同步門控時間Td共同控制計數(shù)器 計數(shù)的一種測量方法,待測信號頻率與M/T法相同。2.2 幾種方案的優(yōu)劣討論以上幾種方法各有其優(yōu)缺點:脈沖數(shù)定時測頻法,時間Tc為準確值,測量的精度主要取決于計
7、數(shù)Mx的誤差。其特點在于:測量方法簡單,測量精度與待測信號頻率和門控時間有關,當待測信號頻率較低時,誤差較大。脈沖周期測頻法,此法的特點是低頻檢測時精度高,但當高頻檢測時誤差較大。脈沖數(shù)倍頻測頻法,其特點是待測信號脈沖間隔減小,間隔誤差降低;精度比M法高A倍,但控制電路較復雜。脈沖數(shù)分頻測頻法,其特點是高頻測量精度比T法高A倍,但控制電路也較復雜。脈沖平均周期測頻法,此法在測高頻時精度較高,但在測低頻信號時精度較低。多周期同步測頻法,此法的優(yōu)點是,閘門時間與被測信號同步,消除了對被測信號計數(shù)產生的1個字誤差,測量精度大大提高,且測量精度與待測信號的頻率無關,達到了在整個測量頻段等精度測量。2.
8、3 本次設計采用的方案根據(jù)頻率的定義,頻率是單位時間內信號波的個數(shù),因此采用上述各種方案都能實現(xiàn)頻率的測量。但是本論文設計的是一個用單片機做為電路控制系統(tǒng)的數(shù)字式頻率計,采用脈沖定時測頻法,則在低頻率的測量時誤差會大一些。采用脈沖周期測頻法則測高頻率時精度無法保證;采用脈沖數(shù)倍頻測頻法和脈沖數(shù)分頻測頻法則精度有所提高,但控制電路較復雜;采用脈沖平均周期測頻法則很難兼顧低頻信號的測量;而采用多周期同步測頻法,閘門時間與被測信號同步,消除了對被測信號計數(shù)產生的1誤差,測量精度大大提高,且測量精度與待測信號的頻率無關,達到了在整個測量頻段等精度測量。本次設計由于個人水平有限,因此,本次設計根據(jù)需要,
9、采用脈沖定時測頻法。第3章 系統(tǒng)硬件設計3.1 數(shù)字頻率計工作原理3.1.1 一般數(shù)字式頻率計的原理數(shù)字式頻率計是測量頻率最常用的儀器之一,其基本設計原理是首先把待測信號通過放大整形,變成一個脈沖信號,然后通過控制電路控制計數(shù)器計數(shù),最后送到譯碼顯示電路里進行顯示,其基本構成框圖如圖3-1所示。 放大整形電路 控制門電路 計數(shù)器電路 譯碼顯示電路待測信號圖3-1 數(shù)字式頻率計原理框圖由上圖可以看出,待測信號經過放大整形電路后得到一個待測信號的脈沖信號,然后通過計數(shù)器計數(shù),可得到需要的頻率值,最后送入譯碼顯示電路中顯示出來。但是控制部分才是最重要的,它在整個系統(tǒng)的運行中起至關重要的作用。3.1.
10、2 基于單片機的數(shù)字頻率計原理由上節(jié)介紹可知,控制電路在數(shù)字頻率計中起至關重要的作用。采用什么樣的控制電路,直接決定了數(shù)字頻率計的性能。由第二章的內容可知,為了得到一個高性能的數(shù)字頻率計,本次設計采用單片機來做為數(shù)字頻率計的核心控制電路,輔之于少數(shù)的外部控制電路。因此本此設計的系統(tǒng)包括信號放大整形電路、分頻電路、單片機AT89C51和顯示電路等。本系統(tǒng)讓被測信號經過放大整形后,進入單片機開始計數(shù),利用單片機內部定時計數(shù)器定時,在把所記得的數(shù)經過相關處理后送到顯示電路中顯示。其系統(tǒng)原理框圖將在下面介紹。根據(jù)上述的基于單片機的數(shù)字頻率計的設計原理,我們可設計一個由放大整形電路、分頻電路、多路數(shù)據(jù)選
11、擇器、AT89C51以及顯示電路來構成的數(shù)字式頻率計,其系統(tǒng)框圖如圖3-2所示。放大整形電路分頻電路多路數(shù)據(jù)選擇器單片機顯示電路待測信號圖3-2 系統(tǒng)構成框圖 3.2 電路原理圖由上面的內容可看到,本次設計的基于單片機的數(shù)字式頻率計包括波形整形電路、分頻電路、多路數(shù)據(jù)選擇器、單片機和顯示電路等幾個模塊。所以本次設計的數(shù)字式頻率計的電路由以下幾塊構成:由施密特觸發(fā)器構成的波形整形放大電路、由74LS90構成的分頻電路、由74LS153四選一電路構成的四選一電路、AT89C51單片機以及由74LS138譯碼電路、74LS245上拉電路和八段數(shù)碼管顯示電路構成的數(shù)碼顯示電路構。其原理圖如圖3-3所示
12、。圖3-3 系統(tǒng)電路原理圖3.3 放大整形電路3.3.1 放大整形電路的必要性因為在單片機計數(shù)中只能對脈沖波進行計數(shù),而實際中需要測量頻率的信號是多種多樣的,有脈沖波、還有可能有正弦波、三角波等,所以需要一個電路。把待測信號轉化為可以進行計數(shù)的脈沖波。3.3.2 放大整形電路的原理矩形脈沖波的整形電路有兩種:施密特觸發(fā)器、單穩(wěn)態(tài)觸發(fā)器。而這兩種電路都可以有門電路或是555定時器構成。由于本次設計的基于單片機的數(shù)字頻率計的放大整形電路部分需求比較簡單,所以我們選擇由555定時器構成的施密特觸發(fā)器來作為信號波形整形電路,下面我們給出其全面的介紹。施密特觸發(fā)器是脈沖波形變換中經常使用的一種電路,下面
13、我們對它的特點、輸出特性、工作原理等進行簡單的介紹。一、特點1、電平觸發(fā):觸發(fā)信號可以是變化緩慢的模擬信號,達某一電平值時,輸出電壓突變。為脈沖信號。2、電壓滯后傳輸:輸入信號從低電平上升過程中,電路狀態(tài)轉換時對應的輸入電平,與從高電平下降過程中電路狀態(tài)轉換時對應的輸入電平不同。利用上述兩個特點,施密特觸發(fā)器不僅能將邊沿緩慢變化的信號波形整形為邊沿陡峭的矩形波,還可以將疊加在矩形脈沖高、低電平上的噪聲有效地清除。二、 輸出特性1、同向輸出:當時,為同向輸出,此時當時,當時,。其同向輸出特性圖如圖3-4所示。圖3-4 同向輸出特性圖2、反向輸出:當時,為反向輸出,此時當,當時,其反向輸出特性圖如
14、圖3-5所示。 圖3-5 反向輸出特性圖正向閾值電平:上升時,引起突變時對應的值。負向閾值電平:下降時,引起突變時對應的值。三、整形原理用門電路構成施密特觸發(fā)器1、構成,用CMOS非門構成的施密特觸發(fā)器電路圖如圖3-6所示。 圖3-6 用CMOS非門構成的施密特觸發(fā)器電路圖2、工作原理,其工作原理如表3-1所示。表3-1 用CMOS非門構成的施密特觸發(fā)器工作原理表 3、計算回差電壓(1)、求在從0開始上升時,。在UI=VT+時,G1、G2門要翻轉前的瞬間,電路中電流流向和電位情況如圖3-7所示。 圖3-7 求VT+時電路圖從求,入手求:由公式(3-1)就可以推導出公式(3-2),就可以得出。
15、(3-1) (3-2)(2)、求在從最大值開始下降時,。在,G1、G2門要翻轉前的瞬間,電路中電流流向和電位情況如圖3-8所示。 圖3-8 求VT-是電路圖從求入手求:由公式(3-3)可以推導出公式(3-4),再由公式聯(lián)合公式(3-5)以及公式(3-6),就可以得到公式(3-7),得到VT-的值。 (3-3) (3-4) (3-5) (3-6) (3-7)(3)、求回差電壓求出和之后,由下面的公式(3-8)就可求出。 (3-8)當VDD一定時,調R1、R2 ,可調,即可調、,可調脈寬。(4)、電壓傳輸特性。當UI=0時,UO=UOL是施密特同相輸出,其電壓輸出特性如圖3-9所示。圖3-9 電壓
16、傳輸特性(6)、邏輯符號。施密特觸發(fā)器常見的邏輯符號如圖3-10所示。圖3-10 施密特觸發(fā)器的邏輯符號集成施密特觸發(fā)器,常用TTL電路集成施密特觸發(fā)器有7413等。常用CMOS電路集成施密特觸發(fā)器有CC40106等。3.4 分頻電路3.4.1 分頻電路介紹本次設計采用的是脈沖定時測頻法,由于考慮到單片機的定時計數(shù)器得計數(shù)能力有限,無法對過高頻進行測量,所以我們對待測信號進行了分頻,這樣能提高測量頻率的范圍,還能相應的提高頻率測量的精度。所以我們需要把待測信號進行分頻。在本次設計中,因為我們要進行的是十分頻、一百分頻和一千分頻,所以我們選用74LS90電路,經過正確的連接后就可以進行十分頻,進
17、行三次十分頻就可以得到分頻一千次的信號。其引腳圖和功能表分別如圖3-11和表3-2所示。 圖3-11 74LS90引腳圖表3-2 74LS90功能表 表2 74LS90功能表信號經過分頻電路74LS90,其頻率將減小到原信號的十分之一。3.5 四選一電路本次設計需要用到一個四選一電路,用來選擇輸入單片機進行計數(shù)的待測信號。74LS153就是其中比較好用和常用的一種四選一電路元件。所以這次采用很常見的74LS153集成電路,其電路圖如下圖圖3-12所示。 數(shù)據(jù)選擇器有多個輸入,一個輸出。其功能類似于單刀多擲開關,故又稱為多路開關(MUX)。在控制端的作用下可從多路并行數(shù)據(jù)中選擇一路送輸出端。TT
18、L中規(guī)模數(shù)據(jù)選擇器是根據(jù)多位數(shù)據(jù)的編碼情況將其中一路數(shù)據(jù)由輸出端 圖3-12 LS153電路原理圖送出的電路,74LS153是雙四選一數(shù)據(jù)選擇器,其中有兩個四選一數(shù)據(jù)選擇器,它們各有四個數(shù)據(jù)輸入端:1D3、1D2、1D1、1D0和2D3、2D2、2D1、2D0。一個輸出端1Y、2Y和一個控制許可端S。系統(tǒng)控制端S為低電平有效。當控制許可端S=1時,傳輸通道被封鎖,芯片被禁止,Y=0,輸入的數(shù)據(jù)不能傳送出去;當控制許可端S=0時,傳輸通道打開,芯片被選中,處于工作狀態(tài),輸入的數(shù)據(jù)被傳送出去A1、A0是地址選擇端,兩路選擇器共用。管腳如圖3-12所示。74LS153邏輯功能見表3-3。從功能表可看
19、出,當S端輸入為低電平時,四選一數(shù)據(jù)選擇器處于工作狀態(tài),它有4位并行數(shù)據(jù)輸入D0D3,單選擇地址輸入A1、A0的二進制碼依次由00遞增至11時,4個通道的并行數(shù)據(jù)便依次傳送到輸出端W。表3-3 74LS153的功能表A1A0/SW10000D0010D1100D2110D33.6 單片機單片機作為控制系統(tǒng)和計數(shù)器,是本次設計的最重要的部分,AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制
20、造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。所以本次設計采用AT89C51單片機。本次設計采用的是89C51單片機, 89C51是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節(jié)的程序存儲器,128字節(jié)的RAM,32條I/O線,2個16位定時器/計數(shù)器,,一個5中斷源兩個優(yōu)先級的中斷結構,一個雙工的串行口,片上震蕩器和時鐘電路。其引腳說明如下:引腳說明:VCC:電源電壓。GND:接地。P0口:P0
21、口是一組8位漏極開路型雙向I/O口,作為輸出口用時,每個引腳能驅動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時,它還可設定成地址數(shù)據(jù)總線復用的形式。在這種模式下,P0口具有內部上拉電阻。在EPROM編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗時。程序校驗時需要外接上拉電阻。P0口:P0口是一帶有內部上拉電阻的8位雙向I/O口。P0口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P0口寫1時,它們被內部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P0口因為內部存在上拉電阻,所以當外部被拉低時會輸出
22、一個低電流(IIL)。P1口:P2是一帶有內部上拉電阻的8位雙向的I/O端口。P1口的輸出緩沖能驅動4個TTL邏輯門電路。當向P1口寫1時,通過內部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX DPTR)時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強大的內部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。P
23、3口:P3是一帶有內部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅動4個TTL邏輯門電路。當向P3口寫1時,通過內部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有AT89C51的多種特殊功能,P3.0的第二功能是串行輸入口RXD, P3.1的第二功能是串行輸出口TXD, P3.2的第二功能是外部中斷0,P3.3的第二功能是外部中斷1,P3.4的第二功能是定時器T0,P3.5的第二功能是定時器T1,P3.6的第二功能是外部數(shù)據(jù)存儲器寫選通/WR,P3.7的第二功能是外部數(shù)據(jù)存儲器讀選通/RD。3
24、.7 顯示電路3.7.1 顯示原理我們測量的頻率最終要顯示出來。八段LED數(shù)碼管顯示器基本電路如圖3-13所示。圖3-13 八段LED數(shù)碼管顯示器八段LED數(shù)碼管顯示器由8個發(fā)光二極管組成?;?個長條形的發(fā)光管排列成“日”字形,另一個圓點形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)字及部份英文字母。LED數(shù)碼管顯示器有兩種形式:一種是8個發(fā)光二極管的陽極都連在一起的,稱之為共陽極LED數(shù)碼管顯示器;另一種是8個發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED數(shù)碼管顯示器。如下圖所示。共陰和共陽結構的LED數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當二極管導通時,對應的筆劃
25、段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個筆劃段hgfedcba對應于一個字節(jié)(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二進制碼就能表示欲顯示字符的字形代碼。在單片機應用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種辦法單片機中CPU的開銷小,能供給單獨鎖存的I/O接口電路很多。在單片機系統(tǒng)中動態(tài)掃描顯示接口是單片機中應用最為廣泛的一種顯示
26、方式之一。其接口電路是把所有顯示器的8個筆劃段a-h同名端連在一起,而每一個顯示器的公共極COM是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,則取決于COM端,而這一端是由I/O控制的,所以我們就能自行決定何時顯示哪一位了。而所謂動態(tài)掃描就是指我們采用分時的辦法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。 在輪流點亮掃描過程中,每位顯示器的點亮時間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應,盡管實際上各位顯示器并非同時點亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍
27、感。綜合以上內容,我們在這次設計中采用LED數(shù)碼管,采用單片機靜態(tài)顯示計數(shù)來顯示。采用一個74LS138譯碼器來控制各個數(shù)碼管,采用一個74LS245來做上拉電路,使數(shù)碼顯示管有足夠的電壓進行顯示。3.7.2 顯示電路圖顯示電路由數(shù)碼管和74LS138組成,數(shù)碼管已經介紹過了,所以不再多加闡述,現(xiàn)在介紹顯示電路組成的另一重要電路:74LS138。在本次設計中,由74LS138連接數(shù)碼管的接地端,由此來控制數(shù)碼管的亮和滅。其引腳圖和功能表分別如圖3-14和表3-4所示。圖3-14 74LS153引腳圖表3-4 74LS138功能表G1G2CBAY0Y1Y2Y3Y4Y5Y6Y71111111110
28、1111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110由圖和功能表可以看出,74LS138譯碼器有三個地址輸入端A、B、C和八個譯碼輸出端Y0Y7,當輸入為000時,Y0輸出端為0,其他輸出端都為1;同理可推出其他輸出狀態(tài),即只有輸出變量下標對應的二進制代碼與輸入代碼相等的輸出端為0,其他的輸出端都為1。另外,該譯碼器還有三個使能端:G1、/G2A、/G2B,只有當G1=1、/G2A=0、/G2B=0同時滿足,才能譯碼。三個條
29、件中任何一個不滿足就禁止譯碼。其中譯碼選通端/G2B也被稱作數(shù)據(jù)輸入端,主要指它用于數(shù)據(jù)分配時所起的作用。設置多個使能端使得該譯碼器能被靈活組成各種電路。由于單片機輸出的顯示數(shù)據(jù)電壓不夠高,無法直接送到數(shù)碼管上直接顯示,因此需要用一個上拉電路來提高輸出數(shù)據(jù)的電壓值,以便送到數(shù)碼管顯示。在本次設計中我們選用DM74LS245N。其電路圖如圖3-15所示。圖3-15 顯示上拉電路圖3.8 電路PCB板3.9 完成了整體電路圖的設計,就要進行電路的PCB的設計,設計后得到的電路PCB板圖如圖3-16所示。圖3-16 電路PCB板第4章 系統(tǒng)軟件設計4.1 測頻軟件實現(xiàn)原理測頻軟件的實現(xiàn)是基于電路系統(tǒng)
30、來進行設計的。本次設計采用的是脈沖定時測頻法,所以在軟件實現(xiàn)上基本遵照系統(tǒng)的設計原理,進行測頻。本次軟件設計語言采用匯編語言,在電腦上編譯通過后即可下載到電路上的實際電路中,即可實現(xiàn)頻率的測量。軟件設計的基本思路是:1、把要用到的內部存儲器的地址運用偽指令標號,方便后面設計中運用;2、跳轉到中斷程序進行初步數(shù)據(jù)采集;3、開始主程序,首先判斷是否有待測信號,無信號就等待信號,有信號則進行下一步;4、判斷是否定時到1S,若沒有到達1S定時,則執(zhí)行下面的5和6步得操作,若達到1S,則執(zhí)行第6步以后的操作;5、判斷是否第一次,若是,則判斷當前的檔位是否設置合適,若合適則直接跳轉到返回主程序,若不合適,
31、則進入第6步;6、調整檔位,重新進入中斷開始初步計數(shù);7、判斷檔位是否合適,合適則把測得的數(shù)據(jù)轉換為十進制數(shù)據(jù),根據(jù)當前的檔位相應的調整數(shù)位,并取表找到相應的顯示數(shù)據(jù),然后執(zhí)行第10步操作;8、若上一步中判斷出檔位不合適,則根據(jù)頻率進行相應的檔位調整。9、恢復初值,重新開始計數(shù);10、返回主程序。4.2 軟件流程圖根據(jù)上一節(jié)所敘述的電路設計的基本思路,我們可畫出系統(tǒng)流程圖如圖4-1所示。 數(shù)碼轉換開始次數(shù)加1調整檔位,重新設置計時返回主程序判斷是否有信號判斷是定時到1s判斷是否適合顯示 返回否否是是是是否第一次檔位是否合適適否否是是否圖4-1 系統(tǒng)流程圖4.3 幾個重要的分程序本次系統(tǒng)由有幾個
32、關鍵的程序,分別是系統(tǒng)主控程序、數(shù)碼轉化程序和數(shù)據(jù)顯示程序。下面分別介紹這幾個程序。 1、控制程序:本文設計的是基于單片機的數(shù)字頻率計的設計,用單片機來做為數(shù)字頻率計的控制部分。因此,單片機的控制程序在本次設計中顯得非常重要。經過設計,我們得到了如下的控制程序。;*;- MAIN -;* MAIN: NOP CALL DISPLAY0;LED動態(tài)顯示刷新 CALL DELAY100 JNB B_T1IF,MAIN;每50ms處理一次。;= CLR B_T1IF MOV A,TIMES_50MS CJNE A,#20,NO_1S JMP YES_1S; 滿20次即為一秒鐘;=NO_1S:MOV
33、A,TIMES_50MSCJNE A,#1,NO_1S_END ;TIMES_50MS不為1,返回;當TIMES_50MS為1時,判斷當前所選檔位是否過高或者過低;若計數(shù)器BUF大于100,則說明滿1秒時必然大于2000,則提前調高頻率衰減檔位,;并清零各計數(shù)值,重新在新檔位測量MOV A,COUNTER_BUF_H JNZ NO_1S_1;計數(shù)器高位不為0,說明超100 MOV A,COUNTER_BUF_LCJNE A,#100,NO_1S_0NO_1S_0:JC NO_1S_LOW;計數(shù)器BUF小于100,繼續(xù)跳轉到NO_1S_LOW判斷是否需要調低檔位NO_1S_1:MOV A,FRE
34、Q_LOSS;超量程,判斷當前頻率衰減檔位,若小于3則加一檔CJNE A,#3,NO_1S_2JMP NO_1S_ENDNO_1S_2:JC NO_1S_3MOV A,#3MOV FREQ_LOSS,A;檔位大于3,則修正為3NO_1S_3:INC FREQ_LOSS;頻率衰減檔位加1MOV A,FREQ_LOSSCJNE A,#1,NO_1S_4SETB P153_B;FREQ_LOSS=1CLR P153_AJMP NO_1S_20NO_1S_4:CJNE A,#2,NO_1S_5CLR P153_B;FREQ_LOSS=2SETB P153_AJMP NO_1S_20NO_1S_5:CL
35、R P153_B;FREQ_LOSS=3CLR P153_AJMP NO_1S_20;=NO_1S_LOW:MOV A,COUNTER_BUF_LCJNE A,#10,NO_1S_10NO_1S_10:JNC NO_1S_END;偏低,則判斷是否需要降低頻率衰減檔位MOV A,FREQ_LOSS;JZ NO_1S_END;已經是最低檔,無需調整DEC FREQ_LOSS;減一檔MOV A,FREQ_LOSSCJNE A,#0,NO_1S_11SETB P153_B;FREQ_LOSS=0SETB P153_AJMP NO_1S_20NO_1S_11:CJNE A,#1,NO_1S_12SETB
36、 P153_B;FREQ_LOSS=1CLR P153_AJMP NO_1S_20NO_1S_12:CLR P153_B;FREQ_LOSS=2SETB P153_AJMP NO_1S_20NO_1S_20:;調整檔位后,重新計數(shù)CLR AMOV TIMES_50MS,AMOV COUNTER_BUF_L,AMOV COUNTER_BUF_H,ANO_1S_END:JMP MAIN;=;=YES_1S:;把計數(shù)器的數(shù)轉換成10進制,并根據(jù)當前檔位設定好要顯示的6個數(shù)字,;存放在DISPLAY_DATA1-DISPLAY_DATA6中。;MOV A,COUNTER_BUF_HMOV R7,AMO
37、V A,COUNTER_BUF_LMOV R6,ACALL CHANGE16_10;=;在頻率衰減控制下,計數(shù)器數(shù)據(jù)不會超出2000多少,因此只取轉換后的低4位轉換成數(shù)據(jù)顯示MOV A,R3ANL A,#0FHMOV TEMP1,AMOV A,R3ANL A,#0F0HSWAP AMOV TEMP2,AMOV A,R4ANL A,#0FHMOV TEMP3,AMOV A,R4ANL A,#0F0HSWAP AMOV TEMP4,A;=;根據(jù)頻率衰減檔位調整數(shù)位MOV A,FREQ_LOSSCJNE A,#0,LOSS_1CLR AMOV DATA4,AMOV DATA5,AJMP LOSS_E
38、NDLOSS_1:CJNE A,#1,LOSS_2MOV A,DATA3MOV DATA4,AMOV A,DATA2MOV DATA3,AMOV A,DATA1MOV DATA2,AMOV A,DATA0MOV DATA1,ACLR AMOV DATA0,AMOV DATA5,AJMP LOSS_ENDLOSS_2:CJNE A,#2,LOSS_3MOV A,DATA3MOV DATA5,AMOV A,DATA2MOV DATA4,AMOV A,DATA1MOV DATA3,AMOV A,DATA0MOV DATA2,ACLR AMOV DATA0,AMOV DATA1,AJMP LOSS_E
39、NDLOSS_3:MOV A,DATA2MOV DATA5,AMOV A,DATA1MOV DATA4,AMOV A,DATA0MOV DATA3,ACLR AMOV DATA0,AMOV DATA1,AMOV DATA2,ALOSS_END:;高位若為0,則置為11,取出顯示代碼為LED全滅MOV R0,#DATA5;取最高位數(shù)據(jù)地址MOV R2,#5LOOP_CLR:MOV A,R0JNZ DISCDMOV A,#11MOV R0,ADEC R0DJNZ R2,LOOP_CLR;=;取表找相應顯示代碼DISCD:MOV R0,#DATA_ADDR;MOV R1,#DISPLAY_DATA_
40、ADDR;MOV R2,#6;MOV DPTR,#TABDILP:MOV A,R0MOVC A,A+DPTRMOV R1,AINC R0INC R1DJNZ R2,DILP;=;重新計數(shù)CLR AMOV TIMES_50MS,AMOV COUNTER_BUF_L,AMOV COUNTER_BUF_H,AJMP MAINTAB: ;/顯示碼碼表/ DB 3FH,06H,5BH,4FH,66H; DB 6DH,7DH,07H,7FH,6FH,0FFH;2、數(shù)碼轉化程序:在本次設計中,單片機計數(shù)器所計得的數(shù)是二進制,以十六進制數(shù)的形式存放在寄存器中,而我們需要顯示的是十進制數(shù)的頻率,因此需要進行轉化
41、才能顯示。數(shù)碼轉化程序設計的原理:本次設計的單片機數(shù)碼轉換是通過單片機的移位乘二特性和單片機的十進制調整功能來實現(xiàn)的。先把雙字節(jié)的十六進制數(shù)轉換為8421BCD碼,在控制顯示的時候通過位調整就可以得到計數(shù)所得頻率的十進制數(shù)據(jù),供給顯示。其具體的轉換程序如下。;*; - 16進制轉10進制 -;*;雙字節(jié)十六進制整數(shù)轉換成雙字節(jié)碼整數(shù);入口條件:待轉換的雙字節(jié)十六進制整數(shù)在R6、R7中。;出口信息:轉換后的三字節(jié)碼整數(shù)在R3、R4、R5中。;影響資源:PSW、A、R2R7 堆棧需求: 字節(jié)CHANGE16_10: CLR A ;碼初始化 MOV R3, A MOV R4, A MOV R5, A
42、 MOV R2, #10H ;轉換雙字節(jié)十六進制整數(shù)CHANG_1: MOV A, R7 ;從高端移出待轉換數(shù)的一位到CY中 RLC A MOV R7, A MOV A, R6 RLC A MOV R6, A MOV A, R5 ;碼帶進位自身相加,相當于乘 ADDC A, R5 DA A ;十進制調整 MOV R5, A MOV A, R4 ADDC A, R4 DA A MOV R4, A MOV A, R3 ADDC A, R3 MOV R3, A ;雙字節(jié)十六進制數(shù)的萬位數(shù)不超過,不用調整 DJNZ R2, CHANG_1 ;處理完 RET3、數(shù)碼顯示程序:單片機控制其內部計數(shù)器得到的
43、數(shù)據(jù)要送到8位數(shù)碼顯示管中顯示出來,才能被我們所看到,直接得到我們所測量的頻率。我們本次設計所采用的是數(shù)碼管靜態(tài)顯示,所以我們要把數(shù)據(jù)循環(huán)的送入數(shù)碼管顯示。因為我們經過轉換程序把所得的數(shù)據(jù)存儲在40H45H中,因此,數(shù)碼顯示的基本原理就是把40H45H中的數(shù)據(jù)分時的通過P1口送到數(shù)碼管,再通過74LS138來控制各個數(shù)碼管的亮和滅。對于控制,我們在控制軟件里。其流程圖如圖4-3所示。 把顯示位數(shù)清零開始計算當前要顯示的位數(shù),取得地址滅LED燈取數(shù)顯示返回主程序判斷顯示位數(shù)是否為6判斷顯示位數(shù)是否大于6是否否是圖4-2 數(shù)碼顯示流程圖由此,可以寫出顯示程序如下:;*; - 顯示子程序 -;*DI
44、SPLAY0: MOV A,COUNTER_DISPLAY; CJNE A,#6,DISPLAY1 JMP DISPLAY2;/當前顯示位數(shù)等于6/DISPLAY1: JNC DISPLAY2;/當前顯示位數(shù)大于6/ JMP DISPLAY3DISPLAY2: CLR A MOV COUNTER_DISPLAY,A;/當前顯示位數(shù)大于等于6,清零/DISPLAY3: MOV A,#0FFH MOV PORT_LED,A;/變換數(shù)據(jù)前先滅LED,以消除閃動/ MOV A,COUNTER_DISPLAY MOV PORT_LED_138,A MOV R1,#DISPLAY_DATA_ADDR AD
45、D A,#DISPLAY_DATA_ADDR;/計算當前要顯示數(shù)據(jù)的地址,初始地址+相應位數(shù)/ MOV R1,A MOV A,R1;/取出要顯示的相應位的數(shù)據(jù)/ MOV PORT_LED,A;/送出顯示數(shù)據(jù)/ MOV A,COUNTER_DISPLAY INC A MOV COUNTER_DISPLAY,A;/顯示位加1/RETI第5章 系統(tǒng)的仿真和調試5.1 硬件電路的仿真為了保證系統(tǒng)能正常工作,我們需要對電路中關鍵的電路部分進行仿真,下面我們對波形整形電路和分頻電路進行了仿真。Proteus 是一款非常不錯的單片機模擬軟件。雖然電子模擬軟件不少,但是能很好的模擬單片機的只有proteus軟
46、件。該軟件能模擬 51 單片機,avr單片機,pic 單片機,以及部分arm 芯片。支持的外圍器件也很多包括A/d,LCD,LED 數(shù)碼管,溫度,時鐘等芯片。本次設計所有的電路都采用proteus對電路進行仿真。下面我們對波形整形電路和分頻電路進行仿真。具體的操作步驟如下:1、設計仿真原理圖。在這部分可以從電路電路原理圖中把該部分復制到新的項目中,然后在添加好電源和地。給電路加上仿真激勵源。2、設置仿真環(huán)境和仿真參數(shù)。在仿真電路圖中為個元件的數(shù)值添加參數(shù),添加需要觀察的節(jié)點處的網(wǎng)絡標號,把瞬態(tài)特信仿真方式如圖5-1所示。圖5-1 選擇瞬態(tài)特性分析類3、設置瞬態(tài)分析的參數(shù),如圖5-2所示。圖5-2 瞬態(tài)特性分析參數(shù)設置4、經過上述步驟后,設置好參數(shù)后,就可以單擊OK鍵進行仿真。系統(tǒng)將進行瞬態(tài)特性分析。我們依照上述步驟,可以分別得出整形電路和分頻電路的仿真波形圖。圖5-3是整形電路的仿真電路圖,圖5-4是其仿真得到的波形圖,圖5-5是分頻電路的仿真電路圖,圖5-6是其仿真得到的波形圖。圖5-3 整形電路仿真電
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教部編版歷史七年級下冊第10課 《蒙古族的興起與元朝的建立》 聽課評課記錄7
- 北師大版歷史八年級上冊第10課《新文化運動》聽課評課記錄
- 豬場購銷合同(2篇)
- 生產承包合同(2篇)
- 仁愛版八年級地理上冊3.2《土地資源》聽課評課記錄
- 八年級道德與法治下冊第四單元崇尚法治精神第七課尊重自由平等第1框自由平等的真諦聽課評課記錄(新人教版)
- 蘇科版數(shù)學七年級下冊10.2.1《二元一次方程組》聽評課記錄
- 冀教版數(shù)學七年級下冊《多項式乘多項式》聽評課記錄2
- 湘教版數(shù)學七年級上冊2.3《代數(shù)式的值》聽評課記錄
- 五年級數(shù)學下冊聽評課記錄《3.1 分數(shù)乘法(一)(4)》北師大版
- 固體廢棄物檢查記錄
- 工程設計費取費標準
- GB/T 5465.1-2009電氣設備用圖形符號第1部分:概述與分類
- 2023年遼寧鐵道職業(yè)技術學院高職單招(數(shù)學)試題庫含答案解析
- CAPP教學講解課件
- 自然環(huán)境的服務功能課件 高中地理人教版(2019)選擇性必修3
- 小耳畸形課件
- 新人教版初中初三中考數(shù)學總復習課件
- 機械制造有限公司組織架構圖模板
- 8.3 摩擦力 同步練習-2021-2022學年人教版物理八年級下冊(Word版含答案)
- 生理學教學大綱
評論
0/150
提交評論