基于51單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)_第1頁
基于51單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)_第2頁
基于51單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)_第3頁
基于51單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)_第4頁
基于51單片機(jī)的數(shù)字頻率計(jì)設(shè)計(jì)_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于51單片機(jī)的數(shù)字頻率計(jì)一、 實(shí)驗(yàn)內(nèi)容i.i 數(shù)字頻率計(jì)概述數(shù)字頻率計(jì)是計(jì)算機(jī)、 通訊設(shè)備、 音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量 儀器。它是一種用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率的數(shù)字測(cè)量儀器。它的基本功能是測(cè)量正弦信號(hào),方波信號(hào)及其他各種單位時(shí)間內(nèi)變化的物理量。在進(jìn)行模擬、 數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過程中,由于其使用十進(jìn)制數(shù)顯示,測(cè)量迅速,精 確度高,顯示直觀,經(jīng)常要用到頻率計(jì)。本數(shù)字頻率計(jì)將采用定時(shí)、計(jì)數(shù)的方法測(cè)量頻率,采用四位LED 數(shù)碼管動(dòng)態(tài)顯示 4 位數(shù)。測(cè)量范圍從 1Hz 10kHz 的正弦波、方波、三角波。用單片機(jī)實(shí) 現(xiàn)自動(dòng)測(cè)量功能。1.2 頻率測(cè)量儀的設(shè)計(jì)思路與頻率的計(jì)算頻率測(cè)

2、量儀的設(shè)計(jì)思路主要是:設(shè)置單片機(jī) T1 為計(jì)數(shù)器模式,對(duì)輸入信號(hào)進(jìn) 行計(jì)數(shù),T0 設(shè)置為定時(shí)器模式,定時(shí)時(shí)間為 1 秒,則計(jì)數(shù)器所計(jì)數(shù)值即為被測(cè)信 號(hào)頻率。1.3 基本設(shè)計(jì)原理基本設(shè)計(jì)原理是直接用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率的一種測(cè)量裝置。它以 在單位時(shí)間內(nèi)對(duì)被測(cè)信號(hào)上升沿計(jì)數(shù)的方法對(duì)正弦波、方波、三角波的頻率進(jìn)行自動(dòng)的測(cè)量。如果被測(cè)信號(hào)頻率超過量程,則有警報(bào)燈閃爍。所謂“頻率”,就是 周期性信號(hào)在單位時(shí)間(1s)內(nèi)變化的次數(shù)。若在一定時(shí)間間隔 T 內(nèi)測(cè)得這個(gè)周 期性信號(hào)的重復(fù)變化次數(shù) N,則其頻率可表示為 f=N/T。1.4 頻率計(jì)性能參數(shù)設(shè)計(jì)量程: 0-10KHZ波形: 方波輸入信號(hào)電壓:5

3、V二、數(shù)字頻率計(jì)的硬件結(jié)構(gòu)設(shè)計(jì)2.1 系統(tǒng)硬件的構(gòu)成本頻率計(jì)的數(shù)據(jù)采集系統(tǒng)主要元器件是單片機(jī)AT89C51,由它完成對(duì)待測(cè)信號(hào)頻率的計(jì)數(shù)和結(jié)果顯示等功能,外部還要有電源電路、復(fù)位電路、顯示器,報(bào)警電路等器件,如下圖所示:圖一數(shù)字頻率計(jì)功能模塊2.2AT89C51 單片機(jī)引腳說明在本次設(shè)計(jì)中,采用 89C51 作為 CPU 處理器,充分利用其硬件資源,結(jié) 合數(shù)碼管,發(fā)光二極管,按鍵開關(guān)構(gòu)成控制及顯示模塊。在試驗(yàn)中選用 P12P1.3, P1.4端口分別控制數(shù)據(jù)和時(shí)鐘信號(hào)的輸入實(shí)現(xiàn)頻率的動(dòng)態(tài)顯示。 P 口引腳外接發(fā) 光二極管作為報(bào)警電路。P3.5 引腳作為被測(cè)信號(hào)的輸入引腳。2.3 數(shù)碼管顯示電路

4、本實(shí)驗(yàn)使用四位共陽極數(shù)碼管,使用兩片74HC595 作為數(shù)碼管驅(qū)動(dòng)通過P1.2,P1.3 P1.4 端口分別控制數(shù)據(jù)和時(shí)鐘信號(hào)的輸入實(shí)現(xiàn)頻率的動(dòng)態(tài)顯示。三、實(shí)驗(yàn)原理圖I r?1四位體共和極數(shù)碼管8,8.8.8HJ.AD!l.1、LAr I?* I IHl A|J 14 -小7再HC59壬驅(qū)動(dòng)Icr.JCoT數(shù)碼管電路一.吒? 2S -J圖三數(shù)碼管驅(qū)動(dòng)電路R7-4Fm 7 -ft 5 J2 i r1f_1.2嚴(yán)戸i rr單一色數(shù)碼管Ii尸#1 fn-KL i尸#ItU-MLS 2 LLD172的C.KD-wIN 1.1 r圖五超量程報(bào)警電路AlGT7HKAIM 卜四、實(shí)驗(yàn)記錄(1)程序設(shè)計(jì)調(diào)試過

5、程記錄本次實(shí)驗(yàn)的程序框架都在實(shí)驗(yàn)的預(yù)習(xí)和準(zhǔn)備中完成,其中包括延時(shí)函數(shù)編寫, 顯示函數(shù)編寫,定時(shí)器 0 初值計(jì)算,頻率值的計(jì)算,定時(shí)器計(jì)數(shù)器的初始化和中 斷服務(wù)程序的編寫。但是由于預(yù)習(xí)和設(shè)計(jì)時(shí)針對(duì)的數(shù)碼管硬件連接方式不同,在預(yù)習(xí)時(shí)針對(duì)的數(shù)碼管為 74HC245 和 74HC138 兩個(gè)芯片控制一組四位共陽極數(shù)碼管的動(dòng)態(tài)顯示, 其 中74HC245 控制數(shù)碼管顯示的數(shù)值,74HC138 控制數(shù)碼管顯示位數(shù),這種硬件 連接方式的驅(qū)動(dòng)程序編寫較為簡(jiǎn)單, 但缺點(diǎn)是需要占用單片機(jī)兩組 I/O 口,使得 單片機(jī)利用率降低。而實(shí)驗(yàn)所用的開發(fā)板也帶有兩組四位共陽極數(shù)碼管,但他們是由兩塊 74HC595 控制,只

6、需要用三個(gè) I/O 口即可實(shí)現(xiàn) 8 位數(shù)碼管的顯示控制, 大大提高了單片機(jī)端口的利用率,但程序編寫較為復(fù)雜,且需要進(jìn)行時(shí)序控制, 邏輯也較為復(fù)雜。在這次試驗(yàn)中,該顯示程序的編寫和調(diào)試占用了很多時(shí)間。I-_耳RKISEC-5!jSEG SI產(chǎn)片 Fcrvr信號(hào)輸入itkf1VCCKSrPL.0(ADO)POLOPI.J(ADP0.1ri.2(AD2)IJ(I.2PI.5Fa.3Pl.6(AD6)P0 6PIT( AD7)P0 7P3JIINTF)Af!)P2.0P5.:|INTOJ(A9P2J(AIOIP2 2P3.5(TI)圖六單片機(jī)及復(fù)位電路在進(jìn)行定時(shí)器模塊設(shè)計(jì)時(shí),由于定時(shí)時(shí)間較長,所以采用

7、了方式 1(16 位計(jì)數(shù) 器),將一次循環(huán)時(shí)間定為 50ms,循環(huán) 20 次即為 1s 的時(shí)間。由于定時(shí)器 0 的工 作方式一需要重裝初值,因此在多次循環(huán)后會(huì)導(dǎo)致定時(shí)時(shí)間不準(zhǔn)確, 這會(huì)使最后 計(jì)算得到的頻率值產(chǎn)生誤差,且頻率越高誤差越大(實(shí)驗(yàn)記錄數(shù)據(jù)會(huì)在后邊給 出)。(2)實(shí)驗(yàn)數(shù)據(jù)記錄輸入波形:方波;輸入信號(hào)幅值:5V;序號(hào)輸入頻率/Hz測(cè)量頻率/Hz絕對(duì)誤差/Hz相對(duì)誤差11010002505000310011010015300330300.1640044040018600660600.19700770700.110800880800.11

8、1900990900.112100011001000.113150016501500.114200022002000.115250027502500.116300033003000.117500055005000.118800088008000.119900099009000.1(3)誤差分析經(jīng)過測(cè)量,發(fā)現(xiàn)測(cè)量頻率與輸入頻率之間有較為明顯的誤差, 且隨著測(cè)量信號(hào) 頻率的升高絕對(duì)誤差隨之增大但相對(duì)誤差基本不變, 且由于誤差的產(chǎn)生,頻率只 能測(cè)量到 9K 左右并不能達(dá)到預(yù)計(jì)量程。經(jīng)過對(duì)程序的分析發(fā)現(xiàn)誤差的主要來源為定時(shí)器定時(shí)不準(zhǔn)確造成的。在實(shí)驗(yàn)設(shè)計(jì)時(shí)考慮到定時(shí)時(shí)間較長,所以選擇了定時(shí)器0 的工作方

9、式 1,其最大定時(shí)時(shí)間為 65ms,故實(shí)驗(yàn)中選擇一次定時(shí) 50ms,循環(huán) 20 次以達(dá)到 1s 的準(zhǔn)確定時(shí),但由 于多次重裝初值,使實(shí)際定時(shí)時(shí)間大于 1s。但是由于定時(shí)時(shí)間已經(jīng)確定所以設(shè)實(shí) 際定時(shí)時(shí)間為 T0,輸入信號(hào)頻率為 f0,則絕對(duì)誤差為 E有E=f0*(T0-1)Hz相對(duì)誤差為 Er有Er=E/f0=(T0-1)由于 T0 為定值,所以相對(duì)誤差 Er 為一定值,且由上邊記錄數(shù)據(jù)可算出實(shí)際定時(shí)是時(shí)間 T0 為 1.1s(4)解決方法方法一:通過調(diào)整定時(shí)器 0 初值,多次測(cè)量校準(zhǔn)可以達(dá)到 1s 的準(zhǔn)確定時(shí),從而提高頻率測(cè)量精度。方法二:改變定時(shí)器工作方式,有方式 1 改為方式 2 (自動(dòng)重

10、裝初值),方式二由于可以自動(dòng)重裝初值可以減少方式 1 中重裝初值所附加的時(shí)間,實(shí)現(xiàn)更加準(zhǔn)確地定五、修改后的程序框圖進(jìn)入定時(shí)器 1 中斷程序進(jìn)入定時(shí)器中斷服務(wù)程序計(jì)算輸入信號(hào)頻率值開始定時(shí)器初始化計(jì)數(shù)器初始化開啟對(duì)應(yīng)中斷將計(jì)算出的頻率值返回主程序調(diào)用顯示函數(shù)六、總結(jié)通過這次實(shí)驗(yàn)我加深了對(duì) 51 單片機(jī)的了解,對(duì)單片機(jī)的定時(shí)器,計(jì)數(shù)器,中 斷系統(tǒng),I/O 口等有了更加直觀的認(rèn)識(shí)。最初選題時(shí)對(duì)數(shù)字頻率計(jì)還不是很了解, 但通過查找相關(guān)資料及和同學(xué)討論逐漸清楚了頻率計(jì)的工作原理,也對(duì)各個(gè)組成部分的電路有了大致的了解,最終確定了選題完成了預(yù)習(xí)報(bào)告的撰寫。 雖然事先 準(zhǔn)備的比較充分,但實(shí)驗(yàn)過程中仍然遇到了很

11、多問題, 例如不同芯片驅(qū)動(dòng)的數(shù)碼 管驅(qū)動(dòng)程序需要重新編寫,還要添加按鍵,發(fā)光二極管等外部設(shè)備。但最終通過 查找資料及與同學(xué)交流順利解決了這些問題最終順利完成了本次實(shí)驗(yàn)。通過這次完整的實(shí)驗(yàn)設(shè)計(jì)和具體實(shí)踐,讓我學(xué)會(huì)了從系統(tǒng)的高度來考慮設(shè)計(jì)電 路的各個(gè)模塊,對(duì)電路的設(shè)計(jì)研究有了更加深刻的體會(huì); 同時(shí)我也感受到了用軟 件進(jìn)行電路設(shè)計(jì)和仿真對(duì)實(shí)際電路設(shè)計(jì)有很重要的指導(dǎo)意義和參考價(jià)值。在這次試驗(yàn)中不僅要對(duì)單片機(jī)的功能,性能, 引腳定義和內(nèi)部結(jié)構(gòu)也有較為詳細(xì) 的了解;此外對(duì)電路板中所用到的電源轉(zhuǎn)換芯片, 數(shù)字電路的各種驅(qū)動(dòng)芯片的引 腳和功能,可編程器件的驅(qū)動(dòng)程序等有很好地認(rèn)識(shí); 在程序設(shè)計(jì)過程中要注意進(jìn) 行

12、模塊化的程序設(shè)計(jì),逐個(gè)模塊進(jìn)行調(diào)試不僅會(huì)使程序邏輯更加清晰, 也會(huì)加快 程序調(diào)試進(jìn)程。以上是我對(duì)這次實(shí)驗(yàn)的感受。七、附件#in elude /- /函數(shù)原形定義#defi ne uchar un sig ned char#defi ne uint un sig ned intvoid mai n (void);void LED4_Display (void);void LED_OUT(uchar X);un sig ned char codeLED_0F;/主函數(shù)/ LED 顯示/ LED 單字節(jié)串行移位函數(shù)/ LED 字模表/串行數(shù)據(jù)輸入/時(shí)鐘脈沖信號(hào)一一上升沿有效/打入信號(hào)- 上升沿有效/

13、- /全局變量uchar LED8;/用于 LED 的 8 位顯示緩存uint ff;/接受頻率值uchar start=1;/定時(shí)器,計(jì)數(shù)模式啟動(dòng)變量un sig ned char code LED_0F=/ 0123456789AbCdEF -0 xC0,0 xF9,0 xA4,0 xB0,0 x99,0 x92,0 x82,0 xF8,0 x80,0 x90,0 x8C,0 xBF,0 xC6,0 xA1,0 x86,0 xFF,0 xbf;/-void delay(k)/ 延時(shí)函數(shù)while(k-);sbit DIO = P1A2;sbit RCLK = PM3;sbit SCLK =

14、 P1A4;void Delay_ms(uint time) uint i,j;for(i=time;i0;i-) for(j=125;j0;j-); void LED4_Display (void)un sig ned char code *led_table; uchar i;/顯示第 1 位led_table = LED_0F + LED1; i =*led_table;LED_OUT(0 x04);LED_OUT(i);RCLK = 0;RCLK = 1;/顯示第 2 位led_table = LED_0F + LED2; i = *led_table;LED_OUT(0 x08);L

15、ED_OUT(i);RCLK = 0;RCLK = 1;/顯示第 3 位led_table = LED_0F + LED3; i = *led_table;LED_OUT(0 x01);LED_OUT(i);RCLK = 0;/延時(shí)函數(shù)/顯示函數(shù)/查表指針RCLK = 1;/顯示第 4 位led_table = LED_OF + LED4; i = *led_table;LED_OUT(0 x02);LED_OUT(i);RCLK = 0;RCLK = 1;void LED_OUT(uchar X)/ 輸出函數(shù)uchar i;for(i=8;i=1;i-)if (X&0 x80) DIO=1;

16、 else DIO=0;X=1;SCLK = 0;SCLK = 1;/定時(shí)器初始化(TIMER0)/定時(shí)器 0 定時(shí)模式計(jì)數(shù)范圍 65536/定時(shí)初值 50ms/暫停定時(shí)器 0/計(jì)數(shù)器初始化(T1)TMOD|=0 x50; /定時(shí)器 1 計(jì)數(shù)模式,計(jì)數(shù)范圍 65536TH1=0; /計(jì)數(shù)初值 0TL 仁 0;TR 仁 0; /暫停計(jì)數(shù)器void time0_i nit() TMOD|=0 x01;TH0=0 x3c;TL0=0 xb0;TR0=0;void time1ni t()void str_i ni t()/ 開中斷EA=1;ET0=1;ET1=1;void time0_event()

17、interrupt 1/ 定時(shí)器 0 中斷static uchar i;i+;TH0=0 x3c; / 定時(shí)初值 50msTL0=0 xb0;if(i=20)/循環(huán) 20 次為 1 秒i=0;TR1=0; /停止計(jì)數(shù)TR0=0; /停止定時(shí)ff=(TH1*256+TL1); /求出頻率值 就是 1 秒內(nèi)脈沖次數(shù)TH1=0; /計(jì)數(shù)值清零TL1=0;TH0=0 x3c; / 定時(shí)初值 50msTL0=0 xb0;start=1; /啟動(dòng)定時(shí)器開啟變量void time1_eve nt() in terrupt 3/ 定時(shí)器 1 中斷 int i=0 xff;while(1)P0=i;Delay_ms(500); void mai n()uchar i,j;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論