2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  單片機(jī)課程設(shè)計(jì)</b></p><p><b>  說(shuō)明書(shū)</b></p><p>  課題名稱(chēng): 電子音樂(lè)盒的設(shè)計(jì) </p><p>  班 級(jí): 11機(jī)電對(duì)口1班 </p><p>  學(xué)生姓名: # # #

2、 </p><p>  學(xué) 號(hào): ************* </p><p>  指導(dǎo)教師: # # # </p><p>  完成日期: 2013年9月13日 </p><p>  成 績(jī): </p>

3、<p><b>  目 錄</b></p><p>  引言··························

4、83;··································2</p>

5、<p>  1概述··································&#

6、183;························3</p><p>  1.1 課題要求······

7、3;····································&#

8、183;······3</p><p>  1.2設(shè)計(jì)方案·························

9、;··························3</p><p>  1.3研究?jī)?nèi)容·····&#

10、183;····································

11、·········3</p><p>  2 系統(tǒng)總體方案介紹······················

12、·························3</p><p>  2.1 系統(tǒng)組成框圖······

13、····································

14、3;····3</p><p>  2.2 音樂(lè)盒的功能結(jié)構(gòu)圖··························&

15、#183;···············4</p><p>  2.3 主要設(shè)計(jì)軟件介紹···············

16、;·····························4</p><p>  3硬件設(shè)計(jì)··

17、3;····································&#

18、183;·················5</p><p>  3.1 總體設(shè)計(jì)框圖·············&#

19、183;··································5</p>

20、<p>  3.2各部分硬件設(shè)計(jì)及其原理································&#

21、183;·····5</p><p>  3.3 硬件電路圖及功能·························

22、···················6</p><p>  4軟件設(shè)計(jì)·············

23、;····································

24、83;·······7</p><p>  4.1音調(diào)、節(jié)拍以及編碼的確定方法······················&

25、#183;·········7</p><p>  4.2 軟件程序設(shè)計(jì)·····················&

26、#183;···························10</p><p>  5調(diào)試····&

27、#183;····································

28、;··················14</p><p>  5.1 檢查硬件連接············

29、3;··································14</p>

30、<p>  5.2 檢查軟件系統(tǒng)·································&

31、#183;·············14</p><p>  5.3 測(cè)試結(jié)果·················&#

32、183;································14</p><p> 

33、 6 總結(jié)····································

34、;························16</p><p>  致謝········

35、····································

36、3;··············17</p><p>  參考文獻(xiàn)·················

37、83;····································&

38、#183;·18</p><p>  附:原程序······························

39、;························19</p><p><b>  引言</b></p><p>  21世紀(jì),電

40、子技術(shù)獲得了飛速的發(fā)展,在其推動(dòng)下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)也使現(xiàn)代電子產(chǎn)品性能進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快。</p><p>  目前,單片機(jī)正朝著高性能和多品種方向發(fā)展趨勢(shì)將是進(jìn)一步向著CMOS化、低功耗、小體積、大容量、高性能、低價(jià)格和外圍電路內(nèi)裝化等幾個(gè)方面發(fā)展。單片機(jī)應(yīng)用的重要意義還在于它從根本上改變了傳統(tǒng)的控制系統(tǒng)設(shè)計(jì)思

41、想和設(shè)計(jì)方法。從前必須由模擬電路或數(shù)字電路實(shí)現(xiàn)的大部分功能,現(xiàn)在已能用單片機(jī)通過(guò)軟件方法來(lái)實(shí)現(xiàn)了。這種軟件代替硬件的控制技術(shù)也稱(chēng)為微控制技術(shù),是傳統(tǒng)控制技術(shù)的一次革命。單片機(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卡,民用豪華轎車(chē)的安全保障系統(tǒng),錄像機(jī)、攝像機(jī)、全自動(dòng)洗衣機(jī)的控制,以及程控玩

42、具、電子寵物等等,這些都離不開(kāi)單片機(jī)。</p><p>  隨著科學(xué)技術(shù)的進(jìn)步和社會(huì)的發(fā)展,人類(lèi)所接觸的信息也在不斷增加并且日益復(fù)雜。面對(duì)浩如煙海的信息,人們已經(jīng)能夠利用計(jì)算機(jī)等工具高效準(zhǔn)確地對(duì)之進(jìn)行處理,但要想將處理完的信息及時(shí),清晰地傳遞給別人,還必須通過(guò)尋求更加卓越的顯示技術(shù)來(lái)實(shí)現(xiàn)。單片機(jī)技術(shù)與液晶顯示技術(shù)的結(jié)合,使信息傳輸交流向著智能可視化方向迅速發(fā)展。</p><p>  隨著人

43、類(lèi)社會(huì)的發(fā)展,人們對(duì)視覺(jué)、聽(tīng)覺(jué)方面的享受提出了越來(lái)越高的要求。小小的音樂(lè)盒可以給人們帶來(lái)美好的回憶,提高人們的精神文化享受。傳統(tǒng)音樂(lè)盒多是機(jī)械型的,體積笨重,發(fā)音單調(diào),不能實(shí)現(xiàn)批量生產(chǎn)。本文設(shè)計(jì)的音樂(lè)盒是以單片機(jī)為核心元件的電子式音樂(lè)盒,體積小,重量輕,能演奏和旋音樂(lè),功能多,外觀效果多彩,使用方便,并具有一定的商業(yè)價(jià)值。</p><p><b>  1概述</b></p>&

44、lt;p>  本設(shè)計(jì)是以AT89C51單片機(jī)的電路為基礎(chǔ),外部加上放音設(shè)備,以此來(lái)實(shí)現(xiàn)音樂(lè)演奏控制器的硬件電路,通過(guò)軟件程序來(lái)控制單片機(jī)內(nèi)部的定時(shí)器使其演奏出優(yōu)美動(dòng)聽(tīng)的音樂(lè)。用戶(hù)可以按照自己的喜好選擇音樂(lè)并將其轉(zhuǎn)化成機(jī)器碼存入單片機(jī)的存儲(chǔ)器中。對(duì)于不同型號(hào)的單片機(jī)只需要相應(yīng)的改變一下地址即可。該軟、硬件系統(tǒng)具有很好的通用性,很高的實(shí)際使用價(jià)值,為廣大的單片機(jī)和音樂(lè)愛(ài)好者提供了很好的借鑒。</p><p>&

45、lt;b>  1.1 課題要求</b></p><p>  1)硬件設(shè)計(jì):根據(jù)任務(wù)要求,完成單片機(jī)最小系統(tǒng)及其擴(kuò)展設(shè)計(jì)。</p><p>  2)軟件設(shè)計(jì):根據(jù)硬件設(shè)計(jì)完成顯示功能要求,完成控制軟件的編寫(xiě)與調(diào)試;</p><p>  3)功能要求:查閱資料,了解單片機(jī)控制單音喇叭發(fā)聲原理; 設(shè)計(jì)基于單片機(jī)的電子音樂(lè)盒;</p><

46、;p><b>  1.2設(shè)計(jì)方案</b></p><p>  利用按鍵切換演奏出不同的樂(lè)曲。蜂鳴器發(fā)出某個(gè)音調(diào),與之相對(duì)應(yīng)的LED亮起。使用兩個(gè)按鍵,一個(gè)用來(lái)切換歌曲,另一個(gè)切換八路LED的變化花樣。</p><p><b>  1.3研究?jī)?nèi)容</b></p><p>  1)電路有兩種工作模式:演奏音樂(lè)模式和花樣燈

47、模式。</p><p>  演奏音樂(lè)模式:演奏完整的一首的歌曲,八路LED隨著音樂(lè)變化。</p><p>  花樣燈模式:八路LED變化出各種花樣,蜂鳴器隨著發(fā)出“嘀嘀”聲</p><p>  2)按下按鍵1進(jìn)入演奏音樂(lè)模式,再按切換歌曲,共兩首歌曲。</p><p>  3)按下按鍵2進(jìn)入花樣燈模式,再按切換LED花樣,共三種花樣。<

48、/p><p>  此電路的程序只占用了1K左右,可編制更多的音樂(lè)和LED花樣,使系統(tǒng)的功能更加強(qiáng)大。</p><p>  2 系統(tǒng)總體方案介紹</p><p>  2.1 系統(tǒng)組成框圖</p><p>  音樂(lè)盒的系統(tǒng)結(jié)構(gòu)以AT89C51單片機(jī)位控制核心,加上2個(gè)按鍵、時(shí)鐘復(fù)位電路、蜂鳴器、LED模塊組成。單片機(jī)負(fù)責(zé)接收按鍵的輸入,根據(jù)輸入控制音

49、樂(lè)播放曲目和音樂(lè)花樣燈的顯示樣式以及蜂鳴器發(fā)音。系統(tǒng)組成框圖如圖2.1所示。</p><p>  圖2.1 系統(tǒng)組成框圖</p><p>  2.2 音樂(lè)盒的功能結(jié)構(gòu)圖</p><p>  音樂(lè)盒的功能結(jié)構(gòu)如圖2.2所示。Key1負(fù)責(zé)切換播放歌曲,播放歌曲共2首,分別是揮著翅膀的女孩和寂寞沙洲冷。Key2負(fù)責(zé)切換LED顯示花樣,顯示花樣共3種,第一種順序顯示,第二種

50、由兩邊向中間移動(dòng)然后向兩邊移動(dòng),第三種循環(huán)顯示。</p><p>  圖2.2 音樂(lè)盒功能結(jié)構(gòu)圖</p><p>  2.3 主要設(shè)計(jì)軟件介紹</p><p>  本設(shè)計(jì)利用KEIL編程軟件對(duì)音樂(lè)盒源程序進(jìn)行編程并調(diào)試,配合PROTEUS仿真軟件對(duì)硬件進(jìn)行仿真調(diào)試,兩種軟件的簡(jiǎn)介如下:</p><p>  2.3.1 PROTEUS軟件簡(jiǎn)介&

51、lt;/p><p>  Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上將電路仿真軟件、PCB設(shè)計(jì)

52、軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年也增加了Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 </p><p>  2.3.2 KEIL簡(jiǎn)介</p><p>  Ke

53、il軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用

54、對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令你事半功倍。Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。</p><p><

55、;b>  3硬件設(shè)計(jì)</b></p><p>  3.1 總體設(shè)計(jì)框圖</p><p>  圖3.1總體設(shè)計(jì)框圖</p><p>  3.2各部分硬件設(shè)計(jì)及其原理</p><p>  3.2.1 AT89C51簡(jiǎn)介</p><p>  AT89C51是一種帶4K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器(FPER

56、OM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器,俗稱(chēng)單片機(jī)。AT89C2051是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT

57、89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C51單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。外形及引腳排列如圖3.2所示</p><p>  圖3.2 AT89C51系列單片機(jī)</p><p>  3.2.2 LED顯示電路設(shè)計(jì)與原理</p><p>  LED顯示電路是由8個(gè)LED發(fā)光二極管組成,連接方式為共陽(yáng)極,

58、LED接到單片機(jī)的P1口,若為低電平,可使LED亮起。發(fā)光二極管的亮、滅由內(nèi)部程序控制,8個(gè)LED發(fā)光二極管分別對(duì)應(yīng)不同的音階,所以LED會(huì)隨著音階的變化按規(guī)律亮、滅。</p><p>  3.2.3 時(shí)鐘振蕩電路</p><p>  AT89C51中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體

59、或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1,C2雖然沒(méi)有什么嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF10PF,而如果使用陶瓷振蕩器建議選擇40PF10PF。用戶(hù)也可以采用外部時(shí)鐘。采用外部時(shí)鐘的電路如圖示。這種情況下,外部時(shí)鐘脈沖接到XTAL1端,即內(nèi)部時(shí)鐘發(fā)生

60、器的輸入端,XTAL2則懸空。由于外部時(shí)鐘信號(hào)是通過(guò)一個(gè)2分頻觸發(fā)器后作為內(nèi)部時(shí)鐘信號(hào)的,所以對(duì)外部時(shí)鐘信號(hào)的占空比沒(méi)有特殊要求,但最小高電平持續(xù)時(shí)間和最大的低電平持續(xù)時(shí)間應(yīng)符合產(chǎn)品技術(shù)條件的要求。</p><p>  3.3 硬件電路圖及功能</p><p>  總體硬件電路實(shí)現(xiàn)功能如下,如圖3.4所示</p><p>  電路中用P3.2、P3.3控制按鍵。&l

61、t;/p><p>  P1.0~P1.7控制LED。</p><p>  P2.3控制蜂鳴器。</p><p>  電路為12MHZ晶振頻率工作,起振電路中C1、C2均為30PF。</p><p>  圖3.4 硬件電路圖</p><p><b>  4軟件設(shè)計(jì)</b></p><

62、p>  在本程序中設(shè)置了兩個(gè)標(biāo)志——count1和count2,分別初始化為1和0。按鍵1使得count1在1和2之間切換,按鍵2使得count2在1~4之間切換。程序檢測(cè)count1的值,count1等于1時(shí)播放第一首歌曲,等于2時(shí)播放第二首。另一方面根據(jù)count2的值來(lái)切換LED的花樣。count1和count2的值是互斥的,設(shè)置count1等于1、2時(shí),count2同時(shí)設(shè)置為0;設(shè)置count2等于1~4時(shí),count1也

63、同時(shí)設(shè)置為0。</p><p>  4.1音調(diào)、節(jié)拍以及編碼的確定方法</p><p>  一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能像電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。</p><p>  4.1.1 音調(diào)的確定</p><

64、;p>  不同音高的樂(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è)器上,C–D、D–

65、E、F–G、G–A、A–B兩音之間隔著一個(gè)黑鍵,他們之間的距離就是全音;E–F、B–C兩音之間沒(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

66、 Hz)的一倍;同樣的,高音RE的頻率(1175Hz)剛好是中音RE的頻率(587Hz)的一倍,中音RE的頻率(587Hz)剛好是低音R</p><p>  1)要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O反相,就可在I/O腳上得到此頻率的脈沖。</p>

67、<p>  2)利用AT89C51的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。</p><p>  此外結(jié)束符和休止符可以分別用代碼00H和FFH來(lái)表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。</p><p>  3)例如頻率為523Hz,其周期T=1/523=1912us,因此只要令計(jì)數(shù)器

68、計(jì)時(shí)956us/1us=956,在每次技術(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。</p><p>  計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:</p><p>  N=Fi2Fr</p><p>  N:計(jì)算值;Fi:內(nèi)部計(jì)時(shí)一次為1us,故其頻率為1MHz;</p><p>  其計(jì)數(shù)值的求法如下:</p>

69、<p>  T=65536-N=65536-Fi2Fr</p><p>  例如:設(shè)K=65536,F(xiàn)=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的計(jì)算值</p><p>  T=65536-N=65536-Fi2Fr=65536-10000002Fr=65536-500000/Fr</p>&l

70、t;p>  低音DO的T=65536-500000/262=63627</p><p>  低音DO的T=65536-500000/523=64580</p><p>  低音DO的T=65536-500000/1047=65059</p><p>  C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表如表4.1所示。</p><p>  表4.1 C

71、調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表</p><p>  4.1.2 節(jié)拍的確定</p><p>  若要構(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、鐘72下,有些人快一點(diǎn),有些人慢一點(diǎn),只要聽(tīng)的悅耳就好。音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。</p><p>  一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂(lè)。了解音樂(lè)的一些基礎(chǔ)知識(shí),我們可知產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂(lè)。對(duì)于單片機(jī)來(lái)說(shuō),產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方

73、波頻率信號(hào)。因此,需要弄清楚音樂(lè)中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系。</p><p>  表4.2節(jié)拍與節(jié)拍碼對(duì)照</p><p>  每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,圖5.2為節(jié)拍碼的對(duì)照。如果1拍為0.4秒,1/4拍實(shí)0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1DELAY,則1拍應(yīng)為4DELAY,以此類(lèi)推。所以只要求

74、得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如圖5.3為1/4和1/8節(jié)拍的時(shí)間設(shè)定。</p><p>  表4.3 1/4和1/8節(jié)拍的時(shí)間設(shè)定</p><p><b>  4.1.3 編碼</b></p><p>  do re mi fa so la si分別編碼為1~7,重音do編為8,重音re編為9,停頓編為0。播放長(zhǎng)度以十六

75、分音符為單位(在本程序中為165ms),一拍即四分音符等于4個(gè)十六分音符,編為4,其它的播放時(shí)間以此類(lèi)推。音調(diào)作為編碼的高4位,而播放時(shí)間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個(gè)編碼。以0xff作為曲譜的結(jié)束標(biāo)志。</p><p>  舉例1:音調(diào)do,發(fā)音長(zhǎng)度為兩拍,即二分音符,將其編碼為0x18。</p><p>  舉例2:音調(diào)re,發(fā)音長(zhǎng)度為半拍,即八分音符,將其編碼為0x22<

76、;/p><p>  歌曲播放的設(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í)。</p><p>  表4.4 簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、T值、節(jié)拍數(shù)</p><p> 

77、 4.2 軟件程序設(shè)計(jì)</p><p>  4.2.1 程序流程圖及相應(yīng)代碼塊</p><p><b>  主程序流程圖</b></p><p>  圖4.1 主程序流程圖</p><p><b>  主程序代碼:</b></p><p><b>  main()&

78、lt;/b></p><p>  {uchar x;</p><p>  count1=0;//流水燈無(wú)花樣 </p><p>  count2=1;//唱第一首歌 </p><p>  P34=0;//選取矩陣鍵盤(pán)的一列 </p><p>  EA=1;//開(kāi)總中斷</p><p>

79、  EX0=1;//開(kāi)外部中斷0 </p><p>  IT0=1;//外部中斷0下降沿觸發(fā)方式 </p><p>  EX1=1;//開(kāi)外部中斷1 </p><p>  IT1=1;//外部中斷1下降沿觸發(fā)方式 </p><p>  TMOD=0x01;//定時(shí)器0工作在方式1 </p><p><

80、b>  TH0=0;</b></p><p><b>  TL0=0;</b></p><p><b>  ET0=1;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p&g

81、t;<p>  if(count1!=0) //音樂(lè)停止,花樣燈開(kāi)始按照花樣閃爍</p><p><b>  {</b></p><p>  switch(count1) </p><p><b>  {</b></p><p><b>  case 1:</b>

82、;</p><p>  for(x=0;x<14;x++)</p><p><b>  {</b></p><p><b>  duan=1;</b></p><p>  P1=huayang1[x];</p><p><b>  beep();</b&

83、gt;</p><p>  delay1(300);</p><p><b>  duan=0;</b></p><p>  if(count1!=1)</p><p><b>  break;</b></p><p><b>  }</b></

84、p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  for(x=0;x<14;x++)</p><p><b>  {</b></p><p><b>  duan=1;<

85、;/b></p><p>  P1=huayang2[x];</p><p><b>  beep();</b></p><p>  delay1(300);</p><p><b>  duan=0;</b></p><p>  if(count1!=2)</p

86、><p><b>  break;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  for(x=0;x<1

87、6;x++)</p><p><b>  {</b></p><p><b>  duan=1;</b></p><p>  P1=huayang3[x];</p><p><b>  beep();</b></p><p>  delay1(300);

88、</p><p><b>  duan=0;</b></p><p>  if(count1!=3)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  break;</

89、b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  song();&

90、lt;/b></p><p>  delay1(1000);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  播放音樂(lè)子程序流程圖</p>&

91、lt;p>  圖4.2 播放音樂(lè)子程序流程圖</p><p>  播放音樂(lè)子程序代碼:</p><p>  void song()</p><p><b>  {</b></p><p>  uint temp;</p><p>  uchar jp;//jp是簡(jiǎn)譜</p>&

92、lt;p><b>  i=0;</b></p><p><b>  while(1)</b></p><p>  {if(count2==0)</p><p><b>  {</b></p><p><b>  break;</b></p&

93、gt;<p><b>  }</b></p><p>  if(count2==1)//選曲</p><p>  temp=qnzl[i]; // 播放千年之戀</p><p>  if(count2==2)</p><p>  temp=jmszl[i]; // 播放寂寞沙洲冷</p>&

94、lt;p>  if(temp==0xff)//結(jié)束標(biāo)志</p><p><b>  break;</b></p><p>  jp=temp/16; //取數(shù)的高4位</p><p><b>  duan=1;</b></p><p>  P1=yinyue[jp];</p>

95、<p><b>  duan=0;</b></p><p><b>  if(jp!=0)</b></p><p><b>  {</b></p><p>  timeh=cuzhi[jp*2];</p><p>  timel=cuzhi[jp*2+1];</

96、p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p><b>  TR0=0;</b></p><p>  fm=1;//關(guān)蜂鳴器</p>

97、<p><b>  }</b></p><p>  delay(temp%16); //取數(shù)的低4位</p><p>  TR0=0; //唱完一個(gè)音停10MS</p><p><b>  fm=1;</b></p><p>  delay1(10); </p><

98、p><b>  TR0=1; </b></p><p><b>  i++;</b></p><p><b>  }</b></p><p><b>  TR0=0;</b></p><p><b>  fm=1;</b><

99、;/p><p><b>  }</b></p><p><b>  延時(shí)程序代碼:</b></p><p>  void delay(uint z)//延時(shí)165MS,即十六分音符</p><p>  {uint x,y;</p><p>  for(x=z;x>0;x

100、--)</p><p>  for(y=19000;y>0;y--);</p><p><b>  }</b></p><p>  void delay1(uint z)//延時(shí)1MS</p><p>  {uint x,y;</p><p>  for(x=z;x>0;x--)&

101、lt;/p><p>  for(y=112;y>0;y--);</p><p><b>  }</b></p><p>  4.2.2 程序源代碼(見(jiàn)文件)</p><p><b>  5調(diào)試</b></p><p>  5.1 檢查硬件連接</p><

102、p>  在PROTUES檢查各硬件管腳是否連接正確,線路邏輯是否正確,例如:晶振電路的連接,復(fù)位電路是否設(shè)計(jì)正確。</p><p>  5.2 檢查軟件系統(tǒng)</p><p>  1.根據(jù)系統(tǒng)的原理結(jié)構(gòu)檢查各流程圖是否正確,再根據(jù)流程圖來(lái)檢查程序是否也正確。</p><p>  2.將所有程序組織起來(lái),在軟件環(huán)境下運(yùn)行,檢查程序是否正確。通過(guò)對(duì)硬件和軟件系統(tǒng)的認(rèn)

103、真檢查,反復(fù)測(cè)試,如果沒(méi)有出現(xiàn)問(wèn)題即可把源程序編譯成HEX文件裝載到單片機(jī)中,對(duì)硬件進(jìn)行仿真。</p><p><b>  5.3 測(cè)試結(jié)果</b></p><p>  5.3.1.總體運(yùn)行圖</p><p>  圖5.1 系統(tǒng)總體運(yùn)行圖</p><p><b>  6 總結(jié)</b></p&g

104、t;<p>  單片機(jī)的設(shè)計(jì)至今為止已經(jīng)進(jìn)入了令人鼓舞的階段,在進(jìn)行了長(zhǎng)達(dá)一周的時(shí)間的摸索與實(shí)驗(yàn),使我不僅僅是對(duì)于單片機(jī)入門(mén)軟件與硬件的常用設(shè)計(jì)與功能,還使我對(duì)于一項(xiàng)設(shè)計(jì)研究的制作過(guò)程所需要的詳細(xì)步驟和具體的實(shí)現(xiàn)方法的力度的掌握。</p><p>  當(dāng)然在這次寶貴的課程設(shè)計(jì)任務(wù)中,經(jīng)驗(yàn)才是對(duì)于我們最大的收獲,而且還增強(qiáng)了自身對(duì)未知問(wèn)題以及對(duì)知識(shí)的深化認(rèn)識(shí)的能力,用受益匪淺這個(gè)詞語(yǔ)來(lái)概括這次難忘的活

105、動(dòng)我覺(jué)得再合適不過(guò)了。但是,光是完成了作品還是不可以自我滿足的,在從一開(kāi)始的時(shí)候就懷著將作品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)最終目的下,隨著對(duì)單片機(jī)這門(mén)學(xué)科的認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的時(shí)期內(nèi)被實(shí)現(xiàn)。</p><p>  總之,這次設(shè)計(jì)從程序編寫(xiě)、調(diào)試到軟硬件聯(lián)機(jī)調(diào)試,我傾注了大量的時(shí)間和心血。真是曾經(jīng)為程序的編寫(xiě)而冥思查找過(guò),曾經(jīng)為無(wú)法找出錯(cuò)誤而郁悶苦

106、惱過(guò),也曾經(jīng)為某一功能不能實(shí)現(xiàn)而猶豫彷徨過(guò),但最終我成功了。</p><p>  我不僅品味到了結(jié)果的喜悅,更明白了過(guò)程的彌足珍貴。</p><p><b>  致謝</b></p><p>  感謝我的指導(dǎo)老師xx老師,她嚴(yán)謹(jǐn)細(xì)致、一絲不茍的作風(fēng)一直是我工作、學(xué)習(xí)中的榜樣;她循循善誘的教導(dǎo)和不拘一格的思路給予我無(wú)盡的啟迪。</p>

107、<p>  感謝我的父母,焉得諼草,言樹(shù)之背,養(yǎng)育之恩,無(wú)以回報(bào),你們永遠(yuǎn)健康快樂(lè)是我最大的心愿。</p><p>  感謝我的室友們,是你們和我共同維系著彼此之間兄弟般的感情,維系著寢室那份家的融洽??烊炅耍路鹁驮谧蛱?。這期間,我們沒(méi)有紅過(guò)臉,沒(méi)有吵過(guò)嘴,沒(méi)有發(fā)生上大學(xué)前所擔(dān)心的任何不開(kāi)心的事情。只是今后大家就難得再聚在一起吃每年元旦那頓飯了吧,沒(méi)關(guān)系,各奔前程,大家珍重。我們?cè)谝黄鸬娜兆?,?/p>

108、會(huì)記一輩子的。</p><p>  在設(shè)計(jì)即將完成之際,我的心情無(wú)法平靜,從開(kāi)始進(jìn)入課題到任務(wù)的順利完成,有多少可敬的師長(zhǎng)、同學(xué)、朋友給了我無(wú)言的幫助和有聲的指導(dǎo),在這里請(qǐng)接受我誠(chéng)摯的謝意!</p><p><b>  參考文獻(xiàn)</b></p><p>  [1] 李建忠.單片機(jī)原理及應(yīng)用,西安電子科技大學(xué)出版社,2008.2. </p&

109、gt;<p>  [2] 黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì),北京:北京航空航天大學(xué)出版社,2006.6.</p><p>  [3] 黃智偉.凌陽(yáng)單片機(jī)課程設(shè)計(jì)指導(dǎo),北京:北京航空航天大學(xué)出版社,2006.11.</p><p>  [4] 李廣弟,朱月秀,王秀山.單片機(jī)基礎(chǔ),北京:北京航空航天大學(xué)出版社,2001.7.</p><p>  [5

110、] 趙曙光,郭萬(wàn)有,楊頌華.可編程邏輯器件原理開(kāi)發(fā)與應(yīng)用,西安:西安電子科技大學(xué), 2000.</p><p>  [6] 候伯亨.VHDL硬件描述語(yǔ)言與數(shù)字邏輯電路設(shè)計(jì), 西安:西安電子科技大學(xué)出版社, 1999.</p><p>  [7] 康華光. 模擬電子技術(shù)基礎(chǔ)(第四版), 武漢:華中理工大學(xué)出版社,1999.</p><p>  [8] 陳小忠,黃寧.

111、單片機(jī)接口技術(shù)實(shí)用子程序,北京:北京人民郵電出版社, 2005.</p><p>  [9] 歐偉明,周春臨,瞿遂春.電子信息系統(tǒng)設(shè)計(jì),西安電子科技大學(xué)出版社,2005.9.</p><p>  [10] 賈立新,王涌.電子系統(tǒng)設(shè)計(jì)與實(shí)踐,北京:清華大學(xué)出版社,2007.</p><p>  [11] 羅亞非.凌陽(yáng)16位單片機(jī)應(yīng)用基礎(chǔ),北京:北京航空航天大學(xué)出版社,

112、2003.</p><p>  [12] 雷思孝.凌陽(yáng)單片機(jī)原理及實(shí)用技術(shù),西安電子科技大學(xué),2004.</p><p>  [13] 譚浩強(qiáng).C程序設(shè)計(jì)(第四版),北京:清華大學(xué)出版社,2010.6.</p><p>  [14] 羅學(xué)恒.單片機(jī)實(shí)踐與應(yīng)用,北京:電子工業(yè)出版社,2010.5.</p><p>  [15] 蘭吉昌等.單片機(jī)

113、C51完全學(xué)習(xí)手冊(cè),北京:化學(xué)工業(yè)出版社,2008.10.</p><p><b>  附:</b></p><p><b>  原程序:</b></p><p>  #include <reg51.h></p><p>  #define uchar unsigned char<

114、/p><p>  #define uint unsigned int</p><p>  sbit duan=P2^6;</p><p>  sbit key1=P3^2;//按key1可切換花樣</p><p>  sbit key2=P3^3;//按key2可切換歌曲</p><p>  sbit fm=P3^7;/

115、/蜂鳴器連續(xù)的IO口</p><p>  sbit P34=P3^4;//矩陣鍵盤(pán)的一列</p><p>  uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,</p><p>  0xfd,0xfb,0xf7,0xef,0xdf,0xbf};//花樣1</p><p&g

116、t;  uchar code huayang2[]={0x7f,0xfe,0xbf,0xfd,0xdf,0xfb,0xef,0xf7,</p><p>  0xef,0xfb,0xdf,0xfd,0xbf,0xfe};//花樣2</p><p>  uchar code huayang3[]={0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0,</p>

117、;<p>  0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff};</p><p>  char code huayang4[]={ 0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0};</p><p>  uchar count1;//花樣標(biāo)志</p><p>  uchar count2

118、;//歌曲標(biāo)志</p><p>  uchar timeh,timel,i;</p><p>  //---------------------------簡(jiǎn)譜---------------------------------------</p><p>  //編程規(guī)則:字節(jié)高位是簡(jiǎn)譜,低位是持續(xù)時(shí)間,</p><p>  //代表多少個(gè)

119、十六分音符</p><p>  //1-7代表中央C調(diào),8-E代表高八度,0代表停頓</p><p>  //最后的0是結(jié)束標(biāo)志</p><p>  uchar code qnzl[]={ //千年之戀</p><p>  0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34

120、,0x84,0x72,0x82,0x94,0xA8,0x08,</p><p><b>  //前奏</b></p><p>  0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,</p><p>  //竹林的燈火 到過(guò)的沙漠</p><p>  0x32,0x31,0

121、x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,</p><p>  //七色的國(guó)度 不斷飄逸風(fēng)中</p><p>  0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,</p><p>  //有一種神秘 灰色的旋渦</p><p>  0x32,0x

122、31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,</p><p>  //將我卷入了迷霧中</p><p>  0x63,0xA1,0xA2,0x62,0x92,0x82,0x52,</p><p><b>  //看不清的雙手</b></p><p>  0x31,0x51,0x63,0x5

123、1,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02,</p><p>  //一朵花傳來(lái)誰(shuí)經(jīng)過(guò)的溫柔</p><p>  0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76,</p><p><b>  //穿越千年的傷痛</b></p><p>  0x61,

124、0x71,0x82,0x71,0x62,0x52,0x31,0x36,</p><p><b>  //只為求一個(gè)結(jié)果</b></p><p>  0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,</p><p>  //你留下的輪廓 指引我</p><p>  0x42,0x6

125、3,0x83,0x83,0x91,0x91,</p><p><b>  //黑夜中不寂寞</b></p><p>  0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76,</p><p><b>  //穿越千年的哀愁</b></p><p>  0x61,0x71,

126、0x82,0x71,0x62,0x52,0x31,0x36,</p><p><b>  //是你在盡頭等我</b></p><p>  0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53,</p><p>  //最美麗的感動(dòng) 會(huì)值得</p><p>  0x42,0x82,0x8

127、8,0x02,0x74,0x93,0x89,0xff//結(jié)束標(biāo)志</p><p><b>  //用一生守候</b></p><p><b>  };</b></p><p>  uchar code jmszl[]={ //寂寞沙洲冷</p><p>  0x12,0x12,0x22,0x32,0

128、x31,0x22,0x21,0x22,</p><p><b>  //自你走后心憔悴</b></p><p>  0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,</p><p>  //白色油桐風(fēng)中紛飛</p><p>  0x51,0x52,0x31,0x52,0x62,0

129、x13,0x11,0x13,0x32,0x28,0x08,0x28,</p><p>  //落花似人有情 這個(gè)季節(jié)</p><p>  0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,</p><p>  //河畔的風(fēng)放肆拼命地吹</p><p>  0x51,0x51,0x31,0x32

130、,0x31,0x32,0x81,0x72,0x63,</p><p>  //不斷撥弄離人的眼淚</p><p>  0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,</p><p>  //那樣濃烈的愛(ài)再也無(wú)法給</p><p>  0x22,0x12,0x11,0x1

131、2,0x11,0x12,0x12,0x14,0x26,0x32,0x26,</p><p><b>  //傷感一夜一夜</b></p><p>  0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,</p><p>  //當(dāng)記憶的線纏繞過(guò)往支離破碎</p&

132、gt;<p>  0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,</p><p>  //是慌亂占據(jù)了心扉 </p><p>  0x31,0x81,0x81,0x81,0x61,0x91,0x82,</p><p><b>  //有花兒伴著蝴蝶</b>

133、;</p><p>  0x51,0x51,0x51,0x51,0x31,0x61,0x53,</p><p><b>  //孤雁可以雙飛</b></p><p>  0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,</p><p><b>  //夜深人靜獨(dú)徘徊</b

134、></p><p>  0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,</p><p>  //當(dāng)幸福戀人寄來(lái)紅色分享喜悅</p><p>  0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,</p&

135、gt;<p>  //閉上雙眼難過(guò)頭也不敢回</p><p>  0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,</p><p>  //仍然撿盡寒枝不肯安歇微帶著后悔</p><p>  0x21,0x31,0x51,0x31,0x21,0x11,

136、0x61,0x21,0x16,</p><p>  //寂寞沙洲我該思念誰(shuí)</p><p><b>  0xff};</b></p><p>  //----------------------------簡(jiǎn)譜音調(diào)對(duì)應(yīng)的定時(shí)器初值---------------------------</p><p>  //適合11.0

137、592M的晶振</p><p>  uchar code cuzhi[]={</p><p>  0xff,0xff,//占位</p><p>  0xFC,0x8E,//中央C調(diào)1-7</p><p>  0xFC,0xED,</p><p>  0xFD,0x43,</p><p>  

138、0xFD,0x6A,</p><p>  0xFD,0xB3,</p><p>  0xFD,0xF3,</p><p>  0xFE,0x2D,</p><p>  0xFE,0x47,//高八度1-7 </p><p>  0xFE,0x76,</p><p>  0xFE,0x

139、A1,</p><p>  0xFE,0xC7,</p><p>  0xFE,0xD9,</p><p>  0xFE,0xF9,</p><p><b>  0xFF,0x16</b></p><p><b>  };</b></p><p> 

140、 uchar yinyue[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x0,0x0};</p><p>  //將音調(diào)轉(zhuǎn)化為對(duì)應(yīng)的LED樣式</p><p>  void delay1(uint z);//延時(shí)1MS</p><p>  void delay(uint z);//延時(shí)165MS,即十六分音符

141、</p><p>  void song();</p><p>  void beep();//蜂鳴器叫一聲</p><p><b>  main()</b></p><p>  {uchar x;</p><p>  count1=0;//流水燈無(wú)花樣</p><p>

142、  count2=1;//唱第一首歌</p><p>  P34=0;//選取矩陣鍵盤(pán)的一列</p><p>  EA=1;//開(kāi)總中斷</p><p>  EX0=1;//開(kāi)外部中斷0</p><p>  IT0=1;//外部中斷0下降沿觸發(fā)方式</p><p>  EX1=1;//開(kāi)外部中斷1</p>

143、<p>  IT1=1;//外部中斷1下降沿觸發(fā)方式</p><p>  TMOD=0x01;//定時(shí)器0工作在方式1</p><p><b>  TH0=0;</b></p><p><b>  TL0=0;</b></p><p><b>  ET0=1;</b>

144、;</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  if(count1!=0)</p><p><b>  {</b></p><p>  switch(count1)</p>

145、<p><b>  {</b></p><p><b>  case 1:</b></p><p>  for(x=0;x<14;x++)</p><p><b>  {</b></p><p><b>  duan=1;</b><

146、;/p><p>  P1=huayang1[x];</p><p><b>  beep();</b></p><p>  delay1(300);</p><p><b>  duan=0;</b></p><p>  if(count1!=1)</p><

147、p><b>  break;</b></p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  for(x=0;x<14;x++)<

148、/p><p><b>  {</b></p><p><b>  duan=1;</b></p><p>  P1=huayang2[x];</p><p><b>  beep();</b></p><p>  delay1(300);</p>

149、<p><b>  duan=0;</b></p><p>  if(count1!=2)</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  break;</b></

150、p><p><b>  case 3:</b></p><p>  for(x=0;x<16;x++)</p><p><b>  {</b></p><p><b>  duan=1;</b></p><p>  P1=huayang3[x];<

151、;/p><p><b>  beep();</b></p><p>  delay1(300);</p><p><b>  duan=0;</b></p><p>  if(count1!=3)</p><p><b>  break;</b></

152、p><p><b>  }</b></p><p><b>  break;</b></p><p><b>  case 4:</b></p><p>  for(x=0;x<8;x++)</p><p><b>  {</b>

153、</p><p><b>  duan=1;</b></p><p>  P1=huayang4[x];</p><p><b>  beep();</b></p><p>  delay1(300);</p><p><b>  duan=0;</b>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論