




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、物理與電子信息系課程設(shè)計(jì)報(bào)告課程名稱: 單片機(jī)課程設(shè)計(jì) 題 目: 基于單片機(jī)數(shù)字頻率計(jì)的設(shè)計(jì) 學(xué)生姓名: 謝叮咚 學(xué) 號(hào):11417222 系 部: 物理與電子信息系 2011級(jí) 指導(dǎo)教師: 余 勝 職 稱: 講 師 湖南人文科技學(xué)院物理與電子信息系制目 錄1.引言. . . .1 1.1 數(shù)字頻率計(jì)的發(fā)展與意義. . .1 1.2 數(shù)字頻率計(jì)的分類. . .21.3 頻率計(jì)國內(nèi)外的發(fā)展趨勢. .22. 系統(tǒng)總體設(shè)計(jì). . .2 2.1系統(tǒng)設(shè)計(jì)要求. . . .2 2.2測頻方法. . . .3 2.3系統(tǒng)設(shè)計(jì)思路. . .3 2.4系統(tǒng)設(shè)計(jì)框圖. . .33. 系統(tǒng)設(shè)計(jì). . . .43.1
2、單片機(jī)模塊. . .43.2放大整形模塊. .83.3分頻模塊. . . .93.4顯示電路. . .104. 系統(tǒng)軟件設(shè)計(jì). .12 4.1開始. . . .124.2初始化模塊.124.3 頻率測量模塊和量程自動(dòng)切換模塊. . .134.4顯示模塊. . . . . . 144.5延時(shí)模塊. . . . . .144.6頻率計(jì)仿真. . . . .155. 總結(jié)與體會(huì). . . .196. 參考文獻(xiàn). . . .207.附錄a程序源代碼. . . .208.附錄b仿真效果圖. . . .269.附錄c dxp模塊原理圖與pcb板. . . .2710.附錄d 實(shí)物調(diào)試圖. . . . .2
3、8一、引言1.1 數(shù)字頻率計(jì)的發(fā)展和意義隨著電子技術(shù)的飛速發(fā)展,各類分立電子元件及其所構(gòu)成的相關(guān)功能單元,已逐步被功能更強(qiáng)大、性能更穩(wěn)定、使用更方便的集成芯片所取代。由集成芯片和一些外圍電路構(gòu)成的各種自動(dòng)控制、自動(dòng)測量、自動(dòng)顯示電路遍及各種電子產(chǎn)品和設(shè)備已廣泛應(yīng)用于各個(gè)領(lǐng)域,更新?lián)Q代速度可謂日新月異。與傳統(tǒng)的測量方式相比,運(yùn)用了單片機(jī)頻率計(jì)有著體積更小,運(yùn)算速度更快,測量范圍更寬和制作成本更低的優(yōu)點(diǎn)。由于傳統(tǒng)的頻率計(jì)中有許多功能是依靠硬件來實(shí)現(xiàn)的,而采用單片機(jī)測量頻率之后,有許多以前需要用硬件才能實(shí)現(xiàn)的功能現(xiàn)在僅僅依靠軟件編程就能實(shí)現(xiàn),而且不同的軟件編程代碼能夠?qū)崿F(xiàn)不同的功能,從而大大降低了制
4、作成本。數(shù)字頻率計(jì)主要實(shí)現(xiàn)方法有直接式、鎖相式、直接數(shù)字式和混合式四種。直接式的優(yōu)點(diǎn)是速度快、相位噪聲低,但結(jié)構(gòu)復(fù)雜、雜散多,一般只應(yīng)用在地面雷達(dá)中。鎖相式和直接數(shù)字式都同時(shí)具有容易實(shí)現(xiàn)產(chǎn)品系列化、小型化、模塊化和工程化的特點(diǎn),其中,鎖相式更是以其容易實(shí)現(xiàn)相位同步的自動(dòng)控制且低功耗的特點(diǎn)成為眾多業(yè)內(nèi)人士的首選,應(yīng)用最為廣泛。1.2數(shù)字頻率計(jì)的分類按功能分類,電子計(jì)數(shù)器有通用和專用之分。通用型計(jì)數(shù)器是一種具有多種測量功能、多種用途的萬能計(jì)數(shù)器,它可測量頻率、周期、多周期平均值、時(shí)間間隔、累加計(jì)數(shù)、計(jì)時(shí)等。專用計(jì)數(shù)器指專門用來測量某種單一功能的計(jì)數(shù)器。 按頻段分類有低速頻率計(jì)數(shù)器、中速頻率計(jì)數(shù)器、
5、高速頻率計(jì)數(shù)器和微波頻率計(jì)數(shù)器之分。其中低速頻率計(jì)數(shù)器最高計(jì)數(shù)頻率小于10mhz;中速頻率計(jì)數(shù)器最高頻率計(jì)數(shù)頻率為10到100mhz;高速頻率計(jì)數(shù)器最高計(jì)數(shù)頻率大于100mhz;微波頻率計(jì)數(shù)器的測頻范圍為1到80ghz或更高。1.3 數(shù)字頻率國內(nèi)外的發(fā)展形勢數(shù)字電路制造工業(yè)的進(jìn)步,使得系統(tǒng)設(shè)計(jì)人員能在更小的空間內(nèi)實(shí)現(xiàn)更多的功能,從而提高系統(tǒng)可靠性和速度。現(xiàn)如今,數(shù)字頻率計(jì)已經(jīng)不僅僅是測量信號(hào)頻率的裝置了,還可以測量方波的脈寬。在人們的生產(chǎn)生活中數(shù)字頻率計(jì)也發(fā)揮著越來越重要的作用,比如有數(shù)字頻率計(jì)來監(jiān)控生產(chǎn)過程,這樣可以及時(shí)發(fā)現(xiàn)系統(tǒng)運(yùn)行中的異常情況,以便給人們爭取時(shí)間處理。 除此之外,它還可以應(yīng)
6、用于工業(yè)控制等其它領(lǐng)域。在傳統(tǒng)的電子測量儀器中,示波器在進(jìn)行頻率測量時(shí)測量精度較低,誤差較大。頻譜儀可以準(zhǔn)確的測量頻率并顯示被測信號(hào)的頻譜,但測量速度較慢,無法實(shí)時(shí)快速地跟蹤捕捉到被測信號(hào)的頻率變化。正是由于頻率計(jì)能夠快速準(zhǔn)確地捕捉到被測信號(hào)頻率的變化,因此頻率計(jì)擁有非常廣泛的應(yīng)用范圍。目前,市場上的頻率計(jì)廠家可分為三類:中國大陸廠家、中國臺(tái)灣廠家、歐美廠家。其中,歐美頻率計(jì)廠家所占有的市場份額最大。歐美頻率計(jì)廠家主要有:pendulum instruments 和 agilent科技。 現(xiàn)如今,對于頻率計(jì)的設(shè)計(jì)目前也有專用芯片可以實(shí)現(xiàn),如利用maxim公司的icm7240來設(shè)計(jì)頻率計(jì),但由于
7、這種芯片的計(jì)數(shù)頻率比較低,遠(yuǎn)不能達(dá)到在一些場合而要測量很高的頻率要求,而且測量精度也受到芯片本身的限制,因此提出用at89c52單片機(jī)設(shè)計(jì)頻率計(jì)來解決這些問題,從而實(shí)現(xiàn)高精度,寬范圍測量的頻率計(jì)的設(shè)計(jì)。二、系統(tǒng)總體設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)要求本課題設(shè)計(jì)技術(shù)要求: 1、用十進(jìn)制數(shù)字顯示被測信號(hào)的頻率,能測量正弦信號(hào)、方波信號(hào)、尖脈沖信號(hào)以及其他各種單位時(shí)間內(nèi)變化的物理量。2、能測量周期性正弦方波信號(hào).測量范圍100hz100khz。測量正弦信號(hào)、方波信號(hào),測量范圍100hz100khz。 3、應(yīng)用單片機(jī)為主控芯片,完成算術(shù)運(yùn)算和控制功能,并采用led數(shù)碼管顯示所測頻率。2.2 測頻方法本次課程設(shè)計(jì)采
8、用脈沖定時(shí)測頻法和脈沖分頻測頻法測周法:在頻率、速度等脈沖類測量過程中,采集指定的脈沖個(gè)數(shù),與過程時(shí)間比較來測定頻率、速度。這樣的采樣方式就是定數(shù)采樣或定脈沖采樣。這種方法其實(shí)是測量單個(gè)脈沖的周期或指定個(gè)數(shù)脈沖的總周期。測頻法:在頻率、速度等脈沖類測量過程中,在指定的時(shí)間內(nèi),計(jì)量脈沖個(gè)數(shù),讓脈沖個(gè)數(shù)與指定的時(shí)間比較來測定頻率、速度。這樣的采樣方式就是定時(shí)采樣。這種方法其實(shí)是測量單位時(shí)間的脈沖個(gè)數(shù)。2.3 系統(tǒng)設(shè)計(jì)思路以單片機(jī)at89c52單片機(jī)為核心,設(shè)計(jì)一種數(shù)字頻率計(jì),它由放大整形電路、分頻電路、多路選擇器、單片機(jī)、顯示電路等組成,應(yīng)用單片機(jī)中的定時(shí)/計(jì)數(shù)器和中斷系統(tǒng)等完成頻率的測量。在整個(gè)
9、設(shè)計(jì)過程中,放大整形電路是把非矩形波轉(zhuǎn)化成矩形波,這樣單片機(jī)才能識(shí)別;分頻電路是為了測量更高頻率的信號(hào),多路數(shù)據(jù)選擇器是用來選擇輸入信號(hào)的;單片機(jī)用來測量頻率和切換量程等;顯示電路用來顯示頻率值。所制作的頻率計(jì)采用外部十分頻,實(shí)現(xiàn)1hz10mhz的頻率測量,而且可以實(shí)現(xiàn)量程自動(dòng)切換,通過四位數(shù)碼管顯示頻率值,再用不同的led發(fā)光二極管顯示頻率值的單位。2.4 系統(tǒng)設(shè)計(jì)框圖本課題設(shè)計(jì)以單片機(jī)為核心,設(shè)計(jì)一種數(shù)字頻率計(jì),應(yīng)用單片機(jī)中的定時(shí)器/計(jì)數(shù)器和中斷系統(tǒng)等完成頻率的測量。其中包括放大整形模塊、分頻模塊、單片機(jī)模塊、顯示模塊等。圖1 頻率計(jì)總體設(shè)計(jì)框圖三、系統(tǒng)硬件設(shè)計(jì)根據(jù)系統(tǒng)設(shè)計(jì)的要求,頻率計(jì)實(shí)
10、際需要設(shè)計(jì)的硬件系統(tǒng)主要包括以下幾個(gè)部分:單片機(jī)模塊、放大整形模塊、分頻模塊及顯示模塊,下面將分別給予介紹。3.1 單片機(jī)模塊以at89c52單片機(jī)為控制核心,來完成對待測信號(hào)的計(jì)數(shù)、譯碼和顯示以及對分頻比的控制,利用其內(nèi)部的定時(shí)計(jì)數(shù)器完成待測信號(hào)頻率的測量。單片機(jī)at89c52內(nèi)部具有3個(gè)16位定時(shí)計(jì)數(shù)器,定時(shí)計(jì)數(shù)器的工作可以由編程來實(shí)現(xiàn)定時(shí)、計(jì)數(shù)和產(chǎn)生計(jì)數(shù)溢出時(shí)中斷要求的功能。3.1.1 at89c52介紹at89c52是一個(gè)低電壓,高性能cmos 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(ram),器件采用atmel
11、公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲(chǔ)單元,at89c52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。圖2 pdip封裝的at89c52引腳圖3.1.2 單片機(jī)引腳分配根據(jù)系統(tǒng)設(shè)計(jì)及各模塊的分析得出,單片機(jī)的引腳分配如下表所示。表1 單片機(jī)端口分配表模 塊端口功能顯示模塊p1.0-p1.3、p0.0-p0.7數(shù)碼管頻率值顯示p2.4-p2.6led單位顯示分頻模塊p3.4、p3.5通道選擇p2.3清零復(fù)位模塊rst、ea復(fù)位3.1.3 復(fù)位電路有時(shí)系統(tǒng)在運(yùn)行過程中出現(xiàn)程序跑飛的情況,因此在程序開發(fā)過程中需要復(fù)位。本次設(shè)計(jì)采用手動(dòng)復(fù)位,通
12、過復(fù)位可以再次測量信號(hào)或測量新的信號(hào)。復(fù)位電路通常分為兩種:上電復(fù)位(圖3)和手動(dòng)復(fù)位(圖4)。 圖3 上電復(fù)位 圖4 手動(dòng)復(fù)位3.1.4 定時(shí)/計(jì)數(shù)器方式寄存器tmod:特殊功能寄存器tmod為t0、t1的工作方式寄存器,其格式如下: d7 d6 d5 d4 d3 d2 d1 d0gatec/tm1m0gatec/tm1m0 t1方式字段 t0方式字段tmod的低4位為t0的方式字段,高4位為t1的方式字段,它們的含義是完全相同的。1.工作方式選擇位m1,m0m1,m0兩位確定計(jì)數(shù)器的結(jié)構(gòu)方式,其對應(yīng)關(guān)系如下表:m1 m0工作方式 功 能 說 明0 1 方式0 13位計(jì)數(shù)器0 1 方式1 1
13、6位計(jì)數(shù)器1 0 方式2 初值自動(dòng)重新裝入的8位計(jì)數(shù)器1 1 方式3僅適用于t0,分為兩個(gè)8位計(jì)數(shù)器,t1在方式3停止計(jì)數(shù)表2 計(jì)數(shù)器結(jié)構(gòu)方式功能表2. 定時(shí)器方式和外部事件計(jì)數(shù)方式選擇位c/tc/t=0為定時(shí)方式。在定時(shí)方式中,以振蕩器輸出時(shí)鐘脈沖的十二分頻信號(hào)作為計(jì)數(shù)信號(hào),也就是每一個(gè)機(jī)器周期定時(shí)器加“1”。若晶振為12mhz,則定時(shí)器計(jì)數(shù)頻率為1mhz,計(jì)數(shù)的脈沖周期為1us。定時(shí)器從初值開始加“1”計(jì)數(shù)直至定時(shí)器溢出所需的時(shí)間是固定的,所以稱為定時(shí)方式。c/t=1為外部事件計(jì)數(shù)方式,這種方式采用外部引腳(t0為p3.4,t1為p3.5)上的輸入脈沖作為計(jì)數(shù)脈沖。內(nèi)部硬件在每個(gè)機(jī)器周期采
14、樣外部引腳的狀態(tài),當(dāng)一個(gè)機(jī)器周期采樣到高電平,接著的下一個(gè)機(jī)器周期采樣到低電平時(shí)計(jì)數(shù)器為1,也就是說在外部輸入電平發(fā)生負(fù)跳變時(shí)為1。外部事件計(jì)數(shù)時(shí)最高計(jì)數(shù)頻率為晶振頻率的二十四分之一,外部輸入脈沖高電平和低電平時(shí)間必須在一個(gè)機(jī)器周期以上。對外部輸入脈沖計(jì)數(shù)的目的通常是為了測試脈沖的周期、頻率或?qū)斎氲拿}沖數(shù)進(jìn)行累加。3. 門控位gategate為1時(shí),定時(shí)器的計(jì)數(shù)受外部引腳輸入電平的控制( int0控制t0的計(jì)數(shù), int1控制t1的計(jì)數(shù));gate為0時(shí)定時(shí)器計(jì)數(shù)不受外部引腳輸入電平的控制。t2con(t2的控制寄存器),字節(jié)地址0c8h:位地址 0cfh0ceh0cdh0cch0cbh0c
15、ah0c9h0c8h符號(hào) tf2exf2rclktclkexen2tr2c/t2cp/rt2各位的定義如下:tf2: 定時(shí)/計(jì)數(shù)器2溢出標(biāo)志,t2溢出時(shí)置位,并申請中斷。只能用軟件清除,但t2作為波特率發(fā)生器使用的時(shí)候,(即rclk=1或tclk=1),t2溢出時(shí)不對tf2置位。exf2:當(dāng)exen2=1時(shí),且t2ex引腳(p1.0)出現(xiàn)負(fù)跳變而造成t2的捕獲或重裝的時(shí)候,exf2置位并申請中斷。exf2也是只能通過軟件來清除的。rclk:串行接收時(shí)鐘標(biāo)志,只能通過軟件的置位或清除;用來選擇t1(rclk=0)還是t2(rclk=1)來作為串行接收的波特率產(chǎn)生器tclk:串行發(fā)送時(shí)鐘標(biāo)志,只能
16、通過軟件的置位或清除;用來選擇t1(tclk=0)還是t2(tclk=1)來作為串行發(fā)送的波特率產(chǎn)生器exen2:t2的外部允許標(biāo)志,只能通過軟件的置位或清除;exen2=0:禁止外部時(shí)鐘觸發(fā)t2;exen2=1:當(dāng)t2未用作串行波特率發(fā)生器時(shí),允許外部時(shí)鐘觸發(fā)t2,當(dāng)t2ex引腳輸入一個(gè)負(fù)跳變的時(shí)候,將引起t2的捕獲或重裝,并置位exf2,申請中斷。tr2:t2的啟動(dòng)控制標(biāo)志;tr2=0:停止t2;tr2=1:啟動(dòng)t2c/t2:t2的定時(shí)方式或計(jì)數(shù)方式選擇位。只能通過軟件的置位或清除;c/t2=0:選擇t2為定時(shí)器方式;c/t2=1:選擇t2為計(jì)數(shù)器方式,下降沿觸發(fā)。cp/rt2:捕獲/重裝
17、載標(biāo)志,只能通過軟件的置位或清除。cp/rt2=0時(shí),選擇重 裝載方式,這時(shí)若t2溢出(exen2=0時(shí))或者t2ex引腳(p1.0)出現(xiàn)負(fù)跳變(exen2=1時(shí)),將會(huì)引起t2重裝載;cp/rt2=1時(shí),選擇捕獲方式,這時(shí)若t2ex引腳(p1.0)出現(xiàn)負(fù)跳變(exen2=1時(shí)),將會(huì)引起t2捕獲操作。但是如果rclk=1或tclk=1時(shí),cp/rt2控制位不起作用的,被強(qiáng)制工作于定時(shí)器溢出自動(dòng)重裝載模式。t2mod(方式寄存器),字節(jié)地址0c9h:d7d6d5d4 d3 d2 d1 d0-t2oedcent2oe:t2輸出允許位,當(dāng)t2oe=1的時(shí)候,允許時(shí)鐘輸出到p1.0。(僅對80c54
18、/80c58有效)dcen:向下計(jì)數(shù)允許位。dcen=1是允許t2向下計(jì)數(shù),否則向上計(jì)數(shù)。t2的數(shù)據(jù)寄存器th2、tl2和t0、t1的用法一樣,而捕獲寄存器rcap2h、rcap2l只是在捕獲方式下,產(chǎn)生捕獲操作時(shí)自動(dòng)保存th2、tl2的值。3.2 放大整形模塊由于輸入的信號(hào)可以是正弦波、三角波、矩形波等,而后面的閘門或計(jì)數(shù)電路要求被測信號(hào)為矩形波,所以需要設(shè)計(jì)一個(gè)整形電路則在測量的時(shí)候,首先通過整形電路將正弦波或者三角波轉(zhuǎn)化成矩形波。在整形之前由于不清楚被測信號(hào)的強(qiáng)弱的情況。所以在通過整形之前通過放大衰減處理。本文采用單管共射極放大電路對信號(hào)進(jìn)行放大和再由非門74ls00構(gòu)成施密特觸發(fā)器對輸
19、出的信號(hào)進(jìn)行整形成矩形波后再次輸出。3.2.1 與非門74ls0074ls00 為四組2 輸入端與非門(正邏輯),共有 54/7400、54/74h00、54/74s00、54/74ls00y=(ab)非 inputinputoutputabyllhlhhhlhhhl3.2.2 放大整形模塊原理圖此模塊原理圖:圖5 放大整形電路原理圖3.3 分頻模塊本文采用12mhz的時(shí)鐘,最大計(jì)數(shù)速率為500 khz,因此需要外部分頻。分頻電路用于擴(kuò)展單片機(jī)頻率測量范圍,并實(shí)現(xiàn)單片機(jī)頻率測量使用統(tǒng)一信號(hào),可使單片機(jī)測頻更易于實(shí)現(xiàn),而且也降低了系統(tǒng)的測頻誤差。為了測量提高精度,當(dāng)被測信號(hào)頻率值較低時(shí),直接使用
20、單片機(jī)計(jì)數(shù)器計(jì)數(shù)測得頻率值;當(dāng)被測信號(hào)頻率值較高時(shí)采用外部十分頻后再計(jì)數(shù)測得頻率值。這兩種情況使用t1(p3.5)和to(p3.4,程序定義為十分頻接入口)計(jì)數(shù)選擇,由單片機(jī)先簡單測得被測信號(hào)是高頻信號(hào)還是低頻信號(hào),然后根據(jù)信號(hào)頻率值的高低進(jìn)行通道的相應(yīng)選擇,繼而測得相應(yīng)頻率值。因此此模塊主要包括分頻器74ls161、與非門74ls00。3.3.1 分頻器74ls161芯片74ls161是常用的四位二進(jìn)制可預(yù)置的同步加法計(jì)數(shù)器。 表4 74161的功能表從表中可以知道,當(dāng)清零端rd=“0”,計(jì)數(shù)器輸出q3、q2、q1、q0立即為全“0”,這個(gè)時(shí)候?yàn)楫惒綇?fù)位功能。當(dāng)rd=“1”且ld=“0”時(shí),
21、在cp信號(hào)上升沿作用后,74ls161輸出端q3、q2、q1、q0的狀態(tài)分別與并行數(shù)據(jù)輸入端d3,d2,d1,d0的狀態(tài)一樣,為同步置數(shù)功能。而只有當(dāng)rd=ld=ep=et=“1”、cp脈沖上升沿作用后,計(jì)數(shù)器加1。74ls161還有一個(gè)進(jìn)位輸出端co,其邏輯關(guān)系是co= q0q1q2q3cet。合理應(yīng)用計(jì)數(shù)器的異步清零功能和同步計(jì)數(shù)功能,一片74ls161可以組成16進(jìn)制以下的任意進(jìn)制分頻器。本文組成了十進(jìn)制的分頻器。圖6上圖為分頻電路3.4 顯示電路顯示模塊由頻率值顯示電路和量程轉(zhuǎn)換指示電路組成。頻率值顯示電路采用四位共陽極數(shù)碼管動(dòng)態(tài)顯示頻率計(jì)被測數(shù)值,量程轉(zhuǎn)換指示電路由紅、黃、綠三個(gè)le
22、d分別指示hz、khz及mhz頻率單位,使讀數(shù)簡單可觀。數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。常見的數(shù)碼管由七個(gè)條狀和一個(gè)點(diǎn)狀發(fā)光二極管管芯制成,叫七段數(shù)碼管,根據(jù)其結(jié)構(gòu)的不同,可分為共陽極數(shù)碼管和共陰極數(shù)碼管兩種。根據(jù)管腳資料,可以判斷使用的是何種接口類型。圖7 兩種數(shù)碼管內(nèi)部原理圖因?yàn)檫@里用的是共陽極數(shù)碼管,它的公共端為高電平,因此要讓其中各段(dp,a,b,c,d,e,f,g)的發(fā)光二極管發(fā)光,只要使它另一端置為低電平,即置0。3.4.1 頻率數(shù)值顯示電路 圖8共陽極數(shù)碼管顯示電路圖3.4.2 頻率數(shù)值單位顯示電路圖9 led檔位指示電路四、系統(tǒng)軟件設(shè)計(jì)本文中系統(tǒng)軟件設(shè)計(jì)采
23、用模塊化設(shè)計(jì),整個(gè)系統(tǒng)分為初始化模塊、頻率測量模塊、量程自動(dòng)切換模塊和顯示模塊等。整個(gè)系統(tǒng)軟件設(shè)計(jì)的程序由c語言編寫,通俗易懂。系統(tǒng)軟件設(shè)計(jì)模塊框圖:圖10系統(tǒng)軟件設(shè)計(jì)模塊框圖4.1 開始程序預(yù)處理,先聲明頭文件,定義一些變量。程序入口,main()函數(shù)框圖:圖11 主函數(shù)框圖4.2 初始化模塊初始化模塊初始化分頻器、量程檔位、led顯示、工作寄存器、中斷控制和定時(shí)計(jì)數(shù)器的工作方式等。4.3 頻率測量模塊和量程自動(dòng)切換模塊經(jīng)過初始化計(jì)數(shù)器1,每一次下降沿觸發(fā)一次計(jì)數(shù)器1中斷,每次中斷執(zhí)行中斷處理程序則fcnt加1,因此fcnt為信號(hào)下降沿次數(shù);經(jīng)過初始化定時(shí)器0,每50ms觸發(fā)一次定時(shí)器0中斷
24、,每次中斷執(zhí)行中斷處理程序則對數(shù)據(jù)下降沿次數(shù)fcnt進(jìn)行處理,通過對數(shù)據(jù)的大小判斷實(shí)現(xiàn)量程自動(dòng)切換等,從而計(jì)算出信號(hào)的頻率,然后調(diào)用顯示模塊把頻率值顯示出來。其中,16位定時(shí)計(jì)數(shù)器的最高計(jì)數(shù)值為65535,因此,還需要先由硬件十分頻后,再有定時(shí)計(jì)數(shù)器對被測信號(hào)計(jì)數(shù),加大測量的精度和范圍。計(jì)數(shù)器0(或者1)和定時(shí)器2的中斷處理框圖: 圖12 計(jì)數(shù)器0(或者1)中斷處理 圖13定時(shí)器2中斷處理量程自動(dòng)切換模塊框圖:圖14 量程自動(dòng)切換程序總流程圖4.4 顯示模塊顯示程序?qū)㈩l率值和量程檔位在數(shù)碼管和led管顯示出來。由于所有4位數(shù)碼管的8 根段選線由單片機(jī)的p0口控制,因此,在每一瞬間4位數(shù)碼管會(huì)顯
25、示相同的字符,要想每位顯示不同的字符就必須采用掃描方法輪流點(diǎn)亮各位數(shù)碼管,即在每一瞬間只點(diǎn)亮某一位顯示字符,由p1.0-p1.3逐位輪流點(diǎn)亮各個(gè)數(shù)碼管,在此瞬間,段選控制口p0輸出相應(yīng)字符。p2.4-p2.6控制三個(gè)發(fā)光二極管,通過光顏色的不同表示量程檔位的不同。p1.0-p1.3對應(yīng)共陽極數(shù)碼管的1,2,3,4;p0.0-p0.7對應(yīng)共陽極數(shù)碼管的a,b,c,d,e,f,g,dp;p2.4-p2.6對應(yīng)發(fā)光二極管的顏色:綠色(mhz檔),黃色(khz),紅色(hz)。發(fā)光二極管全亮表示所測信號(hào)頻率超出測量范圍。顯示模塊框圖:圖15 顯示子程序流程圖4.5 延時(shí)模塊延時(shí)模塊框圖: 圖16 延時(shí)
26、程序流程圖4.6 頻率計(jì)仿真4.6.1 用keil軟件先創(chuàng)建工程,后導(dǎo)入bs.c文件,其中bs.c文件就是軟件設(shè)計(jì)中的源代碼:圖17 keil軟件應(yīng)用圖設(shè)置一些軟件目標(biāo)選項(xiàng):由此打開選項(xiàng):圖18軟件設(shè)置選項(xiàng)圖點(diǎn)擊后,彈出對話框并設(shè)置相關(guān)屬性。點(diǎn)擊按鈕后,編譯連接,若代碼無問題,之后會(huì)生成bs.hex文件,如下圖:圖19 (.hex)文件圖4.6.2 使用軟件proteus仿真頻率計(jì)信號(hào)的放大整形模塊、分頻模塊和顯示模塊都要與單片機(jī)模塊相連才能達(dá)到所需的要求,因此,這三個(gè)模塊就一起仿真,用proteus軟件仿真如下圖:圖20 頻率計(jì)仿真圖其中需要注意是一些設(shè)置:單片機(jī)設(shè)置:圖21 單片機(jī)屬性設(shè)置
27、圖其中是需要導(dǎo)入由keil軟件生成的*.hex文件,再是時(shí)鐘頻率為12mhz。電源的設(shè)置: 圖22 電源大小設(shè)置圖設(shè)置電源為5v。4.6.3 頻率計(jì)仿真運(yùn)行調(diào)試設(shè)置如下:1. 給定1hz的矩形信號(hào)波圖23 頻率計(jì)測量10hz信號(hào)運(yùn)行圖其中紅色led亮,是表示數(shù)碼管顯示的頻率值是hz檔,也就是頻率的單位是hz,也就表明運(yùn)行結(jié)果讀數(shù)是1hz。2.給定46.3kh的正弦波點(diǎn)擊確定后,點(diǎn)擊運(yùn)行按鈕,之后看頻率計(jì)仿真運(yùn)行情況: 圖24 頻率計(jì)測量46.3khz信號(hào)運(yùn)行圖3.0 給定9.643mhz的矩形信號(hào)波后信號(hào)運(yùn)行圖圖25 頻率計(jì)測量9.643mhz信號(hào)運(yùn)行圖其中綠色led亮,是表示數(shù)碼管顯示的頻率
28、值是mhz檔,也就是頻率的單位是mhz,也就表明運(yùn)行結(jié)果讀數(shù)是9.643mhz。4.0 給定超過量程信號(hào)波后,信號(hào)運(yùn)行圖如下其中三個(gè)led燈都會(huì)點(diǎn)亮,數(shù)碼管全部都顯示為0五、總結(jié)與體會(huì) 通過此次設(shè)計(jì),我受益匪淺。數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它是一種用十進(jìn)制數(shù)字,顯示被測信號(hào)頻率的數(shù)字測量儀器。它的基本功能是測量正弦信號(hào),方波信號(hào)以及其他各種單位時(shí)間內(nèi)變化的物理量。在進(jìn)行模擬、數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測量迅速,精度高,顯示直觀,所以經(jīng)常要用到數(shù)字頻率計(jì)。通過此次設(shè)計(jì),我熟練掌握了c語言的編寫,仿真軟件proteus、編
29、程軟件keil和制版軟件dxp 2004的應(yīng)用,了解了相關(guān)元件的基本知識(shí),同時(shí)還熟練掌握了對文獻(xiàn)資料等的收集、查閱、應(yīng)用。在設(shè)計(jì)過程中,我們不斷發(fā)現(xiàn)錯(cuò)誤,不斷改正,不斷領(lǐng)悟,不斷獲取。最終的程序運(yùn)行和仿真調(diào)試環(huán)節(jié),本身就是在踐行“過而能改,善莫大焉”的知行觀,同時(shí)在老師的指導(dǎo)下,終于完成了此次設(shè)計(jì)。此次設(shè)計(jì)也讓我明白了思路即出路,有不懂不明白的地方要及時(shí)請教或上網(wǎng)查詢,只要認(rèn)真鉆研,動(dòng)腦思考,動(dòng)手實(shí)踐,就沒有弄不懂的知識(shí),收獲頗豐。參考文獻(xiàn)1李學(xué)海著.標(biāo)準(zhǔn)80c51單片機(jī)基礎(chǔ)教程.北京航空航天大學(xué)出版社,20062 戴仙金主編.51單片機(jī)及其c語言程序開發(fā)實(shí)例.清華大學(xué)出版社,20083 李誠
30、人.高宏洋等.嵌入式系統(tǒng)及單片機(jī)應(yīng)用,清華大學(xué)出版社,20054 龔運(yùn)新編著.單片機(jī)c語言開發(fā)技術(shù).清華大學(xué)出版社,20065 張?zhí)旆驳染幹?51單片機(jī)c語言開發(fā)詳解.電子工業(yè)出版社,20086 張義和.王敏男等.例說51單片機(jī)(c語言版).人民郵電出版社,20087 張洪潤、劉秀英、張亞凡等.單片機(jī)應(yīng)用設(shè)計(jì)200例 .北京航空航天大學(xué)出版社,20068 彭為、黃科、雷道仲等.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講.電子工業(yè)出版社, 20069 李學(xué)海著.標(biāo)準(zhǔn)80c51單片機(jī)基礎(chǔ)教程.北京航空航天大學(xué)出版社,200610 李朝青單片機(jī)原理及接口技術(shù)m北京航天航空大學(xué)出版社,199811 余發(fā)山,王福忠.單
31、片機(jī)原理應(yīng)用技術(shù)m徐州:中國礦業(yè)大學(xué)出版社,200312v.yu.teplov,a.v. anisimov.thermostatting system using a single-chip microcomputer and thermoelectric modules based on the peltier effectj ,2002 13 yeager brent.how to troubleshoot your electronic scalej. powder and bulk engineering. 1995 14weixiaoru,jujianzhi.design of a
32、ccds driving circuit based on atmega16.microcomputer&its applications,2010,(16).15helianyun,the traffic signal lamp system controlled with single chip microcomputer.computer study,2008,(01).附錄a程序源代碼:#include /聲明所需數(shù)據(jù)庫頭文件#definevalue p0/數(shù)碼管顯示,段選#define place p1 /位選unsigned char d4; /對應(yīng)共陽極數(shù)碼管的各位unsigne
33、d char num10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/顯示0-9數(shù)字,共陽/unsigned char num10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;顯示0-9數(shù)字,共陰sbit clear=p23;sbit ledg=p24; /led顯示頻率量程單位和檔位sbit ledy=p25;sbit ledr=p26;unsigned char count=0; /定時(shí)器2計(jì)數(shù)unsigned char gears; /檔位unsigned int tn; /
34、不同檔位計(jì)時(shí)值unsigned int fcnta; /脈沖下降沿次數(shù),t1unsigned long regcnta; /脈沖次數(shù)暫存unsigned int fcntb; /脈沖下降沿次數(shù),t0unsigned long regcntb; /脈沖次數(shù)暫存unsigned long pcnt; /頻率顯示void delay(unsignedintdelaytime)while(delaytime-);void display()if(gears=1) /hz檔d3=0;d2=pcnt/100;d1=(pcnt%100)/10;d0=pcnt%10;place=0x01;value=numd
35、3;delay(200);place=0x02;value=numd2;delay(200);place=0x04;value=numd1;delay(200);place=0x08;value=numd0;delay(200);ledg=1;/顯示hz檔,紅色發(fā)光二極管點(diǎn)亮ledy=1;ledr=0; if(gears=2) /khz檔 d3=pcnt/1000;d2=(pcnt%1000)/100;d1=(pcnt%100)/10;d0=pcnt%10;place=0x01;value=numd3;delay(300);place=0x02;value=numd2;delay(300);p
36、lace=0x04;value=numd1+0x80;delay(300); place=0x08;value=numd0;delay(300); ledg=1; /顯示khz檔,黃色發(fā)光二極管點(diǎn)亮ledy=0;ledr=1; if(gears=3) /mhz檔 d3=pcnt/1000;d2=(pcnt%1000)/100;d1=(pcnt%100)/10;d0=pcnt%10;place=0x01;value=numd3+0x80;delay(50);/帶小數(shù)點(diǎn)place=0x02;value=numd2;delay(50);place=0x04;value=numd1;delay(50);place=0x08;value=numd0;delay(50); ledg=0; /顯示mhz檔,綠色發(fā)光二極管點(diǎn)亮ledy=1;ledr=1; if(gears=4) /超出范圍 d3=0;d2=0;d1=0;d0=0;place=0x01;value=numd3;delay(100);place=0x02;value=numd2;delay(100);place=0x04;value=numd1;delay(100);place=0x08;value=numd0;delay(100); ledg=0; /超出范圍,紅
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣種子合同范本
- 農(nóng)業(yè)委托種植合同范本
- 體育新城租房合同范本
- 剩余瓷磚售賣合同范本
- 人工包給勞務(wù)公司合同范本
- 協(xié)助出口退稅合同范本
- 農(nóng)資經(jīng)營聘用合同范本
- 3人共同合作合同范本
- lng承運(yùn)合同范本
- 醫(yī)保專員勞動(dòng)合同范本
- 2024年高考真題-政治(福建卷) 含解析
- 大模型技術(shù)深度賦能保險(xiǎn)行業(yè)白皮書2024
- (蘇少版)綜合實(shí)踐一年級(jí)下冊第四單元電子教案
- 中國老年危重患者營養(yǎng)支持治療指南2023解讀課件
- 《光伏電站運(yùn)行與維護(hù)》試題及答案一
- DBJ∕T 15-19-2020 建筑防水工程技術(shù)規(guī)程
- 二十四式太極拳教案高一上學(xué)期體育與健康人教版
- 2024-2025學(xué)年外研版(2024)七年級(jí)英語上冊英語各單元教學(xué)設(shè)計(jì)
- 國家病案質(zhì)控死亡病例自查表
- 一年級(jí)體育教案全冊(水平一)下冊
- 全身麻醉后護(hù)理常規(guī)
評論
0/150
提交評論