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

下載本文檔

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

文檔簡介

1、課程設計(論文)說明書題 目: 基礎工程設計 4*4矩陣電子琴 院 (系): 信息與通信學院 專 業(yè): 電子科學與技術 學生姓名: 學 號: 指導教師: 職 稱: 2011年12月10日摘 要微型電子琴的設計以at89s52單片機作為系統(tǒng)的核心控制部分,通過制作硬件電路和軟件的設計縮寫,然后進行軟硬件的調(diào)試運行,最終達到設計電路的演奏和存儲功能。設計中應用中斷系統(tǒng)和定時/計數(shù)原理控制演奏器發(fā)聲,對音樂發(fā)生所必須確定的音符和節(jié)拍分別用程序語言實驗,可以用它來演奏樂曲,特點是設計思路簡單、清晰、成本低。關鍵字:單片機;音樂發(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)設計.41.1 方案的確定.41.2 設計意義及優(yōu)點41.3 設計思路.41.4 設計框圖.42 硬件系統(tǒng)設計.52.1 at89s52芯片.52.2 矩陣鍵盤模塊62.3 發(fā)聲模塊.72.4 復位電路72.5 時鐘電路73 軟件設計.83.1 音樂發(fā)聲原理83.2 音樂發(fā)聲流程圖.93.3 音樂節(jié)拍的實現(xiàn).94 系統(tǒng)調(diào)試104.1 硬件調(diào)試.104.2 軟件調(diào)試.105 結論10謝辭.10參考文獻.10附錄.11附錄1.11附錄2.11附錄3.12引言 單片微型計算機是大規(guī)模集

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

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

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

8、片內(nèi)含8k bytes的可反復擦寫的flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(ram),器件采用atmel公司的高密度、非易失性存儲技術生產(chǎn),兼容標準mcs-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和flash存儲單元,at89c52單片機在電子行業(yè)中有著廣泛的應用。at89c52為8 位通用微處理器,采用工業(yè)標準的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 腳)為復位輸入端口,外接電阻電容組成的復位電路。vcc(40 腳)和vss(20 腳)為供電端口,分別接+5v電源的正負端。p0p3 為可編程通用i/o 腳,其功能用途由軟件定義,在本設計中,p0 端口(3239 腳)被定義為n1 功能控制端口,分別與n1的相應功能管腳相連接,13 腳定義為ir輸入端,10 腳和11腳定義為i2c總線控制端口,分別連接n1的sdas(18腳)和scls(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接主板cpu 的相應功能端,用于當前

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

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

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

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

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

15、只要把一首歌的音符對應頻率關系弄正確即可。利用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ù)脈沖值與頻率的關系式是:n=(fi/2)/fr式中,n是計數(shù)值,fi是機器頻率(晶體振蕩器為12mhz時,其頻率為1mhz),fr為想要產(chǎn)生的頻率。其計數(shù)初值t的求法如下:t=65536-n=65536-(fi/2)/fr.例如:設k=65536,fi=1m

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

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

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

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

20、34 閻石.數(shù)字電子技術基礎(第五版).高等教育出版社5 譚浩強.c程序設計(第三版).北京:清華大學出版社,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; /*音階對應的計數(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; /*確認是按下*/switch(temp) /*選擇出按下的按鍵對應的掃描碼*/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ù)器高位裝入對應的初值*/stl0=tabkey%256; /*計數(shù)器低位裝入對應的初值*/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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論