版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
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ī)為核心控制元件,與鍵盤(pán)、揚(yáng)聲器等模塊組成核心主控制模塊,通過(guò)制作硬件電路和軟件的設(shè)計(jì)編寫(xiě),然后進(jìn)行軟硬件的調(diào)試運(yùn)行,最終到達(dá)設(shè)計(jì)電路的樂(lè)器演奏、點(diǎn)歌、存儲(chǔ)及顯示功能。設(shè)計(jì)中應(yīng)用中斷系統(tǒng)和定時(shí)/計(jì)數(shù)原理控制演奏器發(fā)聲,對(duì)音樂(lè)發(fā)生所必須確定的音符和節(jié)拍分別用程序語(yǔ)言實(shí)現(xiàn)。特點(diǎn)是設(shè)計(jì)思路簡(jiǎn)單、清晰,本錢(qián)低。 關(guān)
2、鍵字 AT89C52單片機(jī) 電子琴 演奏1 引言電子琴是現(xiàn)代電子科技與音樂(lè)結(jié)合的產(chǎn)物,是一種新型的鍵盤(pán)樂(lè)器1。電子琴是高科技在音樂(lè)領(lǐng)域的一個(gè)代表,它是古典文化與現(xiàn)代文明的一個(gè)濃縮體。它不但可以幫助我們的音樂(lè)教師進(jìn)行傳統(tǒng)音樂(lè)文化的教育教學(xué)工作,而且由于它又具備現(xiàn)代音樂(lè),特別是電子音樂(lè)、電腦音樂(lè)的根本結(jié)構(gòu)、特征,因而使我們的教師在進(jìn)行現(xiàn)代音樂(lè)、電子音樂(lè)、電腦音樂(lè)的教學(xué)時(shí),更直接、更簡(jiǎn)便。它在現(xiàn)代音樂(lè)扮演著重要的角色,單片機(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)電子琴的微型化,可以用作玩具琴、音樂(lè)轉(zhuǎn)盤(pán)以及音樂(lè)童車(chē)等等。并且可以進(jìn)行一定的功能擴(kuò)展。單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)開(kāi)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開(kāi)發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。本文主要對(duì)使用單片機(jī)設(shè)計(jì)微型電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件2組成。利用單片機(jī)產(chǎn)生不同頻率來(lái)獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂(lè)。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來(lái)詳細(xì)闡述。2 設(shè)
4、計(jì)要求本設(shè)計(jì)的主要內(nèi)容是用AT89C52單片機(jī)3為核心控制元件,設(shè)計(jì)一個(gè)微型電子琴。以單片機(jī)作為主控核心,與鍵盤(pán)、揚(yáng)聲器等模塊組成核心主控制模塊,實(shí)現(xiàn)以下功能:(1) 設(shè)計(jì)一個(gè)44的鍵盤(pán)4,并將16個(gè)鍵設(shè)計(jì)成兩個(gè)八度的音階對(duì)應(yīng)的16個(gè)琴鍵,可以進(jìn)行彈奏表演;(2) 演奏的同時(shí)數(shù)碼管會(huì)以數(shù)字顯示當(dāng)前按鍵對(duì)應(yīng)的音符;(3) 有音樂(lè)存儲(chǔ)功能,能自動(dòng)演奏歌曲。演奏時(shí)可選擇鍵盤(pán)輸入樂(lè)曲,自己存入的樂(lè)曲或隨機(jī)存儲(chǔ)的樂(lè)曲。按播放鍵能播放5首歌曲,第一首歌曲播放結(jié)束,再按播放鍵播放下一首歌曲。(4) 發(fā)光二極管會(huì)指示當(dāng)前按鍵是否按下。3 方案論證3.1 控制模塊選擇方案方案一:用可控硅制作電子琴。將220V交
5、流電經(jīng)變壓器降壓,再經(jīng)過(guò)整流、濾波,獲得+13.5V直流電壓。將單向可控硅SCR和電阻、電容組成馳張振蕩器電路。但該設(shè)計(jì)方案制作本錢(qián)高且復(fù)雜。方案二: 采用AT89C51單片機(jī)進(jìn)行控制,由于AT89C51不具備ISP功能,因此Atmel公司已經(jīng)停產(chǎn)在市面上已經(jīng)不常見(jiàn),況且其ROM只有4K在系統(tǒng)將來(lái)升級(jí)方面沒(méi)有潛力。方案三:采用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)電子琴可以用鍵盤(pán)上的“
6、1到“A鍵演奏從低SO到高DO等11音。該設(shè)計(jì)有16個(gè)按鈕矩陣,設(shè)計(jì)成16個(gè)音,可以實(shí)現(xiàn)音階在中音和高音之間的變換。比傳統(tǒng)音階范圍大,彈奏效果好。在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán),它們各有自己的特點(diǎn),其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。本設(shè)計(jì)選擇4*4矩陣鍵盤(pán)。4 設(shè)計(jì)原理一首音樂(lè)是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率6,這樣我們就可以利用不同的頻率的組
7、合,即可構(gòu)成我們所想要的音樂(lè)了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(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了解音樂(lè)的一些根本知識(shí)后可知,產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂(lè),對(duì)于單片機(jī)而言,產(chǎn)生不同頻率有脈沖非常方便,可以利用它的定時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方波頻率信號(hào),因此,需要弄清楚音樂(lè)中的音符和對(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簡(jiǎn)譜碼T值音符頻率HZ簡(jiǎn)譜碼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ī)通過(guò)查表的方式來(lái)獲得相應(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音樂(lè)的音拍,一個(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ù)器來(lái)完成。琴鍵處理程序,根據(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ù)器來(lái)完成的。其中T0用來(lái)產(chǎn)生音符頻率,T1用來(lái)產(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總體仿真圖見(jiàn)圖6-1。按下播放鍵,發(fā)光二極管亮一下,系統(tǒng)自動(dòng)播放預(yù)存在內(nèi)存中的曲子,再按一次播放下一首歌曲,按下復(fù)位鍵,系統(tǒng)復(fù)位,停止播放。按下矩陣鍵盤(pán)中的任意鍵,揚(yáng)聲器發(fā)出相應(yīng)的音符。圖6-1 微型電子琴的Proteus總體設(shè)計(jì)電路圖6.2單片機(jī)主機(jī)系統(tǒng)電路6. AT89C52單片機(jī)簡(jiǎn)介AT89C52是美國(guó)Atmel公司生產(chǎn)的低電壓、高性能CMOS 8位單片機(jī)10,片內(nèi)含8KB的可反復(fù)檫寫(xiě)的程序存儲(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引腳圖見(jiàn)圖6-2.圖6-2AT89C52引腳圖P3口也可作為AT89C52的一些特殊功能口,如下表所示:P3口引腳特殊功能RXD串行輸入口TXD串行輸出口外部中斷0外部中斷1T0定時(shí)器0外部輸入T1定時(shí)器1外部輸入WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)RD外部數(shù)據(jù)存儲(chǔ)器讀先通P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。其主要功能特性: 兼容MCS51指令系統(tǒng) 8k可反復(fù)擦寫(xiě)(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è)讀寫(xiě)中斷口線 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)算速度也就越快。一般來(lái)說(shuō)單片機(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鍵盤(pán)掃描在單片機(jī)應(yīng)用中鍵盤(pán)用得最多的形式是獨(dú)立鍵盤(pán)及矩陣鍵盤(pán),如圖6-5,圖6-6所示。圖6-5獨(dú)立
19、鍵盤(pán)圖6-6 矩陣鍵盤(pán)它們各有自己的特點(diǎn),其中獨(dú)立鍵盤(pán)硬件電路簡(jiǎn)單,而且在程序設(shè)計(jì)上也不復(fù)雜,一般用在對(duì)硬件電路要求不高的簡(jiǎn)單電路中;矩陣鍵盤(pán)與獨(dú)立鍵盤(pán)有很大區(qū)別,首先在硬件電路上它要比獨(dú)立鍵盤(pán)復(fù)雜得多,而且在程序算法上比它要煩瑣,但它在節(jié)省端口資源上有優(yōu)勢(shì)得多,因此它更適合于多按鍵電路。本次課程設(shè)計(jì),我采用矩陣式鍵盤(pán)電路,這樣可以大大的節(jié)省單片機(jī)I/O的開(kāi)銷。鍵盤(pán)電路見(jiàn)圖6-7圖6-7 鍵盤(pán)電路在按鍵過(guò)程中常產(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),如果是那么為有效按鍵,否那么無(wú)效。 圖6-8“毛刺現(xiàn)象6.2.6 發(fā)音電路 電子琴發(fā)音電路見(jiàn)圖6-9。圖6-9 電子琴發(fā)音電路6.2.7 供電及復(fù)位電路 電子琴的供電電路和復(fù)位電路14見(jiàn)圖6-10。圖6-10 電子琴供電及復(fù)位電路6.2.8 LED數(shù)碼管顯示電路本次畢業(yè)設(shè)計(jì)的顯示電路采用LED數(shù)碼管顯示,LEDLight-Emitting Diode是一種外加電壓從而渡過(guò)電流并發(fā)出可見(jiàn)光的器件。LED是屬于電流控制器件,使用時(shí)必須加限流電阻15。LED有單個(gè)LED和八段LED之分,也有共陰和共
21、陽(yáng)兩種。常用的七段顯示器的結(jié)構(gòu)如圖下列圖所示。發(fā)光二極管的陽(yáng)極連在一起的稱為共陽(yáng)極顯示器(如圖b所示),陰極連在一起的稱為共陰極顯示器(如圖c所示)。1位顯示器由八個(gè)發(fā)光二極管組成,其中七個(gè)發(fā)光二極管ag控制七個(gè)筆畫(huà)段的亮或暗,另一個(gè)控制一個(gè)小數(shù)點(diǎn)的亮和暗,這種筆畫(huà)式的七段顯示器能顯示的字符較少,字符的開(kāi)頭有些失真,但控制簡(jiǎn)單,使用方便。此外,要畫(huà)出電路圖,首先還要搞清楚他的引腳圖的分布,在了解了正確的引腳圖后才能進(jìn)行正確的字型段碼編碼。才能顯示出正確的數(shù)字來(lái)。圖6-11 數(shù)碼管引腳選用的是P0口作為輸出口時(shí)要接上拉電阻7 系統(tǒng)軟件設(shè)計(jì)7.1系統(tǒng)軟件總體方案1鍵盤(pán)掃描程序:檢測(cè)是否有鍵按下,有
22、鍵按下那么記錄按下鍵的鍵值,并跳轉(zhuǎn)至功能轉(zhuǎn)移程序;無(wú)鍵按下,那么返回鍵盤(pá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)播放樂(lè)曲功能3琴鍵處理程序:根據(jù)檢測(cè)到得按鍵值,查詢音律表,給計(jì)時(shí)器賦值,使發(fā)出相應(yīng)頻率的聲音4自動(dòng)播放歌曲程序:檢測(cè)到按鍵按下的是自動(dòng)播放歌曲功能鍵后執(zhí)行該程序,電子琴會(huì)自動(dòng)播放事先已經(jīng)存放好的歌曲,歌曲播放完畢之后自動(dòng)返回至鍵盤(pán)掃描程序,繼續(xù)等待是否有鍵按下7.2系統(tǒng)軟件簡(jiǎn)易流程圖開(kāi)始鍵盤(pán)掃描程序T0初始化并開(kāi)中斷允許T0中斷T1初始化并開(kāi)中斷允許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的高階高音 彈奏程序流程圖彈奏子程序開(kāi)中斷并允許中斷設(shè)定定時(shí)器工作方式取鍵值根據(jù)鍵值查音律表給定時(shí)器T0賦值開(kāi)始計(jì)時(shí)進(jìn)入中斷退出中斷延時(shí)返回鍵盤(pán)掃描程序自動(dòng)播放歌曲程序流程圖自動(dòng)播放音樂(lè)程序A 0,DPTR歌譜地址開(kāi)中斷,設(shè)定定時(shí)器T1工作模式取簡(jiǎn)譜碼取該音符的節(jié)拍碼STOPA=0 Y N休止符返
25、回鍵盤(pán)掃描A=0FFH Y N查音律表,給定時(shí)器賦值 INC DPTR開(kāi)始計(jì)時(shí)進(jìn)入中斷退出中斷延時(shí)7.3 局部設(shè)計(jì)源程序7.3.1歌曲播放子程序;= 歌曲播放子程序 =START0: mov 30H,# SONG0 ;取簡(jiǎn)譜碼指針(第1首)next: mov a,30h mov dptr,#tab1 movc a,a+dptr ;至相關(guān)頁(yè)碼,高4位為音符的上下 mov r2,a ;低4位為音符的節(jié)拍 jz end0 ;檢查簡(jiǎn)譜碼是否已結(jié)束(有無(wú)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 ;開(kāi)始,那么不發(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 ;取簡(jiǎn)譜碼指針加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,$ ;放開(kāi)否? 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)試,音樂(lè)播放模塊的調(diào)試,按鍵控制模塊的調(diào)試等,最后將各模塊組合后進(jìn)行整體測(cè)試。首先對(duì)各模塊的功能進(jìn)行調(diào)試,主要調(diào)試各模塊能否實(shí)現(xiàn)指定的功能。然后通過(guò)WAVE6000軟件對(duì)編好的程序進(jìn)行調(diào)試,檢查語(yǔ)法錯(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)功能的過(guò)程,要使主程序和整個(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)試中主要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或
30、者短路情況等。注意焊點(diǎn)之間,確保焊點(diǎn)沒(méi)有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒(méi)有開(kāi)路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常,無(wú)異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中,上電調(diào)試主要鍵盤(pán)單片機(jī)控制局部、數(shù)碼管點(diǎn)亮局部、和音頻轉(zhuǎn)換電路硬件調(diào)試。(1)、數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。(2)、鍵盤(pán)單片機(jī)控制局部調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤(pán)可以發(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é)果通過(guò)各方面努力,本次畢業(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ī),通過(guò)這次比擬系統(tǒng)的工程設(shè)計(jì)提高了我運(yùn)用所學(xué)的專業(yè)根底知識(shí)來(lái)解決面臨實(shí)際問(wèn)題的能力,同時(shí)也提高了我查閱各種文獻(xiàn)資料、設(shè)計(jì)手冊(cè)、設(shè)計(jì)標(biāo)準(zhǔn)以及軟件編程的水平。 本次設(shè)計(jì)的心得體會(huì)從上一學(xué)期開(kāi)始我們就在準(zhǔn)備選題,收集資料,這些都是不能馬虎的,要慎重。這一學(xué)期來(lái)我們就交了開(kāi)題報(bào)告。做完這次畢業(yè)設(shè)計(jì)后我有種如釋重負(fù)的感覺(jué),
32、收獲很多,沒(méi)做之前想得太過(guò)簡(jiǎn)單,以為只要把資料收集好就萬(wàn)事俱備了,具體操作時(shí)才知道自己錯(cuò)了,只有想法猶如紙上談兵,根本解決不了實(shí)際問(wèn)題。想象和現(xiàn)實(shí)相差太遠(yuǎn),做事不能太盲目,要深思熟慮。畢業(yè)設(shè)計(jì)不僅是對(duì)所學(xué)知識(shí)的一種檢驗(yàn),而且也是對(duì)自己能力的一種提高。通過(guò)這次畢業(yè)設(shè)計(jì)使我明白了自己原來(lái)知識(shí)還比擬欠缺,自己要學(xué)習(xí)的東西還太多。這次設(shè)計(jì)從軟件方面來(lái)講不是很難,程序相對(duì)長(zhǎng)一點(diǎn),但都是書(shū)本上所學(xué)的知識(shí),主要是中端及其效勞程序的編寫(xiě)。在protues上仿真,那么起到很好的效果,因?yàn)樵骷际抢硐霠顟B(tài)的,但做出實(shí)物來(lái)卻不是那么簡(jiǎn)單。經(jīng)過(guò)屢次調(diào)試、修改才得以出結(jié)果。在設(shè)計(jì)過(guò)程中,通過(guò)查閱大量相關(guān)資料,與同學(xué)交
33、流經(jīng)驗(yàn),并向老師請(qǐng)教等方式,使自己學(xué)到了不少知識(shí):首先在畢業(yè)設(shè)計(jì)剛開(kāi)始的調(diào)研階段,我學(xué)會(huì)了怎么通過(guò)各種方式查詢相關(guān)的資料。通過(guò)對(duì)這些資料的學(xué)習(xí),我大致了解了單片機(jī)的開(kāi)展現(xiàn)狀以及未來(lái)的開(kāi)展趨勢(shì),認(rèn)識(shí)到目前單片機(jī)方面的各種各樣的開(kāi)展。9 結(jié) 束 語(yǔ)經(jīng)過(guò)兩個(gè)月的查資料、整理材料、做實(shí)驗(yàn),今天終于可以順利的完成畢業(yè)設(shè)計(jì)了,自己想想求學(xué)期間的點(diǎn)滴歷歷涌上心頭,時(shí)光匆匆飛逝,四年的努力與付出,隨著論文的完成,終于讓我在大學(xué)的生活,得以劃下了完美的句點(diǎn)。論文得以完成,要感謝的人實(shí)在太多了,首先要感謝我的指導(dǎo)老師李老師,因?yàn)檎撐氖窃诶罾蠋煹南ば闹笇?dǎo)下完成的。本論文從選題到完成,每一步都是在李老師的指導(dǎo)下完成的
34、,傾注了李老師大量的心血。一開(kāi)始選題時(shí)李老師就給了我們很多建議,并讓我們提早為這次畢業(yè)設(shè)計(jì)做準(zhǔn)備。在提交開(kāi)題報(bào)告時(shí)李老師認(rèn)真負(fù)責(zé)的給我們審查,在做軟件和硬件時(shí)也時(shí)時(shí)刻刻了解我們的進(jìn)展情況。在此,謹(jǐn)向李老師表示崇高的敬意和衷心的感謝!謝謝李老師在我整個(gè)畢業(yè)設(shè)計(jì)過(guò)程中給與我的極大地幫助。論文的順利完成,離不開(kāi)其它各位老師、同學(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í)例開(kāi)發(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祝富林.音樂(lè)彩燈電路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 吳金戌,沈慶陽(yáng),郭庭吉,8051單片機(jī)實(shí)踐與應(yīng)用M清華大學(xué)出版社,200112 馮博琴,微型計(jì)算機(jī)原理與接口技術(shù)M清華大學(xué)出版社,200413 張淑清,姜萬(wàn)錄等,單片微型計(jì)算機(jī)接口技術(shù)及應(yīng)用M國(guó)防工業(yè)出版社,200314 吳金戌,沈慶陽(yáng),郭庭吉,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碩士論文 是碩士研究生所撰寫(xiě)的學(xué)術(shù)論文,具有一定的理論深度和更高的學(xué)術(shù)水平,更加強(qiáng)調(diào)作者思想觀點(diǎn)的獨(dú)創(chuàng)性,以及研究成果應(yīng)具備更強(qiáng)的實(shí)用價(jià)值和更高的科學(xué)價(jià)值。碩士論文是碩士研究生所撰寫(xiě)的學(xué)術(shù)論文。優(yōu)秀的碩士論文能夠
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《雙半橋直流諧振變換器控制策略研究》
- 《外源Ca2+對(duì)鹽脅迫下珠美海棠幼苗耐鹽特性的影響》
- 《一種植物和三種高等真菌的化學(xué)成分及其生物活性研究》
- 2024冷卻塔用泵采購(gòu)合同
- 《門(mén)德?tīng)査伞禿小調(diào)莊嚴(yán)變奏曲》Op.54的音樂(lè)分析與演奏詮釋》
- 牛津譯林八年級(jí)下Unit3知識(shí)梳理學(xué)案
- 專題08電化學(xué)-原卷版
- 2024年海東客運(yùn)資格證題庫(kù)
- 2024年山東客運(yùn)從業(yè)資格考試
- 人教部編版六年級(jí)語(yǔ)文上冊(cè)第20課《青山不老》精美課件
- 餐飲行業(yè)初期投資預(yù)算分析
- 遼寧省重點(diǎn)高中沈陽(yáng)市郊聯(lián)體2023-2024學(xué)年高三上學(xué)期期中生物試題(解析版)
- 剪映:手機(jī)短視頻制作-配套課件
- 西氣東輸二線25標(biāo)段山嶺隧道內(nèi)管道安裝技術(shù)
- 防校園欺凌-課件(共28張PPT)
- 第6章 智能網(wǎng)聯(lián)汽車(chē)測(cè)評(píng)技術(shù)
- 單向板結(jié)構(gòu)設(shè)計(jì)
- 普通高等學(xué)校學(xué)生轉(zhuǎn)學(xué)申請(qǐng)表
- 房租、水、電費(fèi)(專用)收據(jù)Excel模板
- 習(xí)近平總書(shū)記關(guān)于教育的重要論述研究學(xué)習(xí)通章節(jié)答案期末考試題庫(kù)2023年
評(píng)論
0/150
提交評(píng)論