版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、課程名稱: 單片機(jī)應(yīng)用課程設(shè)計設(shè)計題目: 簡易頻率計的設(shè)計 院 系: 電氣工程 專 業(yè): 年 級: 姓 名: 指導(dǎo)教師: 年 月 日課 程 設(shè) 計 任 務(wù) 書專 業(yè) 姓 名 學(xué) 號 開題日期: 年 月 日 完成日期 年 月 日題 目 簡易頻率計的設(shè)計 一、設(shè)計的目的 頻率計作為測量儀器的一種,它的基本功能是測量信號的頻率和周期頻率計的應(yīng)用范圍很廣,但是目前,市場上有各種多功能、高精度、高頻率的數(shù)字頻率計,但價格不菲。為適應(yīng)工作的需要,可以用一種較小規(guī)模和單片機(jī)(AT89C51)相結(jié)合的頻率計的設(shè)計方案,不但切實可行,而且體積小、設(shè)計簡單、成本低、精度高、可測頻帶寬,大大降低了設(shè)計成本和實現(xiàn)復(fù)雜
2、度。 二、設(shè)計的內(nèi)容及要求 本設(shè)計以AT89C51單片機(jī)為控制核心,將外部的頻率脈沖信號通過單片機(jī)計數(shù)端輸入,由定時器/計數(shù)器T0負(fù)責(zé)定時,定時器/計數(shù)器T1負(fù)責(zé)對被測信號計數(shù),該頻率計的測量范圍為1Hz65534Hz,被測脈沖信號的頻率可以隨時進(jìn)行調(diào)整,通過LCD液晶顯示模塊對被測信號的頻率進(jìn)行實時顯示。該系統(tǒng)包括被測頻率脈沖信號、單片機(jī)晶振電路、以AT89C51單片機(jī)為核心的頻率測量模塊、LCD液晶顯示模塊。 三、指導(dǎo)教師評語 四、成 績 指導(dǎo)教師 (簽章) 年 月 日摘 要在電子領(lǐng)域內(nèi),頻率是一種最基本的參數(shù),由于頻率信號抗干擾能力強(qiáng)、易于傳輸,可以獲得較高的測量精度。因此,頻率的測量就
3、顯得尤為重要,測頻方法的研究越來越受到重視。頻率計作為測量儀器的一種,常稱為電子計數(shù)器,它的基本功能是測量信號的頻率和周期頻率計的應(yīng)用范圍很廣,它不僅應(yīng)用于一般的簡單儀器測量,目前,市場上有各種多功能、高精度、高頻率的數(shù)字頻率計,但價格不菲。為適應(yīng)實際工作的需要,本次設(shè)計給出了一種設(shè)計方案,不但切實可行,而且體積小、設(shè)計簡單、成本低、精度高、可測頻帶寬,大大降低了設(shè)計成本和實現(xiàn)復(fù)雜度。設(shè)計主要以AT89C51單片機(jī)為控制核心,將外部的頻率脈沖信號通過單片機(jī)計數(shù)端輸入,由定時器/計數(shù)器T0負(fù)責(zé)定時,定時器/計數(shù)器T1負(fù)責(zé)對被測信號計數(shù),該頻率計的測量范圍為1Hz65534Hz,被測脈沖信號的頻率
4、可以隨時進(jìn)行調(diào)整,通過LCD液晶顯示模塊對被測信號的頻率進(jìn)行實時顯示。該系統(tǒng)包括被測頻率脈沖信號、單片機(jī)晶振電路、以AT89C51單片機(jī)為核心的頻率測量模塊、LCD液晶顯示模塊。關(guān)鍵詞:單片機(jī);AT89C51;脈沖信號;LCD顯示模塊目錄摘 要2第1章 引言31.1研究的目的和意義31.2國內(nèi)外研究現(xiàn)狀3第2章 系統(tǒng)方案設(shè)計42.1基本原理42.1.1 測頻原理42.1.2 頻率計的基本原理52.2總體設(shè)計思路62.3具體模塊6第3章 硬件電路設(shè)計73.1 AT89C51主控制器模塊73.1.1 主要特性83.1.2 管腳說明83.2 晶振電路103.3頻率脈沖信號103.4 LCD液晶顯示模
5、塊11第4章 系統(tǒng)的軟件設(shè)計114.1 頻率測量模塊114.2 液晶顯示模塊15第5章 頻率計的系統(tǒng)調(diào)試與仿真195.1 KEIL中對程序的調(diào)試195.2 Protues中對系統(tǒng)的仿真19附錄23總結(jié)28參考文獻(xiàn)29第1章 引言1.1研究的目的和意義頻率測量是電子學(xué)測量中最為基本的測量之一。由于頻率信號抗干擾性強(qiáng),易于傳輸,因此可以獲得較高的測量精度。隨著數(shù)字電子技術(shù)的發(fā)展,頻率測量成為一項越來越普遍的工作,測頻原理和測量方法的研究正受到越來越多的關(guān)注。頻率計的主要功能是測量周期信號的頻率。其基本原理就是用閘門計數(shù)的方式測量脈沖個數(shù)。頻率計首先必須獲得相對穩(wěn)定與準(zhǔn)確的時間,同時將被測信號轉(zhuǎn)換成
6、幅度與波形均能被數(shù)字電路識別的脈沖信號,然后通過計數(shù)器計算這一段時間間隔內(nèi)的脈沖個數(shù),將其換算后顯示出來。1.2國內(nèi)外研究現(xiàn)狀在電子測量領(lǐng)域中,頻率測量的精確度是最高的,可達(dá)1010E-13數(shù)量級。由于大規(guī)模和超大規(guī)模數(shù)字集成電路技術(shù)、數(shù)據(jù)通信技術(shù)與單片機(jī)技術(shù)的結(jié)合,頻率計發(fā)展進(jìn)入了智能化和微型化的新階段。其功能進(jìn)一步擴(kuò)大,除了測量頻率、頻率比、周期、時間、相位、相位差等基本功能外,還具有自撿、自校、自診斷、數(shù)理統(tǒng)計、計算方均根值、數(shù)據(jù)存儲和數(shù)據(jù)通信等功能。此外,還能測量電壓、電流、阻抗、功率和波形等。國際國內(nèi)通用數(shù)字頻率計的主要技術(shù)參數(shù):1、足夠?qū)挼臏y量范圍。隨著現(xiàn)代電子技術(shù)的發(fā)展,特別是高
7、速芯片技術(shù)的發(fā)展,有些頻率計數(shù)器能夠直接測量。2、高精度和高分辨率。精度是指測量的準(zhǔn)確程度,即儀器的讀數(shù)接近實際信號頻率的程度,精度越高測量越準(zhǔn)確。3、晶體振蕩器的頻率穩(wěn)定度。晶體振蕩器的頻率穩(wěn)定度,是決定頻率計測量誤差的一個重要指標(biāo)。4、輸入靈敏度。輸入靈敏度是指在側(cè)頻范圍內(nèi)能保證正常工作的最小輸入電壓第2章 系統(tǒng)方案設(shè)計2.1基本原理2.1.1 測頻原理所謂“頻率”就是周期性信號在單位時間(1s)內(nèi)變化的次數(shù),就是“在單位時間內(nèi)對被測信號進(jìn)行計數(shù)”。我們將被測的頻率脈沖信號直接送到單片機(jī)的計數(shù)輸入端,由定時器/計數(shù)器T0負(fù)責(zé)定時,定時器/計數(shù)器T1負(fù)責(zé)對被測信號計數(shù),一旦T0定時時間到,立
8、刻終止T1的計數(shù),此時T1的計數(shù)值便是單位時間內(nèi)的脈沖個數(shù)。若在一定時間間隔T內(nèi)測得這個周期性信號的重復(fù)變化次數(shù)N,則其頻率可表示為f=N/T。我們將T0的定時時間設(shè)為1s,當(dāng)T0定時滿1s后,立即停止T1計數(shù),此時T1的計數(shù)值即為被測信號的頻率。定時 待測信號 丟失 T 丟失 圖2-1 頻率測量原理圖 在計數(shù)時會出現(xiàn)圖2-1所示的丟失脈沖的情況。第一個丟失的脈沖是由于開始檢測時脈沖寬度已小于機(jī)器周期T;第二個丟失的脈沖的負(fù)跳變在定時之外。定時時間內(nèi)出現(xiàn)脈沖丟失,將引起測量精度降低。脈沖頻率越低,這種誤差越大。顯然對于較低頻率的脈沖測量不適合采用測量頻率法。而我們本次設(shè)計就是采用這種測量頻率法
9、對被測脈沖信號進(jìn)行頻率測量,為解決圖一中脈沖的丟失這個問題,我們在程序設(shè)計中實現(xiàn)了計數(shù)開始與脈沖上升沿的同步控制。2.1.2 頻率計的基本原理頻率計最基本的工作原理為:當(dāng)被測信號在特定時間段T內(nèi)的周期個數(shù)為N時,則被測信號的頻率f=N/T。在一個測量周期過程中,被測周期信號在輸入電路中經(jīng)過放大、整形、微分操作之后形成特定周期的窄脈沖,送到主門的一個輸入端。主門另外一個輸入端為時基電路產(chǎn)生電路產(chǎn)生的閘門脈沖。在閘門脈沖開啟主門的期間,特定周期的窄脈沖才能通過主門,從而進(jìn)入計數(shù)器進(jìn)行計數(shù),計數(shù)器的顯示電路則用來顯示被測信號的頻率值,內(nèi)部控制電路則用來完成各種測量功能之間的切換并實現(xiàn)測量設(shè)置.圖2-
10、2 頻率計原理圖2.2總體設(shè)計思路頻率計是一種專門對被測信號頻率進(jìn)行測量的電子測量儀器,是我們經(jīng)常會用到的實驗儀器之一,頻率的測量實際上就是在單位時間內(nèi)對脈沖信號進(jìn)行計數(shù),計數(shù)值就是信號頻率。本文介紹了一種基于單片機(jī)的電子頻率計的設(shè)計方法,此電子頻率以AT89C51單片機(jī)為控制核心,可將外部的頻率脈沖信號通過單片機(jī)計數(shù)端輸入,由定時器/計數(shù)器T0負(fù)責(zé)定時,定時器/計數(shù)器T1負(fù)責(zé)對被測信號計數(shù),一旦T0定時時間到,立刻終止T1的計數(shù),此時T1的計數(shù)值便是單位時間內(nèi)的脈沖個數(shù),我們將T0的定時時間設(shè)為1s,當(dāng)T0定時滿1s后,立即停止T1計數(shù),此時T1的計數(shù)值即為被測信號的頻率。該頻率計的測量范圍
11、為1Hz65534Hz,被測脈沖信號的頻率可以隨時進(jìn)行調(diào)整,通過LCD液晶顯示模塊對被測信號的頻率進(jìn)行實時顯示。2.3具體模塊根據(jù)上述系統(tǒng)分析,該系統(tǒng)包括被測頻率脈沖信號、單片機(jī)晶振電路、以AT89C51單片機(jī)為核心的頻率測量模塊、LCD液晶顯示模塊。各模塊作用如下:1.脈沖信號:就是被測信號,可以隨時調(diào)整其頻率,以便于單片機(jī)測量。2.單片機(jī)晶振電路:由于單片機(jī)的內(nèi)部時鐘方式是用芯片內(nèi)部振蕩電路,精度不高,溫飄也較大,外部時鐘,分RC振蕩和石英晶振,RC精度不高,成本低,石英晶振,精度高,穩(wěn)定性好,故我們采用單片機(jī)的晶振電路提供時鐘信號。3.AT89C51頻率測量模塊:主要負(fù)責(zé)對脈沖信號的計數(shù)
12、,并且驅(qū)動LCD顯示模塊實時顯示測量值。4.LCD液晶顯示模塊:對單片機(jī)測量的頻率進(jìn)行實時顯示。綜上所述頻率計的系統(tǒng)設(shè)計由被測頻率脈沖信號、單片機(jī)晶振電路、以AT89C51單片機(jī)為核心的頻率測量模塊、LCD液晶顯示模塊等組成,頻率計的總體設(shè)計框圖如圖2-3所示。圖2-3 頻率計總體設(shè)計框圖第3章 硬件電路設(shè)計3.1 AT89C51主控制器模塊電子頻率計以AT89C51單片機(jī)為控制核心,可將外部的頻率脈沖信號通過單片機(jī)計數(shù)端輸入,由定時器/計數(shù)器T0負(fù)責(zé)定時,定時器/計數(shù)器T1(P3.5)負(fù)責(zé)對被測信號計數(shù),一旦T0定時時間到,立刻終止T1的計數(shù),此時T1的計數(shù)值便是單位時間內(nèi)的脈沖個數(shù),我們將
13、T0的定時時間設(shè)為1s,當(dāng)T0定時滿1s后,立即停止T1計數(shù),此時T1的計數(shù)值即為被測信號的頻率。圖 3-1 AT89C51主控模塊3.1.1 主要特性AT89C51 提供以下標(biāo)準(zhǔn)功能:4k 字節(jié)Flash 閃速存儲器,128字節(jié)內(nèi)部RAM,32 個I/O 口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬
14、件復(fù)位。3.1.2 管腳說明VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位的漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。P2口在FLASH編程和校驗時接收高八位地址信號和控制信
15、號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 振蕩器特性: XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通
16、過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。3.2 晶振電路由于單片機(jī)的內(nèi)部時鐘方式是用芯片內(nèi)部振蕩電路,精度不高,溫漂也較大,外部時鐘,分RC振蕩和石英晶振,RC精度不高,成本低,石英晶振,精度高,穩(wěn)定性好,故我們采用單片機(jī)的晶振電路提供時鐘信號。圖3-2 晶振電路3.3頻率脈沖信號頻率脈沖信號就是被測信號,可以隨時調(diào)整其頻率,以便于單片機(jī)測量,直接在protues左側(cè)工具條內(nèi)的一個Generator Mode工具中選擇DCLOCK放置頻率脈沖信號(如圖3-3)。圖3-3 頻率脈沖信號3.4 LCD液晶顯示模塊LCD液晶顯示器是一種被動式的顯示
17、器,與LED不同,液晶本身并不發(fā)光,而是利用液晶在電壓作用下,能改變光線通過方向的特性而達(dá)到顯示白底黑字或黑底白字的目的。液晶顯示器具有微功耗、體積小、重量輕、超薄型等諸多其他顯示器件所無法比擬的優(yōu)點,在袖珍式儀表和低功耗系統(tǒng)中,得到越來越廣泛的應(yīng)用,目前市場上液晶顯示器種類繁多,按排列形狀可分為字段型、點陣字符型、點陣圖形型,在單片機(jī)應(yīng)用系統(tǒng)中,常使用點陣字符型LCD顯示器。字符型液晶顯示模塊組件內(nèi)部主要由LCD顯示屏(LCD Panel)、控制器(Controller)、驅(qū)動器(Driver)、少量阻容原件、結(jié)構(gòu)件等裝配在PCB上構(gòu)成。第4章 系統(tǒng)的軟件設(shè)計4.1 頻率測量模塊將定時器T0
18、設(shè)置在定時方式2,定時時間為250us,滿4000次中斷正好是1s,定時器T1工作于計數(shù)方式1,計數(shù)初值為0。在啟動定時器T0開始定時后,隨即對送到T1(P3.5)引腳的被測脈沖進(jìn)行計數(shù),當(dāng)T0定時滿1s后,立即停止T1計數(shù),關(guān)閉定時器T0,T1的計數(shù)值即為被測信號的頻率,程序流程圖如圖4-1。圖4-1 頻率測量頻率測量其中,中斷服務(wù)子程序流程圖如下:圖4-2中斷服務(wù)子程序頻率測量主函數(shù)中,還進(jìn)行了數(shù)據(jù)轉(zhuǎn)換以及調(diào)用顯示模塊進(jìn)行顯示其程序流程框圖如下:圖4-3 頻率測量主函數(shù)頻率測量模塊源程序: #include #include #define uchar unsigned char #def
19、ine uint unsigned int void init_lcd(void); void disp_str(uchar x,uchar y,uchar *p); sbit FS=P35; /被測信號FS輸入端 bit RDY=0; /測量完成標(biāo)志 uint msn; /定時中斷計數(shù) uint count(void)/測量FS的頻率 RDY=0; TMOD=0x52;/T0:定時方式2,T1:計數(shù)方式1 TH0=TL0=6;/T0定時時間為250us msn=4000;/4000次中斷正好1sTH1=TL1=0x00; /T1工作于計數(shù)方式,初值為0ET0=1;/允許T0中斷EA=1;/開
20、中斷while(FS=1); /等待被測信號變低while(FS=0);/等待被測信號變高TR0=1;/T0開始定時TR1=1;/T1開始計數(shù)while(RDY=0);/等待1sTR1=0;/關(guān)閉T1、T0TR0=0;return(TH1*256+TL1); /返回計數(shù)值 void timer0(void) interrupt 1 using 1 msn-; if(msn=0)/如果1s已到 RDY=1;/設(shè)置測量完成標(biāo)志位 void main() uint f; uchar str9=f= Hz;uchar i;init_lcd(); /液晶屏初始化while(1) f=count(); /
21、測量頻率 _nop_(); for(i=6;i=2;i-)/測量結(jié)果轉(zhuǎn)換為5位ASCII碼 stri=f%10+0x30; f=f/10; disp_str(0,3,str); /顯示測量結(jié)果 4.2 液晶顯示模塊液晶顯示模塊是一個顯示的子程序,主要供頻率測量模塊調(diào)用,以便在液晶屏上顯示出實時的頻率測量值,它的編程比較固定,無非就是按照LCD液晶顯示屏的參數(shù)要求的指令系統(tǒng)來編寫程序,其程序流程圖4-4。圖4-4 液晶顯示液晶顯示模塊源程序: #include #include #define uchar unsigned char #define uint unsigned int sbit
22、RS=P20; /數(shù)據(jù)/命令寄存器選擇控制端 sbit RW=P21; /讀寫控制端 sbit E=P22; /使能控制端 sfr LCD=0x90; /P1口作為總線端口 sbit BF=LCD7; /就緒線BF,低電平有效 void lcd_cmd(uchar cmd) LCD=cmd; RS=0;/選擇命令寄存器 RW=0;/執(zhí)行寫數(shù)據(jù)操作 E=1; _nop_();/延時 E=0;/使能信號有效 while(1) LCD=0xff;/總線變高 RS=0;/選擇命令寄存器 RW=1;/讀操作 E=0; /使能信號有效 _nop_(); E=1; /撤銷使能信號 if(BF=0)break
23、; /如果就緒,返回 void lcd_dat(uchar dat) LCD=dat;/顯示數(shù)據(jù)總線 RS=1;/選擇數(shù)據(jù)寄存器 RW=0;/執(zhí)行寫數(shù)據(jù)操作 E=1; _nop_();/延時 E=0;/使能信號有效 while(1) LCD=0xff;/總線變高 RS=0;/選擇命令寄存器 RW=1;/讀操作 E=0; /使能信號有效 _nop_(); E=1; /撤銷使能信號 if(BF=0)break; /如果就緒,返回dat=LCD; void init_lcd(void)/初始化液晶屏 lcd_cmd(0x01); /清屏幕lcd_cmd(0x3c); /設(shè)置雙行顯示,5*10點陣lc
24、d_cmd(0x0c); /開顯示,關(guān)閉光標(biāo) void disp_str(uchar x,uchar y,uchar *p) /在x行、y列顯示字符串p if(x=0) /如果在第一行顯示 lcd_cmd(0x80+y); /設(shè)置寫入地址else /如果在第二行顯示 lcd_cmd(0xc0+y);/設(shè)置寫入地址while(*p)/將字符依次發(fā)送到液晶屏 lcd_dat(*p+); 第5章 頻率計的系統(tǒng)調(diào)試與仿真5.1 KEIL中對程序的調(diào)試德國的KEIL軟件公司提供了一流的8051系列開發(fā)工具,將軟件開發(fā)工具綁定到不同的套件或工具包中。KEIL 8051開發(fā)工具套件可用于編譯C源程序、匯編源
25、程序,鏈接和定位目標(biāo)文件及庫,創(chuàng)建HEX文件以及調(diào)試目標(biāo)程序,我們進(jìn)入到KEIL中的集成開發(fā)環(huán)境,對所編寫的程序進(jìn)行了調(diào)試,使其生成了目標(biāo)文件(HEX文件),如圖5-1所示圖5-1 程序的調(diào)試5.2 Protues中對系統(tǒng)的仿真我們采用Protues軟件對系統(tǒng)進(jìn)行仿真,將KEIL生成的HEX文件下載入單片機(jī)中,點擊OK開始進(jìn)行系統(tǒng)的仿真,如圖5-2所示圖 5-2 Protues中對hex文件的選擇在Protues中雙擊被測頻率脈沖信號t1,在Frequency中將其頻率設(shè)定為6443,如圖5-3所示:圖 5-3 頻率的設(shè)定點擊OK,然后在Protues中點擊Play開始進(jìn)行系統(tǒng)仿真,仿真結(jié)果如
26、圖5-4所示:圖 5-4 仿真結(jié)果我們按照上面的方法,依次改變被測頻率脈沖信號的頻率,在Protues軟件中進(jìn)行反復(fù)的調(diào)試仿真,軟件仿真結(jié)果如圖5-5: 圖5-5 多次仿真數(shù)據(jù)結(jié)果 從記錄的數(shù)據(jù)可以看出,系統(tǒng)軟件仿真誤差很小,在信號頻率范圍內(nèi)測量出來的頻率基本上就是輸入信號的頻率,在超出這個范圍后,才出現(xiàn)很小的誤差。這可能是由于硬件電路信號傳輸延時,或者晶振電路產(chǎn)生的時鐘信號誤差造成的,也可能是由于軟件中執(zhí)行語句的延時造成的,在高頻率下就會出現(xiàn)很小的誤差,但是可以看出,誤差在允許范圍內(nèi),所設(shè)計的電路基本符合要求。 附錄源程序:頻率測量模塊源程序 #include #include #defin
27、e uchar unsigned char #define uint unsigned int void init_lcd(void); void disp_str(uchar x,uchar y,uchar *p); sbit FS=P35; /被測信號FS輸入端 bit RDY=0; /測量完成標(biāo)志 uint msn; /定時中斷計數(shù) uint count(void)/測量FS的頻率 RDY=0; TMOD=0x52;/T0:定時方式2,T1:計數(shù)方式1 TH0=TL0=6;/T0定時時間為250us msn=4000;/4000次中斷正好1sTH1=TL1=0x00; /T1工作于計數(shù)方
28、式,初值為0ET0=1;/允許T0中斷EA=1;/開中斷while(FS=1); /等待被測信號變低while(FS=0);/等待被測信號變高TR0=1;/T0開始定時TR1=1;/T1開始計數(shù)while(RDY=0);/等待1sTR1=0;/關(guān)閉T1、T0TR0=0;return(TH1*256+TL1); /返回計數(shù)值 void timer0(void) interrupt 1 using 1 msn-; if(msn=0)/如果1s已到 RDY=1;/設(shè)置測量完成標(biāo)志位 void main() uint f; uchar str9=f= Hz;uchar i;init_lcd(); /液
29、晶屏初始化while(1) f=count(); /測量頻率 _nop_(); for(i=6;i=2;i-)/測量結(jié)果轉(zhuǎn)換為5位ASCII碼 stri=f%10+0x30; f=f/10; disp_str(0,3,str); /顯示測量結(jié)果 液晶顯示模塊源程序: #include #include #define uchar unsigned char #define uint unsigned int sbit RS=P20; /數(shù)據(jù)/命令寄存器選擇控制端 sbit RW=P21; /讀寫控制端 sbit E=P22; /使能控制端 sfr LCD=0x90; /P1口作為總線端口 sb
30、it BF=LCD7; /就緒線BF,低電平有效 void lcd_cmd(uchar cmd) LCD=cmd; RS=0;/選擇命令寄存器 RW=0;/執(zhí)行寫數(shù)據(jù)操作 E=1; _nop_();/延時 E=0;/使能信號有效 while(1) LCD=0xff;/總線變高 RS=0;/選擇命令寄存器 RW=1;/讀操作 E=0; /使能信號有效 _nop_(); E=1; /撤銷使能信號 if(BF=0)break; /如果就緒,返回 void lcd_dat(uchar dat) LCD=dat;/顯示數(shù)據(jù)總線 RS=1;/選擇數(shù)據(jù)寄存器 RW=0;/執(zhí)行寫數(shù)據(jù)操作 E=1; _nop_();/延時 E=0;/使能信號有效 while(1) LCD=0xff;/總線變高 RS=0;/選擇命令寄存器 RW=1;/讀操作 E=0; /使能信號有效 _nop_(); E=1; /撤銷使能信號 if(BF=0)b
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版?zhèn)€人抵押房產(chǎn)債權(quán)轉(zhuǎn)讓合同3篇
- 2024年晉城職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 2024年昆山登云科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試歷年參考題庫含答案解析
- (高清版)DB32∕T 4369-2022 企業(yè)公共服務(wù)網(wǎng)絡(luò)平臺建設(shè)和服務(wù)規(guī)范
- 二零二五年度環(huán)保技術(shù)合伙人股東權(quán)益保障協(xié)議3篇
- 二零二五年網(wǎng)絡(luò)安全監(jiān)控服務(wù)合同范本2篇
- 2024年廊坊燕京職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 二零二五年房地產(chǎn)開發(fā)項目搬遷補(bǔ)償協(xié)議
- 二零二五年校園照明系統(tǒng)安裝與節(jié)能改造合同2篇
- 2024年廣州工程技術(shù)職業(yè)學(xué)院高職單招語文歷年參考題庫含答案解析
- 水上拋石安全專項施工方案
- 臺大歐麗娟《紅樓夢》公開課全部筆記
- 數(shù)據(jù)治理在物流行業(yè)的應(yīng)用
- 班組長薪酬體系設(shè)計方案
- 持續(xù)改進(jìn)管理程序
- 網(wǎng)絡(luò)安全設(shè)備巡檢報告
- ZJ50DBS鉆機(jī)-01使用說明書
- 校園廣播系統(tǒng)施工安裝方案
- 石群邱關(guān)源電路課件(第8至16單元)白底
- 暫緩執(zhí)行拘留申請書
- 蘇教版中外戲劇名著選讀《玩偶之家》評課稿
評論
0/150
提交評論