版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、遼東學(xué)院信息技術(shù)學(xué)院可編輯邏輯器件原理及應(yīng)用教學(xué)課程實(shí)習(xí)報(bào)告頻率計(jì)EDA設(shè)計(jì)學(xué)生姓名: 學(xué) 號(hào): 班 級(jí): B1106 專 業(yè): 電子信息工程 指導(dǎo)教師: 2014年07月【摘要】該系統(tǒng)以STC89S51單片機(jī)為核心, 應(yīng)用單片機(jī)的運(yùn)算和控制功能并采用 LCD 顯示器實(shí)時(shí)地將所測(cè)頻率顯示出來(lái), 通過(guò)測(cè)量結(jié)果對(duì)比,分析了測(cè)量誤差的來(lái)源,提出了減小誤差應(yīng)采取的措施。頻率計(jì)具有電路結(jié)構(gòu)簡(jiǎn)單、 成本低、 測(cè)量方便、 精度較高等特點(diǎn),適合測(cè)量低頻信號(hào)。關(guān)鍵詞:單片機(jī),頻率測(cè)量【Abstract】The paper introduces one cymometer system Based on sing
2、lechip which applys the singlechips function of operation and control and displays the result by LCD. By comparing results, the source of measurement error is analysed, the measures are proposed for reducing errors. T he frequency meter has characteristics of simple circuit, low cost, easy measureme
3、nt and high precision, it fits for measuring low frequency signals.Key words : Singlechip,frequency- measure目錄引言11 課程設(shè)計(jì)概述11.1 課程設(shè)計(jì)任務(wù)及要求11.2 主要儀11.3 數(shù)字頻率計(jì).11.4 測(cè)頻基本設(shè)計(jì).12 方案論證.22.1 總體方案.22.2 測(cè)頻方案選擇.23硬件設(shè)計(jì).33.1系統(tǒng)功能描述.33.2硬件電路設(shè)計(jì)框架33.3單片機(jī)部分.33.4 放大整形部分43.5分頻部分.53.6 LCD顯示和鍵盤部分.64 軟件設(shè)計(jì).64.1 主程序流程圖設(shè)計(jì)74.2 子程
4、序流程圖設(shè)計(jì).74.2.1 顯示程序.74.2.2頻率測(cè)量程序框圖.84.2.3 中斷服務(wù)流程圖.85 系統(tǒng)調(diào)試.85.1顯示調(diào)試.95.2鍵盤調(diào)試.95.3前置放大整形調(diào)試.95.4軟件調(diào)試.96結(jié)論.97總結(jié).9參考文獻(xiàn)10參考附錄10引言:在工業(yè)生產(chǎn)、儀器儀表行業(yè)及實(shí)驗(yàn)教學(xué)中,經(jīng)常會(huì)遇到頻率的測(cè)量,我們經(jīng)常使用的及目前市場(chǎng)上所售的頻率測(cè)量裝置,大多數(shù)是采用小規(guī)模集成電路及分離元件組成。在現(xiàn)代電子學(xué)的各個(gè)領(lǐng)域,要求頻率計(jì)精度高且能夠直接讀出頻率值。頻率計(jì)由89S52單片機(jī)控制電路、信號(hào)處理電路、鍵盤電路以及測(cè)量數(shù)據(jù)的顯示電路還有系統(tǒng)軟件所構(gòu)成的,在信號(hào)處理電路當(dāng)中包含了待測(cè)信號(hào)放大、限幅、
5、波形變換、波形整形以及分頻電路。信號(hào)的予處理電路當(dāng)中的放大器所實(shí)現(xiàn)的是對(duì)待測(cè)信號(hào)的一個(gè)放大的功能,能夠降低對(duì)待測(cè)信號(hào)的幅度的一個(gè)要求,波形的變換和整形電路實(shí)現(xiàn)將正弦波樣的一個(gè)正負(fù)交替的號(hào)波形轉(zhuǎn)換成為能夠被單片機(jī)所接受的一個(gè)信號(hào),分頻電路所用于擴(kuò)展的單片機(jī)的頻率測(cè)量范圍以及提高測(cè)量精度,并且通過(guò)實(shí)現(xiàn)單片機(jī)頻率測(cè)量以及周期測(cè)量使用統(tǒng)一的一個(gè)輸入的信號(hào)。系統(tǒng)的軟件包括有測(cè)量初始化的模塊、顯示的模塊以及信號(hào)頻率測(cè)量的模塊等等。1 課程設(shè)計(jì)概述1.1 課程設(shè)計(jì)任務(wù)及要求題目:數(shù)字頻率計(jì)要求:LCD顯示,測(cè)量范圍0100KHZ,帶前置放大、整形電路,可測(cè)周期信號(hào)的頻率。1.2 主要儀器設(shè)備函數(shù)信號(hào)發(fā)生器
6、1臺(tái)示波器 1臺(tái)直流穩(wěn)壓電源(030V) 1臺(tái)數(shù)字萬(wàn)用表 1塊PC機(jī) 1臺(tái)1.3數(shù)字頻率計(jì)概述數(shù)字頻率計(jì)是計(jì)算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器。它是一種用十進(jìn)制數(shù)字顯示被測(cè)信號(hào)頻率的數(shù)字測(cè)量?jī)x器。它的基本功能是測(cè)量正弦信號(hào),方波信號(hào)及其他各種單位時(shí)間內(nèi)變化的物理量。在進(jìn)行模擬、數(shù)字電路的設(shè)計(jì)、安裝、調(diào)試過(guò)程中,由于其使用十進(jìn)制數(shù)顯示,測(cè)量迅速,精確度高,顯示直觀,經(jīng)常要用到頻率計(jì)。1.4 測(cè)頻基本設(shè)計(jì)原理所謂“頻率”,就是周期性信號(hào)在單位時(shí)間(1s)內(nèi)變化的次數(shù)。若在一定時(shí)間間隔T內(nèi)測(cè)得這個(gè)周期性信號(hào)的重復(fù)變化次數(shù)N,則其頻率可表示為f=N/T。其中脈沖形成電路的作用是將
7、被測(cè)信號(hào)變成脈沖信號(hào),其重復(fù)頻率等于被測(cè)頻率fx。時(shí)間基準(zhǔn)信號(hào)發(fā)生器提供標(biāo)準(zhǔn)的時(shí)間脈沖信號(hào),若其周期為1s,則門控電路的輸出信號(hào)持續(xù)時(shí)間亦準(zhǔn)確地等于1s。閘門電路由標(biāo)準(zhǔn)秒信號(hào)進(jìn)行控制,當(dāng)秒信號(hào)來(lái)到時(shí),閘門開通,被測(cè)脈沖信號(hào)通過(guò)閘門送到計(jì)數(shù)譯碼顯示電路。秒信號(hào)結(jié)束時(shí)閘門關(guān)閉,計(jì)數(shù)器停止計(jì)數(shù)。由于計(jì)數(shù)器計(jì)得的脈沖數(shù)N是在1秒時(shí)間內(nèi)的累計(jì)數(shù),所以被測(cè)頻率fx=NHz。 2 方案論證2.1 總體方案本次設(shè)計(jì)包含硬件設(shè)計(jì)與軟件設(shè)計(jì)兩部分,根據(jù)設(shè)計(jì)任務(wù)要求,采用AT89S52單片機(jī),配置時(shí)鐘電路,復(fù)位電路構(gòu)成單片機(jī)最小系統(tǒng),配置前置放大電路,人機(jī)對(duì)話通道中的鍵盤,L CD顯示,從而構(gòu)成設(shè)計(jì)要求的單片機(jī)應(yīng)用
8、測(cè)頻系統(tǒng),其結(jié)構(gòu)框圖如下圖2-1所示:圖2-1結(jié)構(gòu)框圖圖2.12.2 測(cè)頻方案選擇方案一:直接測(cè)頻法。直接測(cè)頻法是把被測(cè)頻率信號(hào)經(jīng)脈沖形成電路后加到閘門的一個(gè)輸入端, 只有在閘門開通時(shí)間T ( 以秒計(jì)) 內(nèi), 被計(jì)數(shù)的脈沖被送到十進(jìn)制計(jì)數(shù)器進(jìn)行計(jì)數(shù)。設(shè)計(jì)數(shù)器的值為N , 由頻率定義式可以計(jì)算得到被測(cè)信號(hào)頻率為: f = N / T 。方案二:高精度恒誤差測(cè)頻法。通過(guò)對(duì)傳統(tǒng)測(cè)量方法的研究, 結(jié)合高精度恒誤差測(cè)量原理, 設(shè)計(jì)一種測(cè)量精度與被測(cè)頻率無(wú)關(guān)的硬件測(cè)頻電路。本方法立足于快速的寬位數(shù)高精度浮點(diǎn)數(shù)字運(yùn)算。方案三:倍頻法。直接測(cè)頻法在高頻段有著很高的精度。可以把頻率測(cè)量范圍分成多個(gè)頻段, 使用倍
9、頻技術(shù), 根據(jù)頻段設(shè)置倍頻系數(shù)將經(jīng)整形的低頻信號(hào)進(jìn)行倍頻后再進(jìn)行測(cè)量, 高頻段則進(jìn)行直接測(cè)量。從編程難易及單片機(jī)資源利用情況和測(cè)量誤差角度考慮,選擇方案一,盡管在測(cè)量低頻段時(shí)的相對(duì)測(cè)量誤差較大。但是可以通過(guò)增大 T 來(lái)提高測(cè)量精度。3 硬件設(shè)計(jì)3.1系統(tǒng)功能描述本次課程設(shè)計(jì)主要完成功能有:(1)長(zhǎng)按設(shè)置鍵可選擇測(cè)量頻率或者周期。(2)短按則是選擇設(shè)置閘門時(shí)間(0.05s10s)。(3)測(cè)量頻率范圍:0.1Hz4MHz。3.2硬件電路設(shè)計(jì)框架根據(jù)設(shè)計(jì)要求,數(shù)字頻率計(jì)整個(gè)系統(tǒng)硬件框架圖如下3-1圖3-1本系統(tǒng)實(shí)用LM318對(duì)待測(cè)信號(hào)進(jìn)行放大,在用穩(wěn)壓二極管1N4733對(duì)信號(hào)進(jìn)行限幅,然后經(jīng)74LS
10、14反向器整形得到TTL信號(hào),送74LS161分頻,最后送單片機(jī)P35內(nèi)部計(jì)數(shù)器進(jìn)行計(jì)數(shù),單片機(jī)處理數(shù)據(jù)后送LCD顯示。3.3單片機(jī)部分P0口經(jīng)上拉后做LCD數(shù)據(jù)接口P2.1P2.3作為L(zhǎng)CD控制端口P2.4-P2.5作為分頻選擇端口P1.6-P1.7作為鍵盤設(shè)置端口P3.5作為被測(cè)信號(hào)輸入端口圖3-23.4 放大整形部分待測(cè)信號(hào)經(jīng)過(guò)第一級(jí)放大后,進(jìn)入第二級(jí)放大限幅電路,再由7414組成的施密特觸發(fā)器整形,得到標(biāo)準(zhǔn)方波信號(hào)。LM318是高數(shù)運(yùn)放,工作電壓±5-±20V,輸入帶寬15MHZ,足夠處理高頻信號(hào)。 放大倍數(shù):n=RL2/RL1(RL2用50K,RL1用10K)。限
11、幅原理:限幅電路的穩(wěn)壓管跨接在集成運(yùn)放的輸出端和反相輸入端之間。假設(shè)穩(wěn)壓管截止,則集成運(yùn)放必然工作在開環(huán)狀態(tài),輸出電壓不是+UOM,就是-UOM。這樣,必將導(dǎo)致穩(wěn)壓管擊穿而工作在穩(wěn)壓狀態(tài),DZ構(gòu)成負(fù)反饋通路,使反相輸入端為“虛地”,限流電阻上的電流iR等于穩(wěn)壓管的電流iZ,輸出電壓u O=±UZ。圖3-33.5分頻部分74HC161與74ls161功能兼容,是常用的四位二進(jìn)制可預(yù)置的同步加法計(jì)數(shù)器,他可以靈活的運(yùn)用在各種數(shù)字電路,以及單片機(jī)系統(tǒng)中實(shí)現(xiàn)分頻器等很多重要的功能.其管腳圖如圖3-4所示:圖3-474HC161 圖3-5 74HC153管腳圖圖3-574HC153是一個(gè)雙4選
12、1數(shù)據(jù)選擇器,其管腳圖如圖3-5所示:74LS161對(duì)整形后的防波信號(hào)進(jìn)行分頻,Q1為四分頻輸出,Q3為16分頻輸出。未經(jīng)分頻、經(jīng)過(guò)四分頻和經(jīng)過(guò)16分頻的三路信號(hào)作為74LS153的一個(gè)4選1數(shù)據(jù)選擇器低三位輸入,由單片機(jī)控制選擇分頻數(shù),然后再送單片機(jī)內(nèi)部計(jì)數(shù)器T1(如圖3-6).圖3-63.6 LCD顯示和鍵盤部分LCD顯示,通過(guò)調(diào)節(jié)變阻器調(diào)節(jié)LCD背光亮度,八位數(shù)據(jù)口接單片機(jī)P0口,讀寫控制端接P2.0-P2.2口。三個(gè)按鍵中,設(shè)置鍵接P3.2單片機(jī)按外部中斷0接口,當(dāng)按鍵按下后,置P3.2口低電平,單片機(jī)中斷。S1、S2為頻率/周期、閘門時(shí)間加/減選擇按鍵(如圖3-7)。 圖3-74 軟
13、件設(shè)計(jì)4.1 主程序流程圖設(shè)計(jì)本次程序設(shè)計(jì)采用的是C語(yǔ)言程序設(shè)計(jì),其設(shè)計(jì)流程圖4-1所示:圖-主程序流程圖4.2 子程序流程圖設(shè)計(jì)4.2.1 顯示程序LCD顯示程序設(shè)計(jì)流程如圖4-2圖4-2顯示程序流程圖4.2.2頻率測(cè)量程序框圖頻率測(cè)量程序的整體架構(gòu)如圖4-3所示:圖4-3頻率測(cè)量框架圖4.2.3 中斷服務(wù)流程圖圖4-4中斷程序流程圖5 系統(tǒng)調(diào)試5.1顯示調(diào)試調(diào)節(jié)變阻器改變LCD背光亮度,直到亮度合適且顯示正常。去掉前置放大整形部分,送數(shù)據(jù)LCD顯示看是否正常顯示,能夠正常顯示,說(shuō)明顯示電路正常工作。5.2鍵盤調(diào)試在顯示正常情況下調(diào)試鍵盤,按設(shè)置鍵,看是否能正常進(jìn)入中斷,若能,進(jìn)入中斷后,按
14、下頻率/周期、閘門時(shí)間設(shè)置鍵,看是否能正常設(shè)置。在調(diào)試過(guò)程中遇到能夠進(jìn)入中斷,但是不能進(jìn)行設(shè)置,經(jīng)檢查電路、程序后發(fā)現(xiàn),兩個(gè)選擇按鍵之間短路,當(dāng)其中一個(gè)按鍵按下,相當(dāng)于兩個(gè)同時(shí)按下,只是單片機(jī)CPU不能正常識(shí)別。消除短路后電路正常工作了。5.3前置放大整形調(diào)試去掉LCD、單片機(jī)調(diào)試放大器是否正常工作。給定輸入信號(hào),用示波器分別測(cè)量各級(jí)輸入輸出信號(hào),看是否和放大相應(yīng)倍數(shù),限幅在指定范圍。調(diào)試結(jié)果:第一級(jí)放大五倍與符合預(yù)想要求。第二級(jí)限幅在±6.2V,與理論值±5.1伏有所出入,但仍然滿足后面電路要求。5.4軟件調(diào)試單片機(jī)軟件調(diào)試主要是調(diào)試本次課程設(shè)計(jì)的主程序。其調(diào)試過(guò)程如下:
15、(1)新建一個(gè)工程。單擊Project菜單,在彈出的下拉菜單中選New Project。(2)然后選擇你要保存的路徑,輸入工程文件的名字,保存。(3)新建一個(gè)工程后彈出一個(gè)對(duì)話框,根據(jù)你的需要選擇你使用的單片機(jī)型號(hào)。然后點(diǎn)擊確定。(4)單擊“File”,選擇“New”,新建文件并在其中輸入程序代碼,然后保存為c語(yǔ)言文件。(5)回到編輯界面后,單擊“Target 1”前面的“+”號(hào),然后在“Source Group 1”單擊右鍵選擇“Add File To Group Source Group 1”,選中Test.c文件。(6)單擊“Project”菜單,選中“Built Target”,完成程
16、序的編譯,在工程文件夾中找到*.hex文件即可。6結(jié)論結(jié)論:整個(gè)系統(tǒng)完成測(cè)試后,性能穩(wěn)定,由于所用函數(shù)發(fā)生器輸出最大頻率為10KHz,沒有測(cè)試更高頻率;從測(cè)量結(jié)果對(duì)比分析可知本次設(shè)計(jì)的頻率計(jì)基本滿足課程設(shè)計(jì)要,并且功能有所擴(kuò)展。7 總結(jié)在整個(gè)課程設(shè)計(jì)的過(guò)程中每一步都是自己親自做過(guò)的,遇到的問(wèn)題也非常多,在經(jīng)過(guò)遇到問(wèn)題,思索問(wèn)題到解決問(wèn)題的過(guò)程中,收獲是最多的。以往沒有注意到的問(wèn)題,都在這一次的課程設(shè)計(jì)中得以體現(xiàn),這培養(yǎng)了我的細(xì)心,耐心和專心。我覺得能夠在這次的課程設(shè)計(jì)中學(xué)到很多的東西,以往不注意的細(xì)節(jié),在這一次中是必須讓自己去注意的。對(duì)實(shí)際經(jīng)驗(yàn)的不足在設(shè)計(jì)過(guò)程中出現(xiàn)了不少的問(wèn)題,得到了老師的耐
17、心指導(dǎo),在此表示感謝。參考文獻(xiàn)1 張義和.例說(shuō)51單片機(jī).人民郵電出版社2 馬淑華. 王鳳文等著.單片機(jī)原理與接口技術(shù). 北京郵電大學(xué)出版社3 華成英.童詩(shī)白著. 模擬電子技術(shù)基礎(chǔ) . 高等教育出版社4 閻石著.數(shù)字電子技術(shù)技術(shù)基礎(chǔ). 高等教育出版社5 譚浩強(qiáng). C語(yǔ)言程序設(shè)計(jì) . 清華大學(xué)出版社6 陳尚松等.電子測(cè)量與儀器(第二版).電子工業(yè)出版社參考附錄程序清單#include <AT89x52.h>#include <stdio.h>#include <math.h>#include <intrins.h>float f; /頻率float
18、 p; /周期float sj; /閘門時(shí)間char idata buff20;char flag=0; /頻率周期選擇標(biāo)志位char xs=0; /設(shè)置閘門時(shí)間結(jié)束后是否顯示結(jié)果的標(biāo)志位unsigned char m=0,n=0,yichu=0,fenpin; /m定時(shí)中斷次數(shù) n計(jì)數(shù)中斷次數(shù) yichu判斷是定時(shí)器還是計(jì)數(shù)器溢出#define Key_Set P1#define K1 0xbf /1011_1111 P16#define K2 0x7f /0111_1111 P17#define NO_Set 0xff#define Freq 0#define Peri 1sbit B15
19、3=P24;sbit A153=P23;sbit P17=P17;sbit P16=P16;sbit P35=P35;sbit Set=P32;unsigned char LCD_Wait(void);void LCD_Write(bit style, unsigned char input);void LCD_SetDisplay(unsigned char DisplayMode);void LCD_SetInput(unsigned char InputMode);void LCD_Initial();void GotoXY(unsigned char x, unsigned char
20、y);void Print(unsigned char *str);void C52_Initial();void Delay(unsigned int t);void display(float f);void cepin();void panduan();void timedisplay(float sj);void Time_Set1();void Time_Set2();void t0();void t1();/* 模塊名稱:LCD1602顯示程序 */*Port Definitions*/sbit LcdRs= P20;sbit LcdRw= P21;sbit LcdEn= P22;
21、sfr DBPort= 0x80; /P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數(shù)據(jù)端口/*內(nèi)部等待函數(shù)*/unsigned char LCD_Wait(void)LcdRs=0; /寄存器選擇輸入端 1:數(shù)據(jù) 0:指令LcdRw=1; _nop_(); /RW:為0:寫狀態(tài);為1:讀狀態(tài);LcdEn=1; _nop_(); /使能輸入端,讀狀態(tài),高電平有效;寫狀態(tài),下降沿有效 LcdEn=0;return DBPort;/*向LCD寫入命令或數(shù)據(jù)*/#define LCD_COMMAND 0 / Command#define LCD_DATA 1 / Data#defi
22、ne LCD_CLEAR_SCREEN 0x01 / 清屏#define LCD_HOMING 0x02 / 光標(biāo)返回原點(diǎn)void LCD_Write(bit style, unsigned char input)LcdEn=0;LcdRs=style;LcdRw=0; _nop_();DBPort=input; _nop_();/注意順序LcdEn=1; _nop_();/注意順序LcdEn=0; _nop_();LCD_Wait();/*設(shè)置顯示模式*/#define LCD_SHOW 0x04 /顯示開#define LCD_HIDE 0x00 /顯示關(guān)#define LCD_CURSO
23、R 0x02 /顯示光標(biāo)#define LCD_NO_CURSOR 0x00 /無(wú)光標(biāo)#define LCD_FLASH 0x01 /光標(biāo)閃動(dòng)#define LCD_NO_FLASH 0x00 /光標(biāo)不閃動(dòng)void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND, 0x08|DisplayMode);/*設(shè)置輸入模式*/ #define LCD_AC_UP 0x02#define LCD_AC_DOWN 0x00 / default#define LCD_MOVE 0x01 / 畫面可平移#define LCD_NO
24、_MOVE 0x00 /defaultvoid LCD_SetInput(unsigned char InputMode)LCD_Write(LCD_COMMAND, 0x04|InputMode);/*初始化LCD*/ void LCD_Initial()LcdEn=0;LCD_Write(LCD_COMMAND,0x38); /8位數(shù)據(jù)端口,2行顯示,5*7點(diǎn)陣 LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /開啟顯示, 無(wú)光標(biāo) LCD_Write(LCD_COMMAND,LCD_CLEAR_SCRE
25、EN); /清屏LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE); /AC遞增, 畫面不動(dòng) /*/ void GotoXY(unsigned char x, unsigned char y)if(y=0)LCD_Write(LCD_COMMAND,0x80|x);if(y=1)LCD_Write(LCD_COMMAND,0x80|(x-0x40);void Print(unsigned char *str)while(*str!='0')LCD_Write(LCD_DATA,*str);str+;/* / * * * 模塊名稱: 頻率測(cè)量程序 * * 主要
26、技術(shù)指標(biāo): 測(cè)量范圍:0.1Hz4M * * 閘門時(shí)間:0.05s10s可調(diào)。 * * * */*89c52初始化*/ void C52_Initial()sj=1000000.00;Key_Set=0xff;TMOD=0x51; / 01010001 T1為計(jì)數(shù)器,T0為定時(shí)器 EA=1;ET0=1;ET1=1;EX0=1;PX0=1; /外部中斷0設(shè)置為高優(yōu)先級(jí) IT0=0; /電平觸發(fā)方式/*ms延時(shí)子程序*/ void Delay(unsigned int t) /t隨著數(shù)值越大,誤差趨于平衡. unsigned char i;while(t-)for(i=0;i<123;i+)
27、;/*計(jì)數(shù)中斷*/ void t1(void) interrupt 3 /計(jì)數(shù)器1溢出,yichu=1n+;yichu=1;TH1=0;TL1=0;/*定時(shí)中斷*/ void t0(void) interrupt 1m+;yichu=2; /定時(shí)器0溢出,yichu=2 TH0=0x3c; /定時(shí)50msTL0=0xb0;/*頻率顯示*/ void Fdisplay(float f)if(f>999400.00)if(f<4000400.00)sprintf(buff," Freq:%2.4fmHz ",(f/1000000.00);elseif(f>10
28、40.00)sprintf(buff," Freq:%4.2fkHz ",(f/1000.00); elseif(f>0.06)sprintf(buff," Freq:%3.2fHz ",f);GotoXY(0,1);Print(buff);/*周期顯示*/ void Pdisplay(float p)if(p>999400.00)if(p<10004000.00)sprintf(buff," Cycle:%2.4fs ",(p/1000000.00); elsesprintf(buff,"error(Ti
29、me or F)",p);elseif(p>9950.00)sprintf(buff," Cycle:%4.2fms ",(p/1000.00);elseif(p>0.248)sprintf(buff," Cycle:%3.3fus ",p);elsesprintf(buff,"error(Time or F)",p);GotoXY(0,1);Print(buff);/*測(cè)試頻率*/void cepin()unsigned char a;unsigned long js;m=0;n=0;TMOD=0x51;TH0
30、=0x3c; /定時(shí)50msTL0=0xb0;TH1=0;TL1=0;a=sj/50000.00;TCON=0x50; /啟動(dòng)定時(shí)器和計(jì)數(shù)器while(m!=a);TCON=0;js=TH1*256+n*65536+TL1;f=(js/(sj/1000000.00)*fenpin;p=sj/(js*fenpin);if(xs=0) /設(shè)置結(jié)束后第一次不顯示結(jié)果if(flag=Freq) Fdisplay(f);else Pdisplay(p);/*判斷頻率*/void panduan()xs=0; /設(shè)置結(jié)束后第二次循環(huán)顯示結(jié)果B153=1; /選擇16分頻A153=0;yichu=0;TMO
31、D=0x51;TH0=0xff; /定時(shí)器0 200usTL0=0x38;TH1=0xff; /計(jì)數(shù)器1 100脈沖TL1=0x9c;TR0=1; /啟動(dòng)定時(shí)器0和計(jì)數(shù)器1TR1=1;while(yichu=0); /如果沒有溢出一直循環(huán)TR0=0; /已經(jīng)溢出關(guān)閉定時(shí)器0和計(jì)數(shù)器1TR1=0;if(yichu=1) /計(jì)數(shù)器先溢出:在200ms內(nèi)測(cè)得的脈沖過(guò)多,說(shuō)明頻率較高(f>500khz)fenpin=16; /轉(zhuǎn)為測(cè)16分頻后的頻率 16cepin();else /定時(shí)器先溢出:100個(gè)脈沖的時(shí)間比較短,即頻率較低,可以減少分頻數(shù)yichu=0;B153=0;A153=1;TH0
32、=0xfc; /定時(shí)器0 1msTL0=0x18;TH1=0xff; /計(jì)數(shù)器1 100個(gè)脈沖TL1=0x9c;TR0=1; /啟動(dòng)定時(shí)器0和計(jì)數(shù)器1TR1=1;while(yichu=0); /如果沒溢出一直循環(huán)TR0=0; /已經(jīng)溢出關(guān)閉定時(shí)器0和計(jì)數(shù)器1TR1=0;if(yichu=1) /計(jì)數(shù)器先溢出:在1ms內(nèi)測(cè)得的脈沖過(guò)多,說(shuō)明頻率較高(1khz<f<500khz)fenpin=4; /轉(zhuǎn)為測(cè)4分頻后的頻率 4cepin();else /定時(shí)器先溢出:100個(gè)脈沖的時(shí)間比較短,即頻率較低 fenpin=1;B153=0;A153=0;cepin();/*顯示閘門時(shí)間*/
33、void timedisplay(float GTime)sprintf(buff,"GTime=%7.0fus ",GTime);GotoXY(0,1);Print(buff);Delay(50);/*減按鍵*/void Time_Set2()Delay(1000);if(P17=1) sj=sj-50000.00;if(sj>50000.00) timedisplay(sj);elsesj=50000.00;timedisplay(sj); elsewhile(P17=0) Delay(500);sj=sj-500000.00;if(sj>50000.00) timedisplay(sj);elsesj=50000.00;timedisplay(sj); /*加按鍵*/void Time_Set1()Delay(1000);if(P16=1)sj=sj+50000.00;if(sj<10000000.00) timedisplay(sj);els
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年滬科新版九年級(jí)歷史上冊(cè)階段測(cè)試試卷含答案
- 2025年新世紀(jì)版必修二歷史上冊(cè)月考試卷
- 2025年青島版六三制新必修2地理下冊(cè)月考試卷含答案
- 2025年外研版2024高三生物上冊(cè)階段測(cè)試試卷
- 2025年浙教版選擇性必修3生物上冊(cè)月考試卷含答案
- 2025年度木材貿(mào)易代理服務(wù)合同范本2篇
- 2025賓館洗浴中心客戶滿意度提升與忠誠(chéng)度維護(hù)合同3篇
- 2025版農(nóng)業(yè)科技園區(qū)基礎(chǔ)設(shè)施建設(shè)合同7篇
- 2025年度店面多媒體展示系統(tǒng)設(shè)計(jì)與安裝承包合同4篇
- 2025年度擬上公司與會(huì)計(jì)事務(wù)所財(cái)務(wù)數(shù)據(jù)共享保密合同4篇
- 2025-2030年中國(guó)草莓市場(chǎng)競(jìng)爭(zhēng)格局及發(fā)展趨勢(shì)分析報(bào)告
- 第二章《有理數(shù)的運(yùn)算》單元備課教學(xué)實(shí)錄2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)
- 華為智慧園區(qū)解決方案介紹
- 奕成玻璃基板先進(jìn)封裝中試線項(xiàng)目環(huán)評(píng)報(bào)告表
- 廣西壯族自治區(qū)房屋建筑和市政基礎(chǔ)設(shè)施全過(guò)程工程咨詢服務(wù)招標(biāo)文件范本(2020年版)修訂版
- 人教版八年級(jí)英語(yǔ)上冊(cè)期末專項(xiàng)復(fù)習(xí)-完形填空和閱讀理解(含答案)
- 2024新版有限空間作業(yè)安全大培訓(xùn)
- GB/T 44304-2024精細(xì)陶瓷室溫?cái)嗔炎枇υ囼?yàn)方法壓痕(IF)法
- 年度董事會(huì)工作計(jì)劃
- 《退休不褪色余熱亦生輝》學(xué)校退休教師歡送會(huì)
- 02R112拱頂油罐圖集
評(píng)論
0/150
提交評(píng)論