【正文】
3。 7 仿真 8 5 設(shè)計(jì)結(jié)果與分析 9 6 總結(jié) 9 參考文獻(xiàn) 9 附錄一 元器件清單 10 附錄二 電路圖 10 附錄三 程序代碼 11 基于 AT89C51 單片機(jī)的音樂盒設(shè)計(jì) 倪方勝,電子信息系 摘 要 : 為了實(shí)現(xiàn)單片機(jī)控制音樂播放,此次課程設(shè)計(jì)做出了嘗試,即電子音樂盒的設(shè)計(jì)。本設(shè)計(jì)采用了揚(yáng)聲器發(fā)聲來實(shí)現(xiàn)歌曲的播放,能保持基本音調(diào)不變,流暢播放出歌曲?,F(xiàn)選用 AT89C51 單片機(jī)。 用 PROTEUS 單片機(jī)仿真軟件仿真。 利用 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂曲。 通過單片機(jī) P1 口控制,實(shí)現(xiàn)功能鍵盤控制;功能鍵盤采用按鍵開關(guān),通過單片機(jī) P2口控制,實(shí)現(xiàn)歌曲播放順序的調(diào)換和暫停播放功能;揚(yáng)聲器由單片機(jī)的 P3 口控制 ,實(shí)現(xiàn)歌曲播放; 主要工作過程是通過按下功能鍵實(shí)現(xiàn)上一首和下一首及暫停播放,同時(shí)有液晶屏顯示當(dāng)前播放歌曲的序號(hào),揚(yáng)聲器播放出音樂。 關(guān)鍵詞 : AT89C51 單片機(jī) 。方波 。 音調(diào) The design of musicbox base on AT89C51 Nifangsheng, Department Of Electronic Information Abstract: In order to achieve singlechip microputer to control music player, I made the project to try, that is, the design of electronic music box. I used to achieve audible speaker songs to play, to maintain the same basic tone,smooth playback of songs. Singlechip AT89C51 is optional. with simulation software PROTEUS singlechip simulation. The use of I / O I have a certain frequency square wave to drive the speaker, the issue of different tones, which play music. through the P1 port singlechip control functions。 functions using the keyboard button switches, singlechip P2 through population control, to achieve the change the order of songs to play and pause functions。 buzz P3 is controlled by MCU port control, the realization of music playback. The main process is to achieve by pressing function keys on the first one and the next, and suspension of play, while the LCD the serial number of the currently playing song, the music player speaker. Key words: AT89C51 microcontroller。 square。 tone 一 緒論 歷史背景 音樂盒的起源,可追溯至中世紀(jì)歐洲文藝復(fù)興時(shí)期。當(dāng)時(shí)為使教會(huì)的的鐘塔報(bào)時(shí),而將大小的鐘表上機(jī)械裝置,被稱為“可發(fā)出聲音的組鐘”。 機(jī)械音樂盒的發(fā)展史,可追溯至 14世紀(jì)初期,所發(fā)明掛在教堂鐘樓上的排鐘 ,這種用發(fā)條裝置來演奏的樂器,能發(fā)出清脆如水晶般的樂聲,一度風(fēng)靡荷蘭,比利時(shí)和法國(guó)北部。 1811 年以來,瑞士曾經(jīng)是這項(xiàng)技藝的中心,它和瑞士鐘表工業(yè)一樣,兩者相輔相成,一段時(shí)間名領(lǐng)風(fēng)騷,稱霸全球。 音樂盒 300多年的產(chǎn)品發(fā)展,同時(shí)也是人類文明 300 多年發(fā) 展的歷史鑒證。每個(gè)不同時(shí)期的音樂盒造型,都能折射出當(dāng)時(shí)不同的社會(huì)心態(tài)和文明發(fā)展現(xiàn)狀,它也成了時(shí)代的一面鏡子。 現(xiàn)今,音樂盒的制造,延襲傳統(tǒng),結(jié)合現(xiàn)代,正日益成為人們或?yàn)榱说洳匾欢螝q月,或?yàn)榱耸詹匾环萸楦校虺鲇趯?duì)音樂的追求,或?qū)τ谂f時(shí)代的懷念,或?yàn)榱司邮业拿阑鹊?,而得到眾多品位人士的追求? 目的意義 為了更好地熟悉和掌握單片機(jī)的基本功能和編程,我們以 AT89C51 為基 礎(chǔ)設(shè)計(jì) 電子音樂盒 。 AT89C51 單片機(jī)電子音樂盒集成多個(gè)硬件資源模塊,每個(gè)模塊各自可以成為獨(dú)立的單元,也可以相互組合,因此,可以為不同階層的單片機(jī)愛好者所用。同時(shí),電子音樂盒的設(shè)計(jì)具有很重要的現(xiàn)實(shí)意義。我們根據(jù)學(xué)習(xí)和實(shí)踐的需要,進(jìn)行了電子音樂盒功能設(shè)計(jì)。我們?cè)谥谱麟娮右魳泛械倪^程中會(huì)學(xué)習(xí)到很多的東西,能夠最大限度的了解我們自制的這一個(gè)單片機(jī)電子音樂盒,這樣以后調(diào)試程序的時(shí)候便得心應(yīng)手,效率要提高很多。 主要問題 制定音樂盒控制系統(tǒng)需要完成功能,并根據(jù)此來制定設(shè)計(jì)方案;根據(jù)設(shè)計(jì)方案來進(jìn)行硬件電路圖的設(shè) 計(jì)和軟件模塊的開發(fā);通過仿真調(diào)用后再來反復(fù)修改程序,最終達(dá)到預(yù)期功能。 技術(shù)指標(biāo) 1. 系統(tǒng)要有一定穩(wěn)定性,不易受外界干擾的影響。 2. 系統(tǒng)采用外部或內(nèi)部 +5V 供電。 3. 實(shí)現(xiàn)音樂盒播放音樂的控制。 4. LCD 來顯示歌曲序號(hào)的功能。 、下一首、暫停 /播放功能。 二 設(shè)計(jì)方案簡(jiǎn)述 設(shè)計(jì)功能要求 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂曲(最少三首樂曲,每首不少于 30秒) 2.采用 LCD 顯示信息 3.開 機(jī)時(shí)有英文歡迎提示字符,播放時(shí)顯示歌曲序號(hào)(或名稱) 4.可通過功能鍵選擇樂曲,暫停,播放。 5.選作內(nèi)容:顯示樂曲播放時(shí)間或剩余時(shí)間 總體設(shè)計(jì)原理 通過單片機(jī)的定時(shí)器產(chǎn)生一定長(zhǎng)度的方波,方波脈沖驅(qū)動(dòng)揚(yáng)聲器發(fā)聲。要產(chǎn)生音頻脈沖,只需算出某一音頻的周期( 1/音頻),然后取半周期的時(shí)間定時(shí)。利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間 ,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的 I/O 反相 ,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì) I/O 口反相 ,就可在 I/O 腳上得到此頻率的脈沖。如中音 D0,頻率為 523HZ,其周期 T=1/523=1912 微秒,因此只要令計(jì)數(shù)器定時(shí) 1912/2=956,在每計(jì)數(shù) 956 次時(shí)將 I/O 口反相 ,就可得到中音D0(523HZ)。 當(dāng)鍵盤有鍵按下時(shí),判斷鍵值,啟動(dòng)計(jì)數(shù)器 T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂曲。同時(shí)啟動(dòng)定時(shí)器 T1,在 LCD 顯示歌曲號(hào)。 通過單片機(jī) P1 口控制 ,實(shí)現(xiàn)功能鍵盤的功能;功能鍵盤采用按鍵開關(guān),通過單片機(jī) P2口控制,實(shí)現(xiàn)歌曲播放順序的調(diào)換和暫停播放功能;揚(yáng)聲器由單片機(jī)的 P3口控制,實(shí)現(xiàn)歌曲播放。 通過按下功能鍵實(shí)現(xiàn)上一首和下一首及暫停播放,同時(shí)有 LCD 顯示當(dāng)前播放歌曲的序號(hào),揚(yáng)聲器播放 出音樂。 總體設(shè)計(jì)框圖 單片機(jī)接 +5V電源供電,晶振電路產(chǎn)生單片機(jī)所需時(shí)鐘信號(hào),通過功能鍵產(chǎn)生外部中斷,控制音樂盒的上一首和下一首曲目,再由 I/O接口輸出控制揚(yáng)聲器發(fā)聲, LCD 顯示。另外,復(fù)位電路在于營(yíng)造一個(gè)程序運(yùn)行的初始狀態(tài),在程序出錯(cuò)時(shí),重新啟動(dòng)單片機(jī)工作。 編程設(shè)置好定時(shí)時(shí)間,通過編程器寫入 AT89C51 單片機(jī)系統(tǒng)。由 AT89C51單片機(jī)的定時(shí)器每秒鐘通過 口控制 LCD 顯示,復(fù)位信號(hào)由按鈕輸入,每按下一次,系統(tǒng)恢復(fù)原設(shè)定 狀態(tài)。 復(fù)位電路 AT89C51 揚(yáng)聲器 LCD 顯示 功能鍵 電源 晶振部分 三 詳細(xì)設(shè)計(jì) 芯片的選擇和介紹 AT89C51 有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) Flash 閃速存儲(chǔ)器, 256 字節(jié)內(nèi)部 RAM, 32個(gè) I/O 口線, 3個(gè) 16位定時(shí) /計(jì)數(shù)器,一個(gè) 6向量?jī)杉?jí)終端結(jié)構(gòu),一個(gè)全雙工串行通信口,片內(nèi)振蕩器及時(shí)鐘電路。同時(shí), AT89C51 可降至 0Hz 的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)點(diǎn)工作模式??臻e方式停止 CPU 的工作,但允許 RAM,定時(shí) /計(jì)數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存 RAM 中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。 揚(yáng)聲器部分 揚(yáng)聲器是一種把電信號(hào)轉(zhuǎn)換成聲音信號(hào)的電聲器件。確切地說,揚(yáng)聲器的工作實(shí)際上是把一定范圍內(nèi)的音頻電功率訊號(hào)通過換能方式轉(zhuǎn)變?yōu)槭д嫘〔⒕哂凶銐蚵晧杭?jí)的可聽聲音。 我們知道,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來控制單處機(jī)某個(gè)口線的“高”電平或低電平,則在該口上就能產(chǎn)生一定頻率的矩形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào)。 顯示部分 本設(shè)計(jì)方案采用液晶顯示屏 1602 作為顯示器。選用單片機(jī)的 P0口作為液晶數(shù)據(jù)輸入口, 、 分別接液晶的數(shù)據(jù)和時(shí)鐘引腳。用液晶作為顯示器,極大地簡(jiǎn)化了硬件電路,同時(shí)增強(qiáng)了系統(tǒng)的顯示能力。 流程圖 四 仿真及調(diào)試 調(diào)試 ( 1)按照設(shè)計(jì)的硬件電路在 PROTUSE