課程設計---基于atmega16單片機的音樂播放器設計_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  音樂播放器設計</b></p><p>  姓名: </p><p>  學號: </p><p>  班級: </p><p><b>  目錄</b></p><p><

2、b>  1概述1</b></p><p>  1.1 課題意義1</p><p><b>  1.2設計方案1</b></p><p><b>  1.3研究內容1</b></p><p>  2 系統(tǒng)總體方案介紹2</p><p>  2.1 系

3、統(tǒng)組成框圖2</p><p>  2.2 音樂盒的功能結構圖2</p><p><b>  3硬件設計3</b></p><p>  3.1 總體設計框圖3</p><p>  3.2各部分硬件設計及其原理3</p><p>  3.2.1 ATmega16簡介3</p>

4、<p>  3.2.2 LED顯示電路設計與原理3</p><p>  3.2.3 時鐘振蕩電路3</p><p>  3.3 硬件電路圖及功能4</p><p><b>  4軟件設計5</b></p><p>  4.1音調、節(jié)拍以及編碼的確定方法5</p><p>  

5、4.1.1 音調的確定6</p><p>  4.1.2 節(jié)拍的確定6</p><p>  4.1.3 編碼7</p><p>  4.2 軟件程序設計7</p><p>  4.2.1 程序流程圖及相應代碼塊7</p><p>  4.2.2 程序源代碼(見附錄A)10</p><p&

6、gt;<b>  5調試10</b></p><p>  5.1 檢查硬件連接10</p><p>  5.2 檢查軟件系統(tǒng)10</p><p>  5.3 測試結果10</p><p>  5.3.1.總體運行圖10</p><p>  5.3.2.花樣燈11</p>

7、<p><b>  6總結11</b></p><p><b>  7心得體會11</b></p><p><b>  8參考文獻11</b></p><p>  9附錄A 原理圖12</p><p>  10附錄B 程序源代碼及注釋13</p>

8、<p>  基于ATmega16單片機的音樂播放器設計</p><p>  【摘要】本設計是一個基于ATmega16系列單片機的音樂盒,依據單片機技術原理,通過硬件電路制作以及軟件編譯,設計制作出一個多功能多功能音樂盒。該音樂盒主要由按鍵電路、復位電路、時鐘電路以及蜂鳴器組成。使用兩個按鍵控制音樂盒,一個用來切換歌曲,另一個用來切換播放速度,本音樂盒共有兩首歌曲。播放歌曲時,蜂鳴器發(fā)出某個音調,與之

9、對應的LED亮起。本設計利用ICC AVR編程軟件對音樂盒源程序進行編程并調試,配合PROTEUS仿真軟件對硬件進行仿真調試,節(jié)約了設計時間。</p><p>  【關鍵字】音樂盒;ATmega16單片機;ICC AVR; PROTEUS; 音調</p><p><b>  1概述</b></p><p>  本設計是以ATmega16芯片的電

10、路為基礎,外部加上放音設備,以此來實現音樂演奏控制器的硬件電路,通過軟件程序來控制單片機內部的定時器使其演奏出優(yōu)美動聽的音樂。用戶可以按照自己的喜好選擇音樂并將其轉化成機器碼存入單片機的存儲器中。對于不同型號的單片機只需要相應的改變一下地址即可。該軟、硬件系統(tǒng)具有很好的通用性,很高的實際使用價值,為廣大的單片機和音樂愛好者提供了很好的借鑒。</p><p><b>  1.1 課題意義</b>

11、;</p><p>  音樂盒的起源,可追溯至中世紀歐洲文藝復興時期。當時為使教會的鐘塔報時,而將大小的鐘表裝上機械裝置,被稱為“可發(fā)出聲音的組鐘”。音樂盒有著300多年的發(fā)展歷史,是人類文明發(fā)展的歷史見證。</p><p>  傳統(tǒng)的音樂盒多是機械音樂盒,其工作原理是通過齒輪帶動一個帶有鐵釘的鐵桶轉動,鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機械式的音樂盒體積比較大,比較笨重

12、,且發(fā)音單調。水、灰塵等外在因素,容易使內部金屬發(fā)音條變形,從而造成發(fā)音跑調。另外,機械音樂盒放音時為了讓音色穩(wěn)定,必須放平不能動搖,而且價格昂貴,不能實現大批量生產。</p><p>  本文設計的音樂盒,是基于單片機設計制作的電子式音樂盒。與傳統(tǒng)的機械式音樂盒相比更小巧,音質更優(yōu)美且能演奏和弦音樂。電子式音樂盒動力來源是電池,制作工藝簡單,可進行批量生產,所以價格便宜?;趩纹瑱C制作的電子式音樂盒,控制功能強

13、大,可根據需要選歌,使用方便。根據存儲容量的大小,可以盡可能多的存儲歌曲。另外,可以設計彩燈外觀效果,使音樂盒的功能更加豐富。</p><p><b>  1.2設計方案</b></p><p>  設計一個基于ATmega16系列單片機的音樂盒,利用按鍵切換演奏出不同的樂曲。蜂鳴器發(fā)出某個音調,與之相對應的LED亮起。使用兩個按鍵,一個用來切換歌曲,另一個切換八路L

14、ED的變化花樣。</p><p><b>  1.3研究內容</b></p><p>  1)電路有兩種工作模式:演奏音樂模式和花樣燈模式。</p><p>  演奏音樂模式:演奏完整的一首的歌曲,八路LED隨著音樂變化。</p><p>  花樣燈模式:八路LED變化出各種花樣,蜂鳴器隨著發(fā)出“嘀嘀”聲</p&g

15、t;<p>  2)按下按鍵1進入演奏音樂模式,再按切換歌曲,共兩首歌曲。</p><p>  3)按下按鍵2進入花樣燈模式,再按切換LED花樣,共三種花樣。</p><p>  此電路的程序只占用了1K左右,可編制更多的音樂和LED花樣,使系統(tǒng)的功能更加強大。</p><p>  2 系統(tǒng)總體方案介紹</p><p>  2.

16、1 系統(tǒng)組成框圖</p><p>  音樂盒的系統(tǒng)結構以AT89C51單片機位控制核心,加上2個按鍵、時鐘復位電路、蜂鳴器、LED模塊組成。單片機負責接收按鍵的輸入,根據輸入控制音樂播放曲目和音樂花樣燈的顯示樣式以及蜂鳴器發(fā)音。系統(tǒng)組成框圖如圖2.1所示。</p><p>  圖2.1 系統(tǒng)組成框圖</p><p>  2.2 音樂盒的功能結構圖</p>

17、<p>  音樂盒的功能結構如圖2.2所示。Key1負責切換播放歌曲,播放歌曲共2首,分別是揮著翅膀的女孩和寂寞沙洲冷。Key2負責切換LED顯示花樣,顯示花樣共3種,第一種順序顯示,第二種由兩邊向中間移動然后向兩邊移動,第三種循環(huán)顯示。</p><p>  圖2.2 音樂盒功能結構圖</p><p><b>  3硬件設計</b></p>

18、<p>  3.1 總體設計框圖</p><p>  圖3.1總體設計框圖</p><p>  3.2各部分硬件設計及其原理</p><p>  3.2.1 ATmega16簡介</p><p>  圖3.2 ATmega16系列單片機</p><p>  3.2.2 LED顯示電路設計與原理</p

19、><p>  LED顯示電路是由8個LED發(fā)光二極管組成,連接方式為共陽極,LED接到單片機的P1口,若為低電平,可使LED亮起。發(fā)光二極管的亮、滅由內部程序控制,8個LED發(fā)光二極管分別對應不同的音階,所以LED會隨著音階的變化按規(guī)律亮、滅。</p><p>  3.2.3 時鐘振蕩電路</p><p>  ATmega16中有一個用于構成內部振蕩器的高增益反相放大器

20、,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構成并聯振蕩電路。對外接電容C1,C2雖然沒有什么嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF10PF,而如果使用陶瓷振蕩器建議選擇40PF10PF。用戶也可

21、以采用外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到XTAL1端,即內部時鐘發(fā)生器的輸入端,XTAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產品技術條件的要求。振蕩器電路圖如下:</p><p>  圖3.3 單片機內部、外部振蕩電路</p><p>  

22、3.3 硬件電路圖及功能</p><p>  總體硬件電路實現功能如下,如圖3.4所示</p><p>  電路中用PB0、PB1、PB2控制按鍵。</p><p>  PA0~PA7控制LED。</p><p><b>  PD5控制蜂鳴器。</b></p><p>  電路為12MHZ晶振頻率

23、工作,起振電路中C1、C2均為30PF。</p><p>  圖3.4 硬件電路圖</p><p><b>  4軟件設計</b></p><p>  在本程序中設置了兩個標志——count1和count2,分別初始化為1和0。按鍵1使得count1在1和2之間切換,按鍵2使得count2在1~4之間切換。程序檢測count1的值,count1

24、等于1時播放第一首歌曲,等于2時播放第二首。另一方面根據count2的值來切換LED的花樣。count1和count2的值是互斥的,設置count1等于1、2時,count2同時設置為0;設置count2等于1~4時,count1也同時設置為0。</p><p>  4.1音調、節(jié)拍以及編碼的確定方法</p><p>  一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻

25、率,也就是說不能像電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和節(jié)拍表示一個音符唱多長的時間。</p><p>  4.1.1 音調的確定</p><p>  高音DO的頻率(1046Hz)剛好是中音DO的頻率(523Hz)的一倍,中音DO的頻率(523Hz)剛好是低音DO頻率(266 Hz)的一倍;同樣的,高音RE的頻率(1175Hz)剛好是中音R

26、E的頻率(587Hz)的一倍,中音RE的頻率(587Hz)剛好是低音RE頻率(294 Hz)的一倍。</p><p>  1)要產生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間。利用定時器計時這半個周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。</p><p>  2)利用AT

27、mega16的內部定時器使其工作在計數器模式MODE1下,改變計數值TH0及TL0以產生不同頻率的方法。</p><p>  此外結束符和休止符可以分別用代碼00H和FFH來表示,若查表結果為00H,則表示曲子終了;若查表結果為FFH,則產生相應的停頓效果。</p><p>  3)例如頻率為523Hz,其周期T=1/523=1912us,因此只要令計數器計時956us/1us=956,在

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

29、536-N=65536-Fi2Fr</p><p>  C調各音符頻率與計數值T的對照表如表4.1所示。</p><p>  表4.1 C調各音符頻率與計數值T的對照表</p><p>  4.1.2 節(jié)拍的確定</p><p>  一首音樂是由許多不同的音符組成的,而每個音符對應著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數對應的

30、延時,構成音樂。了解音樂的一些基礎知識,我們可知產生不同頻率的音頻脈沖即能產生音樂。對于單片機來說,產生不同頻率的脈沖是非常方便的,利用單片機的定時/計數器來產生這樣的方波頻率信號。因此,需要弄清楚音樂中的音符和對應的頻率,以及單片機定時計數的關系。</p><p>  表4.2節(jié)拍與節(jié)拍碼對照</p><p>  每個音符使用1個字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,圖

31、5.2為節(jié)拍碼的對照。如果1拍為0.4秒,1/4拍實0.1秒,只要設定延遲時間就可求得節(jié)拍的時間。假設1/4拍為1DELAY,則1拍應為4DELAY,以此類推。所以只要求得1/4拍的DELAY時間,其余的節(jié)拍就是它的倍數,如圖5.3為1/4和1/8節(jié)拍的時間設定。</p><p><b>  4.1.3 編碼</b></p><p>  do re mi fa so

32、la si分別編碼為1~7,重音do編為8,重音re編為9,停頓編為0。播放長度以十六分音符為單位(在本程序中為165ms),一拍即四分音符等于4個十六分音符,編為4,其它的播放時間以此類推。音調作為編碼的高4位,而播放時間作為低4位,如此音調和節(jié)拍就構成了一個編碼。以0xff作為曲譜的結束標志。</p><p>  舉例1:音調do,發(fā)音長度為兩拍,即二分音符,將其編碼為0x18。</p><

33、;p>  舉例2:音調re,發(fā)音長度為半拍,即八分音符,將其編碼為0x22</p><p>  4.2 軟件程序設計</p><p>  4.2.1 程序流程圖及相應代碼塊</p><p><b>  主程序流程圖</b></p><p>  圖4.1 主程序流程圖</p><p><

34、b>  主程序代碼:</b></p><p>  void main(void) </p><p><b>  {</b></p><p>  unsigned char i,j;</p><p>  DDRA = 0xFF;//方向輸出</p><p>  PORT

35、A = 0x00;//輸出低電平</p><p>  DDRB = 0x00;//上拉</p><p>  PORTB = 0xFF;</p><p>  DDRC = 0x00;</p><p>  PORTC = 0xFF;</p><p>  DDRD = 0xFF;

36、 //輸出高電平</p><p>  PORTD = 0xFF;</p><p>  while (1) </p><p><b>  {</b></p><p>  keyscan();</p><p>  TCCR1A = 0x40; <

37、/p><p>  TCCR1B = 0x09; //比較匹配時OCA1電平取反,CTC模式,無預分頻</p><p>  if(count1==1) //如果按鍵1按下,播放第一首</p><p><b>  {</b></p><p>  buzzer01(); //7種聲音,由低到高</

38、p><p>  for (i = 0; i < 8; i ++) </p><p><b>  {</b></p><p>  PORTA = (1 << i);</p><p>  if(count3==1)//如果按鍵3按下,播放速度變慢</p><p>  DelayMs(

39、500);</p><p>  DelayMs(100); </p><p><b>  }</b></p><p>  PORTA=0X00; //關閉所有LED</p><p><b>  }</b></p><p>  if(c

40、ount2==1) //如果按鍵2按下,播放第二首</p><p><b>  {</b></p><p>  buzzer02(); //7種聲音,由高到低 </p><p>  for (i = 0; i < 8; i ++) </p><p><b>  {</b><

41、;/p><p>  PORTA = (1 << i);</p><p>  if(count3==1)//如果按鍵3按下,播放速度變慢</p><p>  DelayMs(500);</p><p>  DelayMs(200); </p><p><b>  }</b>

42、</p><p>  PORTA=0X00; //關閉所有LED</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  播放音樂子程序流程圖

43、</p><p>  圖4.2 播放音樂子程序流程圖</p><p>  播放音樂子程序代碼:</p><p>  //7種聲音,由低到高</p><p>  void buzzer01(void)</p><p><b>  {</b></p><p>  for(OCR

44、1A= 1000;OCR1A<1700;OCR1A+=100)</p><p><b>  {</b></p><p>  TCCR1A = 0x40; </p><p>  TCCR1B = 0x09;</p><p>  DelayMs(300); //蜂鳴器鳴叫300mS鐘,定時器

45、一開始工作蜂鳴器即開始鳴叫</p><p>  TCCR1A = 0x00; //定時器停止工作,無頻率產生,蜂鳴器停止鳴叫</p><p><b>  }</b></p><p><b>  }</b></p><p>  //7種聲音,由高到低 </p><p

46、>  void buzzer02(void)</p><p><b>  {</b></p><p>  for(OCR1A= 1600;OCR1A>900;OCR1A-=100)</p><p><b>  {</b></p><p>  TCCR1A = 0x40;

47、</p><p>  TCCR1B = 0x09;</p><p>  DelayMs(300); //蜂鳴器鳴叫300mS鐘,定時器一開始工作蜂鳴器即開始鳴叫</p><p>  TCCR1A = 0x00; //定時器停止工作,無頻率產生,蜂鳴器停止鳴叫</p><p><b>  }</b>

48、;</p><p><b>  }</b></p><p>  4.2.2 程序源代碼(見附錄A)</p><p><b>  5調試</b></p><p>  5.1 檢查硬件連接</p><p>  在PROTUES檢查各硬件管腳是否連接正確,線路邏輯是否正確,例如:

49、晶振電路的連接,復位電路是否設計正確。</p><p>  5.2 檢查軟件系統(tǒng)</p><p>  1.根據系統(tǒng)的原理結構檢查各流程圖是否正確,再根據流程圖來檢查程序是否也正確。</p><p>  2.將所有程序組織起來,在軟件環(huán)境下運行,檢查程序是否正確。通過對硬件和軟件系統(tǒng)的認真檢查,反復測試,如果沒有出現問題即可把源程序編譯成HEX文件裝載到單片機中,對硬

50、件進行仿真。</p><p><b>  5.3 測試結果</b></p><p>  5.3.1.總體運行圖</p><p>  圖5.1 系統(tǒng)總體運行圖</p><p><b>  5.3.2.花樣燈</b></p><p>  由于截圖只能看到靜態(tài)圖,不能看到整體圖樣,

51、下面畫圖說明:</p><p><b>  圖5.2 花樣燈</b></p><p><b>  6 總結</b></p><p>  單片機的設計至今為止已經進入了令人鼓舞的階段,在進行了半年時間的摸索與實驗,使我不僅僅是對于單片機入門軟件與硬件的常用設計與功能,還使我對于一項設計研究的制作過程所需要的詳細步驟和具體的實

52、現方法的力度的掌握。</p><p>  當然在這次寶貴的課程設計活動中,經驗才是對于我們最大的收獲,而且還增強了自身對未知問題以及對知識的深化認識的能力,用受益匪淺這個詞語來概括這次難忘的活動我覺得再合適不過了。但是,光是完成了作品還是不可以自我滿足的,在從一開始的時候就懷著將作品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應用領域這個最終目的下,隨著對單片機這門學科的認識加深,到達了拓展的程度,

53、我想這個目的將在不遠的時期內被實現。</p><p>  總之,這次設計從軟件編寫、調試到軟硬件聯機調試,我傾注了大量的時間和心血。真是曾經為程序的編寫而冥思查找過,曾經為無法找出錯誤而郁悶苦惱過,也曾經為某一功能不能實現而猶豫彷徨過,但最終我成功了。</p><p>  我不僅品味到了結果的喜悅,更明白了過程的彌足珍貴。</p><p><b>  7心

54、得體會</b></p><p>  感謝我的老師,他們嚴謹細致、一絲不茍的作風一直是我工作、學習中的榜樣;他們循循善誘的教導和不拘一格的思路給予我無盡的啟迪。感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠健康快樂是我最大的心愿。感謝我的同學們,是你們和我共同維系著彼此之間親人般的感情,維系著班級那份家的融洽。在論文即將完成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有多

55、少可敬的師長、同學、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!</p><p><b>  8參考文獻</b></p><p>  [1] 李建忠.單片機原理及應用[M],西安電子科技大學出版社,2008.2. </p><p>  [2] 黃智偉.全國大學生電子設計競賽系統(tǒng)設計[M],北京:北京航空航天大學出版社,2006.6.<

56、/p><p>  [3] 李廣弟,朱月秀,王秀山.單片機基礎[M],北京:北京航空航天大學出版社,2001.7.</p><p>  [4] 趙曙光,郭萬有,楊頌華.可編程邏輯器件原理開發(fā)與應用[M],西安:西安電子科技大學, 2000.</p><p>  [5] 譚浩強.C語言程序設計(第二版)[M],北京:清華大學出版社,1991.</p><

57、p><b>  9附錄A 原理圖</b></p><p>  10附錄B 程序源代碼及注釋</p><p>  #include <iom16v.h></p><p>  #include <macros.h></p><p>  #include "buzzer.h"&

58、lt;/p><p>  #include "delay.h"</p><p>  void buzzer01(void) //7種聲音,由低到高</p><p><b>  {</b></p><p>  for(OCR1A= 1000;OCR1A<1700;OCR1A+=100)</p&g

59、t;<p><b>  {</b></p><p>  TCCR1A = 0x40; </p><p>  TCCR1B = 0x09;</p><p>  DelayMs(300); //蜂鳴器鳴叫300mS鐘,定時器一開始工作蜂鳴器即開始鳴叫</p><p>  TCCR1A

60、 = 0x00; //定時器停止工作,無頻率產生,蜂鳴器停止鳴叫</p><p><b>  }</b></p><p><b>  }</b></p><p>  void buzzer02(void)//7種聲音,由高到低 </p><p><b>  {</b

61、></p><p>  for(OCR1A= 1600;OCR1A>900;OCR1A-=100)</p><p><b>  {</b></p><p>  TCCR1A = 0x40; </p><p>  TCCR1B = 0x09;</p><p>  Delay

62、Ms(300); //蜂鳴器鳴叫300mS鐘,定時器一開始工作蜂鳴器即開始鳴叫</p><p>  TCCR1A = 0x00; //定時器停止工作,無頻率產生,蜂鳴器停止鳴叫</p><p><b>  }</b></p><p><b>  }</b></p><p>

63、;  void keyscan()//鍵盤掃描</p><p><b>  {</b></p><p>  unsigned char count1,count2,count3;</p><p>  if(key1==0)//若按鍵1按下,播放第一首曲</p><p><b>  {</b>

64、;</p><p>  DelayMs(10);</p><p>  if(key1==0)</p><p><b>  {</b></p><p><b>  count1=1;</b></p><p><b>  }</b></p>&

65、lt;p>  while(!key1);</p><p><b>  }</b></p><p>  if(key2==0)//若按鍵2按下,播放第二首曲</p><p><b>  {</b></p><p>  DelayMs(10);</p><p>  i

66、f(key2==0)</p><p><b>  {</b></p><p><b>  count1=2;</b></p><p><b>  }</b></p><p>  while(!key2);</p><p><b>  }<

67、/b></p><p>  if(key3==0)//若按鍵3按下,播放速度變慢</p><p><b>  {</b></p><p>  count3=1;</p><p>  while(!key2);</p><p><b>  }</b></p

68、><p><b>  }</b></p><p>  void main(void) //主程序</p><p><b>  {</b></p><p>  unsigned char i,j;</p><p>  DDRA =

69、0xFF;//方向輸出</p><p>  PORTA = 0x00;//輸出低電平</p><p>  DDRB = 0x00;//上拉</p><p>  PORTB = 0xFF;</p><p>  DDRC = 0x00;</p><p>  PORTC = 0

70、xFF;</p><p>  DDRD = 0xFF; //輸出高電平</p><p>  PORTD = 0xFF;</p><p>  while (1) </p><p><b>  {</b></p><p>  keyscan();</

71、p><p>  TCCR1A = 0x40; </p><p>  TCCR1B = 0x09; //比較匹配時OCA1電平取反,CTC模式,無預分頻</p><p>  if(count1==1) //如果按鍵1按下,播放第一首</p><p><b>  {</b></p&g

72、t;<p>  buzzer01(); //7種聲音,由低到高</p><p>  for (i = 0; i < 8; i ++) </p><p><b>  {</b></p><p>  PORTA = (1 << i);</p><p>  if(count3==1)//如

73、果按鍵3按下,播放速度變慢</p><p>  DelayMs(1000);</p><p>  DelayMs(100); </p><p><b>  }</b></p><p>  PORTA=0X00; //關閉所有LED</p><p><

74、b>  }</b></p><p>  if(count2==1) //如果按鍵2按下,播放第二首</p><p><b>  {</b></p><p>  buzzer02(); //7種聲音,由高到低 </p><p>  for (i = 0; i < 8; i ++) &

75、lt;/p><p><b>  {</b></p><p>  PORTA = (1 << i);</p><p>  if(count3==1)//如果按鍵3按下,播放速度變慢</p><p>  DelayMs(1000);</p><p>  DelayMs(200);

76、 </p><p><b>  }</b></p><p>  PORTA=0X00; //關閉所有LED</p><p><b>  }</b></p><p><b>  }</b></p><p><b>

溫馨提示

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

評論

0/150

提交評論