版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 吉 首 大 學</b></p><p> JISHOU UNIVERSITY</p><p><b> 本科生畢業(yè)設計</b></p><p> 題目名稱 數(shù)字頻率計設計 </p><p> 學生姓名 王粲
2、 </p><p> 學 院 信息科學與工程學院 </p><p> 專業(yè)年級 電子信息工程、2008級 </p><p> 指導教師 孟凡斌 職稱 高級實驗師 </p><p> 寫作時間 2011年11月至2012年5月 </p><p>
3、<b> 吉首大學教務處制</b></p><p> 數(shù) 字 頻 率 計 設 計</p><p><b> 王粲</b></p><p> ?。状髮W信息科學與工程學院,湖南 吉首416000)</p><p><b> 摘 要</b></p><
4、p> 數(shù)字頻率計設計主要以單片機為核心,包括時基電路,邏輯控制電路,放大整形電路,閘門電路,計數(shù)電路,鎖存電路,譯碼顯示電路等七大部分。測頻的基本原理是采用直接測頻法,被測信號先進入信號放大電路進行放大,再被送到波形整形電路整形,把被測的正弦波或三角波整形為方波,利用單片機的計數(shù)器和定時的功能對被測信號進行計數(shù),編寫好相應的程序可以使單片機自動調節(jié)測量的量程,并把測出的頻率數(shù)據(jù)送到顯示電路上顯示。系統(tǒng)簡單可靠、操作簡易,能基本滿
5、足一般情況下的需要。既保證了系統(tǒng)的測頻精度,又使系統(tǒng)具有較好的實時性。本頻率計設計簡潔,便于攜帶,擴展能力強,適用范圍廣。</p><p> 關鍵詞:單片機;運算;頻率計;顯示電路 </p><p> The Design of Digital Frequency Meter</p><p><b> WangCan</b></p&
6、gt;<p> (College of Information Science and Engineering,Jishou University,Jishou,Hunan 416000)</p><p><b> Abstract</b></p><p> Design of digital frequency meter microcontro
7、ller as the core, the logic control circuit, amplifier shaping circuit, the gate circuit, the counting circuit, latch circuit, decoding circuit most of the seven shows, Frequency measurement of the basic principle is the
8、 use of direct side frequency method,the measured signal the first amplifier to amplify the incoming signal, and then was sent to the waveform shaping circuit surgery, the measured sine wave or triangle wave shaping as a
9、 square wave. C</p><p> Key words: microcontroller;operation,;frequency meter; Show circuit </p><p><b> 目 錄</b></p><p><b> 第一章 緒論1</b></p><p&
10、gt;<b> 1.1課題背景1</b></p><p> 1.2 課題研究的目的和意義1</p><p> 1.3設計任務與要求1</p><p> 第二章 數(shù)字頻率計總體設計方案2</p><p><b> 2.1方案比較2</b></p><p>
11、<b> 2.2方案論證3</b></p><p><b> 2.3方案選擇3</b></p><p> 第三章 數(shù)字頻率計的硬件系統(tǒng)設計4</p><p> 3.1 數(shù)字頻率計的硬件系統(tǒng)框架4</p><p> 3.2 數(shù)字頻率計的主機電路設計4</p><
12、p> 3.3數(shù)字頻率計的信號輸入電路設計7</p><p> 3.4數(shù)字頻率計顯示電路的設計7</p><p> 3.4.1 LED段顯示器結構與原理7</p><p> 3.4.2 LED數(shù)碼管的顯示方式9</p><p> 3.5分頻電路11</p><p> 3.6數(shù)字頻率計電源模塊的
13、設計12</p><p> 數(shù)字頻率計的系統(tǒng)原理圖13</p><p> 第四章 數(shù)字頻率計軟件系統(tǒng)設計14</p><p> 4.1 軟件設計規(guī)劃14</p><p> 4.1.1信號處理14</p><p> 4.1.2中斷控制15</p><p> 4.2.1定時器
14、/計數(shù)器15</p><p> 4.2.2定時工作方式016</p><p> 4.3程序流程圖設計16</p><p> 4.3.1主程序流程17</p><p> 4.3.2 中斷流程17</p><p> 第五章 數(shù)字頻率計的仿真調試19</p><p><b&
15、gt; 致謝20</b></p><p><b> 參考文獻21</b></p><p><b> 附錄(程序)22</b></p><p><b> 第一章 緒論</b></p><p><b> 1.1課題背景</b>&l
16、t;/p><p> 在電子技術中,頻率是最基本的參數(shù)之一,并且與許多電參量的測量方案、測量結果都有十分密切的關系,因此頻率的測量就顯得更為重要。</p><p> 頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準時鐘,對比測量其他信號的頻率。通常情況下計算每秒內待測信號的脈沖個數(shù),此時我們稱閘門時間為1秒。閘門時間也可以大于或小于一秒。閘門時間越長,得到的頻率值就越準確,但閘門時間越長
17、則每測一次頻率的間隔就越長。閘門時間越短,測的頻率值刷新就越快,但測得的頻率精度就受影響。數(shù)字頻率計是用數(shù)字顯示被測信號頻率的儀器,被測信號可以是正弦波,方波或其它周期性變化的信號。如配以適當?shù)膫鞲衅?,可以對多種物理量進行測試,比如機械振動的頻率,轉速,聲音的頻率以及產(chǎn)品的計件等等。</p><p> 1.2 課題研究的目的和意義</p><p> 因為數(shù)字頻率計是計算機、通訊設備、音
18、頻視頻等科研生產(chǎn)領域必不可少的測量儀器,所以為了滿足生產(chǎn)過程中特別是測試人員在測量時智能儀器能自動選擇量程,自動校準或者自動調整測試點,特設計本方案,使其能方便操作,提高測試精度。</p><p> 基于單片機的數(shù)字頻率計以其可靠性高、體積小、價格低、功能全等優(yōu)點,廣泛地應用于各種智能儀器中,這些智能儀器的操作在進行儀器校核以及測量過程的控制中,達到了自動化,傳統(tǒng)儀器面板上的開關和旋鈕被鍵盤所代替,測試人員在測
19、量時只需按需要的鍵,省掉很多煩瑣的人工調節(jié),設計原理簡單、電路穩(wěn)定、測量精度高,大大的縮短了生產(chǎn)周期。 </p><p> 1.3設計任務與要求</p><p> 1.測頻范圍:10Hz~10KHz。為保證測量精度分三個頻段</p><p> 10Hz~100Hz,100Hz~1KHz,1KHz~10KHz,有超量程指示。</p><p&g
20、t; 2.輸入波形:函數(shù)信號發(fā)生器輸出方波,矩形波,幅度為5V,產(chǎn)生所需的脈沖信號。</p><p> 3.測量誤差: ≤1。</p><p> 第二章 數(shù)字頻率計總體設計方案</p><p><b> 2.1方案比較</b></p><p> 方案一:主要以單片機為核心,利用單片機的計數(shù)定時功能來實現(xiàn)頻率的
21、計數(shù)并且利用單片機的動態(tài)掃描法把測出的數(shù)據(jù)送到數(shù)字顯示電路顯示。原理框圖如圖2.1所示:</p><p> 圖2.1方案一原理框圖</p><p> 方案二:主要以數(shù)字器件為核心,主要分為時基電路,邏輯控制電路,放大整形電路,閘門電路,計數(shù)電路,鎖存電路,譯碼顯示電路七大部分[1]。其原理框圖如圖2.2所示:</p><p> 圖2.2 方案二原理框圖<
22、/p><p><b> 2.2方案論證</b></p><p> 方案一:主要以單片機為核心,被測信號先進入信號放大電路進行放大,再被送到波形整形電路整形,把被測的正弦波或者三角波整形為方波。利用單片機的計數(shù)器和定時器的功能對被測信號進行計數(shù)。編寫相應的程序可以使單片機自動調節(jié)測量的量程,并把測出的頻率數(shù)據(jù)送到顯示電路顯示。</p><p>
23、 方案二:使用了大量的數(shù)字器件,被測信號經(jīng)放大整形電路變成計數(shù)器所要求的脈沖信號,其頻率與被側信號的頻率相同。同時時基電路提供標準時間基準信號,其高電平持續(xù)時間1s,當1s信號來到時,閘門開通,被測脈沖信號通過閘門,計數(shù)器開始計數(shù),直到1s信號結束閘門關閉,停止計數(shù)。若在閘門時間1s內計數(shù)器計得的脈沖個數(shù)為N,則被測信號頻率Fx = NHz。邏輯控制電路的作用有兩個:一是產(chǎn)生鎖存脈沖,是顯示器上的數(shù)字穩(wěn)定;二是產(chǎn)生清零脈沖,使計數(shù)器每次
24、測量從零開始計數(shù)。</p><p><b> 2.3方案選擇</b></p><p> 比較以上兩種方案可以知道,方案一的核心是單片機,使用的元器件少,原理電路簡單,調試簡單只要改變程序的設定值則可以實現(xiàn)不同頻率范圍的測試能自動選擇測試的量程。與方案一相比較方案二則使用了大量的數(shù)字元器件,原理電路復雜,硬件調試麻煩。如要測量高頻的信號還需要加上分頻電路,價格相對高
25、了點?;谏鲜霰容^,設計采用方案一。</p><p> 第三章 數(shù)字頻率計的硬件系統(tǒng)設計</p><p> 3.1 數(shù)字頻率計的硬件系統(tǒng)框架</p><p> 數(shù)字頻率計是一個將被測頻率顯示出來的計數(shù)裝置,它主要由整形電路對輸入信號進行整形。然后通過4518計數(shù)器計數(shù),再由單片機89C51控制在LED顯示器上顯示。。該系統(tǒng)的功能是將信號輸入P3.4口,通過單片
26、機程序控制,對LED顯示器進行段控和位控,實現(xiàn)動態(tài)顯示。</p><p> 數(shù)字頻率計是計算機、通訊設備、音頻視頻等科研生產(chǎn)領域不可缺少的測量儀器。在進行有關電子技術的設計、安裝、調試過程中,由于其使用十進制數(shù)顯示,測量迅速,精確度高,顯示直觀,會被經(jīng)常使用到。圖3-1為數(shù)字頻率計方案框圖。 </p><p> 圖3-1 數(shù)字頻率計方框圖<
27、;/p><p> 3.2 數(shù)字頻率計的主機電路設計</p><p> ATC89C51可以完成ISP在線編程功能,ATC89C51內部有EEPROM,可以在程序中修改,斷電不丟失。還增加了兩級中斷優(yōu)先級,STC推出的系列51單片機芯片是全面兼容其它51單片機的,而且51單片機是主流大軍。</p><p> 1.89C51芯片介紹</p><p&
28、gt; 許多由關硬件設計中都使用到單片機89C51,其功能[7]比以往的單片機強大的多。89C51引腳圖如圖3-2所示。</p><p> 圖3-2 89C51引腳圖</p><p><b> 芯片引腳功能:</b></p><p> 主電源引腳Vcc和Vss</p><p> ?Vcc(40腳):接+5V電壓
29、;</p><p> ?Vss(20腳):接地。</p><p> 89C51晶振接法如圖3-3。</p><p> 圖3-3 89C51晶振接法圖</p><p> 選用6MHz頻率的晶體,允許輸入的脈沖頻率為250kHz。電容的大小范圍為20pF~40pF,本設計選用30pF電容。</p><p><
30、b> 2.單片機復位電路</b></p><p> 單片機的復位都是靠外部電路實現(xiàn)的,在時鐘電路工作后,只要在單片機的RST引腳上出現(xiàn)24個時鐘振蕩脈沖(2個機器周期)以上的高電平,單片機便實現(xiàn)初始化狀態(tài)復位。為了保證應用系統(tǒng)可靠地復位,在設計復位電路時,通常使RST引腳保持10ms以上的高電平。只要保持高電平,則MCS-51單片機就循環(huán)復位;當RST從高電平變?yōu)榈碗娖揭院?,MCS-51單片
31、機從0000H地址開始執(zhí)行程序。在復位有效期間,ALE、 引腳輸出高電平。</p><p> 89C51上電復位電路圖如3-4所示。</p><p> 圖3-4 89C51上電復位電路圖</p><p> 單片機復位狀態(tài)表如表3-5所示。</p><p> 表 3-5 單片機復位狀態(tài)表</p><p><
32、;b> 注:XXX不定</b></p><p> 復位后,P0口~P3口輸出高電平,且使這些準雙向口皆處于輸入狀態(tài),并且將07H寫入棧指針SP(即設定堆棧底為07H),同時,將程序計數(shù)器PC和其余的特殊功能寄存器清為0(不定的位除外)。但復位不影響單片機內部的RAM狀態(tài)。</p><p> 3.3數(shù)字頻率計的信號輸入電路設計</p><p>
33、 7414是六反相施密特觸發(fā)器集成電路,其基本作用就是反相器,一般用于信號輸入電路,用施密特觸發(fā)器對輸入信號進行波形整形。其結果如圖3-13所示[4]。</p><p> 圖3-13 輸入-輸出波形圖</p><p> 本設計為滿足設計要求,被測信號首先進行波形變換。由第一級的零偏置放大器把正弦波樣的正負交替波形變換成單向脈沖,再經(jīng)過7414將放大器產(chǎn)生的單向脈沖變換成與TTL/CM
34、OS電平相兼容的方波。這樣處理以后信號變成方波信號,以便后續(xù)的電路進行計數(shù)[4]。</p><p> 3.4數(shù)字頻率計顯示電路的設計</p><p> 3.4.1 LED段顯示器結構與原理</p><p> LED顯示器是由發(fā)光二極管顯示字段組成的顯示塊,有7段和“米”字段之分。這種顯示塊有共陽極和共陰極兩種。此外,顯示塊中還有一個圓點型發(fā)光二極管(在圖中以d
35、P表示)用于顯示小數(shù)點。通過發(fā)光二極管亮、暗的不同組,可以顯示多中數(shù)字、字母以及其他符號[5]。</p><p> LED顯示塊中的發(fā)光二極管共有兩種連接方法:</p><p><b> (1)共陽極接法</b></p><p> 發(fā)光二極管的陽極連在一起構成公共陽極。使用時公共陽極接+5V,這樣,陰極端輸入低電平的段的發(fā)光二極管被點亮,
36、相應的段被顯示;而輸入高電平的段則不點亮。</p><p><b> (2)共陰極接法</b></p><p> 發(fā)光二極管的陰極連在一起構成公共陰極。使用時公共陰極接地,這樣,陽極端輸入高電平的段的發(fā)光二極管被點亮,相應的段被顯示;而輸入低電平的段則不點亮。</p><p> 數(shù)碼管引腳如圖3-6。</p><p&g
37、t; 圖3-6 數(shù)碼管引腳圖</p><p> 共陰和共陽結構的LED顯示器各筆劃段名和安排位置是相同的。當二極管導通時,相應的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個筆劃段dP、g、f、e、d、c、b、a對應于一個字節(jié)(8位)的D7、D6、D5、D4、D3、D2、D1、D0,于是用8位二進制碼就可以表示欲顯示字符的字形代碼。例如,對于共陰LED顯示器,當公共陰極接地(為零電平),而陽極dP、g、
38、f、e、d、c、b、a各段為0111011時,顯示器顯示"P"字符,即對于共陰極LED顯示器,“P”字符的字形碼是73H。如果是共陽LED顯示器,公共陽極接高電平,顯示“P”字符的字形代碼應為10001100(8CH)。用LED顯示器顯示十進制轉換成十六進制數(shù)的字形代碼在表3-7中列出。</p><p> 表3-7 LED十六進制的數(shù)字代碼表</p><p> 3.
39、4.2 LED數(shù)碼管的顯示方式</p><p> LED數(shù)碼管在顯示時,通常有靜態(tài)顯示方式和動態(tài)顯示方式兩種。</p><p> LED靜態(tài)顯示:其公共端直接接地(共陰極)或接電源(共陽極),各段選線分別與I/O接口線相連。要顯示字符,直接在I/O線發(fā)送相應的字段碼[6]。</p><p> LED動態(tài)顯示:將所有的數(shù)碼管的段選線并接在一起,用一個I/O接口控
40、制,公共端不是直接接地(共陰極)或電源(共陽極),而是通過相應的I/O接口線控制[6]。</p><p> 在單片機系統(tǒng)中,常用的顯示器有:發(fā)光二極管顯示器,簡稱LED;液晶顯示器,簡稱LCD;熒光管顯示器。而發(fā)光二極管顯示又分為固定段顯示和可以拼裝的大型字段顯示,此外還有共陽極和共陰極之分等。</p><p> 數(shù)字頻率計設計將采用軟件譯碼動態(tài)顯示電路如3-8圖:</p>
41、<p> 圖3-8數(shù)字頻率計顯示圖</p><p><b> 3.5分頻電路</b></p><p> 計數(shù)器的種類很多。按時鐘脈沖輸入方式的不同,可分為同步計數(shù)器和異步計數(shù)器;按進位體制的不同,可分為二進制計數(shù)器和非二進制計數(shù)器;按計數(shù)過程中數(shù)字增減趨勢的不同,可分為加計數(shù)器、減計數(shù)器和可逆計數(shù)器。 </p><p>
42、本設計采用的是兩個4518的十進制計數(shù)器。在數(shù)字頻率計設計中,計數(shù)器的作用主要是用于對輸入信號的輸入計數(shù),雖然單片機內部功能中有計數(shù)功能,但是由于單片機的計數(shù)功能計數(shù)范圍比較小,滿足不了大頻率的計數(shù)測算,所以在外面加兩個4518計數(shù)器,4518是一個十進制計數(shù)器,信號由CLK輸入,U2.A通過Q3輸出,進行10次計數(shù),U2.A級聯(lián)到U2.B,通過Q0輸出,進行2次計數(shù)。所以總電路對信號進行了20分頻[11]。加強計數(shù)能力,從而滿足其測算
43、范圍。</p><p> 硬件電路如圖3-9:</p><p><b> 圖3-9 分頻電路</b></p><p> 功能圖如下圖3-10所示:</p><p> 圖3-10 分頻電路功能圖</p><p> 3.6數(shù)字頻率計電源模塊的設計</p><p>
44、 使用變壓器提供到AC橋堆的輸入腳為9V交流電壓,通過AC整流輸出為9V直流電,經(jīng)過電解電容濾波、7805穩(wěn)壓,提供給89C51單片機為5V電壓。5V電源電路如圖3-14所示[10]。</p><p> 圖3-14 5V電源電路圖</p><p> 數(shù)字頻率計的系統(tǒng)原理圖</p><p> 第四章 數(shù)字頻率計軟件系統(tǒng)設計</p><p>
45、; 4.1 軟件設計規(guī)劃</p><p><b> 4.1.1信號處理</b></p><p> 在頻率計開始工作,或者完成一次頻率測量,系統(tǒng)軟件都進行測量初始化。測量初始化模塊設置堆棧指針(SP)、工作寄存器、中斷控制和定時/計數(shù)器的工作方式。</p><p> 定時/計數(shù)器的工作首先被設置為計數(shù)器的計數(shù)寄存器清0后,置運行控制位TR
46、為1,啟動對待測信號的計數(shù)。計數(shù)閘門由軟件延時程序實現(xiàn),從計數(shù)閘門的最小值開始,也就是從測量頻率的高量程開始。計數(shù)閘門結束時TR清0,停止計數(shù)。計數(shù)寄存器中的值通過16進制數(shù)道10進制數(shù)轉換程序轉換為10進制數(shù)。對10進制數(shù)的最高位進行判別,若該位不為0,滿足測量數(shù)據(jù)有效位數(shù)的要求,測量值和量程信息一起送到顯示模塊;若該位為0,將計數(shù)閘門的寬度擴大10倍,重新對待測信號的技術,直到滿足測量數(shù)據(jù)有效位數(shù)的要求。</p>&l
47、t;p> 待測信號經(jīng)預處理電路分頻后變成較寬的方波信號,并加至單片機的P3.4引腳,為單片機測信號頻率提供有效的輸入信號。單片機通過檢測P3.4引腳來判斷是否啟動測周期程序。當該引腳為高電平時則等待,知道該引腳出現(xiàn)低電平時才開始測周期。首先將零賦給TH0、TL0兩個寄存器,將定時器T0的運行控制位TR0置位,同時也將ET0置位以允許定時器T0終端,然后再判斷P3.4引腳是否還為低電平,當不是低電平時則等待。一旦出現(xiàn)低電平則使TR
48、0復位以終止定時器,測周期程序結束。在測周期過程中,會發(fā)生定時器T0的中斷,每發(fā)生一次中斷則將R0寄存器加一,因此R0實際上是周期值的高字節(jié)。測出的周期值存儲在R0、TH0、TL0三個寄存器中,然后將其轉換成頻率。由于所測周期的單位是µs,再相除轉換時要將被除數(shù)擴大10 倍,這樣才能保證得出正確的頻率[11]。得出的頻率放到R1、R2、R3三個寄存器后調用轉換BCD代碼模塊。調用顯示消除多余零和顯示數(shù)據(jù)存儲模塊,將要顯示的頻率
49、值通過查表轉換成相應數(shù)據(jù)段碼放到現(xiàn)實緩沖區(qū)以備顯示。</p><p><b> 4.1.2中斷控制</b></p><p> 由于在程序設計中用到中斷方式,所以我們在此對單片機中斷系統(tǒng)中的中斷控制作一下介紹。</p><p> 中斷是工業(yè)過程控制及智能化儀器用微型機或單片機應用最多的一種數(shù)據(jù)傳送方式。在通常情況下,單片機執(zhí)行主程序,只有當
50、正常狀態(tài)出現(xiàn)故障,或發(fā)出中斷請求時,單片機才暫停執(zhí)行主程序,轉去執(zhí)行或處理中斷服務程序,執(zhí)行完中斷服務程序后,再返回到主程序繼續(xù)運行。單片機的這一種工作過程稱為中斷方式。</p><p> 基于資源共享原理上的中斷技術,在計算機中得到了廣泛的應用。中斷技術能實現(xiàn)CPU與外部設備的并行工作,提高CPU的利用率以及數(shù)據(jù)的輸入/輸出效率;中斷技術也能對計算機運行過程中突然發(fā)生的故障及時發(fā)現(xiàn)并進行自動處理如:硬件故障、
51、運算錯誤及程序故障等;中斷技術還能使我們通過鍵盤發(fā)出請求,隨時對運行中的計算機進行干預,而不用先停機處理,然后再重新開機等。</p><p> 在單片機中,中斷技術主要用于實時控制。所謂實時控制,就是要求計算機能及時地響應被控對象提出的分析、計算和控制等請求,使被控對象保持在最佳工作狀態(tài),以達到預定的控制效果[12]。由于這些控制參量的請求都是隨機發(fā)出的,而且要求單片機必須做出快速響應并及時處理,對此,只有靠中
52、斷技術才能實現(xiàn)。</p><p> 4.2.1定時器/計數(shù)器</p><p> ?。?)定時器控制寄存器(TCON)</p><p> TCON寄存器既參與中斷控制又參與定時控制?,F(xiàn)對其定時功能加以介紹。其中有關定時的控制位共有4位:</p><p> F0和TF1——計數(shù)溢出標志位[10]</p><p>
53、當計數(shù)器計數(shù)溢出(計滿)時,該位置“1”;使用查詢方式時,此位作狀態(tài)位供查詢,但應注意查詢有效后應以軟件方法及時將該位清“0”;使用中斷方式時,此位作中斷標志位,在轉向中斷服務程序時由硬件自動清“0”。</p><p> R0和TR1——定時器運行控制位</p><p> TRO(TR1)=0 停止定時器/計數(shù)器工作</p><p> TRO(TR1
54、)=1 啟動定時器/計數(shù)器工作</p><p> ?。?)工作方式控制寄存器(TMOD)</p><p> TMOD寄存器是一個專用寄存器,用于設定兩個定時器/計數(shù)器的工作方式[11]。但TMOD寄存器不能位尋址,只能用字節(jié)傳送指令設置其內容。</p><p> ?。?)中斷允許控制寄存器(IE)</p><p> EA——中斷
55、允許總控制位</p><p> ET0和ET1——定時/計數(shù)中斷</p><p> 定時器/計數(shù)器提供給用戶使用的有:8位計數(shù)器TH和TL,以及有關的控制位。這些內容只能以軟件方法使用[12]。</p><p> 能夠產(chǎn)生中斷申請的部件被稱為中斷源。8051型單片機提供了五個中斷源:兩個外部中斷源和三個內部中斷源。每一個中斷源都有一個中斷申請標志位,但是串行口
56、占有兩個中斷標志位。一共有六個中斷標志位。</p><p> ?。?)定時器/計數(shù)器對輸入信號的要求</p><p> 定時器/計數(shù)器的兩個作用是用來精確的確定某一段時間間隔[13](作定時器用)或累計外部輸入的脈沖個數(shù)(作計數(shù)器用)。</p><p> 當用作定時器時,在其輸入端輸入周期固定的脈沖,根據(jù)定時器/計數(shù)器中累計(或事先設置)的脈沖個數(shù),即可計算出所
57、定時間的長度。</p><p> 當89C51內部的定時器/計數(shù)器被選擇為定時器工作方式時,計數(shù)輸入信號是內部時鐘脈沖,每個機器周期產(chǎn)生一個脈沖使計數(shù)器增1。因此,定時器/計數(shù)器的輸入脈沖周期與機器周期一樣,為振蕩頻率的1/12。當采用12MHz頻率的晶體時,計數(shù)頻率為1MHz,輸入脈沖的周期間隔為1μs[14]。由于定時的精度決定于脈沖的周期,因此,當需要高精度的定時器時,應盡量選擇頻率較高的晶體。</
58、p><p> 4.2.2定時工作方式0</p><p> 方式0是13位計數(shù)結構的工作方式,其計數(shù)器由TH0高8位和TL0的低五位構成。TL0的高3位棄之不用。當C/ =0時,多中開關接通振蕩脈沖的12分頻輸出,13位計數(shù)器以此進行計數(shù),這就是所謂定時器工作方式。當C/ =1時,多路開關接通計數(shù)引腳(T0),外部計數(shù)脈沖由引腳T0輸入。當計數(shù)脈沖發(fā)生負跳變時,這就是所謂計數(shù)工作方式。<
59、;/p><p> 不管是哪種工作方式,當TL0的低五位計數(shù)溢出時,向TH0進位,而全部13位計數(shù)溢出時,則向計數(shù)溢出標志位TF0進位。</p><p> 4.3程序流程圖設計</p><p> 4.3.1主程序流程</p><p> 主程序流程圖如圖4-1所示。</p><p> 圖4-1 主程序流程圖</
60、p><p> 4.3.2 中斷流程</p><p> T1中斷流程圖如圖4-2所示。</p><p> 圖4-2 T1中斷流程圖</p><p> T0中斷流程圖如圖4-2所示。</p><p> 圖4-2 T0中斷流程圖</p><p> 中斷程序實現(xiàn)定時與計數(shù)的功能。T1進行定時,定
61、時時間為1S。T0進行計數(shù),TO中斷溢出一次,T0count加1。當定時達到1S時,停止T0,T1。最后計算相應的頻率值。</p><p> 第五章 數(shù)字頻率計的仿真調試</p><p> 利用仿真軟件ISIS的強大的仿真功能可以有效地檢驗所設計的原理圖是否在理論上正確合理。選擇適當?shù)娜龢O管和設置基極,發(fā)射極,集電極電阻可以得到適當?shù)姆糯蟊稊?shù)對所測的信號進行有效的處理。要選擇適當?shù)娜龢O
62、管,以免避免發(fā)生截止失真和飽和失真。分別以正弦波,方波,三角波作為輸入信號檢測電路的整形效果。利用仿真軟件的示波器來觀察整形出來的波形是否符合所要整形出來的波形。</p><p> 利用Keil uvision2軟件編寫單片機的工作程序并且檢驗程序是否成功編譯。通過Keil uvision2逐步運行程序的功能可以檢測出程序的錯漏從而進行改正。程序編譯成功后,利用ISIS軟件把程序加載到原理圖中進行仿真,通過顯示
63、器顯示出來的頻率大小與所設計的頻率相比較可以看出所編寫的程序是否滿足要求,是否符合設計所要求的精度。測出各頻率范圍的誤差,如果不符合設計所要求的精度可以通過改變單片機定時器的初始值或者優(yōu)化程序的結構來減小誤差增加精度![14]LED數(shù)碼管采用的是動態(tài)掃描的方法進行顯示,要設計好相應的掃描時間,因為掃描時間太短則LED顯示出來的數(shù)字便會一直在閃爍不穩(wěn)定,掃描時間太長則LED顯示便會出現(xiàn)短時間的熄滅。調試電路的時候發(fā)現(xiàn)由于P2口的驅動能力不
64、夠大因此要驅動LED數(shù)碼管工作就應該加上反相器或者三極管作為驅動電路。</p><p> 測試結果:電路導通,LED燈顯示所測量的信號頻率,測量范圍:10HZ-10KHZ。</p><p><b> 致謝</b></p><p> 在本次設計的研究和設計過程中,我得到了老師和同學們的熱情幫助。在此,對他們表示衷心的感謝。</p>
65、;<p> 首先,要對我的指導老師孟凡斌老師表示衷心的感謝。從方案的選取、審題、查找資料,到系統(tǒng)軟硬件的各部分設計工作,到最后論文的書寫和完成,朱老師在我的整個畢業(yè)設計工作中給了我很大的幫助和支持。孟老師的諄諄教導,使我受益匪淺。</p><p> 其次,要對大學四年以來所有給我授課的老師們表示感謝。是他們教會了我大學應該掌握的知識和技能,給我打下了堅實的理論基礎。只有運用四年學習的基礎知識和經(jīng)
66、驗的積累,才能使我能夠順利的完成本次畢業(yè)設計工作。</p><p> 最后,要感謝我們班的眾多同學,本次設計能夠圓滿完成,和各位同學的幫助是息息相關的。在本次設計中,我遇到了無數(shù)困難,在需要幫助的時候,各位同學給了我無私的幫助,助我度過了一個又一個的難關。</p><p><b> 參考文獻</b></p><p> [1]陳敬遠.數(shù)字頻
67、率計的VHDL設計[J].浙江傳媒學院學報; 2002,01: 36-38.</p><p> [2]何均 ,楊明.適合于單片機實現(xiàn)的極值搜索算法[J].單片機與嵌入式系統(tǒng)應用,2004,24.</p><p> [3]杜玉遠.基于top-down方法的數(shù)字頻率計的設計與實現(xiàn)[J].電子世界, 2004,5: 30-32.</p><p> [4]錢進.基于A
68、T89C2051的高度精度數(shù)字頻率計的設計[J].機電產(chǎn)品開發(fā)與創(chuàng)新,2007,20(1):86-87.</p><p> [5]馮雷星,楊偉,蘆燕龍.基于單片機高性價比頻率計的設計與實現(xiàn)[B].微計算機信息,2007,20.</p><p> [6]赫建國,劉立新,黨劍華.基于單片機的頻率計設計[J].西安郵電學院學報,2003,03:34-37+75.</p><
69、;p> [7]張毅剛.單片機原理及應用.高等教育出版社[M],2003.12(1).</p><p> [9]施劍鳴.單片機測頻技術及測量精度的提高[A].江蘇省計量測試學會2005年論文集 [C],2005.</p><p> [10]謝煌,黃為.基于VHDL語言設計頻率計[J].北京現(xiàn)代電子技術,2003,14.</p><p> [11]杜剛,高
70、軍,童寧寧.基于AT89C2051單片機的頻率計設計[J].微計算機應用,2004,25(4):498-501.</p><p> [12]劉雪根.數(shù)字頻率計的誤差分析[J].自動化與儀表,1996,3:23-24.</p><p> [13]顧巨峰,周浩洋,朱建華.基于可編程邏輯器件(Lattice)的多功能數(shù)字頻率計[J].電子工程師,2002,1:28-32.</p>
71、<p> [14]王麗霞,程小輝,龔幼民.基于LM331的頻率計[J].儀表技術與傳感器; 2007,09.</p><p><b> 附錄(程序)</b></p><p> #include <89C51.H></p><p> //********數(shù)碼管位代碼表(P2口)**********//</p
72、><p> unsigned char code dispbit[]={0x01,0x02,0x04,0x08};</p><p> //********數(shù)碼管段代碼表(P0口,共陰且高位接dp,低位接a筆段)**********// </p><p> unsigned char code dispcode[]={0x3F,0x06,0x5B,0x4F,0x
73、66,0x6D,0x7D,0x07,</p><p><b> 0x7F};</b></p><p> //********6位數(shù)據(jù)緩沖器**********// </p><p> unsigned char dispbuf[8];
74、 </p><p> unsigned char temp[8]; </p><p> unsigned char dispcount; </p><p> unsigned char T0count;</p><p> unsigned char timecount
75、;</p><p> void initial();</p><p> void delay();</p><p> void dataDisplay();</p><p> bit flag; </p><p> sbit Fin=P3^4; </p><p> sbit key
76、=P3^7; </p><p> unsigned long x,freq; </p><p> //*********初始化模塊**********//</p><p> void initial(void){</p><p><b> P0=0x3F;</b></p>
77、<p><b> P2=0xff;</b></p><p> TMOD=0x15; </p><p><b> TH0=0;</b></p><p><b> TL0=0;</b></p><p> TH1=(655
78、36-4000)/256;</p><p> TL1=(65536-4000)%256;</p><p><b> TR1=1;</b></p><p><b> TR0=1;</b></p><p><b> ET0=1;</b></p><p&g
79、t;<b> ET1=1;</b></p><p><b> EA=1;</b></p><p><b> }</b></p><p> //*********顯示模塊**********//</p><p> void dataDisplay(){</p>
80、;<p> unsigned char i; </p><p> for(i=0;i<4;i++){</p><p> temp[i]=0;</p><p><b> }</b></p><p><b> i=0;</b></p><p>
81、 while(x/10){</p><p> temp[i]=x%10;</p><p><b> x=x/10;</b></p><p><b> i++;</b></p><p><b> }</b></p><p> temp[i]=x;
82、</p><p> for(dispcount=0; dispcount <4; dispcount ++)</p><p> { P0=dispcode[temp [dispcount]];</p><p> P2=dispbit[dispcount];</p><p><b> Delay();</b>
83、</p><p><b> }</b></p><p><b> }</b></p><p> //******************************************************//</p><p> /**************************延時函
84、數(shù)************************************/</p><p> void delay(unsigned char t){</p><p> unsigned char k,j;</p><p> for(k=0;k<t;k++)</p><p> for(j=0;j<125;j++);<
85、;/p><p><b> }</b></p><p> //******************************************************//</p><p> //*********定時中斷服務程序1**********//</p><p> void t1(void) interru
86、pt 3 using 0{</p><p> TH1=(65536-4000)/256;</p><p> TL1=(65536-4000)%256;</p><p> timecount++; </p><p> freq=T0count*65536+TH0*256+TL0; </p><p> whil
87、e(timecount==250) </p><p> {TR0=0;TR1=0;</p><p><b> }</b></p><p><b> }</b></p><p> //******************************************************/
88、/</p><p> //*********定時中斷服務程序2**********//</p><p> void t0(void) interrupt 1 using 0{</p><p> T0count++;</p><p><b> }</b></p><p> //******
89、************************************************//</p><p> //*********主函數(shù)**********//</p><p> void main(void){</p><p> while(1){ </p><p> if(key==1)</p><
90、;p> { timecount=0;</p><p> T0count =0; </p><p> initial();</p><p><b> }</b></p><p><b> else</b></p><p><b> { x=freq;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)字頻率計畢業(yè)設計-- 數(shù)字頻率計設計
- 數(shù)字頻率計設計
- 畢業(yè)設計---數(shù)字頻率計
- 畢業(yè)設計--數(shù)字頻率計
- 數(shù)字頻率計畢業(yè)設計
- 畢業(yè)設計--數(shù)字頻率計
- 畢業(yè)設計----數(shù)字頻率計
- 數(shù)字頻率計
- 數(shù)字頻率計設計-畢業(yè)設計
- 數(shù)字頻率計實驗報告---數(shù)字頻率計的設計與制作
- 數(shù)字頻率計的設計
- 數(shù)字頻率計畢業(yè)論文--基于vhdl的數(shù)字頻率計的設計
- 畢業(yè)設計----數(shù)字頻率計的設計
- 數(shù)字頻率計課程設計
- 數(shù)字頻率計課程設計
- 課程設計--數(shù)字頻率計
- 數(shù)字頻率計設計【開題報告】
- 簡易數(shù)字頻率計設計論文
- 課程設計——數(shù)字頻率計
- 數(shù)字頻率計課程設計
評論
0/150
提交評論