【正文】
internal timer to produce different frequency Square wave to drive the horn sounds of different tones of music, then use the delay to control the length of time. The music Transformationed into the timing constants corresponding so that the sound equipment can play Melodious music.The music box is mainly posed of keypad circuit, reset circuit, clock circuit and a buzzer. Two buttons are used to control the music box, one to switch songs, another is used to switch the 8 LED pattern, the music box has two songs, a total of 3 kinds of pattern light pattern. While the music is playing, the buzzer sounded a tone, and the corresponding LED lights up. The design of programming the music box and debug source code using KEIL programming software, and to save the design time the PROTEUS simulation software is used to simulate the hardware debugging.The system uses C language for software design. Firstly, in the text describes the working principle of the system hardware, and attached to the system block diagram of hardware design to discusse the function and working process of the graduation design and the application of the hardware interface technology and the interface module. Secondly, expound the procedures and processes to achieve process. The main idea of this writing is a bination of software and hardware, on the base of hardware, write to each function module.Key wordsSinglechip。但是自從電子合成器問世以來,電子音樂就又進(jìn)入了一個(gè)更高的階段。電腦音樂也許不會(huì)成為今后音樂的主流,但它在整個(gè)人類音樂史上的地位已經(jīng)不容置疑地確立了,相信它會(huì)越來越深入地浸透到音樂創(chuàng)作和欣賞的領(lǐng)域中,并且將在一定程度上影響人們對(duì)音樂的理解和詮釋。音樂盒有著300多年的發(fā)展歷史,是人類文明發(fā)展的歷史見證。基于單片機(jī)制作的電子式音樂盒,控制功能強(qiáng)大,可根據(jù)需要選歌,使用方便。 音樂發(fā)生器的擴(kuò)展熟練的運(yùn)用89C51單片機(jī)定時(shí)器產(chǎn)生固定頻率的方波信號(hào),推動(dòng)喇叭發(fā)出旋律,按下單鍵可以演奏預(yù)先設(shè)置的歌曲旋律,最重要的是自己還可以通過程序設(shè)計(jì)輸入自己喜歡的歌曲來演奏中,本設(shè)計(jì)采用簡(jiǎn)易音階編碼直覺式輸入法方便設(shè)計(jì)音樂旋律,可以擴(kuò)充其功能如下:;;;;設(shè)計(jì)一個(gè)基于STC89C51系列單片機(jī)的音樂盒,利用按鍵切換演奏出不同的樂曲。2 51單片機(jī)介紹 Intel 51系列單片機(jī) 8051與80C51單片機(jī)的主要差別就在于芯片的制造工藝上?! 、?ALE功能:用來鎖存P0口送出的低8位地址。 ② Vpp功能:片內(nèi)有EPROM芯片,在EPROM編程期間,施加編程電源Vpp。在51單片機(jī)的32根I/O口線中都是用一個(gè)D觸發(fā)器來構(gòu)成鎖存器的。輸出過程:當(dāng)寫鎖存器信號(hào)CP有效,數(shù)據(jù)總線的信號(hào)→鎖存器的輸入端D→鎖存器的反向輸出Q非端→多路開關(guān)→V2管的柵極→。輸入過程:讀芯片引腳上的數(shù)據(jù)時(shí),讀引腳緩沖器打開,通過內(nèi)部數(shù)據(jù)總線輸入。如外接引腳信號(hào)為低電平,從引腳上讀入的信號(hào)就與從鎖存器讀入的信號(hào)不同。由內(nèi)部總線輸出的數(shù)據(jù)經(jīng)鎖存器反相和場(chǎng)效應(yīng)管反相后,鎖存在端口線上,所以,P1端口是具有輸出鎖存的靜態(tài)口。此外,隨輸入指令的不同,P1端口也有讀鎖存器與讀引腳之分。 可見,P2端口的主要特點(diǎn)包括: 1)不能輸出靜態(tài)的數(shù)據(jù); 2)自身輸出外部程序存儲(chǔ)器的高8位地址; 3)執(zhí)行MOVX指令時(shí),還輸出外部RAM的高位地址,故稱P2端口為動(dòng)態(tài)地址端口。當(dāng)處于第一功能時(shí),第二輸出功能線為1,此時(shí),內(nèi)部總線信號(hào)經(jīng)鎖存器和場(chǎng)效應(yīng)管輸入/輸出,其作用與P1端口作用相同,也是靜態(tài)準(zhǔn)雙向I/O端口。在這種情況下,不宜對(duì)P3端口作字節(jié)操作,需采用位操作的形式。Key1負(fù)責(zé)切換播放歌曲,播放歌曲共2首,分別是揮著翅膀的女孩和寂寞沙洲冷。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。4 硬件設(shè)計(jì) 總體設(shè)計(jì)框圖 STC89C51簡(jiǎn)介STC89C51是一種帶4K字節(jié)閃存的低電壓高性能的可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory),俗稱單片機(jī)。這個(gè)放大器與作為反饋元件的片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。振蕩器電路圖如下: 單片機(jī)內(nèi)部、外部振蕩電路 硬件電路圖及功能總體硬件電路實(shí)現(xiàn)功能如下,1) 、。count1和count2的值是互斥的,設(shè)置count1等于2時(shí),count2同時(shí)設(shè)置為0;設(shè)置count2等于1~4時(shí),count1也同時(shí)設(shè)置為0。﹟叫升記號(hào),表示把音在原來的基礎(chǔ)上升高半音,b叫降記音,表示在原來的基礎(chǔ)上降低半音。中音DO(523Hz)。一首音樂是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂。 1/4和1/8節(jié)拍的時(shí)間設(shè)定曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125毫秒調(diào)4/462毫秒調(diào)3/4187毫秒調(diào)3/494毫秒調(diào)2/4250毫秒調(diào)2/4125毫秒 編碼do re mi fa so la si分別編碼為1~7,重音do編為8,重音re編為9,停頓編為0。 簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、T值、節(jié)拍數(shù)簡(jiǎn)譜發(fā)音簡(jiǎn)譜碼T值節(jié)拍碼節(jié)拍數(shù)5低音SO16426011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217 軟件程序設(shè)計(jì) 主程序流程圖及相應(yīng)代碼塊主程序流程圖如圖所示: 主程序流程圖主程序代碼:main(){ uchar x。//開外部中斷1 IT1=1。 beep()。 delay1(300)。 if(count1!=3) break。 } if(count2==1) //選曲 temp=qnzl[i]。 timel=cuzhi[jp*2+1]。 i++。y)。 檢查軟件系統(tǒng)1.根據(jù)系統(tǒng)的原理結(jié)構(gòu)檢查各流程圖是否正確,再根據(jù)流程圖來檢查程序是否也正確。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。但是,光是完成了作品還是不可以自我滿足的,在從一開始的時(shí)候就懷著將作品制作得更加人性化,更加令人滿意,更加地使功能完美又方便地被應(yīng)用領(lǐng)域這個(gè)最終目的下,隨著對(duì)單片機(jī)這門學(xué)科的認(rèn)識(shí)加深,到達(dá)了拓展的程度,我想這個(gè)目的將在不遠(yuǎn)的將來被實(shí)現(xiàn)。我相信這些對(duì)于我以后的生活是大有裨益的。//矩陣鍵盤的一列uchar code huayang1[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe, 0xfd,0xfb,0xf7,0xef,0xdf,0xbf}。uchar code jmszl[]={ //寂寞沙洲冷0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,//自你走后心憔悴0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,//白色油桐風(fēng)中紛飛0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,//落花似人有情 這個(gè)季節(jié)0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,//河畔的風(fēng)放肆拼命地吹0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63,//不斷撥弄離人的眼淚0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,//那樣濃烈的愛再也無法給0x22,0x12,0x11,0x12,0x11,0x12,0x12,0x14,0x26,0x32,0x26,//傷感一夜一夜0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,//當(dāng)記憶的線纏繞過往支離破碎0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,//是慌亂占據(jù)了心扉 0x31,0x81,0x81,0x81,0x61,0x91,0x82,//有花兒伴著蝴蝶0x51,0x51,0x51,0x51,0x31,0x61,0x53,//孤雁可以雙飛 0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,//夜深人靜獨(dú)徘徊0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,//當(dāng)幸福戀人寄來紅色分享喜悅0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,//閉上雙眼難過頭也不敢回0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,//仍然撿盡寒枝不肯安歇微帶著后悔0x21,0x31,0x51,0x31,0x21,0x11,0x61,0x21,0x16,//寂寞沙洲我該思念誰0xff}。 count1=0。//外部中斷1下降沿觸發(fā)方式 TMOD=0x01。 if(count1!=1) break。 case 3: for(x=0。x++) { P2=huayang4[x]。//去抖 if(key1==0) { count2=0。//流水燈無花樣 TR0=1。}void song(){ uint temp。 //取數(shù)的高4位 P2=yinyue[jp]。 delay1(10)。x) for(y=19000。y