單片機(jī)課程設(shè)計(jì)頻率計(jì)數(shù)器_第1頁(yè)
單片機(jī)課程設(shè)計(jì)頻率計(jì)數(shù)器_第2頁(yè)
單片機(jī)課程設(shè)計(jì)頻率計(jì)數(shù)器_第3頁(yè)
單片機(jī)課程設(shè)計(jì)頻率計(jì)數(shù)器_第4頁(yè)
單片機(jī)課程設(shè)計(jì)頻率計(jì)數(shù)器_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、題群4“維小瓢EASTCHINAINSTITUTEOFTECHNOLOGY,VANGTZERIVERCOLLEGE單片機(jī)課程設(shè)計(jì)-頻率計(jì)數(shù)器專業(yè):自動(dòng)化指導(dǎo)老師:朱兆優(yōu)班級(jí):1430201學(xué)號(hào):201430020118姓名:張超梅目錄一、緒論1.1設(shè)計(jì)任務(wù)和要求二、電路設(shè)計(jì)方案2.1 電路工作原理2.2 系統(tǒng)性能三、軟件設(shè)計(jì)方案3.1 功能模塊3.2 .編程算法思路3.3 程序流程圖四、系統(tǒng)調(diào)試4.1 硬件調(diào)試4.2 軟件調(diào)試五、心得體會(huì)一、緒論頻率計(jì)又稱為頻率計(jì)數(shù)器,是一種專門對(duì)被測(cè)信號(hào)頻率進(jìn)行測(cè)量的電子測(cè)量?jī)x器。其最基本的工作原理為:當(dāng)被測(cè)信號(hào)在特定時(shí)間段T內(nèi)的周期個(gè)數(shù)為N時(shí),則被測(cè)信號(hào)的

2、頻率f=N/T。頻率計(jì)主要由四個(gè)部分構(gòu)成:時(shí)基(T)電路、輸入電路、計(jì)數(shù)顯示電路以及控制電路。在一個(gè)測(cè)量周期過程中,被測(cè)周期信號(hào)在輸入電路中經(jīng)過放大、整形、微分操作之后形成特定周期的窄脈沖,送到主門的一個(gè)輸入端。主門的另外一個(gè)輸入端為時(shí)基電路產(chǎn)生電路產(chǎn)生的閘門脈沖。在閘門脈沖開啟主門的期間,特定周期的窄脈沖才能通過主門,從而進(jìn)入計(jì)數(shù)器進(jìn)行計(jì)數(shù),計(jì)數(shù)器的顯示電路則用來顯示被測(cè)信號(hào)的頻率值,內(nèi)部控制電路則用來完成各種測(cè)量功能之間的切換并實(shí)現(xiàn)測(cè)量設(shè)置。1.1設(shè)計(jì)任務(wù)和要求本次課程設(shè)計(jì)的內(nèi)容是使用AT89C51單片機(jī)最小系統(tǒng)設(shè)計(jì)頻率計(jì)系統(tǒng),系統(tǒng)以單片機(jī)為主控單元,主要用于對(duì)方波頻率的測(cè)量,使用NE55

3、5輸出脈沖,用單片機(jī)計(jì)數(shù)器實(shí)現(xiàn)技術(shù),再把計(jì)數(shù)值轉(zhuǎn)換為頻率,用靜態(tài)或動(dòng)態(tài)顯示頻率值,頻率計(jì)數(shù)器要實(shí)現(xiàn)01MHz信號(hào)頻率測(cè)量范圍,要分段頻率段測(cè)量,低頻段用測(cè)周法,高頻段用測(cè)頻法:、電路設(shè)計(jì)方案2.1電路工作原理由NE555振蕩電路產(chǎn)生脈沖,然后經(jīng)過二分頻電路,然后與定時(shí)器/計(jì)數(shù)器T1相連,P2.0接74Ls273鎖存器的時(shí)鐘信號(hào)端,P2.1口接74Ls273鎖存器的時(shí)鐘信號(hào)端,P0口接74LS273段選碼和位選碼,輸出與七位共陽(yáng)數(shù)碼管顯示,采用動(dòng)態(tài)顯示。由于P0口輸出數(shù)據(jù),T2截至,輸出級(jí)屬于開漏電路,要使高電平1信號(hào)正確輸出,應(yīng)該外接上拉電阻560k.分頻電路本次設(shè)計(jì)采用的是脈沖定時(shí)測(cè)頻法,由

4、于考慮到單片機(jī)的定時(shí)計(jì)數(shù)器得計(jì)數(shù)能力有限,無(wú)法對(duì)過高頻進(jìn)行測(cè)量,所以我們對(duì)待測(cè)信號(hào)進(jìn)行了分頻,這樣能提高測(cè)量頻率的范圍,還能相應(yīng)的提高頻率測(cè)量的精度。所以我們需要把待測(cè)信號(hào)進(jìn)行分頻。顯示電路我們測(cè)量的頻率最終要顯示出來八段LED數(shù)碼管顯示器由8個(gè)發(fā)光二極管組成?;?個(gè)長(zhǎng)條形的發(fā)光管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英文字母。LED數(shù)碼管顯示器有兩種形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱之為共陽(yáng)極LED數(shù)碼管顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱之為共陰極LED數(shù)碼管顯示器。如下圖所示。共陰和共陽(yáng)結(jié)構(gòu)的L

5、ED數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時(shí),對(duì)應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個(gè)筆劃段hgfedcba對(duì)應(yīng)于一個(gè)字節(jié)(8位)的D7、D6、D5、。D4、D3、D2、D1、D0,于是用8位二進(jìn)制碼就能表示欲顯示字符的字形代碼C51RD二口生心口江船33叩404Rf±>AD£PD&W詞一一,P2C.MF31MR22rAicP2+M?段&4匕P2SM4P2.M10f口1sPt!waawnipjsyirflF3.<TC*3.5TiP3&FirMTITtfn-小鼠在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦

6、法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)數(shù)碼管顯示器都要占用單獨(dú)的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種辦法單片機(jī)中CPU的開銷小,能供給單獨(dú)鎖存的I/O接口電路很多。在單片機(jī)系統(tǒng)中動(dòng)態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個(gè)筆劃段a-h同名端連在一起,而每一個(gè)顯示器的公共極COM是各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是那個(gè)顯示器亮,則取決于COM端,而這一端是

7、由I/O控制的,所以我們就能自行決定何時(shí)顯示哪一位了。而所謂動(dòng)態(tài)掃描就是指我們采用分時(shí)的辦法,輪流控制各個(gè)顯示器的COM端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),但由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。S-SAII話上加LWEJTAJlEW"三WillU1川的cw,u廿1過24-SA7nlEifIESTJ_LJ豈,-王T1不一F3DHXL:-W'JCL:FSJ.MTrj31kFJ+TS叫一C2總電路圖三、軟件設(shè)計(jì)方

8、案3.1 功能模塊測(cè)周法定時(shí)器/計(jì)數(shù)器初始化,測(cè)出周期t4字節(jié)除4字節(jié)二進(jìn)制轉(zhuǎn)換為BCD碼提取BCD碼查表顯示測(cè)頻法定時(shí)器/計(jì)數(shù)器初始化,設(shè)置中斷二進(jìn)制轉(zhuǎn)換為BCD碼提取BCD碼查表顯示3.2 ,編程算法思路子程序主要包括:按鍵中斷子程序、定時(shí)中斷子程序、計(jì)數(shù)中斷子程序、周期中斷子程序、超量程判斷子程序、除法子程序、二進(jìn)制轉(zhuǎn)BCD子程序、顯示程子序。除法子程序該子程序用于周期轉(zhuǎn)換頻率,因?yàn)橹芷跒閮傻饺止?jié),所以使用移位除法。3.3 3程序流程圖四、系統(tǒng)調(diào)試4.1 硬件調(diào)試硬件調(diào)試,由大到小,從整體到局部,進(jìn)行調(diào)試。本設(shè)計(jì)電路簡(jiǎn)單,所以不一一調(diào)試,就最復(fù)雜的顯示電路進(jìn)行調(diào)試。先由仿真器連接顯示電

9、路,循環(huán)發(fā)送四位(1-9)顯示編碼,如果四位都不能顯示,檢查信號(hào)傳輸電路,時(shí)鐘電路,電源。如果四位都能顯示,但有的位顯示不正確,檢查L(zhǎng)ED與移位寄存器的連線順序是否正確。如果還顯示不正確,與正常的位調(diào)換LED數(shù)碼管。調(diào)換后,正常的位顯示不正常,則數(shù)碼管壞了,換數(shù)碼管。調(diào)換后,不正常的位顯示不正常,則移位寄存器壞了,換移位寄存器。4.2 軟件調(diào)試4.2.1軟件調(diào)試的步驟(1)源文件的建立:使用菜單“Fil-NeU或者點(diǎn)擊工具欄的新建文件按鈕,即可在項(xiàng)目窗口的右側(cè)打開一個(gè)新的文本編輯窗口,在該窗口中輸入?yún)R編語(yǔ)言源程序(4.2小節(jié)所示)。保存該文件,加上擴(kuò)展名(.asm),這里將文件保存為頻率計(jì)數(shù)器

10、程序.asmo(2)建立工程文件:點(diǎn)擊“ProjecewProject”菜單,出現(xiàn)一個(gè)對(duì)話框,要求給工程起一個(gè)名字,輸入頻率計(jì)數(shù)器程序,不需要擴(kuò)展名,點(diǎn)擊保存按鈕,出現(xiàn)第二個(gè)對(duì)話框。這個(gè)對(duì)話框要求選擇目標(biāo)CPU(即我們所使用的芯片型號(hào)80C51)點(diǎn)擊ATMEL前面的“+”騾開該層,點(diǎn)擊其中的80C51,然后點(diǎn)擊確定按鈕?;氐街鹘缑?,此時(shí),在工程窗口的文件頁(yè)中,出現(xiàn)了“鵬”,前面有“十”號(hào),點(diǎn)擊“十”展開,可以看到下一層的“SGLraup1",這時(shí)的工程還是一個(gè)空工程,里面什么文件也沒有,需要手動(dòng)把剛才編寫好的源程序加入,點(diǎn)擊SouceGroup”使其反白顯示,然后,點(diǎn)擊鼠標(biāo)右鍵,出現(xiàn)

11、一個(gè)下拉菜單。選中其中的“AddiletoGroup”SouceGroupI",對(duì)話框,要求尋找源文件,注意該對(duì)話框下面的“文件類型”默認(rèn)為Soucefile(*.c),也就是以C為擴(kuò)展名的文件,而我們的文件是以asm為擴(kuò)展名的,所以在列表框中找不到頻率計(jì)數(shù)器程序.asm,要將文件類型該掉,點(diǎn)擊對(duì)話框中“文件類型后的下拉列表,找到并選中“AsnSouceFile(*.asm,*.a51)”,這樣,在列表框中就可以找到頻率計(jì)數(shù)器程序.asm文文件了。雙頻率計(jì)數(shù)器程序.asm文件,將文件加入項(xiàng)目,注意,在文件加入項(xiàng)目后,該對(duì)話框并不消失,等待繼續(xù)加入其他文件,但初學(xué)時(shí)常會(huì)認(rèn)為操作沒有成功

12、而再次雙擊同一文件,這時(shí)會(huì)出現(xiàn)對(duì)話框,提示你所選的文件以在列表中,此時(shí)點(diǎn)擊確定,返回前一對(duì)話框,然后,點(diǎn)擊"Close”即可返回主界面,返回后,點(diǎn)擊“SoucGoup1”前的加號(hào),會(huì)發(fā)現(xiàn)頻率計(jì)數(shù)器程序.asm文件以在其中。雙擊文件名,即打開源程序。(3)工程的詳細(xì)設(shè)置:首先點(diǎn)擊左邊Project窗口的Target1,然后使用菜單“ProgetOptionfortarget'target'”即出現(xiàn)對(duì)工程設(shè)置的對(duì)話框,對(duì)這個(gè)對(duì)話框可謂非常復(fù)雜,共有8個(gè)頁(yè)面,要全部高清可不容易,好在絕大部分設(shè)置項(xiàng)取默認(rèn)值就行了。設(shè)置完成以后安確認(rèn)返回主界面,工程建立、設(shè)置完畢。(4)編譯、

13、連接:在設(shè)置好工程后,既可以進(jìn)行編譯、連接。選擇菜單Project-Buildtarget,對(duì)當(dāng)前工程進(jìn)行連接,如果當(dāng)前文件已修改軟件會(huì)先對(duì)該文件進(jìn)行比,然后在連接以產(chǎn)生目標(biāo)代碼。編譯過程中的信息將出現(xiàn)在輸出窗口中的Build頁(yè)中,如果源程序有語(yǔ)法錯(cuò)誤,會(huì)有錯(cuò)誤報(bào)告出現(xiàn),雙擊該行,可以定到出錯(cuò)的位置,對(duì)源程序反復(fù)修改后,最終會(huì)得到如圖5-1所示的結(jié)果,提示獲得了名為頻率計(jì)數(shù)器程序.hex的文件,該文件即可被編程器讀入并寫到芯片中,同時(shí)還產(chǎn)生了一些其他相關(guān)文件可被用于KEIL的仿真與調(diào)試4.2.2調(diào)試過程中遇到的問題及解決方法在進(jìn)入環(huán)境以后,遇到了很多問題,總結(jié)如下:(1)提示無(wú)asm文件編譯時(shí)

14、候提示:F:.XX.asm.hex的文件,該文件即可被編程器讀入并寫到芯片中,同時(shí)還產(chǎn)生了一些其他相關(guān)文件可被用于KEIL的仿真與調(diào)試。Filehasbeenchangedoutsidetheeditor,reload?解決方法:重新生成項(xiàng)目,產(chǎn)生頻率計(jì)數(shù)器程序.asm即可。(2)在進(jìn)入Keil的調(diào)試環(huán)境以后,發(fā)現(xiàn)程序有錯(cuò)。解決方法:將光標(biāo)定位于需要修改的程序上,用菜單,DebugInlineAssambly,即可出現(xiàn)對(duì)話框,EnterNew后面的編輯框內(nèi)直接輸入需要修改的程序語(yǔ)句,輸入完之后鍵入回車將自動(dòng)指向下一條語(yǔ)句,可以繼續(xù)修改,如果不在需要修改,可以點(diǎn)擊右上角的關(guān)閉按鈕關(guān)閉窗口。(3)

15、程序調(diào)試時(shí),一些程序必須滿足一定的條件才能被執(zhí)行到解決方法:這些條件往往是異步發(fā)生或難以預(yù)先設(shè)定的,這類問題使用的單步實(shí)行方法是很難調(diào)試的,這時(shí)就要使用發(fā)現(xiàn)程序調(diào)試中的另一種非常重要是方法-斷點(diǎn)設(shè)置。斷點(diǎn)設(shè)置的方法有多種,常用的是在某一程序行設(shè)置斷點(diǎn),設(shè)置好斷點(diǎn)后可以全速運(yùn)行程序,一旦執(zhí)行到該程序行即停止,可在此觀察有關(guān)變量值,以確定問題所在。在程序行設(shè)置/移除斷點(diǎn)的方法是將光標(biāo)定位于需要設(shè)置斷點(diǎn)的程序行,使用菜單Debug/Insert/RemoveBreakPoint設(shè)置或移除斷點(diǎn)(也可以用鼠標(biāo)在該行雙擊實(shí)現(xiàn)同樣的功能);Debug/Enable/DisableBreakPoint是開啟或

16、暫停光標(biāo)所在懂行的斷點(diǎn)功能;Dubug/DisaleAllBreakPoint暫停所有斷點(diǎn);Debug/KillAllBreakPoint清除所有的斷點(diǎn)設(shè)置。這些功能也可以用工具條上的快捷鍵進(jìn)行設(shè)置。(4)輸入程序時(shí),有中文標(biāo)點(diǎn),用keil編譯時(shí)出現(xiàn)錯(cuò)誤解決方法:程序里有帶中文標(biāo)點(diǎn),用英文重輸入一遍(5)匯編出現(xiàn)數(shù)字、字母混淆解決方法:字母”明數(shù)字“0”。主要錯(cuò)在這里。注意細(xì)節(jié)。五、心得體會(huì)通過這一個(gè)月來的忙碌和學(xué)習(xí),本次課程設(shè)計(jì)已接近尾聲,由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不周全的地方,在這里衷心感謝指導(dǎo)老師的督促指導(dǎo),以及一起學(xué)習(xí)的同學(xué)們的支持,讓我按時(shí)完成了這次課程設(shè)計(jì)。在論文設(shè)計(jì)過程中,我遇到了許許多多的困難。在此我要感謝我的指導(dǎo)老師給我悉心的幫助和對(duì)我耐心而細(xì)致的指導(dǎo),我的論文較為復(fù)雜煩

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論