嵌入式課程設(shè)計(數(shù)字頻率計)_第1頁
嵌入式課程設(shè)計(數(shù)字頻率計)_第2頁
嵌入式課程設(shè)計(數(shù)字頻率計)_第3頁
嵌入式課程設(shè)計(數(shù)字頻率計)_第4頁
嵌入式課程設(shè)計(數(shù)字頻率計)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章概述數(shù)字頻率計是計算機、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號,方波信號及其他各種單位時間內(nèi)變化的物理量。在進行模擬、數(shù)字電路的設(shè)計、安裝、調(diào)試過程中,由于其使用十進制數(shù)顯示,測量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計。 本數(shù)字頻率計將采用定時、計數(shù)的方法測量頻率。測量范圍在9kHz以下的方波,時基寬度為1us,10us,100us,1ms。用單片機實現(xiàn)自動測量功能?;驹O(shè)計原理是直接用十進制數(shù)字顯示被測信號頻率的一種測量裝置。它以測量周期的方法對方波的頻率進行自動的測量。1.1 課程設(shè)計的基

2、本原理所謂頻率,就是周期性信號在單位時間()內(nèi)變化的次數(shù),若在一定時間間隔內(nèi)測得這個周期性信號的重復(fù)變化次數(shù)為,則其頻率可表示為 圖1數(shù)字頻率計結(jié)構(gòu)圖圖1是數(shù)字頻率計的組成框圖。被測信號經(jīng)放大整形電路變成計數(shù)器所要求的脈沖信號,其頻率與被測信號的頻率相同。時基電路提供標準時間基準信號,其高電平持續(xù)時間,當信號來到時,閘門開通,被測脈沖信號通過閘門,計數(shù)器開始計數(shù),直到信號結(jié)束時閘門關(guān)閉,停止計數(shù)。若在閘門時間內(nèi)計數(shù)器計得的脈沖數(shù)為,則被測信號頻率。邏輯控制電路的作用有兩個:一是產(chǎn)生鎖存脈沖,使顯示器上的數(shù)字穩(wěn)定;二是產(chǎn)生清“0”脈沖,使計數(shù)器每次測量從零開始計數(shù)。1.2系統(tǒng)設(shè)計要求l 以單片機

3、未核心設(shè)計一個數(shù)字頻率計,有頻率檢測電路、單片機時鐘電路、撫慰電路、數(shù)碼管驅(qū)動電路、四位數(shù)碼管電路5部分組成l 可以測量9KHZ以下的方波1.3設(shè)計方案確定 1. 硬件方案 硬件電路有5部分組成,既平率檢測電路、單片機時鐘電路、復(fù)位電路、數(shù)碼管驅(qū)動電路、四位數(shù)馬管電路。各部分實現(xiàn)功能如下:l 頻率檢測電路:進行頻率檢測并轉(zhuǎn)換成數(shù)字信號。l 單片機時鐘電路、復(fù)位電路:單片機正常工作需要。l 數(shù)碼管驅(qū)動電路、四位數(shù)碼管電路:用于測試的電壓結(jié)果顯示。2. 軟件方案 本系統(tǒng)的軟件部分主要完成功能:對脈沖的頻率采集、計算及顯示。根據(jù)軟件的功能劃分軟件設(shè)計模塊,各模塊的具體任務(wù)如下:l 數(shù)碼管顯示模塊:實

4、現(xiàn)采集好的頻率值的顯示。l 脈沖計數(shù)模塊:把脈沖的頻率檢測出來。第二章 數(shù)字頻率計的硬件結(jié)構(gòu)設(shè)計2.1 系統(tǒng)硬件的構(gòu)成 本頻率計的數(shù)據(jù)采集系統(tǒng)主要元器件是單片機AT89C51,由它完成對待測信號頻率的計數(shù)和結(jié)果顯示等功能,外部還要有分頻器、顯示器等器件。可分為以下幾個模塊:放大整形模塊、秒脈沖產(chǎn)生模塊、換檔模擬轉(zhuǎn)換模塊、單片機系統(tǒng)、LCD顯示模塊。各模塊關(guān)系圖如圖2所示: 圖2 數(shù)字頻率計功能模塊2.2 系統(tǒng)工作原理圖圖3 數(shù)字頻率計系統(tǒng)工作原理圖2.3 AT89C51單片機及其引腳說明89C51是一種高性能低功耗的采用CMOS工藝制造的8位微控制器,它提供下列標準特征:4K字節(jié)的程序存儲器,

5、128字節(jié)的RAM,32條I/O線,2個16位定時器/計數(shù)器, 一個5中斷源兩個優(yōu)先級的中斷結(jié)構(gòu),一個雙工的串行口, 片上震蕩器和時鐘電路。引腳說明:·VCC:電源電壓·GND:地·P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時,每個引腳能驅(qū)動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時,它還可設(shè)定成地址數(shù)據(jù)總線復(fù)用的形式。在這種模式下,P0口具有內(nèi)部上拉電阻。在EPROM編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗時。程序校驗時需要外接上拉電阻。·P1口:P1口是

6、一帶有內(nèi)部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被內(nèi)部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為內(nèi)部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL)。·P2口:P2是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當向P2口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX DPTR

7、)時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強大的內(nèi)部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內(nèi)容。當EPROM編程或校驗時,P2口同時接收高8位地址和一些控制信號。·P3口:P3是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當向P3口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有AT89C51的多種特殊功能,具體如下表1所示:端口引腳第二功能P3.0RX

8、D (串行輸入口)P3.1TXD(串行輸出口)P3.2 (外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0)P3.5T1(定時器1)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器都選通)表1 P3口的第二功能RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期的高電平將使單片機復(fù)位。ALE/ :當訪問外部存儲器時,地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節(jié)。當在Flash編程時還可以作為編程脈沖輸出( )。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。 :程序存儲允許時外部程序

9、存儲器的讀選通信號。當AT89C52執(zhí)行外部程序存儲器的指令時,每個機器周期 兩次有效,除了當訪問外部數(shù)據(jù)存儲器時, 將跳過兩個信號。 /VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到FFFH單元的指令, 必須同GND相連接。需要主要的是,如果加密位1被編程,復(fù)位時EA端會自動內(nèi)部鎖存。當執(zhí)行內(nèi)部編程指令時, 應(yīng)該接到VCC端。XTAL1:振蕩器反相放大器以及內(nèi)部時鐘電路的輸入端。·XTAL2:振蕩器反相放大器的輸出端。在本次設(shè)計中,采用89C51作為CPU處理器,充分利用其硬件資源,結(jié)合D觸發(fā)器CD4013,分頻器CD4060,模擬轉(zhuǎn)換開關(guān)CD4051

10、,計數(shù)器74LS90等數(shù)字處理芯片,主要控制兩大硬件模塊,量程切換以及顯示模塊。下面還將詳細說明。2.4 信號調(diào)理及放大整形模塊 放大整形系統(tǒng)包括衰減器、跟隨器、放大器、施密特觸發(fā)器。它將正弦輸入信號Vx整形成同頻率方波Vo,幅值過大的被測信號經(jīng)過分壓器分壓送入后級放大器,以避免波形失真。由運算放大器構(gòu)成的射級跟隨器起阻抗變換作用,使輸入阻抗提高。同相輸入的運算放大器的放大倍數(shù)為(R1+R2)/R1,改變R1的大小可以改變放大倍數(shù)。系統(tǒng)的整形電路由施密特觸發(fā)器組成,整形后的方波送到閘門以便計數(shù)。由于輸入的信號幅度是不確定、可能很大也有可能很小,這樣對于輸入信號的測量就不方便了,過大可能會把器件

11、燒毀,過小可能器件檢測不到,所以在設(shè)計中采用了這個信號調(diào)理電路對輸入的波形進行阻抗變換、放大限幅和整形,信號調(diào)理部分電路具體實現(xiàn)電路原理圖和參數(shù)如下圖4所示: 圖42.5 時基信號產(chǎn)生電路:CD4013-雙上升沿D觸發(fā)器 ,引腳及功能見如下圖5:CD4013 由兩個相同的、相互獨立的數(shù)據(jù)型觸發(fā)器構(gòu)成。每個觸發(fā)器有獨立的數(shù)據(jù)置位復(fù)位時鐘輸入和 Q及Q非輸出。此器件可用作移位寄存器,且通過將Q非輸出連接到數(shù)據(jù)輸入,可用作計數(shù)器和觸發(fā)器。在時鐘上升沿觸發(fā)時,加在D 輸入端的邏輯電平傳送到Q輸出端。置位和復(fù)位或復(fù)位線上的高電平完成。 圖5 CD4013芯片引腳用功能圖 CD4060-14位二進制串行計

12、數(shù)器,引腳及功能見如下圖6: CD4060 由一震蕩器和14極二進制串行計數(shù)器位組成,震蕩器的結(jié)構(gòu)可以是RC或晶振電路。CR為高電平時,計數(shù)器清零且振蕩器使用無效,所有的計數(shù)器位均為主從觸發(fā)器 CP1非(和 CP0)的下降沿計數(shù)器以二進制進行計數(shù),在時鐘脈沖線上使用施密特觸發(fā)器對時鐘上升和下降時間無限制。 圖6 CD4060芯片引腳用功能圖時基信號的產(chǎn)生原理:本電路采用32768HZ晶體震蕩器,利用CD4060芯片經(jīng)過14級分頻得到2HZ的信號(32768/214),在經(jīng)過CD4013雙D觸發(fā)器經(jīng)過二分頻得到0.5HZ的方波,即輸出秒脈沖信號使單片機進行計數(shù)。 圖七 秒脈沖產(chǎn)生電路原理圖2.6

13、顯示模塊1602主要功能A、 40通道點陣LCD 驅(qū)動;B、 可選擇當作行驅(qū)動或列驅(qū)動;C、 輸入/輸出信號:輸出,能產(chǎn)生20×2個LCD驅(qū)動波形;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號,偏壓(V1V6);D、 通過單片機控制將所測的頻率信號讀數(shù)顯示出來。第3章 軟件設(shè)計根據(jù)硬件電路和設(shè)計思路,可以畫出如下的程序結(jié)構(gòu)圖。 程序流程圖3.1應(yīng)用程序Include.h文件/*文件名稱:Include.h*文件功能:包含文件中常用操作函數(shù)*/#ifndef INCLUDE_H#define INCLUDE_H #include "AT89X51.h" #include

14、 "intrins.h" #define uchar unsigned char #define uint unsigned int #define _BV(x) (1<<(x) #define GET_BIT(x,y) (x)&(1<<(y)=0?0:1) /取x變量y位的數(shù)據(jù) #define SET_BIT(x,y) (x)|=(0x0001<<(y) /置位x變量y位 #define CLR_BIT(x,y) (x)&=(0x0001<<(y) /清零x變量y位 #define LET_BIT(x,y,z

15、) (x)=(x)&(0x0001<<(y)|(z)<<(y) /置位或清零x變量y位 #define F_CPU 11059200UL /cpu震蕩周期 #define sei() (EA=1) /開總中斷 #define cli() (EA=0) /關(guān)總中斷 #endiffreCountMain.c文件/*實例名稱:頻率計*實例說明:實現(xiàn)09000hz頻率計的統(tǒng)計*作者:yd*時間:*/#include "target.h"#include "led.h"uchar displayBuff4='0',&

16、#39;0','0','0' /數(shù)碼管顯示緩沖區(qū),千,百,十,個const uchar displayMode=0x00; /后四位分別對應(yīng)緩沖區(qū)中每位的數(shù)據(jù)類型,1為任意字符顯示,0為數(shù)字顯示void main() uint get_fre; target_init(); init_led(); sei(); while(1) get_fre=get_fre_number();if(get_fre/1000<0x0A) displayBuff0=get_fre/1000+'0' /計算頻率千位,放在緩沖區(qū)第0位displayBuf

17、f1=(get_fre/100)%10+'0' /計算頻率百位,放在緩沖區(qū)第1位 displayBuff2=(get_fre%100)/10+'0' /計算頻率十位,放在緩沖區(qū)第2位displayBuff3=get_fre%10+'0' /計算頻率個位,放在緩沖區(qū)第3位 ledSweepDisplay(displayBuff,displayMode,0x04);/循環(huán)顯示數(shù)碼管緩沖區(qū)中數(shù)據(jù) 3.2建立仿真模型在電子設(shè)計尤其是單片機系統(tǒng)設(shè)計過程中利用Proteus軟件來進行仿真建模分析有很大的好處,它不但非常方便而且能夠在很大程度范圍內(nèi)減少因設(shè)計問

18、題而造成的浪費。這里的仿真主要是運用ISIS工具。先從ISIS的元件庫中找到需要用的元件,然后搭建相應(yīng)的主電路,設(shè)置好參數(shù)后即可進行仿真。仿真電路圖由三部分組成,分別為計時部分,計頻部分。計時部分可以由脈沖信號發(fā)生器來實現(xiàn)不同時間范圍內(nèi)的計時功能,如:將脈沖信號發(fā)生器設(shè)置為1HZ,則計時時間為100秒,若為100HZ,則計時時間為1秒。計頻電路的輸入部分的脈沖由555芯片的3腳輸出來提供,555芯片的輸入部分由一個脈沖信號發(fā)生器來模擬。為了便于觀察其他形式的波形是否能夠整形成方波。3.3 仿真程序設(shè)計及編譯由上面的程序結(jié)構(gòu)圖,可以寫出仿真程序,完整的程序見附錄2所示。經(jīng)檢查在Keil中編譯后,

19、程序無誤生成hex文件。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uVision)將這些部分組合在一起。運行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。如果你使用C語言編程,那么Keil幾乎就是你的不二之選,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。Keil

20、C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。C51工具包的整體結(jié)構(gòu),uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創(chuàng)建生成庫文件,也可以與庫文件一起經(jīng)L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標準的Hex文件,以供調(diào)試器dScope51或tScope51

21、使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如EPROM中 第四章 結(jié)束語 頻率測量在科技研究和實際應(yīng)用中的作用日益重要。這次課程設(shè)計讓我知道了測量方波信號的方法,如利用可編程邏輯器件或者利用單片機做小系統(tǒng),傳統(tǒng)的頻率計通采用組合電路和時序電路等大量的硬件電路構(gòu)成,產(chǎn)品不但體積較大,運行速度慢,而且測量低頻信號時不宜直接使用。而這次課程設(shè)計采用了 AT89C51 單片機和相關(guān)硬軟件實現(xiàn)。用C語言進行設(shè)計,采用單片機智能控制,結(jié)合外圍電子電路,得以高低頻率的精度測量,編程簡單,精度高。自己學(xué)習(xí)單片機已有兩年的時間了,這是我又一次利用它來完成課程設(shè)計,現(xiàn)在深深地感受單片機的適用性強、應(yīng)用面廣、功能完善。單片機技術(shù)發(fā)展已經(jīng)很成熟,在電子控制系統(tǒng)應(yīng)用上仍然占有很重要的地位,作為一名自動化專業(yè)的學(xué)生,學(xué)習(xí)好單片機就顯得很有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論