版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 《單片機原理與應(yīng)用》課程設(shè)計報告</p><p><b> 目 錄</b></p><p> 1 設(shè)計任務(wù)- 1 -</p><p> 2 系統(tǒng)設(shè)計方案- 1 -</p><p> 2.1 設(shè)計目的- 1 -</p><p> 2. 2設(shè)計要求- 1
2、-</p><p> 3 系統(tǒng)硬件設(shè)計- 1 -</p><p> 3.1 基本原理- 1 -</p><p> 3.2 芯片及原理圖介紹- 3 -</p><p> 3.2.1 AT89C52簡介- 3 -</p><p> 3.2.2 電子琴設(shè)計的原理圖- 3 -</p><
3、;p> 3.3 各個模塊介紹- 3 -</p><p> 3.3.1 系統(tǒng)硬件設(shè)計- 4 -</p><p> 3.3.2 子系統(tǒng)模塊一- 4 -</p><p> 3.3.3 子系統(tǒng)模塊二- 5 -</p><p> 3.3.4 子系統(tǒng)模塊三- 5 -</p><p> 3.3.5 AT8
4、9C52晶振模塊- 6 -</p><p> 4 系統(tǒng)軟件設(shè)計- 6 -</p><p> 4. 1 軟件設(shè)計總流程圖流程- 7 -</p><p> 4. 2 軟件程序- 8 -</p><p> 5 系統(tǒng)的硬件調(diào)試及軟件調(diào)試- 8 -</p><p> 5.1 軟件調(diào)試- 8 -</
5、p><p> 5、2 硬件調(diào)試- 9 -</p><p> 6 課程設(shè)計心得體會- 10 -</p><p> 參 考 文 獻- 11 -</p><p> 附錄1 源程序- 12 -</p><p> 附錄2 儀器清單- 16 -</p><p> 附錄3 系統(tǒng)原理圖
6、- 17 -</p><p><b> 簡易電子琴</b></p><p><b> 1 設(shè)計任務(wù)</b></p><p> 實現(xiàn)電子琴發(fā)聲控制系統(tǒng);要求電路實現(xiàn)如下功能:</p><p> 利用蜂鳴器作為發(fā)聲部件,兩個數(shù)碼管作為顯示部件,設(shè)置16個按鍵,實現(xiàn)高音、中音、低音的1、2、3、
7、4、5、6、7的發(fā)音。</p><p> 用PROTEUS實現(xiàn)的電子琴仿真設(shè)計。說明:單片機的工作時鐘頻率為11.0592MHz。</p><p><b> 2 系統(tǒng)設(shè)計方案</b></p><p><b> 2.1 設(shè)計目的</b></p><p> 本次設(shè)計提出了用AT89C52單片機
8、為核心控制元件,設(shè)計一個簡易的電子琴. 本方案以AT89C52單片機作為主控核心,與鍵盤、蜂鳴器等模塊組成核心主控制模塊在主控模塊上設(shè)有4*4個按鍵和蜂鳴器。根據(jù)使用者的操作隨意彈奏想要表達的音樂。一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號。</p>
9、;<p><b> 2. 2設(shè)計要求</b></p><p> 1、4*4鍵盤組成16個按鈕,可以隨意彈奏想要表達的音樂。</p><p> 2、通過數(shù)碼管顯示按的是哪個鍵,發(fā)出哪個音高。</p><p> 3 系統(tǒng)硬件設(shè)計 </p><p> 3.1 基本原理 <
10、;/p><p> 要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P3.3反相,然后重復(fù)計時再反相。就可在P3.3引腳上得到此頻率的脈沖。利用AT89C52的內(nèi)部定時器使其工作計數(shù)器模式(MODE1)下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計
11、數(shù)器計時956μs/1μs=956,每計數(shù)956次時將I/O反相,就可得到中音DO(523Hz)。計數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr,式中,N是計數(shù)值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計數(shù)初值T的求法如下:T=65536-N=65536-fi÷2÷fr</p><p> 例如:設(shè)K=65536,fi=1MH
12、z,求中音DO(261Hz)。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。</p><p> 單片機12MHZ晶振,中音符與計數(shù)T0相關(guān)的計數(shù)值如表所示:</p><p> 用單片機播放音樂,或者彈奏電子琴,實際上
13、是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。</p><p> 3.2 芯片及原理圖介紹</p><p> 3.2.1 AT89C52簡介 </p><p> AT89C52(圖1-1)為8位低功耗單片機,采用工業(yè)標準的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會聚調(diào)整時的功能控制。功
14、能包括對會聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會聚調(diào)整控制,會聚測試圖控制,紅外遙控信號IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和GND(20 腳)為供電端口,分別接+5V電源的正負端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件
15、定義,在本設(shè)計中,P0 端口(32~39 腳)定義為雙向8位三態(tài)I/O接口,它既可以作為通用I/O接口,又可作為外部擴展時的數(shù)據(jù)總線及低8位地址總線的分時復(fù)用口;P1端口(1~8腳)定義為準雙向I/O接口,內(nèi)部具有上拉電阻;P2端口(21~28腳)定義為8位準雙向I/O接口,內(nèi)部具有上拉電阻,可直接連接外部I/O設(shè)備,同時與地址高8位復(fù)用;P3端口(10~17)定義為8位準雙向I/O接口,內(nèi)部具有上拉電</p><p
16、> 圖1-1 AT89C52 </p><p> 3.2.2 電子琴設(shè)計的原理圖(見附錄) </p><p> 3.3 各個模塊介紹</p><p> 本系統(tǒng)采用單片機AT89C52為電子琴的控制核心,系統(tǒng)主要包括按鍵彈奏模塊,數(shù)碼管顯示模塊。下面對各模塊的設(shè)計逐一進行論證比較。</p><p>
17、 3.3.1 系統(tǒng)硬件設(shè)計</p><p> 圖2-1 總體硬件組成框圖</p><p> 實驗中每按下一個琴鍵,單片機能夠檢測到鍵盤的按鍵,并根據(jù)按鍵的位置,通過程序來控制,使喇叭發(fā)出不同頻率(音調(diào))的聲音,聲音延遲一段時間,等到按鍵放開之后,聲音停止。然后再繼續(xù)掃描,看是否有鍵按下。如此循環(huán),即可實現(xiàn)基本的琴鍵功能。</p><p> 3.3.2 子系
18、統(tǒng)模塊一</p><p> 琴鍵模塊如圖2-2所示,利用AT89C52單片機的P1端口及P2端口與鍵盤(圖2-2 a)、數(shù)碼管(圖2-2 b)的連接。</p><p> 圖2-2(a) 單片機與鍵盤的連接 圖2-2 (b)單片機與數(shù)碼管的連接</p><p> 3.3.3 子系統(tǒng)模塊二</p><p> 播放模塊是蜂鳴器構(gòu)成
19、。蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計算機、打印機、復(fù)印機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標準用“FM”、“LB”、“JD”等)表示。而且由于所需驅(qū)動功率較小,且價格低廉,所以,被廣泛應(yīng)用。</p><p> 圖2-3 發(fā)聲模塊電路圖 </p&
20、gt;<p> 3.3.4 子系統(tǒng)模塊三</p><p> 電子琴設(shè)有16個按鍵,分別代表16個音符,包括中音段的全部音符。通過軟硬件設(shè)計,按鍵觸發(fā)外部中斷,中斷使程序跳轉(zhuǎn),實現(xiàn)模式轉(zhuǎn)換,啟動電子琴。然后通過查詢電子琴所按下的按鍵,讀取電子琴輸入狀態(tài),跳轉(zhuǎn)到對應(yīng)的程序人口,實現(xiàn)各種琴鍵的聲音。</p><p> 矩陣鍵盤模塊圖如下:</p><p&g
21、t; 圖2-4 矩陣鍵盤模塊</p><p> 3.3.5 AT89C52晶振模塊</p><p> XTAL1腳為片內(nèi)振蕩電路的輸入端,XTAL2腳為片內(nèi)振蕩電路的輸入端。8952的時鐘有兩種方式:一種是片內(nèi)時鐘振蕩方式,但需在18和19腳外接石英晶體(頻率為1.2~12MHZ)和振蕩電容,振蕩電容值一般取10~30pf,典型值為30pf;另一種是外部時鐘方式,即將XTAL1
22、接地,外部時鐘信號從XTAL2腳輸入。下面為方式一電路圖。</p><p> 圖2-6 晶振模塊</p><p><b> 4 系統(tǒng)軟件設(shè)計</b></p><p> 軟件是該電子琴控制系統(tǒng)的重要組成部分,將系統(tǒng)的各部分功能編寫成子模塊的形式,這樣增強了系統(tǒng)軟件的可讀性和可移植性。KEIL C51 µVision2集成開發(fā)
23、環(huán)境是KEIL Software,Inc/KEIL electronik GmbH開發(fā)的基于80C51內(nèi)核的微處理器軟件開發(fā)平臺,內(nèi)嵌多種符合當前工業(yè)標準的開發(fā)工具,可以完成從工程建立到管理、編譯、鏈接、目標代碼的生成、軟件仿真、硬件仿真等完整的開發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準確性和效率方面達到了較高的水平,而且可以附加靈活的控制選項,在開發(fā)大型項目時非常理想。</p><p> 4. 1 軟件設(shè)計總流程
24、圖流程</p><p><b> 4. 2 軟件程序</b></p><p> 本系統(tǒng)的上位機軟件主要是編輯電子琴播放狀態(tài)的內(nèi)容,在設(shè)計中采用C語言編寫了電子琴控制系統(tǒng)控制和播放內(nèi)容的程序。見附錄一。</p><p> 5 系統(tǒng)的硬件調(diào)試及軟件調(diào)試</p><p><b> 5.1 軟件調(diào)試。<
25、/b></p><p> 利用protuse與keil聯(lián)調(diào),對電路原理圖進行仿真。</p><p> 當按下K0按鍵的時候,數(shù)碼管顯示如下,同時,蜂鳴器發(fā)出音樂的(音高)。</p><p> 當按下K6按鍵的時候,數(shù)碼管顯示如下,同時,蜂鳴器發(fā)出音樂(音高。)</p><p><b> 5、2 硬件調(diào)試。</b&
26、gt;</p><p> 將焊接好的硬件接到電源上,進行調(diào)試。</p><p> 按下K0鍵時,數(shù)碼管顯示為‘0’,并且蜂鳴器有發(fā)出相對應(yīng)的音高。</p><p> 按下K6鍵時,數(shù)碼管顯示為‘9’,并且蜂鳴器有發(fā)出相對應(yīng)的音高。</p><p> 按下K15鍵時,數(shù)碼管顯示為‘F’,并且蜂鳴器有發(fā)出相對應(yīng)的音高。</p>
27、<p> 綜合以上幾次操作,發(fā)現(xiàn)硬件調(diào)試成功,硬件的功能與仿真的功能一樣。</p><p> 6 課程設(shè)計心得體會</p><p> 通過這次單片機課程設(shè)計,我不僅加深了對單片機理論的理解,將理論很好地應(yīng)用到實際當中去,而且我還學(xué)會了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進行改進,使之功能不斷完善,成為真己的東西。</p&
28、gt;<p> 在這周的單片機課程設(shè)計中,我合理的安排的時間。提前確定自己要做的課程,以及提前去查找資料,去購買元器件。在這次的課程設(shè)計中,我學(xué)到了很多只是,這些知識在課堂上很難學(xué)到。這次課程讓我受益頗多,無論從知識上還是其他的各個方面。上課的時候的學(xué)習從來沒有見過真正的單片機,只是從理論的角度去理解枯燥乏味。但在實習中見過甚至使用了單片機及其系統(tǒng),能夠理論聯(lián)系實際的學(xué)習,開闊了眼界,提高了單片機知識的理解和水平。課程設(shè)
29、計中,我加強了自己的動手能力,以及更好的將理論的只是運用到實踐當中去。在這次課程設(shè)計中又讓我體會到了合作與團結(jié)的力量,這實驗中,我也遇到了很多難題,當遇到不會或是設(shè)計不出來的地方,我們就會去詢問同學(xué)和老師,老師都會很認真的給予我們幫助。同學(xué)之間還互相交流,互幫互助,遇到問題能夠相互探討,體現(xiàn)了團結(jié)的力量。</p><p><b> 參 考 文 獻</b></p><p&
30、gt; [1] 楊凌霄. 微型計算機原理與應(yīng)用,中國礦業(yè)大學(xué)出版社.2008年8月第一版</p><p> [2] 康華光. 電子技術(shù)基礎(chǔ)(數(shù)字部分),高等教育出版社.第五版</p><p> [3] 鄧紅. 單片機實驗與應(yīng)用設(shè)計教程 出版日期:2004年05月第1版</p><p> [4] 余發(fā)山、王福忠. 單片機原理及應(yīng)用技術(shù). 中國礦業(yè)大學(xué)出版社.
31、2008年6月第1 版</p><p><b> 附錄1 源程序</b></p><p> #include<reg51.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p>&l
32、t;p> uchar code DSY_Table[]=</p><p> {0x7e,0x18,0x6d,0x3d,0x1b,0x37,0x77,0x1c,0x7f,0x3f,0x5f,0x73,0x66,0x79,0x67,0x47};</p><p> uint code Tone_Delay_Table[]=</p><p> {64021,6
33、4103,64260,64400,64524,64580,64684,64777,</p><p> 64820,64898,64968,65030,65058,65110,65157,65178};</p><p> sbit BEEP=P3^0;</p><p> uchar KeyNo;</p><p> void DelayM
34、S(uchar x)</p><p><b> {</b></p><p><b> uchar i;</b></p><p> while(x--) for(i=0;i<120;i++);</p><p><b> }</b></p><p&
35、gt; void Keys_Scan()//按鍵掃描</p><p><b> {</b></p><p> uchar Tmp,k;</p><p> P1=0x0F;//按鍵初始化</p><p> DelayMS(2);</p><p> Tmp=P1^0x0F;</p&g
36、t;<p> switch(Tmp)</p><p><b> {</b></p><p> case 1:k=0;break;</p><p> case 2:k=1;break;</p><p> case 4:k=2;break;</p><p> case 8:k
37、=3;break;</p><p> default:return;</p><p><b> }</b></p><p><b> P1=0xF0;</b></p><p> DelayMS(2);</p><p> Tmp=(P1>>4)^0x0F;
38、</p><p> switch(Tmp)</p><p><b> {</b></p><p> case 1:k+=0;break;</p><p> case 2:k+=4;break;</p><p> case 4:k+=8;break;</p><p>
39、; case 8:k+=12;break;</p><p> default:return;</p><p><b> }</b></p><p><b> KeyNo=k;</b></p><p><b> }</b></p><p> v
40、oid play_Tone() interrupt 1</p><p><b> {</b></p><p> TH0=Tone_Delay_Table[KeyNo]/256;</p><p> TL0=Tone_Delay_Table[KeyNo]%256;</p><p> BEEP=~BEEP;</p
41、><p><b> }</b></p><p> void main()</p><p><b> {</b></p><p><b> P2=0xBF;</b></p><p> TMOD=0x01;</p><p>&l
42、t;b> IE=0x82;</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> P1=0xF0;//初始值</p><p> if(P1!=0xF0)//有按鍵按下</p><p>&
43、lt;b> {</b></p><p> Keys_Scan();//調(diào)用按鍵發(fā)音子程序</p><p> P2=DSY_Table[KeyNo];//顯示按鍵的鍵位</p><p> TR0=1;//開中斷</p><p><b> }</b></p><p><
44、;b> else</b></p><p><b> {</b></p><p> TR0=0;//關(guān)中斷</p><p><b> }</b></p><p> DelayMS(2);</p><p><b> }</b>&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計---基于at89s52單片機簡易電子琴設(shè)計
- 課程設(shè)計---基于at89s52單片機簡易電子琴設(shè)計
- 課程設(shè)計報告--基于at89s52的簡易電子琴
- 2017畢業(yè)論文-基于at89s52單片機的簡易電子琴設(shè)計
- 基于at89s52單片機的發(fā)聲電子琴的課程設(shè)計畢業(yè)論文
- 基于at89s52單片機的電子琴設(shè)計畢業(yè)論文
- 基于at89c52單片機的簡易電子琴設(shè)計
- 單片機課程設(shè)計簡易電子琴
- 單片機簡易電子琴單片機課程設(shè)計
- 簡易電子琴單片機課程設(shè)計
- 簡易電子琴單片機課程設(shè)計
- 簡易電子琴單片機課程設(shè)計
- 單片機課程設(shè)計簡易電子琴
- 單片機課程設(shè)計——簡易電子琴
- 單片機課程設(shè)計---簡易電子琴
- 基于at89s52單片機的多音階電子琴設(shè)計畢業(yè)論文
- 基于單片機的簡易電子琴課程設(shè)計
- 基于單片機的簡易電子琴課程設(shè)計
- 基于at89s52的玩具電子琴設(shè)計
- 單片機課程設(shè)計--簡易電子琴設(shè)計
評論
0/150
提交評論