基于單片機(jī)的電子琴_第1頁(yè)
基于單片機(jī)的電子琴_第2頁(yè)
基于單片機(jī)的電子琴_第3頁(yè)
基于單片機(jī)的電子琴_第4頁(yè)
基于單片機(jī)的電子琴_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

總結(jié)資料總結(jié)資料電子琴的設(shè)計(jì)以AT89C52單片機(jī)為核心控制元件,與鍵盤(pán)、揚(yáng)聲器等模塊組成核心主控制模塊,通過(guò)制作硬件電路和軟件的設(shè)計(jì)編寫(xiě),然后進(jìn)行軟硬件的調(diào)試運(yùn)行,最終達(dá)到設(shè)計(jì)電路的樂(lè)器演奏、點(diǎn)歌、存儲(chǔ)及顯示功能。設(shè)計(jì)中應(yīng)用中斷系統(tǒng)和定時(shí)/計(jì)數(shù)原理控制演奏器發(fā)聲,對(duì)音樂(lè)發(fā)生所必須確定的音符和節(jié)拍分別用程序語(yǔ)言實(shí)現(xiàn)。特點(diǎn)是設(shè)計(jì)思路簡(jiǎn)單、清晰,成本低。關(guān)鍵詞:電子琴;演奏;單片機(jī)目錄摘要I1緒論12設(shè)計(jì)任務(wù)22.1課程設(shè)計(jì)的目的及意義22.2課程設(shè)計(jì)任務(wù)與要求22.3實(shí)驗(yàn)器材22.4課程設(shè)計(jì)技術(shù)指標(biāo)錯(cuò)誤!未定義書(shū)簽。系統(tǒng)硬件3主控制器AT89C51 3運(yùn)算放大器1乂3245時(shí)鐘電路和復(fù)位電路6時(shí)鐘電路6復(fù)位電路6顯示電路7低通濾波器原理8硬件電路設(shè)計(jì)9電路設(shè)計(jì)介紹93.6.2總電路圖103.6.3元件清單10系統(tǒng)軟件114.1數(shù)據(jù)處理過(guò)程114.2主程序流程框圖124.3中斷程序流程框圖124.3程序代碼13實(shí)驗(yàn)結(jié)果175.1仿真結(jié)果175.2實(shí)物結(jié)果185.3結(jié)果分析18總結(jié)19致謝20參考文獻(xiàn)211緒論電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器。電子琴是高科技在音樂(lè)領(lǐng)域的一個(gè)代表,它是古典文化與現(xiàn)代文明的一個(gè)濃縮體。它不但可以幫助我們的音樂(lè)教師進(jìn)行傳統(tǒng)音樂(lè)文化的教育教學(xué)工作,而且由于它又具備現(xiàn)代音樂(lè),特別是電子音樂(lè)、電腦音樂(lè)的基本結(jié)構(gòu)、特征,因而使我們的教師在進(jìn)行現(xiàn)代音樂(lè)、電子音樂(lè)、電腦音樂(lè)的教學(xué)時(shí),更直接、更簡(jiǎn)便。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分?;诋?dāng)前市場(chǎng)上的玩具市場(chǎng)需求量大,其中電子琴就是一個(gè)很好的應(yīng)用方面。單片機(jī)技術(shù)使我們可以利用軟硬件實(shí)現(xiàn)電子琴的功能,從而實(shí)現(xiàn)電子琴的微型化,可以用作玩具琴、音樂(lè)轉(zhuǎn)盤(pán)以及音樂(lè)童車(chē)等等。并且可以進(jìn)行一定的功能擴(kuò)展。單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。本文主要對(duì)使用單片機(jī)設(shè)計(jì)微型電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來(lái)詳細(xì)闡述。2設(shè)計(jì)任務(wù)課程設(shè)計(jì)的目的及意義基于單片機(jī)的電子琴發(fā)聲系統(tǒng)設(shè)計(jì)。認(rèn)真分析和領(lǐng)會(huì)課程設(shè)計(jì)題目含意,查閱和運(yùn)用相關(guān)技術(shù)資料,提倡獨(dú)立思考,鍛煉動(dòng)手能力;仔細(xì)觀察實(shí)驗(yàn)現(xiàn)象,認(rèn)真做好實(shí)驗(yàn)記錄,要準(zhǔn)確、規(guī)X、獨(dú)立地完成實(shí)驗(yàn)內(nèi)容,自覺(jué)培養(yǎng)嚴(yán)謹(jǐn)XX的科學(xué)作風(fēng);課程設(shè)計(jì)任務(wù)與要求(1)設(shè)計(jì)一個(gè)(4*4)的鍵盤(pán)也并將16個(gè)鍵設(shè)計(jì)成兩個(gè)八度的音階對(duì)應(yīng)的16個(gè)琴鍵,可以進(jìn)行彈奏表演;演奏的同時(shí)數(shù)碼管會(huì)以數(shù)字顯示當(dāng)前按鍵對(duì)應(yīng)的音符;有音樂(lè)存儲(chǔ)功能,能自動(dòng)演奏歌曲。演奏時(shí)可選擇鍵盤(pán)輸入樂(lè)曲,自己存入的樂(lè)曲或隨機(jī)存儲(chǔ)的樂(lè)曲。按播放鍵能播放5首歌曲,第一首歌曲播放結(jié)束,再按播放鍵播放下一首歌曲。發(fā)光二極管會(huì)指示當(dāng)前按鍵是否按下。2.3實(shí)驗(yàn)器材單片機(jī)AT89C52、鍵盤(pán)、揚(yáng)聲器、實(shí)驗(yàn)電路板。3系統(tǒng)硬件3.1主控制器AT89C521PlqVqc402P-.LFqq/虹。393P>,2Pen出Dl兜4Pl.39nga375Pl.4P03/AD3366Pl占■PeJAD:357Pl6Pqs/AIX34£P(guān)l.7Pa&'AC'e339RSTRuVg3210RXD/PsnEA3111IXIYP”ALE3C12P^bl2913P二,用52g14巧WAJ42715丘他1326需說(shuō)卬為由Pm值IE2517RD/Ps.iPjj^AiL2418JCTALaPJAin2319XTAL]2220峰FWAb21圖3.1AT89C51引腳圖AT89C52各管腳功能:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向1/0口,每腳可吸收81江門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向1/0口,P1口緩沖器能接收輸出41北門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向1/0口,P2口緩沖器可接收,輸出4個(gè)丁江門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向1/0口,可接收輸出4個(gè)1兀門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下所示:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口) P3.2/川10(外部中斷0”3.3/川口(外部中斷1) P3.4T0(記時(shí)器0外部輸入)P3.5T1(記時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間將使單片機(jī)復(fù)位。。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖,用以鎖存地址的低8位字節(jié)。一般情況下,ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)41£脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí),ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。中5£由外部程序存儲(chǔ)器的選通信號(hào)。在由AT89C51執(zhí)行外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),必須同GND相連接。需要主要的是,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),復(fù)位時(shí)£人端會(huì)自動(dòng)內(nèi)部鎖存。當(dāng)執(zhí)行內(nèi)部編程指令時(shí),應(yīng)該接到VCC端。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。特點(diǎn):1.小巧靈活,嵌入性好,控制功能強(qiáng),成本低;2可靠性好,溫度X圍寬;3.擴(kuò)展性好;4.低電壓,低功耗;5.易于多機(jī)和分布式控制。3.2運(yùn)算放大器1乂324運(yùn)算放大器(簡(jiǎn)稱“運(yùn)放”)是具有很高放大倍數(shù)的電路單元。在實(shí)際電路中,通常結(jié)合反饋網(wǎng)絡(luò)共同組成某種功能模塊。由于早期應(yīng)用于模擬計(jì)算機(jī)中,用以實(shí)現(xiàn)數(shù)學(xué)運(yùn)算,故得名“運(yùn)算放大器”。運(yùn)放是一個(gè)從功能的角度命名的電路單元,可以由分立的器件實(shí)現(xiàn),也可以實(shí)現(xiàn)在半導(dǎo)體芯片當(dāng)中。隨著半導(dǎo)體技術(shù)的發(fā)展,大部分的運(yùn)放是以單芯片的形式存在。運(yùn)放的種類繁多,廣泛應(yīng)用于電子行業(yè)。LM324運(yùn)算放大器如圖3.2所示。圖3.2LM324運(yùn)算放大器管腳圖課設(shè)中運(yùn)用的1乂324運(yùn)算放大器組成的放大整形電路如下圖所示:■■<rEHT>圖3.31乂■■<rEHT>圖3.31乂324放大整形電路L吟■LM3W-■<\m>-1<TEKT> .DI.-1N114S.打印二3.3時(shí)鐘電路和復(fù)位電路3.3.1時(shí)鐘電路單片機(jī)的時(shí)鐘一般需要多相時(shí)鐘,所以時(shí)鐘電路由振蕩器和分頻器組成。AT89C51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的可控高增益反向放大器。兩個(gè)引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。在片外跨接一晶振和兩個(gè)匹配電容及、C2如圖2.4所示,就構(gòu)成一個(gè)自激振蕩器。振蕩頻率根據(jù)實(shí)際要求的工作速度,從幾百千赫至24MHz可適當(dāng)選取某一頻率。匹配電容及、C2要根據(jù)石英晶體振蕩器的要求選取。當(dāng)晶振頻率為12MHz時(shí),C1、C2一般選30pF左右。上述電路是靠AT89C51單片機(jī)內(nèi)部電路產(chǎn)生振蕩的。也可以由外部振蕩器或時(shí)鐘直接驅(qū)動(dòng)AT89C51。本設(shè)計(jì)采用內(nèi)部電路產(chǎn)生振蕩。3.3.2復(fù)位電路口51引腳是復(fù)位端,高電平有效。在該引腳輸入至少連續(xù)兩個(gè)機(jī)器周期以上的高電平,單片機(jī)復(fù)位。口51引腳內(nèi)部有一個(gè)斯密特51觸發(fā)器以對(duì)輸入信號(hào)整形,保證內(nèi)部復(fù)位電路的可靠,所以外部輸入信號(hào)不一定要求是數(shù)字波形。使用時(shí),一般在此引腳與VSS引腳之間接一個(gè)8.2卜。的下拉電阻,與VCC引腳之間接一個(gè)約10"的電解電容,即可保證

上電自動(dòng)復(fù)位。上電或手動(dòng)復(fù)位要求電源接通后,單片機(jī)自動(dòng)復(fù)位,并且在單片機(jī)運(yùn)行期間,用開(kāi)關(guān)操作也能使單片機(jī)復(fù)位。上電后,由于電容C3的充電和反相門(mén)的作用,使RST持續(xù)一段時(shí)間的高電平。當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵K后松開(kāi),也能使口$丁為一段時(shí)間的高電平,從而實(shí)現(xiàn)上電或手動(dòng)復(fù)位的操作。0.)按鍵復(fù)位幡0.)按鍵復(fù)位幡圖3.4復(fù)位電路圖顯示電路我們測(cè)量的頻率最終要顯示出來(lái)八段1£口數(shù)碼管顯示器由4個(gè)發(fā)光二極管組成?;?個(gè)長(zhǎng)條形的發(fā)光管排列成“日”字形,另一個(gè)圓點(diǎn)形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點(diǎn)用,它能顯示各種數(shù)字及部份英文字母。1£口數(shù)碼管顯示器有兩種形式:一種是8個(gè)發(fā)光二極管的陽(yáng)極都連在一起的,稱之為共陽(yáng)極1£口數(shù)碼管顯示器;另一種是8個(gè)發(fā)光二極管的陰極都連在一起的,稱之為共陰極1£口數(shù)碼管顯示器。如下圖所示。共陰和共陽(yáng)結(jié)構(gòu)的1£口數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時(shí),對(duì)應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個(gè)筆劃段卜、g、f、e、d、c、b、a對(duì)應(yīng)于一個(gè)字節(jié)(8位)的口7、D6、D5、D4、D3、D2、D1、口0,于是用8位二進(jìn)制碼就能表示欲顯示字符的字形代碼。在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動(dòng)態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個(gè)數(shù)碼管顯示器都要占用單獨(dú)的具有鎖存功能的〃。接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,

就不用管它了,直到要顯示新的數(shù)據(jù)時(shí),再發(fā)送新的字形碼,因此,使用這種辦法單片機(jī)中CPU的開(kāi)銷(xiāo)小,能供給單獨(dú)鎖存的1/0接口電路很多。在單片機(jī)系統(tǒng)中動(dòng)態(tài)掃描顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個(gè)筆劃段@4同名端連在一起,而每一個(gè)顯示器的公共極是各自獨(dú)立地受I/O線控制。CPU向字段輸出口送出字形碼時(shí),所有顯示器接收到相同的字形碼,但究竟是那個(gè)顯示器亮,則取決于端,而這一端是由1/0控制的,所以我們就能自行決定何時(shí)顯示哪一位了。而所謂動(dòng)態(tài)掃描就是指我們采用分時(shí)的辦法,輪流控制各個(gè)顯示器的端,使各個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮掃描過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫的(約1ms),但由于人的視覺(jué)暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。圖2.5數(shù)碼管顯示電路原理圖圖2.5數(shù)碼管顯示電路原理圖低通濾波器原理在RC低通電路的后面加一個(gè)集成運(yùn)放,即可組成一階低通有源濾波器,如圖2.6所示。圖2.6一階低通濾波器電路由于引入了深度負(fù)反饋,此次電路中的集成運(yùn)放工作在線性區(qū)。根據(jù)“虛短”和“虛斷”的特點(diǎn),可求得電路的電壓放大倍數(shù)為Au=Uo/Ui=Aup/[1+j(f/fo)] (2.1)其中Aup=1+(RF/R1) (2.2)f=1/(2nRC)(2.3)oAu卅〈分別稱為通帶電壓放大倍數(shù)和通帶截止頻率。根據(jù)式2.1可畫(huà)出一階低通濾波電路的對(duì)數(shù)幅頻特性如圖2.8所示。通過(guò)與無(wú)源低通濾波器對(duì)比可以知到,一階低通有源濾波器的通帶截止頻率f與無(wú)源低通濾波器相同,均與RC的乘積成反比,但引入集成運(yùn)放以o后,通帶電壓放大倍數(shù)和帶負(fù)載能力得了到提高。由圖2.8可見(jiàn),一階低通濾波器的幅頻特性與理想低通濾波特性相比,差距很大。在理想情況下,希望£為時(shí),電壓放大倍數(shù)立即降為零,但一階低通濾波器的對(duì)數(shù)幅頻特0性只是以-20口匕/十倍頻的緩慢的速度下降。硬件電路設(shè)計(jì)電路設(shè)計(jì)介紹首先輸入一個(gè)幅值為24mV的正弦波信號(hào),經(jīng)過(guò)LM324兩級(jí)放大電路得到一個(gè)幅值放大的正弦波信號(hào),再經(jīng)過(guò)整形后得到一個(gè)方波信號(hào)。方波信號(hào)經(jīng)過(guò)反相器,輸出一個(gè)相位相反的方波信號(hào)。將輸出的方波信號(hào)輸入到單片機(jī)的外部中斷和定時(shí)器/計(jì)數(shù)器接口。然后由數(shù)碼管顯示測(cè)量的頻率值:0~240Hz,且顯示精度為小數(shù)點(diǎn)1位。3.6.2總電路圖圖2.9總電路圖3.6.2總電路圖圖2.9總電路圖3.6.3元件清單表3.1元件器清單名稱 型號(hào) 數(shù)量 位號(hào)單片機(jī)AT89C51U4與非門(mén)74LS00U3:A集成運(yùn)放LM324U1:A電容CAPC1=10uFR3=200kR5=200k電阻RES200k兩,1kHR1=1kR2=1kR6=1k二極管4007D1導(dǎo)線若干4系統(tǒng)軟件4.1數(shù)據(jù)處理過(guò)程在頻率計(jì)開(kāi)始工作,或者完成一次頻率測(cè)量,系統(tǒng)軟件都進(jìn)行測(cè)量初始化。測(cè)量初始化模塊設(shè)置堆棧指針岱力、工作寄存器、中斷控制和定時(shí)/計(jì)數(shù)器的工作方式。定時(shí)/計(jì)數(shù)器的工作首先被設(shè)置為計(jì)數(shù)器方式,即用來(lái)測(cè)量信號(hào)頻率。在對(duì)定時(shí)/計(jì)數(shù)器的計(jì)數(shù)寄存器清0后,置運(yùn)行控制位1口為1,啟動(dòng)對(duì)待測(cè)信號(hào)的計(jì)數(shù)。計(jì)數(shù)閘門(mén)由軟件延時(shí)程序?qū)崿F(xiàn),從計(jì)數(shù)閘門(mén)的最小值開(kāi)始,也就是從測(cè)量頻率的高量程開(kāi)始。計(jì)數(shù)閘門(mén)結(jié)束時(shí)丁口清0,停止計(jì)數(shù)。計(jì)數(shù)寄存器中的值通過(guò)16進(jìn)制數(shù)到10進(jìn)制數(shù)轉(zhuǎn)換程序轉(zhuǎn)換為10進(jìn)制數(shù)。對(duì)10進(jìn)制數(shù)的最高位進(jìn)行判別,若該位不為0,滿足測(cè)量數(shù)據(jù)有效位數(shù)的要求,測(cè)量值和量程信息一起送到顯示模塊;若該位為0,將計(jì)數(shù)閘門(mén)的寬度擴(kuò)大10倍,重新對(duì)待測(cè)信號(hào)的計(jì)數(shù),直到滿足測(cè)量數(shù)據(jù)有效位數(shù)的要求。當(dāng)上述測(cè)量判斷過(guò)程直到計(jì)數(shù)閘門(mén)寬度達(dá)到1s,這時(shí)對(duì)應(yīng)的頻率測(cè)量X圍為100Hz-999也,如果測(cè)量結(jié)果仍不具有3位有效數(shù)字,頻率計(jì)則使用定時(shí)方法測(cè)量待測(cè)信號(hào)的周期。定時(shí)/計(jì)數(shù)器的工作這時(shí)被設(shè)置為定時(shí)器方式,在對(duì)定時(shí)/計(jì)數(shù)器的計(jì)數(shù)寄存器清0后,判斷待測(cè)信號(hào)的上跳沿是否到來(lái)。待測(cè)信號(hào)的上跳沿到來(lái)后,置運(yùn)行控制位1口為1J以單片機(jī)工作周期為單位,啟動(dòng)對(duì)待測(cè)信號(hào)的周期測(cè)量。然后判斷待測(cè)信號(hào)的下跳沿是否到來(lái),待測(cè)信號(hào)的下跳沿到來(lái)后,運(yùn)行控制6TR清0,停止計(jì)數(shù)。16位定時(shí)/計(jì)數(shù)器的最高計(jì)數(shù)值為65535,這樣在待測(cè)信號(hào)的頻率較低時(shí),定時(shí)/計(jì)數(shù)器將發(fā)生溢出。當(dāng)產(chǎn)生定時(shí)/計(jì)數(shù)器將溢出,程序進(jìn)入定時(shí)器中斷服務(wù)程序,中斷服務(wù)程序?qū)σ绯龃螖?shù)進(jìn)行計(jì)數(shù)。待測(cè)信號(hào)的周期由3個(gè)字節(jié)組成:定時(shí)/計(jì)數(shù)器溢出次數(shù)、定時(shí)/計(jì)數(shù)器的高8位和低8位。信號(hào)的頻率f與信號(hào)的周期T之間的關(guān)系為:f=1/T完成信號(hào)的周期測(cè)量后,需要做一次倒數(shù)運(yùn)算才能獲得信號(hào)的頻率。為提高運(yùn)算精度,這里采用浮點(diǎn)數(shù)算術(shù)運(yùn)算。浮點(diǎn)數(shù)用3個(gè)字節(jié)組成,第一字節(jié)最高位為數(shù)符,其余7位為階碼;第二字節(jié)為尾數(shù)的高字節(jié);第三字節(jié)為尾數(shù)的低字節(jié)。待測(cè)信號(hào)周期的3個(gè)字節(jié)定點(diǎn)數(shù)首先通過(guò)截取高16位、設(shè)置數(shù)符和計(jì)算階碼轉(zhuǎn)換為上述格式的浮點(diǎn)數(shù)。然后浮點(diǎn)數(shù)算術(shù)運(yùn)算對(duì)其進(jìn)行處理,獲得用浮點(diǎn)數(shù)格式表達(dá)的信號(hào)頻率值。浮點(diǎn)數(shù)到BCD碼轉(zhuǎn)換模塊把用浮點(diǎn)數(shù)格式表達(dá)的信號(hào)頻率值變換成本頻率計(jì)的顯示格式,送到顯示模塊顯示待測(cè)信號(hào)的頻率值。無(wú)論從哪一種方式進(jìn)入顯示模塊,完成顯示后,頻率計(jì)都開(kāi)始下一次信號(hào)的頻率測(cè)量。4.2主程序流程框圖4.3中斷程序流程框圖T1中斷流程圖如圖所示:圖4.2T1中斷流程圖T0中斷流程圖如圖所示:進(jìn)入中斷TOcount++退出中斷圖4.3丁0中斷流程圖中斷程序?qū)崿F(xiàn)定時(shí)與計(jì)數(shù)的功能。T1進(jìn)行定時(shí),定時(shí)時(shí)間為1S。10進(jìn)行計(jì)數(shù),10中斷溢出一次,TOcount加1。當(dāng)定時(shí)達(dá)到1S時(shí),停止10,口。最后計(jì)算相應(yīng)的頻率值。4.3程序代碼T0_VALEQU-10000ORG0000HAJMPMAINORG0003HAJMPCOUNT ;下降沿計(jì)數(shù)中斷ORG000BHAJMPTIME ;計(jì)數(shù)時(shí)間中斷ORG0030HMAIN:MOVR7,#100MOVR3,#10MOVR2,#15MOVTH0,#HIGHT0_VAL

MOVTL0,#LOWT0_VALMOVDPTR,#TAB;設(shè)定DPTR起始位置MOVR4,#99MOVR5,#0FFHMOVR6,#5MOVTMOD,#01H;設(shè)定10工作在方式2SETBPT0MOVSP,#5FHSETBIT0;設(shè)定外部中斷0位下降沿觸發(fā)MOVIE,#10000011B;開(kāi)中斷SETBTR0CLRAMOVA,R0;將外部中斷0計(jì)數(shù)的高位給累加器人MOVB,#10DIVAB;得到第一位數(shù)碼管的數(shù)據(jù)MOVCA,A+DPTRMOVP1,AMOVP2,#08HMOVP2,#0HMOVACC,BMOVCA,A+DPTRMOVP2,#04HMOVP1,AMOVP2,#0HDJNZR2,$MOVR2,#15MOVA,R1MOVB,#10DIVABMOVCA,A+DPTRVIEW:DECAMOVP1,AMOVP2,#02HMOVP2,#0HDJNZR2,$MOVR2,#15MOVACC,BMOVCA,A+DPTRMOVP1,AMOVP2,#01HMOVP2,#0HDJNZR2,$MOVR2,#15LJMPVIEWTAB:DB3H,9FH,25H,0DH,99H,49H,41H,1FH,01H,9HCOUNT:PUSHPSWDJNZR4,GAOMOVR4,#99INC30HMOV31H,#0SJMPNEXTGAO:INC31HNEXT:POPPSWRETITIME:DJNZR7,AGAINMOVR7,#100DJNZR3,AGAINMOVR3,#10MOVR4,#99MOVR0,30HMOVR1,31HMOV30H,#0MOV31H,#0SJMPHUIAGAIN:MOVTH0,#HIGHT0_VALMOVTL0,#LOWT0_VALHUI:RETIEND實(shí)驗(yàn)結(jié)果仿真結(jié)果本次設(shè)計(jì)使用放大整形電路和單片機(jī)系統(tǒng)對(duì)一個(gè)幅值為24mV的正弦低頻弱信號(hào)進(jìn)行測(cè)量。通過(guò)軟件和硬件的仿真調(diào)試,得到所需要的方波信號(hào),并在數(shù)碼管中顯示相應(yīng)頻率。其測(cè)量X圍在0~240出。VSMSignalGenerator口wimiMCPcadanCliMiiBMDLliisniraelBPCflllX圖5.2仿真示波器輸出口wimiMCPcadanCliMiiBMDLliisniraelBPCflllX圖5.2仿真示波器輸出圖5.1仿真波形發(fā)生器輸入

5.2實(shí)物結(jié)果圖5.3仿真電路數(shù)碼管示數(shù)圖5.2實(shí)物結(jié)果圖5.3仿真電路數(shù)碼管示數(shù)圖5.4單片機(jī)與電路連接圖圖5.5總效果圖結(jié)果分析輸入信號(hào)經(jīng)過(guò)整形電路示波器顯示輸出波形良好,但是可能由于單片機(jī)中的程序問(wèn)題,單片機(jī)計(jì)算和數(shù)碼管顯示模塊無(wú)法正常工作。經(jīng)過(guò)一系列的討論與實(shí)驗(yàn)也未能在規(guī)定時(shí)間內(nèi)調(diào)試正常??偨Y(jié)在單片機(jī)系統(tǒng)設(shè)計(jì)時(shí),必須先確定系統(tǒng)的功能模塊,這是系統(tǒng)設(shè)計(jì)的依據(jù)和出發(fā)點(diǎn),整個(gè)設(shè)計(jì)過(guò)程都必須圍繞這個(gè)功能模塊來(lái)工作。在設(shè)計(jì)時(shí)遵

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論