基于51單片機(jī)的音樂(lè)盒的設(shè)計(jì)(共23頁(yè))_第1頁(yè)
基于51單片機(jī)的音樂(lè)盒的設(shè)計(jì)(共23頁(yè))_第2頁(yè)
基于51單片機(jī)的音樂(lè)盒的設(shè)計(jì)(共23頁(yè))_第3頁(yè)
基于51單片機(jī)的音樂(lè)盒的設(shè)計(jì)(共23頁(yè))_第4頁(yè)
基于51單片機(jī)的音樂(lè)盒的設(shè)計(jì)(共23頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩18頁(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)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上基于AT89C51單片機(jī)的音樂(lè)盒的設(shè)計(jì)單片機(jī)原理及應(yīng)用是高校工程專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)基礎(chǔ)課,該門(mén)課程具有很強(qiáng)的實(shí)踐性。通過(guò)課程的學(xué)習(xí),使我能夠掌握基本概念、基本理論和基本技能,為今后從事相應(yīng)的生產(chǎn)設(shè)計(jì)和科研工作打下一定的基礎(chǔ)。因此,除了在課堂的理論學(xué)習(xí)和做實(shí)驗(yàn)外,課程設(shè)計(jì)也是一個(gè)重要的實(shí)踐學(xué)習(xí)環(huán)節(jié)。通過(guò)課程設(shè)計(jì),進(jìn)一步培養(yǎng)我們理論聯(lián)系實(shí)際的能力,學(xué)會(huì)正確地分析工程實(shí)際問(wèn)題,善于查閱參考文獻(xiàn),準(zhǔn)確地選擇相應(yīng)的數(shù)據(jù)、參數(shù),具備全面地解決實(shí)際問(wèn)題的素質(zhì),同時(shí)課程設(shè)計(jì)也為今后的畢業(yè)設(shè)計(jì)打下基礎(chǔ)。單片機(jī)自20世紀(jì)70年代問(wèn)世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、

2、發(fā)展很快。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。本音樂(lè)播放器是利用89C51單片機(jī)結(jié)合內(nèi)部定時(shí)系統(tǒng),設(shè)計(jì)一個(gè)簡(jiǎn)易的微電腦音樂(lè)盒。引 言單片機(jī)原理及應(yīng)用是高校工程專(zhuān)業(yè)的一門(mén)專(zhuān)業(yè)基礎(chǔ)課,該門(mén)課程具有很強(qiáng)的實(shí)踐性。通過(guò)課程的學(xué)習(xí),使我能夠掌握基本概念、基本理論和基本技能,為今后從事相應(yīng)的生產(chǎn)設(shè)計(jì)和科研工作打下一定的基礎(chǔ)。因此,除了在課堂的理論學(xué)習(xí)和做實(shí)驗(yàn)外,課程設(shè)計(jì)也是一個(gè)重要的實(shí)踐學(xué)習(xí)環(huán)節(jié)。通過(guò)課程設(shè)計(jì),進(jìn)一步培養(yǎng)我們理論聯(lián)系實(shí)際的能力,學(xué)會(huì)正確地分析工程實(shí)際問(wèn)題,善于查閱參考文獻(xiàn),準(zhǔn)確地選擇相應(yīng)的數(shù)據(jù)、參數(shù),具備全面地解決實(shí)際問(wèn)題的素質(zhì),同時(shí)課程設(shè)計(jì)也為今后的畢業(yè)設(shè)計(jì)打下基礎(chǔ)。單片

3、機(jī)自20世紀(jì)70年代問(wèn)世以來(lái),以其極高的性能價(jià)格比,受到人們的重視和關(guān)注,應(yīng)用很廣、發(fā)展很快。而51單片機(jī)是各單片機(jī)中最為典型和最有代表性的一種。本音樂(lè)播放器是利用89C51單片機(jī)結(jié)合內(nèi)部定時(shí)系統(tǒng),設(shè)計(jì)一個(gè)簡(jiǎn)易的微電腦音樂(lè)盒。1概述通過(guò)按鍵給單片機(jī)的P2口輸入低電平,進(jìn)而利用程序來(lái)判斷是否執(zhí)行某一播放功能。而利用單片機(jī)的定時(shí)器0中斷來(lái)控制播放樂(lè)曲。1.1 課題意義音樂(lè)盒的起源,可追溯至中世紀(jì)歐洲文藝復(fù)興時(shí)期。當(dāng)時(shí)為使教會(huì)的鐘塔報(bào)時(shí),而將大小的鐘表裝上機(jī)械裝置,被稱(chēng)為“可發(fā)出聲音的組鐘”。音樂(lè)盒有著300多年的發(fā)展歷史,是人類(lèi)文明發(fā)展的歷史見(jiàn)證。傳統(tǒng)的音樂(lè)盒多是機(jī)械音樂(lè)盒,其工作原理是通過(guò)齒輪帶

4、動(dòng)一個(gè)帶有鐵釘?shù)蔫F桶轉(zhuǎn)動(dòng),鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機(jī)械式的音樂(lè)盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使內(nèi)部金屬發(fā)音條變形,從而造成發(fā)音跑調(diào)。另外,機(jī)械音樂(lè)盒放音時(shí)為了讓音色穩(wěn)定,必須放平不能動(dòng)搖,而且價(jià)格昂貴,不能實(shí)現(xiàn)大批量生產(chǎn)。本文設(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),所以?xún)r(jià)格便宜?;趩纹瑱C(jī)制作的電子式音樂(lè)盒,控制功能強(qiáng)大,可根據(jù)需要選歌,使用方便。根據(jù)存儲(chǔ)容量的大小,可以盡可能多的存儲(chǔ)歌曲。另外,可以設(shè)計(jì)彩燈外

5、觀效果,使音樂(lè)盒的功能更加豐富。1.2設(shè)計(jì)方案設(shè)計(jì)一個(gè)基于AT89C51系列單片機(jī)的音樂(lè)盒,利用按鍵切換演奏出不同的樂(lè)曲。1.3研究?jī)?nèi)容1)電路工作模式:演奏音樂(lè)模式。演奏完整的一首的歌曲,隨著音樂(lè)變化,蜂鳴器隨著發(fā)出音樂(lè)聲。2)按下按鍵進(jìn)入演奏音樂(lè)模式,再按切換歌曲,共兩首歌曲。2 設(shè)計(jì)原理通過(guò)按鍵給單片機(jī)的P2口輸入低電平,進(jìn)而利用程序來(lái)判斷是否執(zhí)行某一播放功能。而利用單片機(jī)的定時(shí)器0中斷來(lái)控制播放樂(lè)曲。3 時(shí)鐘振蕩電路、復(fù)位電路利用12MHZ的晶振做外部時(shí)鐘,AT89C51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與

6、作為反饋元件的片外石英晶體(陶瓷)諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1,C2雖然沒(méi)有什么嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。電路如下圖1。圖1 晶振電路、復(fù)位電路4 蜂鳴器電路利用NPN管(9012)放大驅(qū)動(dòng)。基極接10K歐姆的電阻,發(fā)射極接蜂鳴器,集電極接電源。蜂鳴器電路連接如下圖2圖2 蜂鳴器電路5 控制電路本次設(shè)計(jì)中,按鍵有7個(gè).鍵分別接于7根I/O線(P2口),各按鍵在實(shí)物連接上相互獨(dú)立,彼此的工作狀態(tài)互不影響,單片機(jī)自帶上拉電阻因此無(wú)需外接上拉電阻

7、,用查詢(xún)法可完成此按鍵功能。電路連接如下圖3圖3 鍵盤(pán)控制電路6 仿真調(diào)試及說(shuō)明6.1調(diào)試結(jié)果圖4 仿真調(diào)試6.2性能分析用AT89C51單片機(jī)的I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂(lè)曲。共有4支樂(lè)曲,每首樂(lè)曲都由相應(yīng)的按鍵控制,并且有開(kāi)關(guān)鍵、暫停鍵、上一曲以及下一曲控制鍵。將源程序?qū)雴纹瑱C(jī)后,在proteus軟件中進(jìn)行仿真。我通過(guò)仿真發(fā)現(xiàn),按下按鍵時(shí),存在一定的延時(shí),不能立刻反應(yīng),當(dāng)按下按鍵時(shí),應(yīng)必須有足夠的時(shí)間。7 系統(tǒng)軟件設(shè)計(jì) 圖5 源程序流程圖7 音調(diào)、節(jié)拍以及編碼的確定方法一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能

8、像電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。7.1.1 音調(diào)的確定不同音高的樂(lè)音是用C、D、E、F、G、A、B來(lái)表示,這7個(gè)字母就是音樂(lè)的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成簡(jiǎn)譜的1、2、3、4、5、6、7,相當(dāng)于漢字“多來(lái)米發(fā)梭拉西”的讀音,這是唱曲時(shí)樂(lè)音的發(fā)音,所以叫“音調(diào)”,即Tone。把C、D、E、F、G、A、B這一組音的距離分成12個(gè)等份,每一個(gè)等份叫一個(gè)“半音”。兩個(gè)音之間的距離有兩個(gè)“半音”,就叫“全音”。在鋼琴等鍵盤(pán)樂(lè)器上,CD、DE、FG、GA、AB兩音之間隔著一個(gè)黑鍵

9、,他們之間的距離就是全音;EF、BC兩音之間沒(méi)有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上號(hào)或者b號(hào)的叫變化音。叫升記號(hào),表示把音在原來(lái)的基礎(chǔ)上升高半音,b叫降記音,表示在原來(lái)的基礎(chǔ)上降低半音。例如高音DO的頻率(1046Hz)剛好是中音DO的頻率(523Hz)的一倍,中音DO的頻率(523Hz)剛好是低音DO頻率(266 Hz)的一倍;同樣的,高音RE的頻率(1175Hz)剛好是中音RE的頻率(587Hz)的一倍,中音RE的頻率(587Hz)剛好是低音RE頻率(294 Hz)的一倍。1)要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/

10、頻率),然后將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O反相,就可在I/O腳上得到此頻率的脈沖。2)利用AT89C51的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。此外結(jié)束符和休止符可以分別用代碼00H和FFH來(lái)表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。3)例如頻率為523Hz,其周期T=1/523=1912us,因此只要令計(jì)數(shù)器計(jì)時(shí)956us/1us=956,在每次技術(shù)956次時(shí)將I/O反相,就可得到中音DO(52

11、3Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:N=Fi2FrN:計(jì)算值;Fi:內(nèi)部計(jì)時(shí)一次為1us,故其頻率為1MHz;4) 其計(jì)數(shù)值的求法如下:T=65536-N=65536-Fi2Fr例如:設(shè)K=65536,F(xiàn)=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的計(jì)算值T=65536-N=65536-Fi2Fr=65536-Fr=65536-/Fr低音DO的T=65536-/262=63627低音DO的T=65536-/523=64580低音DO的T=65536-/1047=650595) C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表如表4.1所示。表4.1 C調(diào)

12、各音符頻率與計(jì)數(shù)值T的對(duì)照表7.1.2 節(jié)拍的確定若要構(gòu)成音樂(lè),光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂(lè)具有旋律(固定的律動(dòng)),而且可以調(diào)節(jié)各個(gè)音的快滿度?!肮?jié)拍”,即Beat,簡(jiǎn)單說(shuō)就是打拍子,就像我們聽(tīng)音樂(lè)不自主的隨之拍手或跺腳。若1拍實(shí)0.5s,則1/4 拍為0.125s。至于1拍多少s,并沒(méi)有嚴(yán)格規(guī)定,就像人的心跳一樣,大部分人的心跳是每分鐘72下,有些人快一點(diǎn),有些人慢一點(diǎn),只要聽(tīng)的悅耳就好。音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂(lè)。了解音樂(lè)的一些

13、基礎(chǔ)知識(shí),我們可知產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂(lè)。對(duì)于單片機(jī)來(lái)說(shuō),產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方波頻率信號(hào)。因此,需要弄清楚音樂(lè)中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系。表4.2節(jié)拍與節(jié)拍碼對(duì)照7.1.3 編碼do re mi fa so la si分別編碼為17,重音do編為8,重音re編為9,停頓編為0。播放長(zhǎng)度以十六分音符為單位(在本程序中為165ms),一拍即四分音符等于4個(gè)十六分音符,編為4,其它的播放時(shí)間以此類(lèi)推。音調(diào)作為編碼的高4位,而播放時(shí)間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個(gè)編碼。以0xff作為曲譜的結(jié)束標(biāo)志。舉例1:音調(diào)d

14、o,發(fā)音長(zhǎng)度為兩拍,即二分音符,將其編碼為0x18。舉例2:音調(diào)re,發(fā)音長(zhǎng)度為半拍,即八分音符,將其編碼為0x22歌曲播放的設(shè)計(jì)。先將歌曲的簡(jiǎn)譜進(jìn)行編碼,儲(chǔ)存在一個(gè)數(shù)據(jù)類(lèi)型為unsigned char 的數(shù)組中。程序從數(shù)組中取出一個(gè)數(shù),然后分離出高4位得到音調(diào),接著找出相應(yīng)的值賦給定時(shí)器0,使之定時(shí)操作蜂鳴器,得出相應(yīng)的音調(diào);接著分離出該數(shù)的低4位,得到延時(shí)時(shí)間,接著調(diào)用軟件延時(shí)。表4.4 簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、T值、節(jié)拍數(shù)8 總結(jié)通過(guò)對(duì)單片機(jī)的學(xué)習(xí),發(fā)現(xiàn)對(duì)單片機(jī)的硬件設(shè)計(jì),軟件設(shè)計(jì)掌握的深度不夠,但通過(guò)此次課程設(shè)計(jì),卻改變了很多,首先對(duì)于硬件電路的工作原理有了進(jìn)一步的學(xué)習(xí),同樣就有了進(jìn)一步的認(rèn)

15、識(shí);其次軟件方面,在程序的設(shè)計(jì),程序的調(diào)試方面都學(xué)到了很多東西,這是第一次編寫(xiě)單片機(jī)的大程序,很有成就感。在一個(gè)好的氛圍里才能踏下心來(lái)做東西,在這幾天課設(shè)的時(shí)間里,編程中出現(xiàn)問(wèn)題時(shí),一定要戒驕戒躁,腳踏實(shí)地,認(rèn)真看書(shū),仔細(xì)分析,仔細(xì)調(diào)試,就一定會(huì)發(fā)現(xiàn)錯(cuò)誤,克服困難,我也是這么做的,這在課設(shè)中十分重要。 在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,雖然以前沒(méi)有做過(guò)這樣的設(shè)計(jì)但通過(guò)這次設(shè)計(jì)我學(xué)會(huì)了很多東西,單片機(jī)課程設(shè)計(jì)重點(diǎn)就在于軟件算法的設(shè)計(jì),需要有很巧妙的程序算法,雖然以前寫(xiě)過(guò)幾次程序,但我覺(jué)的寫(xiě)好一個(gè)程序并不是一件簡(jiǎn)單的事,比如寫(xiě)一個(gè)程序看其功能很少認(rèn)為編寫(xiě)程序簡(jiǎn)單,但到編程的時(shí)候才發(fā)現(xiàn)一些細(xì)微的

16、知識(shí)或低級(jí)錯(cuò)誤經(jīng)常犯做不到最后常常失敗,所以有些東西只有學(xué)精弄懂并且要細(xì)心才行,只學(xué)習(xí)理論有些東西是很難理解的,更談不上掌握。從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的練習(xí)的過(guò)程中才能提高,我想這就是我在這次課程設(shè)計(jì)中的最大收獲。參考文獻(xiàn) 1 胡有彬.現(xiàn)代微機(jī)原理與接口技術(shù)M.北京:電子工業(yè)出版社,2002.2 張友德,趙志英,涂時(shí)亮.單片微型機(jī)原理.應(yīng)用與實(shí)驗(yàn)M.上海:復(fù)旦大學(xué)社,2003.3 張洪潤(rùn),張亞凡.單片機(jī)原理及應(yīng)用M.北京:清華大學(xué)出版社,2005.4 張靖武,周靈彬.單片機(jī)系統(tǒng)的P

17、roteus設(shè)計(jì)與仿真M.北京:電子工業(yè)出社,2007. 5 何立明.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:北京航空航天大學(xué)出版社,1990.6 凌玉華.單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.長(zhǎng)沙:中南大學(xué)出版社,2006.7 張毅剛.MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M.哈爾賓:哈爾賓工業(yè)大學(xué)出版社,1997. 8 譚浩強(qiáng).C程序設(shè)計(jì)M.北京:清華大學(xué)出版社,2009.9 王思明,張金敏,張?chǎng)蔚?單片機(jī)原理及應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:科學(xué)出版社,2012.附錄 源程序代碼#include <reg52.h>#define uchar unsigned char#define uint unsigned ints

18、bit BEEP = P14; /蜂鳴器sbit k0=P20;sbit k1=P21;sbit k2=P22;sbit k3=P23;sbit k4=P24;sbit k5=P25;sbit k6=P26;uint code Tone_Delay_Table= 64021,64103,64260,64400,64524,64580,64684,64777, 64820,64898,64968,65030,65058,65110,65157,65178 ;uchar code Song1_Tone=1, 1, 5, 5, 6, 6, 5,4, 4, 3 ,3, 2, 2, 1,5, 5, 4,

19、 4, 3, 3, 2, 5, 5, 4, 4, 3, 3, 2,1,1, 5, 5, 6, 6 ,5,4 ,4, 3, 3, 2, 2, 1,0xff;uchar code Song1_Time=2,2,2,2,2,3,4,2,2,2,2,2,2,4,2,2,2,2,2,2,4,2,2,2,2,2,2,5,2,2,2,2,2,2,5,2,2,2,2,2,2,5,0xFF;uchar code Song2_Tone=1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,4,3,1, 5,6,5,4,3,1 ,1,5,1,0xFF;uchar code Song2_Time=2,2

20、,3,2,2,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,0xFF;uchar code Song3_Tone = 1,3,3,3,3,5,4,2,5,3,7,6,5,5,7,4,4,3,6,7,2,1,0xFF;uchar code Song3_Time = 2,1,1,2,1,1,1,2,1,1,3,2,1,1,2,4,1,1,2,1,1,1,0xFF; uchar code Song4_Tone = 8,9,2,3,7,6,2,3,10,11,1,2,3,1,2,3,3,4,5,6,5,3,5,6,5,3,5,3,2,1,1,2

21、,3,0xFF; uchar code Song4_Time = 3,6,7,2,4,5,8,1,2,2,5,5,1,9,1,1,1,1,6,1,1,2,4,1,1,2,1,1,1,1,1,2,2,1,0xFF;uchar Song_Index = 0, Tone_Index = 0; /音樂(lè)片段索引,音符索引uchar *Song_Tone_Pointer, *Song_Time_Pointer; /音符指針,延時(shí)指針uchar i = 0; uchar j=0,k=0,m=0; /從當(dāng)前數(shù)組中取音符的位置void DelayMS(uint ms) /延時(shí) uchar t; while(ms

22、-) for (t = 0; t < 120; t+); void play0() /按鍵產(chǎn)生的INT0 ET0=1; TR0 = 0;k0=1; Song_Index = ( Song_Index + 1) % 4; /切換到下一音樂(lè) switch (Song_Index) case 0: Song_Tone_Pointer = Song1_Tone; Song_Time_Pointer = Song1_Time; break; case 1: Song_Tone_Pointer = Song2_Tone; Song_Time_Pointer = Song2_Time; break;

23、case 2: Song_Tone_Pointer = Song3_Tone; Song_Time_Pointer = Song3_Time; break;case 3: Song_Tone_Pointer = Song4_Tone; Song_Time_Pointer = Song4_Time; break; /從下一段音樂(lè)的第0個(gè)音符開(kāi)始 i = 0; while (k0=1&&k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_

24、Pointeri; if ( Tone_Index = 0xFF ) i = 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 continue; /繼續(xù)播放 TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; return; void play1() ET0=1; TR0 = 0;k1=1; Song_Index = ( Song_Index + 3) % 4; /切換到上一段音樂(lè) switch (Song_Index) case 0: Song_Tone_Pointer = Song1_

25、Tone; Song_Time_Pointer = Song1_Time; break; case 1: Song_Tone_Pointer = Song2_Tone; Song_Time_Pointer = Song2_Time; break; case 2: Song_Tone_Pointer = Song3_Tone; Song_Time_Pointer = Song3_Time; break;case 3: Song_Tone_Pointer = Song4_Tone; Song_Time_Pointer = Song4_Time; break; i = 0;/從上一段音樂(lè)的第0個(gè)音符

26、開(kāi)始 while (k0=1&&k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_Pointeri; if ( Tone_Index = 0xFF ) i = 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 continue; /繼續(xù)播放 TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; return; void play2(

27、) m=!m; TR0 = 0;k2=1;if(m=0) j=1; TR0=0; ET0=0; if(m=1) ET0=1; k=1;if(j=1) /播放被暫停的音樂(lè) switch (Song_Index) case 0: Song_Tone_Pointer = Song1_Tone; Song_Time_Pointer = Song1_Time; break; case 1: Song_Tone_Pointer = Song2_Tone; Song_Time_Pointer = Song2_Time; break; case 2: Song_Tone_Pointer = Song3_Ton

28、e; Song_Time_Pointer = Song3_Time; break;case 3: Song_Tone_Pointer = Song4_Tone; Song_Time_Pointer = Song4_Time; break; /從本一段音樂(lè)的第i個(gè)音符開(kāi)始 while (k0=1&&k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_Pointeri; if ( Tone_Index = 0xFF ) i = 0; De

29、layMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 Song_Index = ( Song_Index + 1) % 4; /播放下一首音樂(lè) switch (Song_Index) case 0: Song_Tone_Pointer = Song1_Tone; Song_Time_Pointer = Song1_Time; break; case 1: Song_Tone_Pointer = Song2_Tone; Song_Time_Pointer = Song2_Time; break; case 2: Song_Tone_Pointer = Song3_Tone; Song_Ti

30、me_Pointer = Song3_Time; break;case 3: Song_Tone_Pointer = Song4_Tone; Song_Time_Pointer = Song4_Time; break;continue; TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; if (j=0)j=1; Song_Tone_Pointer = Song1_Tone; /開(kāi)始播放音樂(lè) Song_Time_Pointer = Song1_Time; i = 0; while (k0=1&&

31、k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_Pointeri; if ( Tone_Index = 0xFF ) i = 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 Song_Index = ( Song_Index + 1) % 4; /播放下一段音樂(lè) switch (Song_Index) case 0: Song_Tone_Pointer = Song1_Tone; Song_Time_Pointer = So

32、ng1_Time; break; case 1: Song_Tone_Pointer = Song2_Tone; Song_Time_Pointer = Song2_Time; break; case 2: Song_Tone_Pointer = Song3_Tone; Song_Time_Pointer = Song3_Time; break;case 3: Song_Tone_Pointer = Song4_Tone; Song_Time_Pointer = Song4_Time; break; continue; TR0 = 1; DelayMS( Song_Time_Pointer T

33、one_Index * 240); TR0 = 0; i+; return; void play3() ET0=1; TR0 = 0; k3=1;/切換到第一段音樂(lè) Song_Tone_Pointer = Song1_Tone; Song_Time_Pointer = Song1_Time; Song_Index=0; /從第一段音樂(lè)的第0個(gè)音符開(kāi)始 i = 0; while (k0=1&&k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_T

34、one_Pointeri; if ( Tone_Index = 0xFF ) i = 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 continue; /繼續(xù)播放 TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; return; void play4() ET0=1; TR0 = 0;k4=1;Song_Tone_Pointer = Song2_Tone;/切換到第二段音樂(lè) Song_Time_Pointer = Song2_Time; Song_Index=1 ; i=0; /從第二

35、段音樂(lè)的第0個(gè)音符開(kāi)始 while (k0=1&&k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_Pointeri; if ( Tone_Index = 0xFF ) i = 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 continue; /繼續(xù)播放 TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; return; vo

36、id play5() ET0=1; TR0 = 0;k5=1;Song_Tone_Pointer = Song3_Tone; /切換到第三段音樂(lè) Song_Time_Pointer = Song3_Time; Song_Index=2; /從第三段音樂(lè)的第0個(gè)音符開(kāi)始 i = 0; while (k0=1&&k1=1&&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_Pointeri; if ( Tone_Index = 0xFF ) i =

37、 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 continue; /繼續(xù)播放 TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; return; void play6() ET0=1; TR0 = 0;k6=1; Song_Tone_Pointer = Song4_Tone;/切換到第四段音樂(lè)Song_Time_Pointer = Song4_Time; Song_Index=3; /從第四段音樂(lè)的第0個(gè)音符開(kāi)始 i = 0; while (k0=1&&k1=1&

38、;&k2=1&&k3=1&&k4=1&&k5=1&&k6=1) Tone_Index = Song_Tone_Pointeri; if ( Tone_Index = 0xFF ) i = 0; DelayMS(2000); /每段音樂(lè)播放結(jié)束后停頓一段時(shí)間 continue; /繼續(xù)播放 TR0 = 1; DelayMS( Song_Time_Pointer Tone_Index * 240); TR0 = 0; i+; return; void Timer0_Play_Music() interrupt 1 / T0 定

39、時(shí)器控制播放 TH0 = Tone_Delay_Table Tone_Index / 256; TL0 = Tone_Delay_Table Tone_Index % 256; BEEP = BEEP; void main() / 主程序 TMOD = 0x01; IE = 0x82; /許可 INTO 和 TO 中斷 TR0 = 0; while(1)if(k0=0&&k=1) DelayMS(2000); play0();m=1;if(k1=0&&k=1) DelayMS(2000); play1();m=1;if(k2=0) DelayMS(2000);

40、play2();if(k3=0&&k=1) DelayMS(2000); play3();m=1;if(k4=0&&k=1) DelayMS(2000); play4();m=1;if(k5=0&&k=1) DelayMS(2000); play5();m=1;if(k6=0&&k=1) DelayMS(2000); play6();m=1; 設(shè)計(jì)題目指導(dǎo)教師綜合閱評(píng)意見(jiàn)平時(shí)成績(jī)020材料成績(jī)040指導(dǎo)教師a您好,為你提供優(yōu)秀的畢業(yè)論文參考資料,請(qǐng)您刪除以下內(nèi)容,O(_)O謝謝!A national surve

41、y was recently launched to evaluate the eye health of Chinese children andteenagers.On June 6, China's annual National Day for Eye Care, the China Youth Development S

42、erviceCenter and Zhejiang Medicine, a leading listed Chinese pharmaceutical company, jointlyannounced the kickoff of the survey.In about one month, a questionnaire compiled by top 

43、eye care medical experts in China willbe distributed through multiple online partners, including H, as well asthrough offline survey events held in universities, middle schools

44、0;and primary schools acrossthe country.A report will be released based on the survey statistics and analysis, and most importantly,guidelines for parents and youth on how to&

45、#160;care for the eyes and prevent myopia  agrowing problem in China's digitized society, will also be attached on the report."Myopia is not only a disease that&

46、#160;makes people see things blurrily, but also leads to severecomplications, such as glaucoma (increased pressure within the eyeball), and can causeblindness," said Zhou Yuehua,&#

47、160;an established eye care specialist with Beijing TongrenHospital."It is very important for parents and children to know about the risk and care for their eyes."There&#

48、160;are about 450 million myopia patients in China. Among Chinese myopia patients,30million are severe patients, according to ZhouThe prevalence of myopia among high school and

49、0;college students is more than 70 percent,and the situation is continuously worsening, he added.Sun Zhu, director with the China Youth Development Service Center, said long h

50、ours ofstudy, lack of exercise, especially outdoor activities, and attachment to electronic screen aresome of the top reasons behind the widespread myopia problems, and the in

51、crease ofyounger patients, although China has made great progress in improving the hardwarefacilities and lighting conditions in schools.He said he hopes the survey will alert 

52、;people on the threatening situation, and also helpmedical experts to better guideline parents and children's behaviors to care for eyes, basedon the timely and factual st

53、atistics the survey collected.A series of follow-up events will also be held in six cities, including Jinan in Shandongprovince, and Changsha in Hunan province, to educate

54、0;people on how to care for eyes afterthe survey started. More and more Chinese are jogging to get and stay fit. Most joggers will run alone, but some will jog with friends or even coaches. The Beijing Olympic Forest Park is one of the most popular spots.

55、 It is packed with runners in the afternoon, usually after work, and at weekends. Jogging after a whole day's work can be a way to unwind. It is true for He Wenjun, whose workplace is right near the forest park. She discovered her athletic aptitude at the age of seven, when she began playing ten

56、nis. Then she turned to jogging, and she has persevered with it for 10 years. "I come to jog almost every day after work, whenever I have time. I think jogging is good for my health. And for me, a girl, it helps me to achieve to eternal goal, to keep slim," He said. He says she prefers jog

57、ging alone, so she can focus better. She loves jogging, even during Beijing's smoggy days. "If the smog is severe, I'll hold off jogging for a while. But if I really want to get away from work, I'll wear a mask, or just ignore the smog and go on jogging," she said. For those who are not so athletic, jogging also has its attractions. Wu Houbin started roughly two years ago, when he was severely obese. Within two months, his weight dropped from 82

溫馨提示

  • 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)論