基礎(chǔ)工程設(shè)計課程設(shè)計(論文)單片機(jī)矩陣電子琴_第1頁
基礎(chǔ)工程設(shè)計課程設(shè)計(論文)單片機(jī)矩陣電子琴_第2頁
基礎(chǔ)工程設(shè)計課程設(shè)計(論文)單片機(jī)矩陣電子琴_第3頁
基礎(chǔ)工程設(shè)計課程設(shè)計(論文)單片機(jī)矩陣電子琴_第4頁
基礎(chǔ)工程設(shè)計課程設(shè)計(論文)單片機(jī)矩陣電子琴_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計(論文)說明書題 目: 基礎(chǔ)工程設(shè)計 4*4矩陣電子琴 院 (系): 信息與通信學(xué)院 專 業(yè): 電子科學(xué)與技術(shù) 學(xué)生姓名: 學(xué) 號: 指導(dǎo)教師: 職 稱: 2011年12月10日摘 要微型電子琴的設(shè)計以at89s52單片機(jī)作為系統(tǒng)的核心控制部分,通過制作硬件電路和軟件的設(shè)計縮寫,然后進(jìn)行軟硬件的調(diào)試運(yùn)行,最終達(dá)到設(shè)計電路的演奏和存儲功能。設(shè)計中應(yīng)用中斷系統(tǒng)和定時/計數(shù)原理控制演奏器發(fā)聲,對音樂發(fā)生所必須確定的音符和節(jié)拍分別用程序語言實(shí)驗(yàn),可以用它來演奏樂曲,特點(diǎn)是設(shè)計思路簡單、清晰、成本低。關(guān)鍵字:單片機(jī);音樂發(fā)生器;at89s52abstract:the design takes 8

2、9s52 scm as the core of systems control section. in order to achieve the effect of the circuit that performancing the musical instrument and the function of the memory.we can on sorfware and hardwares debugging through manufacturing hardware circuit and compiling the softwares design.the design appi

3、lies the principle of the interruption sysem and fixed time/the counting to performance sound production,and accuording to the program language to realize the separation of the note and at the same time we can use it to play with the broadcast music.and the best advantage is the design is simply and

4、 clear.key words:scm; music generator;at89s52目 錄引言. .41 系統(tǒng)設(shè)計.41.1 方案的確定.41.2 設(shè)計意義及優(yōu)點(diǎn)41.3 設(shè)計思路.41.4 設(shè)計框圖.42 硬件系統(tǒng)設(shè)計.52.1 at89s52芯片.52.2 矩陣鍵盤模塊62.3 發(fā)聲模塊.72.4 復(fù)位電路72.5 時鐘電路73 軟件設(shè)計.83.1 音樂發(fā)聲原理83.2 音樂發(fā)聲流程圖.93.3 音樂節(jié)拍的實(shí)現(xiàn).94 系統(tǒng)調(diào)試104.1 硬件調(diào)試.104.2 軟件調(diào)試.105 結(jié)論10謝辭.10參考文獻(xiàn).10附錄.11附錄1.11附錄2.11附錄3.12引言 單片微型計算機(jī)是大規(guī)模集

5、成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計算機(jī),它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演者重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)融入到現(xiàn)代人們的生活中,成為不可替代的一部分。單片機(jī)電子琴的設(shè)計的目的是為了使我們更加深入地了解單片機(jī)的發(fā)聲原理,利用定時器可發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就會發(fā)出不同音調(diào)。其次,定時器按設(shè)置的定時參數(shù)產(chǎn)生中斷,

6、這一次中斷發(fā)出脈沖低電平,下一次反轉(zhuǎn)發(fā)出脈沖高電平,由于定時參數(shù)不同,就發(fā)出不同頻率的脈沖,也使我們進(jìn)一步熟悉定時器的編程方法和定時初值的計算,進(jìn)一步熟悉鍵盤掃描電路的工作原理和編程方法,了解單片機(jī)芯片的接口技術(shù)。1 系統(tǒng)設(shè)計1.1 方案的確定采用矩陣式鍵盤,接口設(shè)計是由行線和列線組成,按鍵位于行列的交叉點(diǎn)上。如果用獨(dú)立式按鍵,從整體上看簡化了電路,可是不利于電子琴功能的擴(kuò)展;而采用矩陣式按鍵,利用at89s52的i/o口,彌補(bǔ)了獨(dú)立式的這個缺陷。1.2 設(shè)計意義及優(yōu)點(diǎn)所設(shè)計的簡易電子琴是為了演示電子琴的實(shí)現(xiàn)過程,以達(dá)到能彈奏動聽曲目為預(yù)期效果,是實(shí)現(xiàn)多功能電子琴并滿足市場需求的必經(jīng)過程。該設(shè)

7、計具有以下優(yōu)點(diǎn):(1) 由4x4組成16個按鈕矩陣,設(shè)計成不同的音調(diào)。(2) 可以隨意彈奏想要表達(dá)的音樂。(3) 制造簡單、成本低1.3 設(shè)計思路一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,可以利用不同的頻率的組合構(gòu)成我們所想要的音樂,對于單片機(jī),定時/計數(shù)器t0來產(chǎn)生這樣方波頻率信號,把一首歌曲的音階對應(yīng)各個頻率。本實(shí)驗(yàn)用到的單片機(jī)為at89s52,晶振為12mhz 。單片機(jī)由相應(yīng)的匯編源程序或c語言源程序來控制,主要的程序內(nèi)容是4x4行列式鍵盤識別和音樂的產(chǎn)生。1.4 設(shè)計框圖2 硬件系統(tǒng)設(shè)計2.1 at89s52介紹at89c52是一個低電壓,高性能cmos 8位單片機(jī),

8、片內(nèi)含8k bytes的可反復(fù)擦寫的flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,at89c52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。at89c52為8 位通用微處理器,采用工業(yè)標(biāo)準(zhǔn)的c51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功能包括對會聚主ic 內(nèi)部寄存器、數(shù)據(jù)ram及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號ir的接收解碼及與主板cpu通信等。主要管腳有:xt

9、al1(19 腳)和xtal2(18 腳)為振蕩器輸入輸出端口,外接12mhz 晶振。rst/vpd(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負(fù)端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設(shè)計中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應(yīng)功能管腳相連接,13 腳定義為ir輸入端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板cpu 的相應(yīng)功能端,用于當(dāng)前

10、制式的檢測及會聚調(diào)整狀態(tài)進(jìn)入的控制功能。單片機(jī)管腳圖如下:2.2 矩陣鍵盤模塊4*4矩陣鍵盤原理圖:在鍵盤中按鍵數(shù)量較多時,為了減少i/o口的占用,通常將按鍵排列成矩陣形式,如上圖所示。在矩陣式鍵盤中,每條水平線和垂直直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口(如p1口)就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20個鍵的鍵盤,而直接用端口線則只能多出了一鍵(9鍵)。由此可見,在需要的按鍵比較多時,采用矩陣法來做鍵盤是合理的。采用矩陣法來連接鍵盤是非常合理的矩陣式結(jié)構(gòu)式的鍵盤顯然比獨(dú)特式鍵盤復(fù)雜一

11、些,識別也要復(fù)雜一些。列線通過電阻接電源并將行線所接的單片機(jī)4個i/o口作為輸出端而列線所接的i/o口則作為輸入端,這樣,當(dāng)按鍵沒有被按下時所有的輸出端都是高電平,代表無鍵按下,行線輸出是低電平一旦有鍵按下,則輸入線就會被拉低,這樣通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。2.3 發(fā)聲模塊可以采用一個小功率pnp型硅管s8550,利用“分壓偏置式工作點(diǎn)穩(wěn)定直流通路”,達(dá)到對靜態(tài)工作點(diǎn)的穩(wěn)定,分壓電阻為1k。喇叭一端接+5v電壓,一端接三極管的發(fā)射極。通過三極管的截止和導(dǎo)通來驅(qū)動喇叭。即由at89s52的pa0口輸出預(yù)定的方波,加到三極管進(jìn)行放大,再輸出到喇叭,很好地實(shí)現(xiàn)了頻率、聲音的轉(zhuǎn)換。2

12、.4 復(fù)位電路復(fù)位在上電或復(fù)位過程中,控制cpu的復(fù)位狀態(tài):這段時間內(nèi)讓cpu保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止cpu發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。上電復(fù)位電路如圖,只要在rst復(fù)位輸入引腳上接一電容至vcc端,下接一個電阻到地即可。上電復(fù)位的工作過程是在加電時,復(fù)位電路通過電 容加給rst端一個短暫的高電平信號,此高電平信號隨著vcc對電容的充電過程而逐漸回落,即rst端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復(fù)位,rst端的高電平信號必須維持足夠長的時間。上電時,vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶

13、振頻率為10mhz,起振時間為1ms;晶振頻率為1mhz,起振時間則為10ms??偠灾?,復(fù)位電路基本功能是系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定得延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。2.5 時鐘電路單片機(jī)可以看成是在時鐘驅(qū)動下的時序邏輯電路,單片機(jī)在工作過程中,所有工作都是在時鐘信號控制下進(jìn)行的,每執(zhí)行一條指令,cpu的控制器都要發(fā)出一系列特定的控制信號。時鐘是一直在跳變的,信號只是在高電平或者低電平的時候有效,或者是在電平由高變低的時候(下降沿)、有低變高的時候(上升沿)的時候才有效。所以時鐘電路的

14、主要作用是向主板上的各功能芯片和isa、pci等總線發(fā)送時鐘信號(主板上時鐘發(fā)生器芯片信號線的形狀為蛇形線),使這些芯片在時鐘信號的控制下協(xié)調(diào)工作。采用內(nèi)部振蕩方式,在引腳xtal1和xtal2外接晶體振蕩器即可構(gòu)成。由于單片機(jī)內(nèi)部有一個高增益反相放大器,當(dāng)外接晶振后,就構(gòu)成了自激振蕩器,并產(chǎn)生振蕩時鐘脈沖。兩個電容器穩(wěn)定振蕩頻率、快速起振的作用。3 軟件設(shè)計3.1 音樂發(fā)聲原理用電子琴可以演奏出各種美妙的音樂,而音樂是由音符組成,不同的音符是由相應(yīng)頻率的振動產(chǎn)生的。由8051單片機(jī)模擬可以產(chǎn)生音符,只需算出音頻周期t=1/f,利用音頻的變化產(chǎn)生不同電平驅(qū)動發(fā)聲模塊,來達(dá)到產(chǎn)生音樂的目的,因此

15、只要把一首歌的音符對應(yīng)頻率關(guān)系弄正確即可。利用at89s52的內(nèi)部定時器使其工作計數(shù)器模式(mode1)下,改變計數(shù)值th0及tl0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。例如,頻率為523hz,其周期為t=1/523=1912us,因此只要令計數(shù)器定時956us/1us=956,每計數(shù)956次時將i/o反相,就可得到中音do(523hz).計數(shù)脈沖值與頻率的關(guān)系式是:n=(fi/2)/fr式中,n是計數(shù)值,fi是機(jī)器頻率(晶體振蕩器為12mhz時,其頻率為1mhz),fr為想要產(chǎn)生的頻率。其計數(shù)初值t的求法如下:t=65536-n=65536-(fi/2)/fr.例如:設(shè)k=65536,fi=1m

16、hz,求低音do(261hz)的計數(shù)值。t=65536-(1000000/2)/261=63628單片機(jī)12mhz晶振,高中低有音符與計數(shù)t0相關(guān)的計數(shù)值如下表:3.2 音樂發(fā)聲流程圖3.3 音樂節(jié)拍的實(shí)現(xiàn)除了音符以外,節(jié)拍也是音樂的關(guān)鍵組成部分。節(jié)拍實(shí)際上就是音持續(xù)時間的長短,在單片機(jī)系統(tǒng)中可以用延時來實(shí)現(xiàn),如果1/4拍得延時是0.4秒,則1拍的延時是1.6秒,只要知道1/4拍的延時時間,其余的節(jié)拍延時時間就是它的倍數(shù)。單片機(jī)要播放音樂,那就必須在程序中考慮到節(jié)拍的設(shè)置。音樂的音拍,一個節(jié)拍為單位(c調(diào))如下:4 系統(tǒng)調(diào)試4.1 硬件調(diào)試硬件調(diào)試主要是針對單片機(jī)部分進(jìn)行調(diào)試。在上電之前,先確

17、保電路中不在短路或斷路情況,這是整個調(diào)試的第一步,也是很重要的一步。此時主要使用工具是萬用表,用來完成檢測電路中是否存在短路或斷路情況,并且注意焊點(diǎn)沒有短接在一起。在確保電路正常后方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯,同時還要檢驗(yàn)原理是否正確。在本設(shè)計中,主要是鍵盤單片機(jī)控制部分和音頻轉(zhuǎn)換電路部分的硬件調(diào)試。系統(tǒng)板硬件連接如下:(1) 把“單片機(jī)系統(tǒng)”區(qū)域中的p1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的spk in端口上; (2) 把“單片機(jī)系統(tǒng)“區(qū)域中的p3.0p3.7端口用8芯排線連接到“4x4行列式鍵盤”區(qū)域中的c1c4r1r4端口上。4.2 軟件調(diào)試編程思路:在單片機(jī)里不

18、同的掃描碼對應(yīng)不同的音階,通過掃描矩陣鍵盤得到按下的按鍵對應(yīng)的掃描碼就可以發(fā)出不同的音階。定義兩個數(shù)組,一個是歌曲的音階,一個是各個音階所對應(yīng)的拍數(shù),通過播放這個數(shù)組不同音階以及對應(yīng)的拍數(shù)就可以演奏歌曲。通常一個調(diào)試程序應(yīng)該具備跟蹤、斷電、查看變量、更改數(shù)值四個功能。整個程序是一個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個程序都能平穩(wěn)運(yùn)行,各個模塊的子程序的正確、平穩(wěn)運(yùn)行是必不可少的,所以在軟件調(diào)試的最初階段就是把各個子程序模塊進(jìn)行分別測試。5 結(jié)論通過各方面努力,本次課程設(shè)計任務(wù)基本完成,系統(tǒng)功能已實(shí)現(xiàn),可以任意彈奏一首曲子。通過這次設(shè)計,提高了我運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識來解決面臨實(shí)

19、際問題的能力,同時也提高了我查閱各種文獻(xiàn)資料、設(shè)計規(guī)范的水平。謝 辭關(guān)于本次課程設(shè)計,我感受頗多。本次課設(shè)是在我的導(dǎo)師于新華老師的親切關(guān)懷和悉心指導(dǎo)下完成的。從課題的選擇到項(xiàng)目的最終完成,于老師都給予我細(xì)心的指導(dǎo)和支持,給我提出切實(shí)可行的指導(dǎo)性建議,于老師一絲不茍的負(fù)責(zé)精神,使我深受感動。在此向尊敬的于新華老師表示真摯的謝意和崇高的敬意! 參考文獻(xiàn)1 李群芳 張士軍 黃建.單片微型計算機(jī)與接口技術(shù)(第三版).北京:電子工業(yè)出版社,2008.52 黃冰 覃偉年 黃知超.微型原理及應(yīng)用(第二版).重慶:重慶大學(xué)出版社,2003.13 王衛(wèi)東.高頻電子電路(第二版).北京:電子工業(yè)出版社,2009.

20、34 閻石.數(shù)字電子技術(shù)基礎(chǔ)(第五版).高等教育出版社5 譚浩強(qiáng).c程序設(shè)計(第三版).北京:清華大學(xué)出版社,2005.7附 錄附錄1 元器件清單:at89s52 (1只)晶振 12mhz (1個)電解電容 10uf (1只)無極性電容 30pf (2只)電阻 10k (1只)電阻 470 (2只)a512j排阻 5.1k (1只)喇叭 (1只)pnp三極管s8550 d.331(1只)發(fā)光二級管 (1只)按鍵 (17只)接口和線 (各若干只)附錄2 電路原理圖:附錄3 程序清單:#include unsigned char temp; /*temp為無符號字符型變量,用于延時消抖*/unsi

21、gned char key; /*按鍵*/unsigned char i,j,mm; /*i、j用于延時,mm用于音階*/unsigned char sth0; /*t0計數(shù)器高位*/unsigned char stl0; /*t0計數(shù)器低位*/unsigned int code tab=63628,63835,64021,64103,64260,64400,64524,64580,64684,64777, 64820,64898,64968,65030,65058,65110,65157,65178,65217,65252,65283; /*音階對應(yīng)的計數(shù)器里填的值*/void delay1

22、ms(unsigned int n)/*延時n毫秒的函數(shù)*/ unsigned int k,i,j;for(k=0;kn;k+) for(i=0;i10;i+) for(j=0;j0;i-)for(j=200;j0;j-); /*延時消抖*/temp=p3; temp=temp & 0x0f; /*再判斷一次*/if (temp!=0x0f)temp=p3;temp=temp & 0x0f; /*確認(rèn)是按下*/switch(temp) /*選擇出按下的按鍵對應(yīng)的掃描碼*/case 0x0e:key=0;break;case 0x0d:key=1;break;case 0x0b:key=2;br

23、eak;case 0x07:key=3;break;temp=p3;p1_0=p1_0;sth0=tabkey/256; /*計數(shù)器高位裝入對應(yīng)的初值*/stl0=tabkey%256; /*計數(shù)器低位裝入對應(yīng)的初值*/tr0=1; /*開始計數(shù)*/temp=temp & 0x0f;while(temp!=0x0f) /*等待按鍵釋放*/temp=p3;temp=temp & 0x0f;tr0=0; /*計數(shù)器停止*/p3=0xff;p3_5=0; /*掃描另一行p3_5*/temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j

24、=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)temp=p3;temp=temp & 0x0f;switch(temp)case 0x0e:key=4;break;case 0x0d:key=5;break;case 0x0b:key=6;break;case 0x07:key=7;break;temp=p3;p1_0=p1_0;sth0=tabkey/256;stl0=tabkey%256;tr0=1;temp=temp & 0x0f;while(temp!=0x0f)temp=p3;temp=temp & 0x0f;tr0=0;p3=0xff;p3_6=0;temp=p3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);temp=p3;temp=temp & 0x0f;if (temp!=0x0f)t

溫馨提示

  • 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

提交評論