版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鄭州科技學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用課程設(shè)計(jì)題 目 基于單片機(jī)的音樂(lè) 控制器的設(shè)計(jì)與實(shí)現(xiàn) 學(xué)生姓名 專業(yè)班級(jí) 學(xué) 號(hào) 院 (系) 指導(dǎo)教師 完成時(shí)間 目 錄0 引言21 設(shè)計(jì)方案32 系統(tǒng)設(shè)計(jì)72.1 硬件原理72.2 軟件原理113 實(shí)驗(yàn)與仿真144 結(jié)論16參考文獻(xiàn)17附錄1 仿真電路圖19附錄2 程序200 引言單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。相當(dāng)于一個(gè)微型的計(jì)算機(jī),和計(jì)算機(jī)相比,單片機(jī)只缺少了II/O設(shè)備概括的講:一塊芯片就成了一臺(tái)計(jì)算機(jī)。單片機(jī)具有體積小、功耗低、控制功能強(qiáng)、擴(kuò)展靈活、微型化和使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表中,
2、結(jié)合不同類型的傳感器,可實(shí)現(xiàn)諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長(zhǎng)度、硬度、元素、壓力等物理量的測(cè)量。采用單片機(jī)控制使得儀器儀表數(shù)字化、智能化、微型化,且功能比起采用電子或數(shù)字電路更加強(qiáng)大。例如精密的測(cè)量設(shè)備(功率計(jì),示波器,各種分析儀)。目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。更不用說(shuō)自動(dòng)控制領(lǐng)域的機(jī)
3、器人、智能儀表、醫(yī)療器械了。因此,單片機(jī)的學(xué)習(xí)、開發(fā)與應(yīng)用將造就一批計(jì)算機(jī)應(yīng)用與智能化控制的科學(xué)家、工程師。利用單片機(jī)實(shí)現(xiàn)音樂(lè)播放有很多要點(diǎn),例如外部電路簡(jiǎn)單,控制方便等,因而備受廣大單片機(jī)愛好者的喜愛。通過(guò)音樂(lè)發(fā)聲器的設(shè)計(jì)方案,掌握C語(yǔ)言的編程方法。并熟練的運(yùn)用AT89S52單片機(jī)定時(shí)器產(chǎn)生固定頻率的方波信號(hào),驅(qū)動(dòng)喇叭發(fā)出旋律,按下按鍵可以演奏預(yù)先設(shè)置的歌曲旋律,最重要的是自己還可以通過(guò)程序設(shè)計(jì)輸入自己喜歡的歌曲來(lái)演奏,本設(shè)計(jì)采用簡(jiǎn)易音階編碼直覺(jué)式輸入法方便設(shè)計(jì)音樂(lè)旋律。1 設(shè)計(jì)方案本設(shè)計(jì)是以AT89S52芯片的電路為基礎(chǔ),外部加上放音設(shè)備,以此來(lái)實(shí)現(xiàn)音樂(lè)演奏控制器的硬件電路,通過(guò)軟件程序來(lái)
4、控制單片機(jī)內(nèi)部的定時(shí)器使其演奏出優(yōu)美動(dòng)聽的音樂(lè)。用戶可以按照自己的喜好選擇音樂(lè)并將其轉(zhuǎn)化成機(jī)器碼存入單片機(jī)的存儲(chǔ)器中。對(duì)于不同型號(hào)的單片機(jī)只需要相應(yīng)的改變一下地址即可。該軟、硬件系統(tǒng)具有很好的通用性,很高的實(shí)際使用價(jià)值,為廣大的單片機(jī)和音樂(lè)愛好者提供了很好的借鑒。 本文設(shè)計(jì)的音樂(lè)盒,是基于單片機(jī)設(shè)計(jì)制作的電子式音樂(lè)盒。與傳統(tǒng)的機(jī)械式音樂(lè)盒相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂(lè)。電子式音樂(lè)盒動(dòng)力來(lái)源是電池,制作工藝簡(jiǎn)單,可進(jìn)行批量生產(chǎn),所以價(jià)格便宜?;趩纹瑱C(jī)制作的電子式音樂(lè)盒,控制功能強(qiáng)大,可根據(jù)需要擴(kuò)展其顯示、選歌功能,使用方便。根據(jù)
5、存儲(chǔ)容量的大小,可以盡可能多的存儲(chǔ)歌曲。另外,可以設(shè)計(jì)彩燈外觀效果,使音樂(lè)盒的功能更加豐富。設(shè)計(jì)的課題是“基于單片機(jī)的音樂(lè)播放器設(shè)計(jì)”,它是以單片機(jī)AT89C52作為硬件核心控制部件,結(jié)合負(fù)脈沖電路和LM386功率放大器,數(shù)碼管構(gòu)成典型的顯示電路,以及其他外圍設(shè)備組成的音樂(lè)播放系統(tǒng)。 根據(jù)音樂(lè)演奏控制器所要實(shí)現(xiàn)的顯示與選曲及音樂(lè)產(chǎn)生功能原理,系統(tǒng)包括演奏揚(yáng)聲器、選曲、播放和顯示幾部分。其中,S1開關(guān)用來(lái)選曲,通過(guò)顯示器顯示歌曲序號(hào)。S2按鈕用作播放。所設(shè)計(jì)的單片機(jī)樂(lè)曲播放控制器不僅能夠播放悅耳的歌曲,同時(shí)設(shè)置按鈕使所設(shè)計(jì)的程序能在五首歌曲之間進(jìn)行選曲,并通過(guò)顯示器使其顯示歌曲序號(hào)。&
6、#160;本文設(shè)計(jì)的音樂(lè)演奏控制器是通過(guò)控制單片機(jī)內(nèi)部的定時(shí)器來(lái)產(chǎn)生不同頻率的方波,驅(qū)動(dòng)喇叭發(fā)出不同音節(jié)的聲音,再利用延遲來(lái)控制發(fā)音時(shí)間的長(zhǎng)短,即控制音調(diào)中的節(jié)拍。同時(shí)設(shè)置按鈕使所設(shè)計(jì)的程序能在五首歌曲之間進(jìn)行選曲、設(shè)計(jì)顯示器使其顯示歌曲序號(hào)。1.1 實(shí)現(xiàn)功能硬件方面: (1)可以通過(guò)按鍵進(jìn)行曲目的選擇; (2)可以通過(guò)按鍵進(jìn)行曲目的播放和停止; (3)CPU可以控制聲音的音節(jié)和長(zhǎng)短; (4)音頻數(shù)據(jù)信息記錄需要大量非易失性數(shù)據(jù)存儲(chǔ)器實(shí)時(shí)快速地記錄數(shù)據(jù)。因此需要具有掉電保護(hù)功能的大容量存儲(chǔ)器; (5)可以通過(guò)顯示器知道曲目的序號(hào);軟件方面:
7、160;(1)系統(tǒng)中外擴(kuò)的各器件的初始化工作均在主程序中完成,其次,要設(shè)計(jì)如何調(diào)用顯示子程序以及樂(lè)曲播放程序。 (2)在實(shí)際的控制過(guò)程,常要求有實(shí)時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)或延時(shí)控制,所以需要此類中斷服務(wù)程序。 (3)由于按鍵為機(jī)械開關(guān)結(jié)構(gòu),機(jī)械觸點(diǎn)的彈性及電壓突跳等原因,往往在觸點(diǎn)閉合或斷開的瞬間會(huì)出現(xiàn)電壓抖動(dòng)。為保證鍵識(shí)別的準(zhǔn)確,在電壓信號(hào)抖動(dòng)的情況下不能進(jìn)行狀態(tài)的輸入。為此需要進(jìn)行去抖動(dòng)處理的中斷服務(wù)程序。1.2 方案選擇方案一:用四個(gè)按鍵控制音樂(lè)的播放。3個(gè)按鍵選擇3首不同的音樂(lè)播放,另一個(gè)按鍵控制音樂(lè)的停止。按下播放鍵,用一點(diǎn)簡(jiǎn)單的控制之后,才開始播放音樂(lè)。比如,用定時(shí)器
8、控制,亮燈倒計(jì)時(shí)10秒然后觸發(fā)音樂(lè)播放。 方案二:用4*4小鍵盤來(lái)實(shí)現(xiàn)音樂(lè)的選擇播放,1A按鍵控制播放10首音樂(lè),CF按鍵分別實(shí)現(xiàn)歡迎頁(yè)面、上一首、下一首、停止播放。方案三:為了充分利用實(shí)驗(yàn)板的功能,進(jìn)一步擴(kuò)充音樂(lè)盒的功能。設(shè)計(jì)用七段顯示數(shù)碼管LCD顯示播放時(shí)歌曲序號(hào)。設(shè)置三個(gè)鍵,一個(gè)按鍵控制開機(jī)、播放、暫停音樂(lè),另外兩個(gè)按鍵分別實(shí)現(xiàn)上一首、下一首。 (1) 在方案1中,共用了4個(gè)按鍵,其中3個(gè)按鍵控制播放3首音樂(lè),另一個(gè)鍵控制音樂(lè)播放的停止。但是只能選擇3首音樂(lè),不能顯示是哪首歌局限性太強(qiáng)。 (2) 在方案3中,共用了3個(gè)按鍵,其中一個(gè)鍵用于控制開機(jī)、
9、播放、暫停,另兩個(gè)鍵用于上一首與下一首切換。使用數(shù)碼管作為顯示輸出。功能過(guò)于單一,顯示效果不佳??紤]到設(shè)計(jì)要求和時(shí)間上的局限,本次課程設(shè)計(jì)使用了方案二。 本次設(shè)計(jì)是一個(gè)基于AT89C52系列單片機(jī)的音樂(lè)盒,依據(jù)單片機(jī)技術(shù)原理,通過(guò)硬件電路制作以及軟件編譯,設(shè)計(jì)制作出一個(gè)多功能多功能音樂(lè)盒。該音樂(lè)盒主要由按鍵電路、復(fù)位電路、時(shí)鐘電路、蜂鳴器以及顯示電路組成。使用一個(gè)按鍵來(lái)控制開始,播放和暫停。利用兩個(gè)按鍵分別切換上一曲和下一曲來(lái)演奏出不同的樂(lè)曲,共三首音樂(lè),蜂鳴器發(fā)出某個(gè)音調(diào),與之相對(duì)應(yīng)的LED亮起。本設(shè)計(jì)利用KEIL編程軟件對(duì)音樂(lè)盒源程序進(jìn)行編程并調(diào)試,配合PROTEUS仿真軟件對(duì)硬
10、件進(jìn)行仿真調(diào)試。 音樂(lè)盒的系統(tǒng)結(jié)構(gòu)以AT89C51單片機(jī)位控制核心,加上矩陣按鍵、時(shí)鐘復(fù)位電路、蜂鳴器、LCD模塊組成。單片機(jī)負(fù)責(zé)接收按鍵的輸入,根據(jù)輸入控制音樂(lè)播放曲目和音樂(lè)花樣燈的顯示樣式以及蜂鳴器發(fā)音。系統(tǒng)組成框圖如圖1-1所示。單片機(jī)電源電路晶振電路顯示電路鍵控電路復(fù)位電路發(fā)聲電路圖1-1 總體電路框圖2 系統(tǒng)設(shè)計(jì)2.1 硬件原理(1) 單片機(jī)的選擇在設(shè)計(jì)中文章選擇單片機(jī)AT89C52作為播放器的核心控制部件,原因是因?yàn)锳T89C52的功能全部兼容MCS-51,并且還有程序加密等功能,相比而言更加實(shí)用。 AT89C52單片機(jī)是美國(guó)ATMEL公司生產(chǎn)的低電壓,高性能C
11、MOS8位單片機(jī),片內(nèi)含8KB的可反復(fù)擦寫的只讀程序存儲(chǔ)器和256字節(jié)的隨機(jī)存取存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及8051產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲(chǔ)單元,其強(qiáng)大的功能更適合較為復(fù)雜的控制應(yīng)用場(chǎng)合。其主要工作特性是: 片內(nèi)程序存儲(chǔ)器內(nèi)含8KB的Flash程序存儲(chǔ)器,可擦寫壽命為1000次; 片內(nèi)數(shù)據(jù)存儲(chǔ)器內(nèi)含256字節(jié)的RAM; 具有32根可編程I/O口線; 具有3個(gè)可編程定時(shí)器; 中斷系統(tǒng)是具有8個(gè)中斷源、6個(gè)中斷矢量、2級(jí)優(yōu)先權(quán)的結(jié)構(gòu); 串
12、行口是具有一個(gè)全雙工的可編程串行通信口; 具有一個(gè)數(shù)據(jù)指針DPTR; 低功耗工作模式有空閑模式和掉電模式; 具有可編程的3級(jí)程序鎖定位; AT89C52工作電源電壓位5(1±0.2)V,且典型值為5V。 AT89C52最高工作頻率為24MHZ,編程頻率為324HZ,編程啟動(dòng)電流為1mA。(2)引腳排列及功能AT89C52的引腳排列如圖2-1所示:圖2-1 單片機(jī)引腳圖首先對(duì)于I/O口線做一介紹: P0口8位、漏極開路的雙向I/O口。 當(dāng)使用片外存儲(chǔ)器及外擴(kuò)I/O口時(shí),P0口作為低字節(jié)地址/數(shù)據(jù)復(fù)用線。在編程時(shí),P0
13、口可用于接收指令代碼字節(jié);在校驗(yàn)時(shí),P0口可輸出指令字節(jié)(須外加上拉電阻)。P0口也可做通用I/O口使用,但需加上拉電阻,變?yōu)闇?zhǔn)雙向口。當(dāng)作為普通輸入時(shí),應(yīng)將輸出鎖存器置1。P0口可驅(qū)動(dòng)8個(gè)TTL負(fù)載。 P1口8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。 P1口是為用戶準(zhǔn)備的I/O口雙向口。在編程和校驗(yàn)時(shí),可用做輸入低8位地址。用做輸入時(shí),應(yīng)先將輸出鎖存器置1。P1口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。 P2口8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。當(dāng)使用片外存儲(chǔ)器或外擴(kuò)I/O口時(shí),P2口輸出高8位地址。在編程/校驗(yàn)時(shí),P2口可接收高字節(jié)地址和某些控制信號(hào)。P2口也可做普通I/O口使用。用做輸入時(shí),應(yīng)
14、先將輸出鎖存器置1。P1口可驅(qū)動(dòng)4個(gè)TTL負(fù)載。 P3口8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電阻。 P3口可做普通I/O口使用。用做輸入時(shí),應(yīng)先將輸出鎖存器置1。在編程/校驗(yàn)時(shí),P3口接收某些控制信號(hào)。它可驅(qū)動(dòng)4個(gè)TTL負(fù)載。(3) 晶振電路部分AT89S52中有一個(gè)高增益反相放大器,它可以用來(lái)構(gòu)成內(nèi)部振蕩器,其中引腳XTAL1是該放大器的輸入端,XTAL2是放大器的輸出端。而用石英晶體或者陶瓷諧振器作為反饋元件,連接到它的高增益放大器,再接入電容C1、C2構(gòu)成一個(gè)反饋回路,從而形成一個(gè)并聯(lián)振蕩電路,就也構(gòu)成了一個(gè)自然振蕩器。對(duì)外接電容C1、C2的容量對(duì)振蕩頻率的高低、振蕩器
15、工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性有著輕微的影響。所以使用的是12MHz石英晶體的話,它的電容就取20PF左右,振蕩脈沖信號(hào)通過(guò)內(nèi)部的時(shí)鐘發(fā)生器來(lái)進(jìn)行二分頻,這樣就形成了單片機(jī)的時(shí)鐘信號(hào)。圖2-2 晶振電路(4) 單片機(jī)最小系統(tǒng)單片機(jī)最小系統(tǒng)包括晶振電路、復(fù)位電路、電源、接地。復(fù)位電路工作原理:高電平為例,電源上電時(shí),VCC可以認(rèn)為一階躍信號(hào)復(fù)位端電壓是由于下拉電阻R1在CPU復(fù)位端引起的電壓值,一般為0.3V以下。但在實(shí)際應(yīng)用中,VCC不可能為理想的階躍信號(hào)。其主要原因有兩點(diǎn):(1)穩(wěn)壓電源的輸出開關(guān)特性;(2)我們通常在設(shè)計(jì)電路時(shí),為保證電源電壓穩(wěn)定性,往往在電源的輸入端并聯(lián)一個(gè)大電
16、容,從而導(dǎo)致了VCC不可能為階躍信號(hào)特征。從而影響了的復(fù)位電壓的復(fù)位特性。圖2-3 復(fù)位電路揚(yáng)聲器電路本設(shè)計(jì)是采用蜂鳴器用來(lái)發(fā)出聲音,由于在實(shí)際應(yīng)用中,單片機(jī)輸出的標(biāo)準(zhǔn)高電平為5伏,輸出功率很有限,所以本設(shè)計(jì)中,理論聯(lián)系實(shí)際,用一個(gè)PNP型三極管驅(qū)動(dòng)蜂鳴器,由于三極管具有放大作用,在實(shí)際應(yīng)用中,輸出功率將會(huì)提高很多。圖2-4 揚(yáng)聲器電路復(fù)位電路AT89S52的復(fù)位是由外部的復(fù)位電路來(lái)實(shí)現(xiàn)的。復(fù)位引腳RST通過(guò)一個(gè)施密特觸發(fā)器用來(lái)抑制噪聲,施密特觸發(fā)器的輸出電平由復(fù)位電路采樣一次,然后才能得到內(nèi)部復(fù)位操作所需要的信號(hào)。本設(shè)計(jì)是采用上電自動(dòng)復(fù)位,上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的。只
17、要Vcc的上升時(shí)間不超過(guò)1ms,就可以實(shí)現(xiàn)自動(dòng)上電復(fù)位。時(shí)鐘頻率用12MHZ 時(shí)C取20PF。 電源、接地 單片機(jī)AT89C52所選用的是+5V的電源,可直接由穩(wěn)壓電源提供,接地直接接GND。單片機(jī)最小系統(tǒng) 由以上晶振電路、復(fù)位電路、電源、接地即可組成單片機(jī)最小系統(tǒng)如圖4-5所示。 圖2-5 單片機(jī)最小系統(tǒng)電路圖2.2 軟件原理(1) 音樂(lè)原理樂(lè)曲中的不同音符,實(shí)質(zhì)就是不同頻率的聲音,聲音的頻譜范圍通常約為幾十到幾千赫茲,通過(guò)程序控制單片機(jī)產(chǎn)生不同頻率的脈沖信號(hào),當(dāng)該脈沖信號(hào)的頻率位于聲音頻譜范圍內(nèi)時(shí),在單片機(jī)的I/O口街上喇叭就能發(fā)出聲音。然后利用延時(shí)
18、程序控制矩形波的高低電平持續(xù)時(shí)間,即改變矩形波的頻率,即可產(chǎn)生不同的音調(diào),從而發(fā)出不同的聲音,再讓矩形波輸出的長(zhǎng)短對(duì)應(yīng)節(jié)拍,就可以實(shí)現(xiàn)單片機(jī)對(duì)音樂(lè)的演奏。音頻轉(zhuǎn)換的原理想要產(chǎn)生我們需要的音頻脈沖,就需要算出每個(gè)音頻的半個(gè)周期,也就是音頻的半周期時(shí)間。我們以半周期時(shí)間為定時(shí)器的計(jì)時(shí)時(shí)間,當(dāng)計(jì)時(shí)時(shí)間到后就將引腳P3.0反相,重復(fù)操作,就可以得到這個(gè)引腳上我們需要的音頻脈沖。首先設(shè)置單片機(jī)的內(nèi)部定時(shí)器的工作方式為1,那么通過(guò)改變TH1和TL1的計(jì)數(shù)值就能夠產(chǎn)生不同的頻率,從而產(chǎn)生不同的音階。例如,頻率為440HZ,其周期T=1/440=1272us,因此只要令計(jì)時(shí)器計(jì)時(shí)1272 us/2&
19、#160;us=1136,每計(jì)數(shù)1136次時(shí)將I/O反相,就可得到低音D6(440HZ)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是: N = F1/2/F2 此表達(dá)式中N為單片機(jī)定時(shí)器計(jì)數(shù)值;F1為單片機(jī)的機(jī)器頻率;F2為想要產(chǎn)生的聲音頻率。當(dāng)晶體振蕩器是12MHz時(shí),其頻率為1MHz。其計(jì)數(shù)初值T的求法如下: T = 65536 N = 65536 - F1/2/F2(N:計(jì)數(shù)值,F(xiàn)1:內(nèi)部計(jì)時(shí)一次為1uS,故其頻率為1MHz,F(xiàn)2:要產(chǎn)生的頻率 )由于各個(gè)音調(diào)對(duì)應(yīng)
20、的頻率是已知的,因此,播放音樂(lè)時(shí),應(yīng)對(duì)樂(lè)曲中出現(xiàn)的音調(diào)進(jìn)行編碼,并找出單片機(jī)播放這些音調(diào)所對(duì)應(yīng)的定時(shí)初值。表1所列是音調(diào)編碼與定時(shí)器的初值表。其中頻率是已知的。編碼可以自己設(shè)置,而定時(shí)器初值是怎樣得來(lái)的呢?下面以“低6”為例進(jìn)行說(shuō)明?!暗?”的頻率為440Hz,其對(duì)應(yīng)的周期為:T=1/f=1/440=272us.單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來(lái)回取反的時(shí)間應(yīng)為:t=T/2=2272/2=1136us.單片機(jī)奏樂(lè)時(shí),其定時(shí)器為工作方式1,若以振蕩器的十二分頻信號(hào)為基數(shù)脈沖,如果單片機(jī)晶振為12MHz,則1us計(jì)數(shù)一次。所以,對(duì)于“低6”,其定時(shí)器的初值應(yīng)該是:216-1136=64400。(2)
21、節(jié)拍的產(chǎn)生音階的頻率是固定的,而節(jié)拍有快有慢,拍子越短節(jié)奏越快,拍子越長(zhǎng)節(jié)奏越慢??刂瓢l(fā)音的時(shí)間有兩種方法:調(diào)用延時(shí)子程序或采用定時(shí)器中斷。本次對(duì)節(jié)拍的控制是通過(guò)延時(shí)程序來(lái)實(shí)現(xiàn)的。表2所列是節(jié)拍編碼表。若以2拍的時(shí)長(zhǎng)為400ms為例,1/2拍得時(shí)長(zhǎng)為200ms,1/4拍得時(shí)長(zhǎng)為100ms。首先這樣,確定一個(gè)基本時(shí)長(zhǎng)的延時(shí)程序,比如以100ms,為基本延時(shí)時(shí)間,那么,1/4拍可以調(diào)用一次延時(shí)程序,1/2拍需要用二次延時(shí)程序,1拍需調(diào)用四次延時(shí)程序,依次類推。(3) 編程音調(diào)和節(jié)拍進(jìn)行過(guò)編碼后,那么,一首樂(lè)曲就可以用若干個(gè)8位的簡(jiǎn)碼表示。比如“生日快樂(lè)歌”的第一個(gè)簡(jiǎn)碼是“82H”,由表一可知,其高
22、四位“8”表示音調(diào)“中5”,對(duì)應(yīng)的頻率是782Hz,對(duì)應(yīng)的定時(shí)器初值是64898;另由表2可知,其低4位“2”表示節(jié)拍為“2/4拍”。這樣,任意一首樂(lè)曲的簡(jiǎn)碼都可以通過(guò)樂(lè)譜提取軟件而獲得,而得到簡(jiǎn)碼后,就可以編程了。圖3所示是單片機(jī)播放音樂(lè)的程序流程圖,本文使用的事定時(shí)器0,音調(diào)的高低由定時(shí)器來(lái)控制P3.7并按一定頻率取反實(shí)現(xiàn),節(jié)拍的長(zhǎng)短由延時(shí)程序控制。流程圖中的“TABLE”是由表1中的定時(shí)器初值組成的。3 實(shí)驗(yàn)與仿真 3.1 Keil C51單片機(jī)軟件開發(fā)系統(tǒng)(1)C52工具包的整體結(jié)構(gòu)中,其中uVision與Ishell分別是C51 for
23、60;Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。(2) 采用KEIL 開發(fā)的89c51單片機(jī)應(yīng)用程序
24、步驟: 在uVision 集成開發(fā)環(huán)境中創(chuàng)建新項(xiàng)目(Project),擴(kuò)展文件名為.UV2,并為該項(xiàng)目選定合適的單片機(jī)CPU器件(本設(shè)計(jì)采用ATMEL 公司下的AT89C51)。 用uVision 的文本編輯器編寫源文件,可以是匯編文件(.ASM),也可以使C語(yǔ)言文件(擴(kuò)展名.C),并將該文件添加到項(xiàng)目中去。一個(gè)項(xiàng)目文件可以包含多個(gè)文件,除了源程序文件外,還可以是庫(kù)文件、頭文件或文本說(shuō)明文件。 通過(guò)uVision 2 的相關(guān)選擇項(xiàng),配置編譯環(huán)境、連接定位器以及Debug調(diào)試器的功能。 對(duì)項(xiàng)目中的源文件進(jìn)行編譯連接,生成絕
25、對(duì)目標(biāo)代碼和可選的HEX文件,如果出現(xiàn)編譯連接錯(cuò)誤則返回到第2步,修改源文件中的錯(cuò)誤后重構(gòu)整個(gè)項(xiàng)目。 對(duì)沒(méi)有語(yǔ)法錯(cuò)誤的程序進(jìn)行仿真調(diào)試,調(diào)試成功后將HEX文件寫入到單片機(jī)應(yīng)用系統(tǒng)的ROM中。3.2 proteus的操作(1)硬件電路圖的接法操作 放置選擇(刪除)元器件 移動(dòng)元器件 縮放視圖連接導(dǎo)線仿真,調(diào)試(2)單片機(jī)系統(tǒng)PROTEUS設(shè)計(jì)與仿真過(guò)程 Proteus強(qiáng)大的單片機(jī)系統(tǒng)設(shè)計(jì)與仿真功能,使它可成為單片機(jī)系統(tǒng)應(yīng)用開發(fā)和改進(jìn)手段之一。全部過(guò)程都是在計(jì)算機(jī)上通過(guò)Proteus來(lái)完成的。其過(guò)程一般也可分為三步:在ISIS平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)
26、電路設(shè)計(jì)、選擇元器件、接插件、連接電路和電氣檢測(cè)等。簡(jiǎn)稱Proteus電路設(shè)計(jì)。 在Keil平臺(tái)上進(jìn)行單片機(jī)系統(tǒng)程序設(shè)計(jì)、編輯、匯編編譯、代碼級(jí)調(diào)試,最后生成目標(biāo)代碼文件(*.hex)。簡(jiǎn)稱Proteus源程序設(shè)計(jì)和生成目標(biāo)代碼文件。 在ISIS平臺(tái)上將目標(biāo)代碼文件加載到單片機(jī)系統(tǒng)中,并實(shí)現(xiàn)單片機(jī)系統(tǒng)的實(shí)時(shí)交互、協(xié)同仿真。它在相當(dāng)程度上反映了實(shí)際單片機(jī)系統(tǒng)的運(yùn)行情況。簡(jiǎn)稱Proteus仿真。(3)本次設(shè)計(jì)的硬件電路主要由單片機(jī)AT89S52和外圍放音電路組成,在調(diào)試電路的過(guò)程中也碰到了一些問(wèn)題。 問(wèn)題一:?jiǎn)纹瑱C(jī)無(wú)法正常下載程序。 問(wèn)題二:下載音頻程序后無(wú)
27、法播放音樂(lè)。調(diào)試步驟: 在PROTUES檢查各硬件管腳是否連接正確,線路邏輯是否正確,例如:晶振電路的連接,復(fù)位電路是否設(shè)計(jì)正確。 根據(jù)系統(tǒng)的原理結(jié)構(gòu)檢查各流程圖是否正確,再根據(jù)流程圖來(lái)檢查程序是否也正確。然后將所有程序組織起來(lái),在軟件環(huán)境下運(yùn)行,檢查程序是否正確。通過(guò)對(duì)硬件和軟件系統(tǒng)的認(rèn)真檢查,反復(fù)測(cè)試,如果沒(méi)有出現(xiàn)問(wèn)題即可把源程序編譯成HEX文件裝載到單片機(jī)中,對(duì)硬件進(jìn)行仿真。4 結(jié)論課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)
28、用中空前活躍的領(lǐng)域,在生活中可以說(shuō)得是無(wú)處不在。因此作為自動(dòng)化專業(yè)的學(xué)生來(lái)說(shuō)掌握單片機(jī)的開發(fā)技術(shù)是十分重要的。做完這個(gè)課題設(shè)計(jì)后,發(fā)現(xiàn)還是有許多地方存在不足,如知道了AT89C51單片機(jī)在裝入時(shí)有方向性、焊接時(shí)需格外的小心、需要接上拉電阻、按鍵要選擇好等。在經(jīng)過(guò)后期的努力,我已經(jīng)改善許多,尾燈控制電路已經(jīng)可以正常工作。并且此方案相比其他方案具有很多直觀的優(yōu)點(diǎn),用單片機(jī)編程比較直接,用硬件電路搭建很方便,通過(guò)對(duì)AT89C51單片機(jī)的編寫程序,來(lái)控制LED的亮、滅,這樣可降低材料的成本、簡(jiǎn)化系統(tǒng)的結(jié)構(gòu)、提高系統(tǒng)的可靠性以及先進(jìn)性,能夠?qū)崿F(xiàn)控制器的系統(tǒng)編程。我的題目是音樂(lè)播放器硬軟件的設(shè)計(jì),對(duì)于我們
29、這些工科學(xué)生來(lái)說(shuō),這是一次考驗(yàn)。怎樣讓自己的計(jì)劃更具有序性,而不會(huì)忙無(wú)一用?這都是我們所要考慮和努力的。這次課程設(shè)計(jì)我學(xué)到很多很多的東西,學(xué)會(huì)了怎么樣去制定計(jì)劃,怎么樣去實(shí)現(xiàn)這個(gè)計(jì)劃,并掌握了在執(zhí)行過(guò)程中怎么樣去克服心理上的不良情緒。不僅鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書本上所沒(méi)有學(xué)到過(guò)的知識(shí),掌握了一種系統(tǒng)的研究方法,可以進(jìn)行一些簡(jiǎn)單的編程。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。 同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)
30、了自己的不足之處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)單片機(jī)匯編語(yǔ)言掌握得不夠好。這次課程設(shè)計(jì)通過(guò)自己的努力,同學(xué)的幫助,還有老師的辛勤指導(dǎo)下,最終順利完成了。參考文獻(xiàn)1 史敬灼. 步進(jìn)電動(dòng)機(jī)伺服控制技術(shù)M. 北京:科學(xué)出版社,2007,23-352 余永權(quán). 單片機(jī)應(yīng)用系統(tǒng)的功率接口技術(shù)M. 北京:北京航空航天大學(xué)出版社,2006,53-703 陳理壁. 步進(jìn)電機(jī)及其應(yīng)用M. 上海:上??茖W(xué)技術(shù)出版社,2009,32-474 王曉明、胡曉柏. 電動(dòng)機(jī)的單片機(jī)控制M. 北京:北京航空航天大學(xué)出版社,2002,181-2085 劉寶延、程樹康. 步進(jìn)電動(dòng)機(jī)及其驅(qū)動(dòng)控制系統(tǒng)M. 哈
31、爾濱:哈爾濱工業(yè)大學(xué)出版社,2007,134-1676 王宗培. 步進(jìn)電動(dòng)機(jī)及其控制系統(tǒng)M. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2009,121-1507 莫正康. 電力電子應(yīng)用技術(shù)M. 北京:機(jī)械工業(yè)出版社,2009,169-1838 曾曉宏. 數(shù)字電子技術(shù)M. 北京:機(jī)械工業(yè)出版社,2008,150-163附錄1: 仿真電路圖附錄2: 程序ORG 0000H LJMP START ORG &
32、#160;001BH LJMP TIME1 START:MOV TMOD,#10HMOV IE,#88HMAIN: MOV 40H,#00HNEXT: MOV A,40HMOV DPTR,#TABLEMOVC A,A+DPTRCJNE A,#00H,PLAYLJM
33、P STOPPLAY: MOV R1,AANL A,#0FHMOV R2,AMOV A,R1ANL A,#0F0HCJNE A,#00H,MUSICCLR TR1LJMP DELMUSIC:SWAP A DEC
34、160; A MOV 22H,A ADD A,22H MOV R3,AMOV DPTR,#TABLE1MOVC A,A+DPTR
35、; MOV TH1,AMOV 21H,A MOV A,R3 INC AMOVC A,A+DPTRMOV TL1,AMOV 20H,ASETB TR1DEL:
36、0;LCALL DELAY INC 40HLJMP NEXTSTOP: CLR TR1LJMP MAINTIME1:PUSH ACCPUSH PSW CPL P1.7MOV TL1,20HMOV TH1,21H POP &
37、#160; PSW POP ACC RETIDELAY:MOV R7,#02HDELA1:MOV R6,#125 DELA2:MOV R5,#248 DJNZ R5,$
38、0; DJNZ R6,DELA2 DJNZ R7,DELA1 DJNZ R2,DELAY RETTABLE1:DW 64524,64580,64684,64777DW 64820,64898,64968,65030,65058
39、0; DW 64400,64260TABLE:DB 14H,42H,62H,98HDB 74H,92H,72H,68H DB 64H,22H,32H,44H,32H,22H DB 3CH DB 64H,42H,62H,94H,04H,82H DB 74H,94H,68H DB 64H,32H,42H,54H,04H,12H DB 2CH DB 74H,94H,98H DB 84H,72H,82H,98H DB 72H,82H,92H,72H,72H,62H,42H,22H
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度消防安全應(yīng)急預(yù)案修訂與培訓(xùn)合同3篇
- 二零二五年度展覽展示道具設(shè)計(jì)與制作合同3篇
- 二零二五年度智能農(nóng)業(yè)設(shè)備研發(fā)個(gè)人合伙退出合同3篇
- 二零二五年度房屋買賣合同附加物業(yè)管理合同3篇
- 二零二五年度委托加工生產(chǎn)產(chǎn)品合同3篇
- 二零二五年度房產(chǎn)購(gòu)買貸款按揭合同范本(含車位)3篇
- 二零二五年度建筑工地磚渣資源化利用合作協(xié)議3篇
- 二零二五年度公益扶貧項(xiàng)目幫扶協(xié)議
- 二零二五年度新能源汽車充電車位租賃優(yōu)惠政策合同3篇
- 二零二五年度施工現(xiàn)場(chǎng)安全風(fēng)險(xiǎn)評(píng)估與整改合同3篇
- 2025年四川長(zhǎng)寧縣城投公司招聘筆試參考題庫(kù)含答案解析
- 2024年06月上海廣發(fā)銀行上海分行社會(huì)招考(622)筆試歷年參考題庫(kù)附帶答案詳解
- TSG 51-2023 起重機(jī)械安全技術(shù)規(guī)程 含2024年第1號(hào)修改單
- 計(jì)算機(jī)科學(xué)導(dǎo)論
- 浙江省杭州市錢塘區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期英語(yǔ)期末試卷
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 2024年一級(jí)消防工程師《消防安全技術(shù)綜合能力》考試真題及答案解析
- 2024-2025學(xué)年六上科學(xué)期末綜合檢測(cè)卷(含答案)
- 安徽省森林撫育技術(shù)導(dǎo)則
- 2023七年級(jí)英語(yǔ)下冊(cè) Unit 3 How do you get to school Section A 第1課時(shí)(1a-2e)教案 (新版)人教新目標(biāo)版
- 泌尿科主任述職報(bào)告
評(píng)論
0/150
提交評(píng)論