畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的微型電子琴設(shè)計(jì)_第1頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的微型電子琴設(shè)計(jì)_第2頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的微型電子琴設(shè)計(jì)_第3頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的微型電子琴設(shè)計(jì)_第4頁
畢業(yè)設(shè)計(jì)(論文)-基于單片機(jī)的微型電子琴設(shè)計(jì)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 本科生畢業(yè)論文設(shè)計(jì)系院物理與電子信息科學(xué)系 專業(yè) 電子信息工程 論文題目基于單片機(jī)的微型電子琴設(shè)計(jì)學(xué)生姓名 指導(dǎo)教師 班 級(jí) 07級(jí)電信2班 學(xué) 號(hào) 完成日期:2021 年 11 月基于單片機(jī)的微型電子琴設(shè)計(jì) XXX物理與電子信息工程學(xué)院 電子信息工程 摘要電子琴的設(shè)計(jì)以AT89C52單片機(jī)為核心控制元件,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,通過制作硬件電路和軟件的設(shè)計(jì)編寫,然后進(jìn)行軟硬件的調(diào)試運(yùn)行,最終到達(dá)設(shè)計(jì)電路的樂器演奏、點(diǎn)歌、存儲(chǔ)及顯示功能。設(shè)計(jì)中應(yīng)用中斷系統(tǒng)和定時(shí)/計(jì)數(shù)原理控制演奏器發(fā)聲,對(duì)音樂發(fā)生所必須確定的音符和節(jié)拍分別用程序語言實(shí)現(xiàn)。特點(diǎn)是設(shè)計(jì)思路簡單、清晰,本錢低。 關(guān)

2、鍵字 AT89C52單片機(jī) 電子琴 演奏1 引言電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器1。電子琴是高科技在音樂領(lǐng)域的一個(gè)代表,它是古典文化與現(xiàn)代文明的一個(gè)濃縮體。它不但可以幫助我們的音樂教師進(jìn)行傳統(tǒng)音樂文化的教育教學(xué)工作,而且由于它又具備現(xiàn)代音樂,特別是電子音樂、電腦音樂的根本結(jié)構(gòu)、特征,因而使我們的教師在進(jìn)行現(xiàn)代音樂、電子音樂、電腦音樂的教學(xué)時(shí),更直接、更簡便。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一局部?;诋?dāng)前市場(chǎng)上的玩具市場(chǎng)需求量大,其中電子琴就是一個(gè)很好的應(yīng)用方面。單片機(jī)技術(shù)使我們可以

3、利用軟硬件實(shí)現(xiàn)電子琴的功能,從而實(shí)現(xiàn)電子琴的微型化,可以用作玩具琴、音樂轉(zhuǎn)盤以及音樂童車等等。并且可以進(jìn)行一定的功能擴(kuò)展。單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)開展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。本文主要對(duì)使用單片機(jī)設(shè)計(jì)微型電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件2組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。2 設(shè)

4、計(jì)要求本設(shè)計(jì)的主要內(nèi)容是用AT89C52單片機(jī)3為核心控制元件,設(shè)計(jì)一個(gè)微型電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,實(shí)現(xiàn)以下功能:(1) 設(shè)計(jì)一個(gè)44的鍵盤4,并將16個(gè)鍵設(shè)計(jì)成兩個(gè)八度的音階對(duì)應(yīng)的16個(gè)琴鍵,可以進(jìn)行彈奏表演;(2) 演奏的同時(shí)數(shù)碼管會(huì)以數(shù)字顯示當(dāng)前按鍵對(duì)應(yīng)的音符;(3) 有音樂存儲(chǔ)功能,能自動(dòng)演奏歌曲。演奏時(shí)可選擇鍵盤輸入樂曲,自己存入的樂曲或隨機(jī)存儲(chǔ)的樂曲。按播放鍵能播放5首歌曲,第一首歌曲播放結(jié)束,再按播放鍵播放下一首歌曲。(4) 發(fā)光二極管會(huì)指示當(dāng)前按鍵是否按下。3 方案論證3.1 控制模塊選擇方案方案一:用可控硅制作電子琴。將220V交

5、流電經(jīng)變壓器降壓,再經(jīng)過整流、濾波,獲得+13.5V直流電壓。將單向可控硅SCR和電阻、電容組成馳張振蕩器電路。但該設(shè)計(jì)方案制作本錢高且復(fù)雜。方案二: 采用AT89C51單片機(jī)進(jìn)行控制,由于AT89C51不具備ISP功能,因此Atmel公司已經(jīng)停產(chǎn)在市面上已經(jīng)不常見,況且其ROM只有4K在系統(tǒng)將來升級(jí)方面沒有潛力。方案三:采用AT89C52單片機(jī)進(jìn)行控制,由于其性價(jià)比高,完全滿足了本作品智能化的要求,它的內(nèi)部程序存儲(chǔ)空間到達(dá)8K,使軟件設(shè)計(jì)有足夠的內(nèi)部使用空間并且方便日后系統(tǒng)升級(jí),使用方便,抗干擾性能提高5。 鑒于上述比照與分析,本設(shè)計(jì)采用方案三 3.2 按鍵選擇方案?jìng)鹘y(tǒng)電子琴可以用鍵盤上的“

6、1到“A鍵演奏從低SO到高DO等11音。該設(shè)計(jì)有16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可以實(shí)現(xiàn)音階在中音和高音之間的變換。比傳統(tǒng)音階范圍大,彈奏效果好。在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤,它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。本設(shè)計(jì)選擇4*4矩陣鍵盤。4 設(shè)計(jì)原理一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率6,這樣我們就可以利用不同的頻率的組

7、合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系正確即可。假設(shè)要產(chǎn)生音頻脈沖,只要算出某一音頻的周期1/頻率,再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將輸出反相,然后重復(fù)計(jì)時(shí)再反相。就可在腳上得到此頻率的脈沖。 利用AT89C52的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階7,例如,頻率為523Hz,其周期T1/5231912s,因此只要令計(jì)數(shù)器計(jì)時(shí)956s/1s956,每計(jì)數(shù)

8、956次時(shí)將I/O反相,就可得到中音DO523Hz。 計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi/2/fr 式中,N是計(jì)數(shù)值;fi是機(jī)器頻率晶體振蕩器為12MHz時(shí),其頻率為1MHz;fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:TKNKfi/2/fr式中K是單片機(jī)的16位定時(shí)器最大計(jì)數(shù)值,K216 =65536;fi是機(jī)器頻率,fi1MHz,例如低音DO262Hz、低音RE294Hz、中音DO523Hz、中音RE587Hz、高音DO1046Hz、高音RE1175Hz的計(jì)數(shù)值如下:T65536N65536fi/2/fr655361000000/2/fr65536500000/fr低音DO的T6553

9、6500000/26263628低音RE的T65536500000/29463835中音DO的T65536500000/52364580中音RE的T65536500000/58764684高音DO的T65536500000/104665058高音RE的T65536500000/117565110了解音樂的一些根本知識(shí)后可知,產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂,對(duì)于單片機(jī)而言,產(chǎn)生不同頻率有脈沖非常方便,可以利用它的定時(shí)/計(jì)數(shù)器來產(chǎn)生這樣的方波頻率信號(hào),因此,需要弄清楚音樂中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系4。在本實(shí)驗(yàn)中,單片機(jī)工作于12MHZ時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器T0,工作模

10、式為1,改變計(jì)數(shù)值TH0和TL0可以產(chǎn)生不同頻率的脈沖信號(hào),在此情況下,根據(jù)以上公式,C調(diào)的各音符頻率與計(jì)數(shù)值T的對(duì)照如下8表4-1 音符頻率對(duì)照表音符頻率HZ簡譜碼T值音符頻率HZ簡譜碼T值低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO3926426

11、0# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI1967

12、65283為音符建立一個(gè)數(shù)據(jù)表,單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù)。 低音019之間,中音在2039之間,高音在4059之間TABLE1: DW 64021,64103,64260,64400 DW 64524,64580,64684,64777 DW 64820,64898,64968,65030 DW 65058,65110,65157,65178音樂的音拍,一個(gè)節(jié)拍為單位C調(diào)如表4-2所示表4-2 曲調(diào)值表曲調(diào)值DELAY曲調(diào)值DELAY調(diào)4/4125ms調(diào)4/462ms調(diào)3/4187ms調(diào)3/494ms調(diào)2/4250ms調(diào)2/4125ms對(duì)于不同的曲調(diào)我們也可以用單片機(jī)的另外一個(gè)定時(shí)

13、/計(jì)數(shù)器來完成。琴鍵處理程序,根據(jù)檢測(cè)得到按鍵值,查詢音律表,給計(jì)時(shí)器賦值,發(fā)出相應(yīng)頻率的聲音。對(duì)音調(diào)的控制:根據(jù)不同的按鍵,對(duì)定時(shí)器T1送入不同的初值,調(diào)節(jié)T1的溢出時(shí)間,這樣就可以輸出不同音調(diào)頻率的方波。不同音調(diào)下各個(gè)音階的定時(shí)器。在這個(gè)程序中用到了兩個(gè)定時(shí)/計(jì)數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(chǎn)生音拍9。5 微型電子琴的系統(tǒng)總體原理框圖 如圖5-1所示,設(shè)計(jì)出微型電子琴的系統(tǒng)總體原理框圖。數(shù)碼管顯示電路AT89C52發(fā)音電路44矩陣供電及復(fù)位電路晶振電路歌曲播放電路 圖5-1微型電子琴系統(tǒng)原理框圖系統(tǒng)主要硬件電路設(shè)計(jì) 微型電子琴的Proteus總體設(shè)計(jì)電路圖 電子琴的pro

14、teus總體仿真圖見圖6-1。按下播放鍵,發(fā)光二極管亮一下,系統(tǒng)自動(dòng)播放預(yù)存在內(nèi)存中的曲子,再按一次播放下一首歌曲,按下復(fù)位鍵,系統(tǒng)復(fù)位,停止播放。按下矩陣鍵盤中的任意鍵,揚(yáng)聲器發(fā)出相應(yīng)的音符。圖6-1 微型電子琴的Proteus總體設(shè)計(jì)電路圖6.2單片機(jī)主機(jī)系統(tǒng)電路6. AT89C52單片機(jī)簡介AT89C52是美國Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī)10,片內(nèi)含8KB的可反復(fù)檫寫的程序存儲(chǔ)器和12B的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器RAM,器件采用Atmel公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)配置通用8位中央處理器CPU和Flash存儲(chǔ)單元,功能強(qiáng)大的A

15、T89C52單片機(jī)可靈活應(yīng)用于各種控制領(lǐng)域。AT89C52單片機(jī)屬于AT89C51單片機(jī)的增強(qiáng)型,與Intel公司的80C52在引腳排列11、硬件組成、工作特點(diǎn)和指令系統(tǒng)等方面兼容。AT89C52引腳圖見圖6-2.圖6-2AT89C52引腳圖P3口也可作為AT89C52的一些特殊功能口,如下表所示:P3口引腳特殊功能RXD串行輸入口TXD串行輸出口外部中斷0外部中斷1T0定時(shí)器0外部輸入T1定時(shí)器1外部輸入WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)RD外部數(shù)據(jù)存儲(chǔ)器讀先通P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。其主要功能特性: 兼容MCS51指令系統(tǒng) 8k可反復(fù)擦寫(1000次Flash ROM 3

16、2個(gè)雙向I/O口 256x8bit內(nèi)部RAM 3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷 時(shí)鐘頻率0-24MHz 2個(gè)串行中斷 可編程UART串行通道 2個(gè)外部中斷源 共6個(gè)中斷源 2個(gè)讀寫中斷口線 3級(jí)加密位 低功耗空閑和掉電模式 軟件設(shè)置睡眠和喚醒功能 6.2.2時(shí)鐘頻率 單片機(jī)必須在時(shí)鐘的驅(qū)動(dòng)下工作。在單片機(jī)內(nèi)部有一個(gè)時(shí)鐘振蕩電路12,只需要外接一個(gè)振蕩源就能產(chǎn)生一定的時(shí)鐘信號(hào)送到單片機(jī)內(nèi)部的各個(gè)單元,決定單片機(jī)的工作速度。外部振蕩源電路一般選用石英晶體振蕩器,此電路在加電大約延遲10mS后振蕩器起振,在XTAL2引腳產(chǎn)生幅度為3V左右的正弦波時(shí)鐘信號(hào),其振蕩頻率主要由石英晶振的頻率確定。電路中兩

17、個(gè)電容C1,C2,作用有兩個(gè):一是幫助振蕩器起振;二是對(duì)振蕩器的頻率進(jìn)行微調(diào)。C1,C2的典型值為30PF。 單片機(jī)在工作時(shí),由內(nèi)部振蕩器產(chǎn)生或由外直接輸入的送至內(nèi)部控制邏輯單元的時(shí)鐘信號(hào)的周期稱為時(shí)鐘周期。起大小是時(shí)鐘信號(hào)頻率的倒數(shù),常用fosc表示。如時(shí)鐘頻率為12MHz,即fosc=12MHz,那么時(shí)鐘周期為1/12s。6.2.3 晶振電路AT89C52單片機(jī)的定時(shí)控制功能是用時(shí)鐘電路和振蕩器完成的,而根據(jù)硬件電路的不同,連接方式分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。本設(shè)計(jì)中采用內(nèi)部時(shí)鐘方式。單片機(jī)內(nèi)部有一個(gè)反相放大器XTAL1、XTAL2分別為反相放大器的輸入端和輸出端,外接定時(shí)反應(yīng)元件組成

18、振蕩器內(nèi)部時(shí)鐘方式,產(chǎn)生時(shí)鐘送至單片機(jī)內(nèi)部各元件。時(shí)鐘頻率越高,單片機(jī)控制器的控制節(jié)拍就越快,運(yùn)算速度也就越快。一般來說單片機(jī)內(nèi)部有一個(gè)帶反應(yīng)的線性反相放大器,外界晶振或接陶瓷振蕩器和電容就可組成振蕩器,如圖6-2所示。加電以后延時(shí)一段時(shí)間約10ms振蕩器產(chǎn)生時(shí)鐘,不受軟件控制,圖中X1為晶振,震蕩產(chǎn)生的時(shí)鐘頻率主要由Y1確定。電容C1,C2的作用有兩個(gè):一是幫助振蕩器起振,二是對(duì)振蕩器的頻率起微調(diào)作用,典型值為30pF。圖6-3 晶振電路6.2.4 按鍵播放電路 圖6-4按鍵播放電路6.2.5鍵盤掃描在單片機(jī)應(yīng)用中鍵盤用得最多的形式是獨(dú)立鍵盤及矩陣鍵盤,如圖6-5,圖6-6所示。圖6-5獨(dú)立

19、鍵盤圖6-6 矩陣鍵盤它們各有自己的特點(diǎn),其中獨(dú)立鍵盤硬件電路簡單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡單電路中;矩陣鍵盤與獨(dú)立鍵盤有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。本次課程設(shè)計(jì),我采用矩陣式鍵盤電路,這樣可以大大的節(jié)省單片機(jī)I/O的開銷。鍵盤電路見圖6-7圖6-7 鍵盤電路在按鍵過程中常產(chǎn)生“毛刺 現(xiàn)象13,如圖6-8所示,要消除“毛刺現(xiàn)象,這里采用最常用的方法,即延時(shí)重復(fù)掃描法,延時(shí)法的原理為:因?yàn)椤懊堂}沖一般持續(xù)時(shí)間短,約為幾ms,而我們按鍵的時(shí)間一般遠(yuǎn)遠(yuǎn)大于這個(gè)

20、時(shí)間,所以當(dāng)單片機(jī)檢測(cè)到有按鍵動(dòng)靜后,再延時(shí)一段時(shí)間(10ms20ms)后再判斷此電平是否保持原狀態(tài),如果是那么為有效按鍵,否那么無效。 圖6-8“毛刺現(xiàn)象6.2.6 發(fā)音電路 電子琴發(fā)音電路見圖6-9。圖6-9 電子琴發(fā)音電路6.2.7 供電及復(fù)位電路 電子琴的供電電路和復(fù)位電路14見圖6-10。圖6-10 電子琴供電及復(fù)位電路6.2.8 LED數(shù)碼管顯示電路本次畢業(yè)設(shè)計(jì)的顯示電路采用LED數(shù)碼管顯示,LEDLight-Emitting Diode是一種外加電壓從而渡過電流并發(fā)出可見光的器件。LED是屬于電流控制器件,使用時(shí)必須加限流電阻15。LED有單個(gè)LED和八段LED之分,也有共陰和共

21、陽兩種。常用的七段顯示器的結(jié)構(gòu)如圖下列圖所示。發(fā)光二極管的陽極連在一起的稱為共陽極顯示器(如圖b所示),陰極連在一起的稱為共陰極顯示器(如圖c所示)。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫段的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫式的七段顯示器能顯示的字符較少,字符的開頭有些失真,但控制簡單,使用方便。此外,要畫出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的數(shù)字來。圖6-11 數(shù)碼管引腳選用的是P0口作為輸出口時(shí)要接上拉電阻7 系統(tǒng)軟件設(shè)計(jì)7.1系統(tǒng)軟件總體方案1鍵盤掃描程序:檢測(cè)是否有鍵按下,有

22、鍵按下那么記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無鍵按下,那么返回鍵盤掃描程序繼續(xù)檢測(cè)2功能轉(zhuǎn)移程序:對(duì)檢測(cè)到得按鍵值進(jìn)行判斷,是琴鍵那么跳轉(zhuǎn)至琴鍵處理程序,是功能鍵那么跳轉(zhuǎn)至相應(yīng)的功能程序,我們?cè)O(shè)計(jì)的功能程序有兩種,即音色調(diào)節(jié)功能和自動(dòng)播放樂曲功能3琴鍵處理程序:根據(jù)檢測(cè)到得按鍵值,查詢音律表,給計(jì)時(shí)器賦值,使發(fā)出相應(yīng)頻率的聲音4自動(dòng)播放歌曲程序:檢測(cè)到按鍵按下的是自動(dòng)播放歌曲功能鍵后執(zhí)行該程序,電子琴會(huì)自動(dòng)播放事先已經(jīng)存放好的歌曲,歌曲播放完畢之后自動(dòng)返回至鍵盤掃描程序,繼續(xù)等待是否有鍵按下7.2系統(tǒng)軟件簡易流程圖開始鍵盤掃描程序T0初始化并開中斷允許T0中斷T1初始化并開中斷允許T1中

23、斷有鍵按下否 否延時(shí)去抖動(dòng) 是識(shí)別按鍵功能播放鍵是否彈奏鍵 是 否根據(jù)按鍵功能裝入相應(yīng)音符值到T0取相應(yīng)的音符碼裝入T1 啟動(dòng)T0啟動(dòng)T1停止T0工作按鍵釋放成功否停止T1工作按鍵釋放成功否按鍵子程序流程圖如下KEY1鍵按下KEY2鍵按下KEY3鍵按下KEY4鍵按下KEY5鍵按下KEY6鍵按下KEY7鍵按下數(shù)碼管顯示1,并播放Do的中音數(shù)碼管顯示2,并播放Re的中音數(shù)碼管顯示3,并播放Mi的中音KEY8鍵按下數(shù)碼管顯示4,并播放Fa的中音數(shù)碼管顯示6,并播放La的中音數(shù)碼管顯示7,并播放Si的中音數(shù)碼管顯示1播放Do的高階中音KEY15鍵按下KEY16鍵按下KEY10鍵按下KEY12鍵按下KE

24、Y11鍵按下KEY13鍵按下KEY9鍵按下KEY14鍵按下數(shù)碼管顯示5,并播放So的中音數(shù)碼管顯示1并播放Do的高音數(shù)碼管顯示2并播放Re的高音數(shù)碼管顯示3并播放Mi的高音數(shù)碼管顯示4并播放Fa的高音數(shù)碼管顯示5并播放So的高音數(shù)碼管顯示6并播放La的高音數(shù)碼管顯示7并播放Si的高音數(shù)碼管1并播放Do的高階高音 彈奏程序流程圖彈奏子程序開中斷并允許中斷設(shè)定定時(shí)器工作方式取鍵值根據(jù)鍵值查音律表給定時(shí)器T0賦值開始計(jì)時(shí)進(jìn)入中斷退出中斷延時(shí)返回鍵盤掃描程序自動(dòng)播放歌曲程序流程圖自動(dòng)播放音樂程序A 0,DPTR歌譜地址開中斷,設(shè)定定時(shí)器T1工作模式取簡譜碼取該音符的節(jié)拍碼STOPA=0 Y N休止符返

25、回鍵盤掃描A=0FFH Y N查音律表,給定時(shí)器賦值 INC DPTR開始計(jì)時(shí)進(jìn)入中斷退出中斷延時(shí)7.3 局部設(shè)計(jì)源程序7.3.1歌曲播放子程序;= 歌曲播放子程序 =START0: mov 30H,# SONG0 ;取簡譜碼指針(第1首)next: mov a,30h mov dptr,#tab1 movc a,a+dptr ;至相關(guān)頁碼,高4位為音符的上下 mov r2,a ;低4位為音符的節(jié)拍 jz end0 ;檢查簡譜碼是否已結(jié)束(有無00?) anl a,#0fh ;取節(jié)拍(低4位) mov r5,a ;存入r5,節(jié)拍的時(shí)間 mov a,r2 swap a anl a,#0fh ;取

26、音頻值(高4位) jnz sing ;是否為0,是0那么不發(fā)音 clr TR1 ;開始,那么不發(fā)音 jmp d1sing: dec a ;因0不列入 mov 22h,a ;存入(22h) rl a ;乘2 mov dptr,#tab1 movc a,a+dptr ;至tab1取碼,取t的值 mov th1,a ;取到的高位字節(jié)存入th1 mov 21h,a ;取到的高位字節(jié)存入(21h) mov a,22h ;再載入取到的音符碼 rl a ;乘2 inc a ;加1 movc a,a+dptr ;至table取相對(duì)的低位字節(jié)計(jì)數(shù)值 mov tl1,a ;取到的低位字節(jié)存入tl0 mov 20h

27、,a ;取到的低位字節(jié)存入(20h) setb TR1 ;啟動(dòng)TIMER0d1: call delay inc 30h ;取簡譜碼指針加1 jmp nextend0: clr TR1 ;停止TIMER0 mov a,31h ;載入計(jì)次指針 xrl a,#00h ;是否按第1次? jnz end1 ;不是那么跳至end1 jb KEY,$ ;按第2次? call delay1 ;消除抖動(dòng) jnb KEY,$ ;放開否? inc 31h ;計(jì)次地址(31h)加1 MOV 30h,# song1 ;第2首歌指針 jmp next7.3.2延時(shí)程序 DELY10MS: MOV R6,#10D10: M

28、OV R7,#248 DJNZ R7,$ DJNZ R6,D10 RET7.3.3音符參數(shù)表;= 音符參數(shù)表=TABLE: DB 06H,5BH,4FH,66H,6DH,7DH,07H,06H DB 06H,5BH,4FH,66H,6DH,7DH,07H,06H8 系統(tǒng)調(diào)試與測(cè)試結(jié)果分析8.1 系統(tǒng)調(diào)試在系統(tǒng)設(shè)計(jì)中采用模塊設(shè)計(jì)法,所以方便對(duì)各電路模塊功能進(jìn)行逐級(jí)測(cè)試:中心控制模塊的調(diào)試,音樂播放模塊的調(diào)試,按鍵控制模塊的調(diào)試等,最后將各模塊組合后進(jìn)行整體測(cè)試。首先對(duì)各模塊的功能進(jìn)行調(diào)試,主要調(diào)試各模塊能否實(shí)現(xiàn)指定的功能。然后通過WAVE6000軟件對(duì)編好的程序進(jìn)行調(diào)試,檢查語法錯(cuò)誤。最后將調(diào)試

29、好的軟件程序?qū)氲接布K中,調(diào)試系統(tǒng)實(shí)現(xiàn)的功能。調(diào)試主要方法和技巧:軟件調(diào)試和硬件調(diào)試8.1.1系統(tǒng)軟件調(diào)試 通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能16:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。8.1.2 系統(tǒng)硬件調(diào)試硬件調(diào)試主要是針對(duì)單片機(jī)局部進(jìn)行調(diào)試。在上電前,先確保電路中不在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這局部調(diào)試中主要使用的工具是萬用表,用來完成檢測(cè)電路中是否存在斷路或

30、者短路情況等。注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中,上電調(diào)試主要鍵盤單片機(jī)控制局部、數(shù)碼管點(diǎn)亮局部、和音頻轉(zhuǎn)換電路硬件調(diào)試。(1)、數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。(2)、鍵盤單片機(jī)控制局部調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。(3)、按鍵播放電路調(diào)試:按下播放按鍵能彈唱歌曲,唱完一首之后再按一下播放按鍵彈奏下一首歌曲。(4)、復(fù)位電路調(diào)試:按一下復(fù)位鍵能完成

31、復(fù)位功能。硬件實(shí)物圖8.2 測(cè)試結(jié)果及心得8.2.1 測(cè)試結(jié)果通過各方面努力,本次畢業(yè)設(shè)計(jì)任務(wù)完成,系統(tǒng)局部功能已實(shí)現(xiàn)??梢噪S意演奏喜歡的曲子,并可以顯示在數(shù)碼管上,可以隨意彈奏16個(gè)音符,可以播放5首歌曲。根本到達(dá)預(yù)定的效果。畢業(yè)設(shè)計(jì)是本科學(xué)習(xí)階段一次非常難得的理論與實(shí)踐相結(jié)合的時(shí)機(jī),通過這次比擬系統(tǒng)的工程設(shè)計(jì)提高了我運(yùn)用所學(xué)的專業(yè)根底知識(shí)來解決面臨實(shí)際問題的能力,同時(shí)也提高了我查閱各種文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)標(biāo)準(zhǔn)以及軟件編程的水平。 本次設(shè)計(jì)的心得體會(huì)從上一學(xué)期開始我們就在準(zhǔn)備選題,收集資料,這些都是不能馬虎的,要慎重。這一學(xué)期來我們就交了開題報(bào)告。做完這次畢業(yè)設(shè)計(jì)后我有種如釋重負(fù)的感覺,

32、收獲很多,沒做之前想得太過簡單,以為只要把資料收集好就萬事俱備了,具體操作時(shí)才知道自己錯(cuò)了,只有想法猶如紙上談兵,根本解決不了實(shí)際問題。想象和現(xiàn)實(shí)相差太遠(yuǎn),做事不能太盲目,要深思熟慮。畢業(yè)設(shè)計(jì)不僅是對(duì)所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過這次畢業(yè)設(shè)計(jì)使我明白了自己原來知識(shí)還比擬欠缺,自己要學(xué)習(xí)的東西還太多。這次設(shè)計(jì)從軟件方面來講不是很難,程序相對(duì)長一點(diǎn),但都是書本上所學(xué)的知識(shí),主要是中端及其效勞程序的編寫。在protues上仿真,那么起到很好的效果,因?yàn)樵骷际抢硐霠顟B(tài)的,但做出實(shí)物來卻不是那么簡單。經(jīng)過屢次調(diào)試、修改才得以出結(jié)果。在設(shè)計(jì)過程中,通過查閱大量相關(guān)資料,與同學(xué)交

33、流經(jīng)驗(yàn),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí):首先在畢業(yè)設(shè)計(jì)剛開始的調(diào)研階段,我學(xué)會(huì)了怎么通過各種方式查詢相關(guān)的資料。通過對(duì)這些資料的學(xué)習(xí),我大致了解了單片機(jī)的開展現(xiàn)狀以及未來的開展趨勢(shì),認(rèn)識(shí)到目前單片機(jī)方面的各種各樣的開展。9 結(jié) 束 語經(jīng)過兩個(gè)月的查資料、整理材料、做實(shí)驗(yàn),今天終于可以順利的完成畢業(yè)設(shè)計(jì)了,自己想想求學(xué)期間的點(diǎn)滴歷歷涌上心頭,時(shí)光匆匆飛逝,四年的努力與付出,隨著論文的完成,終于讓我在大學(xué)的生活,得以劃下了完美的句點(diǎn)。論文得以完成,要感謝的人實(shí)在太多了,首先要感謝我的指導(dǎo)老師李老師,因?yàn)檎撐氖窃诶罾蠋煹南ば闹笇?dǎo)下完成的。本論文從選題到完成,每一步都是在李老師的指導(dǎo)下完成的

34、,傾注了李老師大量的心血。一開始選題時(shí)李老師就給了我們很多建議,并讓我們提早為這次畢業(yè)設(shè)計(jì)做準(zhǔn)備。在提交開題報(bào)告時(shí)李老師認(rèn)真負(fù)責(zé)的給我們審查,在做軟件和硬件時(shí)也時(shí)時(shí)刻刻了解我們的進(jìn)展情況。在此,謹(jǐn)向李老師表示崇高的敬意和衷心的感謝!謝謝李老師在我整個(gè)畢業(yè)設(shè)計(jì)過程中給與我的極大地幫助。論文的順利完成,離不開其它各位老師、同學(xué)和朋友的關(guān)心和幫助。另外,要感謝在大學(xué)期間所有傳授我知識(shí)的老師,是你們的悉心教導(dǎo)使我有了良好的專業(yè)課知識(shí),這也是論文得以完成的根底。 感謝所有給我?guī)椭睦蠋熀屯瑢W(xué),謝謝你們! 參考文獻(xiàn)1趙鑫,蔣亮,齊兆群等.數(shù)字電路設(shè)計(jì)M.北京機(jī)械工業(yè)出版社,2005年6月第一版.2蘇家健、

35、曹柏榮、汪志鋒.單片機(jī)原理及應(yīng)用技術(shù)M.高等教育出版社3美Ashish Wilfred Meeta Gupta Kartik Bhatnagar著,劉永明,賀民譯. php專業(yè)工程實(shí)例開發(fā)J. 水利水電出版社,20034于海生. 微型計(jì)算機(jī)控制技術(shù)選編M.清華大學(xué)出版社,1999.5李朝青. 單片機(jī)原理及接口技術(shù)M. 北京:北京航天航空大學(xué)出版色,2001.6胡漢才. 單片機(jī)原理及其接口技術(shù)M. 北京:清華大學(xué)出版社,2004.7黃鑫,馬善農(nóng),趙永科.基于CPLD的電子琴研究與設(shè)計(jì)J.科技廣場(chǎng),2007(5). 8祝富林.音樂彩燈電路CS9482J.北京:電子世界,1995,12.9 陳明熒8

36、051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材M北京:清華大學(xué)出版社,2003年9月10 徐新艷單片機(jī)原理、應(yīng)用與實(shí)踐M北京:高等教育出版社,2005年3月11 吳金戌,沈慶陽,郭庭吉,8051單片機(jī)實(shí)踐與應(yīng)用M清華大學(xué)出版社,200112 馮博琴,微型計(jì)算機(jī)原理與接口技術(shù)M清華大學(xué)出版社,200413 張淑清,姜萬錄等,單片微型計(jì)算機(jī)接口技術(shù)及應(yīng)用M國防工業(yè)出版社,200314 吳金戌,沈慶陽,郭庭吉,8051單片機(jī)實(shí)踐與應(yīng)用M清華大學(xué)出版社,200115 馮博琴,微型計(jì)算機(jī)原理與接口技術(shù)M清華大學(xué)出版社,200416 張毅剛,MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M哈爾濱工業(yè)大學(xué)出版社,2004Based on SCM

37、 miniature electric piano designWang Hong Abstract:Electronic piano takes 89C52 SCM as the core of systems control section . In order to achieve the effect of the circuit that performancing the musical instrument, requesting a song, the function of the memory and demonstration, we can carry on softw

38、are and hardwares debugging through manufacturing hardware circuit and compiling the softwares design . The design applies the principle of the interruption system and fixed time/the counting to performance sound production, and according to the program language to realize the separation of the note and time at the same time. And the best advantage is this design is simply and clear。 Keywords: AT89C52 SCM Electric piano Performance sound碩士論文 是碩士研究生所撰寫的學(xué)術(shù)論文,具有一定的理論深度和更高的學(xué)術(shù)水平,更加強(qiáng)調(diào)作者思想觀點(diǎn)的獨(dú)創(chuàng)性,以及研究成果應(yīng)具備更強(qiáng)的實(shí)用價(jià)值和更高的科學(xué)價(jià)值。碩士論文是碩士研究生所撰寫的學(xué)術(shù)論文。優(yōu)秀的碩士論文能夠

溫馨提示

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

評(píng)論

0/150

提交評(píng)論