簡易聲光電子琴_第1頁
簡易聲光電子琴_第2頁
簡易聲光電子琴_第3頁
簡易聲光電子琴_第4頁
簡易聲光電子琴_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、福建信息職業(yè)技術(shù)學(xué)院機(jī)電工程系 機(jī)電一體化專業(yè)實務(wù)專題聲光電子琴專題生:機(jī)電1211班 陳藝斌 機(jī)電1211班 劉建森機(jī)電1211班 陳淵杰機(jī)電1211班 吳彬成 指導(dǎo)教師:翁偉二o一五年十月二十八日基于51單片機(jī)簡易電子琴設(shè)計摘 要 隨著社會的發(fā)展進(jìn)步,音樂逐漸成為我們生活中很重要的一部分,有人曾說喜歡音樂的人不會向惡。我們都會抽空欣賞世界名曲,作為對精神的洗禮。本論文設(shè)計一個基于單片機(jī)的簡易電子琴。我們對于電子琴如何實現(xiàn)其功能,如音色選擇、聲音強(qiáng)弱控制、節(jié)拍器、自動放音功能等等也很好奇。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大

2、的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用at89s51單片機(jī)為核心控制元件,設(shè)計一個電子琴。以單片機(jī)作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個按鍵和揚聲器。本系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比較高等,具有一定的實用和參考價值。在電子行業(yè)高速發(fā)展的今天,單片機(jī)已經(jīng)廣泛的應(yīng)用到了各個行業(yè)之中,其中也就包括了我所設(shè)計的娛樂項目,隨意的彈奏音樂并且伴著燈光的閃爍,這就是我所以利用89c51單片機(jī)所設(shè)計的聲光電子琴,聲光電子琴的設(shè)計理念完全是利用89c51單片機(jī)的功能的研究和

3、理解以及延伸拓展。以下我會詳細(xì)介紹電路的設(shè)計和程序的編制過程。 關(guān)鍵詞:89c51單片機(jī) 電路 程序 目 錄目 錄ii一 緒論- 1 -1.1 課題背景- 1 -1.2 設(shè)計依據(jù)- 1 -二 系統(tǒng)方案設(shè)計及主控芯片介紹- 2 -2.1 系統(tǒng)基本設(shè)計思路- 2 -2.2 單元電路方案論證- 2 -2.2.1 控制器模塊- 2 -2.2.2 發(fā)聲模塊- 2 -2.2.3 編程軟件模塊- 3 -2.2.4 最終方案- 3 -2.3 at89c51單片機(jī)- 4 -三 硬件電路設(shè)計- 5 -3.1 最小系統(tǒng)設(shè)計- 5 -3.2 時鐘電路- 5 -3.3 復(fù)位電路- 6 -3.4 按鍵控制模塊- 6 -3

4、.5 播放模塊- 7 -四 程序流程- 7 -4.1 程序流程圖- 7 -4.2 重點程序分析- 8 -4.2.1 音階程序- 8 -結(jié) 論- 8 -參考文獻(xiàn)- 9 -致 謝- 10 -附錄 1 主要源程序- 11 -附錄 2 原理圖- 18 -附錄 3 pcb板圖- 19 -附錄 4 實物圖- 20 -一 緒論1.1 課題背景單片機(jī)因其體積小,功能強(qiáng),價格低廉而得到廣泛應(yīng)用,同時隨著我國經(jīng)濟(jì)的飛速發(fā)展,單片機(jī)在越來越多的領(lǐng)域得到了廣泛的應(yīng)用,現(xiàn)在國內(nèi)的單片機(jī)多用于電話,玩具和lcd等產(chǎn)品,預(yù)計在未來,利用單片機(jī)發(fā)明的產(chǎn)品會越來越多,作為一名應(yīng)用電子的應(yīng)屆畢業(yè)生來說,理解和掌握單片機(jī)的工作原理

5、和使用技巧是必備的技能,基于這種考慮,我這次畢業(yè)設(shè)計的題目為簡易電子琴。我所設(shè)計的該產(chǎn)品時根據(jù)自身的興趣和愛好所設(shè)計的,通過對傳統(tǒng)電子琴的認(rèn)識和了解,知道了傳統(tǒng)的電子琴是利用單片機(jī)的匯編語言的編程來實現(xiàn)的,而且功能單一,只能彈奏而不能隨意的播放音樂,我所設(shè)計的產(chǎn)品是基于對89c51單片機(jī)的深入理解對傳統(tǒng)電子琴的小小的改革和創(chuàng)新,并且以簡單的c語言程序替代了復(fù)雜的匯編語言程序,聲和光是新電子琴的主題,我相信在聲光電子琴的不斷革新達(dá)到人們所需娛樂設(shè)備的標(biāo)準(zhǔn)的時候,電子琴會被投入到批量生產(chǎn)之中。單片微型計算機(jī)室大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬于第四代電子計算機(jī)它具有高性能、高速度、體積小、價格低廉、

6、穩(wěn)定可靠、應(yīng)用廣泛的特點。他的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項重大課題。1.2 設(shè)計依據(jù)電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用at89s52單片機(jī)為核心控制元件,設(shè)計一個電子琴。以單片機(jī)作為主控核心,與鍵盤揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有8個按鍵,和一個復(fù)位按鍵。 主要對使用單片機(jī)設(shè)計簡易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴硬件的組成。利用單片機(jī)產(chǎn)生

7、不同頻率來獲得我們要求的音階,最終可隨意彈奏要表達(dá)的音符。并且分別從原理圖,主要芯片,個模塊原理及各莫奎的程序的調(diào)試來詳細(xì)闡述。 一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,構(gòu)成我們想演奏的那首曲目。當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時/計數(shù)器t0來產(chǎn)生這樣的方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系編寫正確就可以達(dá)到我們想要的曲目。第二章 系統(tǒng)方案設(shè)計及主控芯片介紹2.1 系統(tǒng)基本設(shè)計思路此設(shè)計是在led小燈上顯示燈光的變換,揚聲器播放彈奏的曲子。電路包括:鍵盤、單片機(jī)及l(fā)ed顯示電路,聲音電路。2

8、.1.1 各部分說明(1)鍵盤用于彈奏音樂,八個按鍵8種音符。(2)單片機(jī)通過輸出各種電脈沖信號驅(qū)動控制各部分正常工作。(3)單片機(jī)發(fā)送的信號分別經(jīng)過led顯示電路通過譯碼最終在led小燈和聲音電路通過揚聲器顯示出來。2.1.1系統(tǒng)工作過程單片機(jī)要產(chǎn)生音頻脈沖,主要處理過程是在cpu中完成的,cpu會隨時對音符輸入信號進(jìn)行讀取數(shù)據(jù)的操作。在讀取了相應(yīng)的寄存器的值后,cpu將讀取的值進(jìn)行處理,再通過i/o口把音樂通過揚聲器播放出來。2.2 單元電路方案論證根據(jù)設(shè)計要求,本系統(tǒng)主要由控制器模塊、顯示模塊和輸入模塊構(gòu)成。為較好的實現(xiàn)各模塊的功能,我們分別設(shè)計了以下幾種方案并分別進(jìn)行了論證。2.2.1

9、 控制器模塊方案1:采用凌陽系列單片機(jī)為系統(tǒng)的控制器凌陽系列單片機(jī)可以實現(xiàn)各種復(fù)雜的邏輯功能,模塊大,密度高,它將所有器件集成在一塊芯片上,減少了體積,提高了穩(wěn)定性。凌陽系列單片機(jī)提高了系統(tǒng)的處理速度,適合作為大規(guī)模實時系統(tǒng)的控制核心。方案2:采用51系列作為系統(tǒng)控制器單片機(jī)算術(shù)運算功能強(qiáng),軟件編程靈活、自由度大,可用軟件編程實現(xiàn)各種算法和邏輯控制。由于其功耗低、體積較小、技術(shù)成熟和成本低等優(yōu)點,在各個領(lǐng)域應(yīng)用廣泛。而且抗干擾性能好。因51單片機(jī)價格比凌陽系列低得多,且本設(shè)計不需要很高的處理速度,從經(jīng)濟(jì)和方便使用角度考慮,本設(shè)計選擇了方案2。2.2.2 發(fā)聲模塊發(fā)聲模塊是本設(shè)計的最主要的部分。

10、基本方案:發(fā)生電路是這次設(shè)計電路中最重要的組成部分,他承載著把單片機(jī)所產(chǎn)生的聲音信號放大并輸出的重要作用,而我的設(shè)計中的發(fā)聲電路主要是由兩個cs9013組成。cs9013是一種小功率的放大管,屬于型號三極管,而對三極管引腳的判斷有以下方法。1.判斷三極管的基極。對于型號的三極管,用黑表筆接某一個電極,紅表筆分別接另外兩個電極,若測量電阻值兩個都小,調(diào)換表筆后被測電阻值都較大,則可判斷第一次測量中黑表筆所接的是基極;如果測量值一大一小,相差很大,則第一次測量中黑表筆接的不是基極,應(yīng)該更換其他電極重測。2.測量三極管發(fā)射極e和集電極c。三極管基極確定后,通過交換表筆,兩次測量e,c極間的電阻,如果

11、兩次測量結(jié)果不相等,其中測得電阻值較小的一次為紅表筆的是e極黑表筆接的是c極。對于型號的三極管,方法與的相似,只是紅黑表筆的作用相反,在測量e,c極間電阻時要注意,由于三極管的v(br)ceo很小,很容易將發(fā)射結(jié)擊穿。當(dāng)我們?nèi)龢O管的管腳判斷結(jié)束以后,我們就可以用兩個三極管構(gòu)成一個達(dá)林頓結(jié)構(gòu)。首先當(dāng)單片機(jī)1.0口輸出一個高電平,由兩個三極管構(gòu)成的達(dá)林頓成能導(dǎo)通,導(dǎo)通后又能對電流又一定的放大作用,這樣傳到揚聲器時信號能讓我們聽的更清楚。2.2.3 編程軟件模塊方案1:采用匯編語言編程匯編語言指令是用一些具有相應(yīng)含義的助憶符來表達(dá)的,所以,它要比機(jī)器語言容易掌握和運用,但另一方面,它要直接使用cpu

12、的資源,相對高級程序設(shè)計語言來說,它又顯得難掌握。方案2:采用語言編程c語言與其他高級語言相比,具有運算符的豐富性、語法表述的靈活性、對軟硬件操作的兼容性、輸入輸出方式的新穎性等主要特征.深入分析研究這些特征,可以加深對c語言的認(rèn)識;正確應(yīng)用這些特征,可以靈活高效地解決各種實際問題.因為我在大學(xué)期間對匯編語言沒有深入的了解,而且在編程時一直用c語言,所以我選擇了方案2。2.2.4 最終方案經(jīng)過反復(fù)論證,最終確定了如下方案:(1)采用stc89c51單片機(jī)作為主控制器。(2)采用達(dá)林頓效應(yīng)使音樂信號放大(3)采用語言編程2.3 at89c51單片機(jī)at89s51是一個低功耗,高性能cmos 8位

13、單片機(jī),片內(nèi)含4k bytes isp(in-system programmable)的可反復(fù)擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs -51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲單元,功能強(qiáng)大的微型計算機(jī)的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。 at89s51具有如下特點:40個引腳,4k bytes flash片內(nèi)程序存儲器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個1

14、6位可編程定時計數(shù)器,2個 全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時鐘振蕩器。 at89s51引腳圖 此外,at89s51設(shè)計和配置了振蕩頻率可為0hz并可通過軟件設(shè)置省電模式。空閑模式下,cpu暫停工作,而ram定時計數(shù)器,串行口,外中斷 系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有pdip、tqfp和plcc等三 種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性: 兼容mcs-51指令系統(tǒng) 4k可反復(fù)擦寫(1000次)isp flash rom 32個雙向i/o口 4.5-5.5v工作電壓 2個16位可編程定時/計數(shù)器

15、 時鐘頻率0-33mhz 全雙工uart串行中斷口線 128x8bit內(nèi)部ram 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密位 看門狗(wdt)電路 軟件設(shè)置空閑和省電功能 靈活的isp字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針stc89c51是一種帶8k字節(jié)可編程可檫除只讀存儲器的低電壓、高性能comos8位微處理器,俗稱單片機(jī)。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。單片機(jī)引腳圖如圖所示圖1 stc89c51單片機(jī)引腳圖第三章 硬件電路設(shè)計3.1 最小系統(tǒng)設(shè)計最小系統(tǒng)包括單片機(jī)及其所需的必要的電源、時鐘、復(fù)位等部件,能

16、使單片機(jī)始終處于正常的運行狀態(tài)。電源、時鐘等電路是使單片機(jī)能運行的必備條件,可以將最小系統(tǒng)作為應(yīng)用系統(tǒng)的核心部分,通過對其進(jìn)行存儲器擴(kuò)展、a/d擴(kuò)展等,使單片機(jī)完成較復(fù)雜的功能。3.2 時鐘電路stc89c51內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳rxd和txd分別是此放大器的輸入端和輸出端。時鐘可以由內(nèi)部方式產(chǎn)生或外部方式產(chǎn)生。內(nèi)部時鐘在此不做詳細(xì)介紹。外部方式的時鐘電路如圖3所示,rxd接地,txd接外部振蕩器。對外部振蕩信號無特殊要求,只要求保證脈沖寬度,一般采用頻率在12mhz左右的方波信號。圖2 89c51內(nèi)部時鐘電路3.3 復(fù)位電路當(dāng)在89c51單片機(jī)的rst引腳引入高電

17、平并保持2個機(jī)器周期時,單片機(jī)內(nèi)部就執(zhí)行復(fù)位操作(若該引腳持續(xù)保持高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài))。復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的上電自動復(fù)位電路中上電自動復(fù)位是通過外部復(fù)位電路的電容充放電來實現(xiàn)的。只要vcc的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位。除了上電復(fù)位外,有時還需要按鍵手動復(fù)位。本設(shè)計就是用的按鍵手動復(fù)位。按鍵手動復(fù)位有電平方式和脈沖方式兩種。其中電平復(fù)位是通過rst(9)端與電源vcc接通而實現(xiàn)的。按鍵手動復(fù)位電路見圖4。時鐘頻率用11.0592mhz時c取10uf,r取10k。圖3 89c51 復(fù)位電路3.4 按鍵控制模塊電子琴設(shè)有11個按鍵,

18、其中8個作為音符輸入。8個按鍵分別代表8個音符,包括中音段的全部音符,通過軟硬件設(shè)計。另外3個分別是控制復(fù)位、流水燈的轉(zhuǎn)換、自動播放音樂。如下圖:3.5 播放模塊 播放模塊是由2個三極管構(gòu)成,三級管將信號放大,然后傳輸?shù)嚼?,喇叭它幾乎不存在噪聲,音響效果較好。下圖是該模塊電路: 第四章 程序流程4.1 程序流程圖該設(shè)計方案是通過按鍵隨意按下所要表達(dá)的音符,作為電平送給主體電路,中央處理器通過識別,解碼輸出音符,在揚聲器中發(fā)出有效的聲音。通過這樣可以不斷的彈奏我們想要的音符或者是音調(diào),電路由復(fù)位電路,指示燈電路,和功能按鍵電路組成,通過功能鍵可以選擇播放音樂或者彈奏音節(jié),硬件主要有下面幾個部分

19、組成。鍵盤輸入at89s51單片機(jī)音頻放大喇叭發(fā)出聲音功 能 選 擇(彈奏/播放)4.2 重點程序分析4.2.1 音階程序uchar code yinfu=0xfb,0xe9, /do 0xfc,0x5c, /re 0xfc,0xc1, /mi 0xfc,0xef, /fa 0xfd,0x45, /so 0xfd,0x92, /la 0xfd,0xd0, /si 0xfd,0xee, /do# 0x00,0x00, /間隔4.2.2 結(jié) 論通過對自己在大學(xué)兩年時間里所學(xué)的知識的回顧,并充分發(fā)揮對所學(xué)知識的理解和對畢業(yè)設(shè)計的思考及書面表達(dá)能力,最終完成了本設(shè)計。這為自己今后進(jìn)一步深化學(xué)習(xí),積累了

20、一定寶貴的經(jīng)驗。撰寫論文的過程也是專業(yè)知識的學(xué)習(xí)過程,它使我運用已有的專業(yè)基礎(chǔ)知識,對其進(jìn)行設(shè)計,分析和解決一個理論問題或?qū)嶋H問題,把知識轉(zhuǎn)化為能力的實際訓(xùn)練。培養(yǎng)了我運用所學(xué)知識解決實際問題的能力。將以調(diào)試好的程序燒進(jìn)at89s51芯片,再放到電路板中,按下按鍵就可以發(fā)出相應(yīng)的音。本次試驗通過制作電子琴,將幾個模塊換呢好的融合起來,對使用單片機(jī)設(shè)計簡易電子琴進(jìn)行了分析,并接受了基于單片機(jī)電子期硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。說明一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要

21、的音樂了,于是我們可以利用單片機(jī)的定時/計數(shù)器t0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時同股溝顯示模塊來確知自己所彈的音符。 通過這次實訓(xùn)設(shè)計,我感覺收獲了很多:通過這次的單片機(jī)實訓(xùn),我加深了對單片機(jī)系列知識及其系統(tǒng)的認(rèn)識。這個設(shè)計題目并不怎么新穎,但從中體現(xiàn)到了個系統(tǒng)開發(fā)設(shè)計的過程,足以讓我們受益匪淺。 在這次的實訓(xùn)中,讓我更進(jìn)一步的提高了動手能力,也重新復(fù)習(xí)了一次單片機(jī)的程序編程能力,在這期間,讓我更加深刻了體會到了匯編程序的思路,加強(qiáng)了對編程能力的理解和對相應(yīng)資料的查閱。參考文獻(xiàn)1 白熾貴編著.單片機(jī)c語言

22、案例教程.北京:電子工業(yè)出版社,2011.12 周良權(quán)主編.模擬電子技術(shù)基礎(chǔ).北京:高等教育出版社,2005.6 3 卜錫濱主編.數(shù)字電子技術(shù).北京:中國水利水電出版社,2011.1 4 李華.單片機(jī)語言編程m.北京:北京航空航天大學(xué)出版社,2005.8.15 徐愛鈞單片機(jī)原理實用教程基于protrues虛擬仿真m.北京:電子工業(yè)出版社.2009.1 6 李萍at89s51單片機(jī)、原理、開發(fā)與應(yīng)用實例m.北京:中國電力出版社2008.77 張曄,王玉民等單片機(jī)應(yīng)用技術(shù)m.北京:高等教育出版社2006.38 付家才等單片機(jī)控制工程實踐技術(shù)m.北京:化學(xué)工業(yè)出版社2004.59 及力主編.電子ca

23、d基于protel 99 se.北京: 北京郵電大學(xué)出版社,200810徐紅升主編.電工基礎(chǔ)及實訓(xùn).北京:清華大學(xué)出版社,2009.5致 謝三年的讀書生活在這個季節(jié)即將劃上一個句號,而于我的人生卻只是一個逗號,我將面對又一次征程的開始。三年的求學(xué)生涯在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜。 偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻(xiàn)給一位平凡的人,我的導(dǎo)師。我不是您最出色的學(xué)生,而您卻是我最尊敬的老師。您治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,

24、使我不僅接受了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會了基本的思考方式,從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無路,柳暗花明又一村”。感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠(yuǎn)健康快樂是我最大的心愿。在論文即將完成之際,我的心情無法平靜,從開始進(jìn)入課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯謝意!同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境。最后再一次感謝所有在畢業(yè)設(shè)計中曾經(jīng)幫助過我的良師益友和同學(xué),以及在設(shè)計中被我引用或參考的論著的作者。附錄 1 主要源程序sfr p4=

25、0xe8;/定義p4組i0口#include#define uint unsigned int#define uchar unsigned charsbit speaker=p14;/喇叭接30腳sbit key1=p10;/流水燈按鍵(暫時)sbit key2=p11;/播放音樂按鍵(暫定)uchar a,b,num1,s1num,n1,n2;char num;/定義num為可以負(fù)數(shù)uchar code yinfu=0xfb,0xe9, /do 0xfc,0x5c, /re 0xfc,0xc1, /mi 0xfc,0xef, /fa 0xfd,0x45, /so 0xfd,0x92, /la

26、 0xfd,0xd0, /si 0xfd,0xee, /do# 0x00,0x00, /間隔;uchar code shengri_tone= 1,0,1,2,1,4,3,0, /生日快樂音調(diào) 1,0,1,2,1,5,4,0, 1,0,1,8,6,4,3,2,0, 7,0,7,6,4,5,4,0 /0代表不發(fā)聲,即停頓;數(shù)字即為音調(diào); uchar code shengri_beat= 24,1,24,48,48,48,72,5,/節(jié)拍 24,1,24,48,48,48,72,5, 24,1,24,48,48,48,48,72,5, 24,1,24,48,48,48,72,5 /節(jié)拍,即tone

27、表各音調(diào)的延時;uchar code ledtable=0x7f,0xbf,0xdf,0xef, /取反0xf7,0xfb,0xfd,0xfe;/p0組口的發(fā)光二極管代碼(焊接過程可能會相反,具體更改)uchar code ledtable2=0x7f,0xbf,0xdf,0xef, /取反0xf7,0xfb,0xfd,0xfe;/p2組口發(fā)光二極管代碼,相反!void check_key();/改為p3組為按鍵void keyscan();void turn();/順時針流動void back();void qianhou();void dangshuang();void delay(uin

28、t z);/延時函數(shù)聲明void delay1(void);/聲明第二個延時函數(shù)void play1(void);/播放生日快樂void main()s1num=0;/流水燈種類標(biāo)志key1=1;key2=1;tmod=0x01;th0=a;tl0=b;et0=1;/打開定時器,但是未允許中斷tr0=1;while(1)check_key();keyscan();void time0() interrupt 1th0=a;tl0=b;speaker=speaker;void check_key()p3=0xff;/先賦給p2組口高電平switch(p3)/按下一個鍵相應(yīng)4個燈亮case 0xf

29、e:p0=0xee;p2=0x77;a=0xfb;b=0xe9;ea=1;break;/p0,p2組為發(fā)光二極管組case 0xfd:p0=0xdd;p2=0xbb;a=0xfc;b=0x5c;ea=1;break;/注意:ea不能改為tr0case 0xfb:p0=0xbb;p2=0xdd;a=0xfc;b=0xc1;ea=1;break;case 0xf7:p0=0x77;p2=0xee;a=0xfc;b=0xef;ea=1;break;case 0xef:p0=0xee;p2=0x77;a=0xfd;b=0x45;ea=1;break;case 0xdf:p0=0xdd;p2=0xbb;a=0xfd;b=0x92;ea=1;break;case 0xbf:p0=0xbb

溫馨提示

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

評論

0/150

提交評論