版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 基于51單片機的簡易電子琴</p><p><b> 一、前言:</b></p><p> 我們生活在一個信息時代,各種電子產品層出不窮,作為一個電子信息專業(yè)的學生,了解這些電子產品的基本組成和設計原理是十分必要的,我們學習的是51單片機原理與應用,而課程設計正是對我們學習的理論的實踐與鞏固。本設計主要介紹的是基于51單片機的簡易電子琴,設計
2、的一個具有若干功能的簡易電子琴,本設計使用的語言是匯編語言。</p><p><b> 二、設計目的:</b></p><p> ?。?)能夠對電子電路、電子元器件等方面的知識有進一步的認識,獨立對其進行測試與檢查;</p><p> (2)熟悉8051單片機的內部結構和功能,合理使用其內部寄存器,能夠完成匯編語言編程設計工作;</p
3、><p> ?。?)為實現(xiàn)預期功能,能夠對系統(tǒng)進行快速的調試,并能夠對功能故障進行分析,急時修改相關軟硬件;</p><p> ?。?)對軟件編程,排錯調試,相關儀器設備的使用技能等方面得到較全面的鍛煉和提高。</p><p><b> 三、系統(tǒng)功能要求:</b></p><p> 1.具有發(fā)出C大調為標準音123456
4、7和1八個音的功能。</p><p> 2. 設計完整的原理圖電路,包括時鐘電路、復位電路以及鍵盤接口電路等。</p><p><b> 四、實驗原理:</b></p><p> 音樂產生原理及硬件設計由于一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單
5、片機來產生不同的頻率非常方便,我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。本次設計中單片機晶振為12MHZ,那么定時器的計數周期為1MHZ,假如選擇工作方式1,那T值便為T=65536-1000000/2/f相應的頻率 ,那么根據不同的頻率計算出應該賦給定時器的計數值:</p><p> 采用查表程序進行查表時,可以為這個音符建立一個表格,有
6、助于單片機通過查表的方式來獲得相應的數據:</p><p> TAB1:DB0FCH,46H,0FCH,0AEH,0FDH,0AH,0FDH,34H,0FDH,82H,0FDH,0C8H,0FEH,06H,0FCH,46H</p><p> TAB2:DB0FEH,22H,0FEH,5BH,0FEH,84H,0FEH,9AH,0FEH,0C1H,0FEH,0E4H,0FFH,03H,
7、0FEH,22H</p><p> TAB3:DB0FFH,11H,0FFH,2BH,0FFH,46H,0FFH,4DH,0FFH,60H,0FFH,72H,0FFH,81H,0FFH,11H</p><p><b> 系統(tǒng)整體安排如下:</b></p><p> 1、按下K1鍵發(fā)出1的聲音。</p><p>
8、2、按下K2鍵發(fā)出2的聲音。</p><p> 3、按下K3鍵發(fā)出3的聲音。</p><p> 4、按下K4鍵發(fā)出4的聲音。</p><p> 5、按下K5鍵發(fā)出5的聲音。</p><p> 6、按下K6鍵發(fā)出6的聲音。</p><p> 7、按下K7鍵發(fā)出7的聲音。</p><p>
9、 8、按下K8鍵發(fā)出1的聲音。</p><p> 9、單片機可采用AT89C51、AT89C52、AT89S52、fosc=12MHz。</p><p> 10、時鐘電路,復位電路的設計。</p><p> 8051單片機根據不同的琴鍵產生不同的樂曲音符,并經過信號放大,由喇叭放出。系統(tǒng)整體方案如圖所示:</p><p><b&
10、gt; 五:實驗步驟:</b></p><p> 1、硬件系統(tǒng)原理圖如圖:</p><p> 2、頻率、聲音的實現(xiàn)和產生</p><p> 單片機的頻率和聲音輸出的原理是,利用琴鍵控制定時器的開中斷和閉中斷,即實現(xiàn)發(fā)音和閉音。在此期間再通過對定時器的定時時間進行控制來產生不同頻率的方波,驅動嗡寧器發(fā)出不同音階的聲音。把相應琴鍵對應的音符變換為定常
11、數,作為數據表格存放在存儲器中。由程序查表得到定時常數,用以控制定時器產生方波的頻率。當下一個琴鍵按下時,再查下此琴鍵所對應音符的定時常數。依次進行下去,就可以演奏出自己所要的歌曲。</p><p><b> 3、鍵盤的方案選擇</b></p><p> 此系統(tǒng)琴鍵輸入是通過獨立式鍵盤來完成的。由于8051單片機的八位I/O口足以能實現(xiàn)控制各音階的輸出,并且獨立式
12、鍵盤的編程容易易懂,結構簡單,實現(xiàn)起來方便,而且每個按鍵單獨占有一根I/O接口線,每個I/O口的工作狀態(tài)互不影響,所以采用獨立式鍵盤。P1.0~P1.7 口分別對應琴鍵1~7輸入,如下圖所示。</p><p> 4、關于鍵盤的抖動問題的分析和解決</p><p> 當用手按下一個鍵時,如圖所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩(wěn)定到閉合狀態(tài)的情況;在釋放一個鍵時,也回會出現(xiàn)類似
13、的情況。這就是抖動。抖動的持續(xù)時間隨鍵盤材料和操作員而異,不過通常總是不大于10ms。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。</p><p> 用軟件方法可以很容易地解決抖動問題,這就是通過延遲10ms來等待抖動消失,這之后,再讀入鍵盤碼。</p><p> 延遲10ms的程序為:</p><p> MOV R1, #100
14、 ;執(zhí)行次數為1</p><p> D1: MOV R2, #98 ;執(zhí)行次數為100</p><p> NOP ;執(zhí)行次數為100</p><p> D2: DJNZ R2, D2 ;執(zhí)行次數為100ⅹ98</p><p>
15、 DJNZ R1, D1 ;執(zhí)行次數為48</p><p> 延遲時間與指令執(zhí)行時間有密切的關系,在使用6MHz晶振時,一個機器周期為 0.5μs,執(zhí)行一條MOV指令時間為0.5μs, 執(zhí)行一條DJNZ指令時間為1μs。</p><p> 則實際延遲時間=1ⅹ0.5+100ⅹ0.5+100ⅹ0.5+100ⅹ98ⅹ1+98ⅹ1=99.985≈10ms。<
16、;/p><p><b> 5.放大電路分析</b></p><p> 此部分的放大電路簡單容易實現(xiàn)??梢圆捎靡粋€小功率PNP型硅管2N2905,利用“分壓偏置式工作點穩(wěn)定直流通路”,達到了對靜態(tài)工作點的穩(wěn)定。分壓電阻分別選擇1K和5.5K。蜂鳴器一端接+5V電壓,一端接晶體管的發(fā)射極。由P2.7輸出預定的方波,加到晶體管進行放大,再輸出到嗡寧器,很好的實現(xiàn)了頻率、聲音
17、的轉換。</p><p> 6.時鐘電路和復位電路的論證和分析:</p><p> 此系統(tǒng)的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。</p><p> MCS-51內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以
18、及電容CX1和CX2構成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩(wěn)定性、起振的快速性和溫度的穩(wěn)定性。因此,此系統(tǒng)電路的晶體振蕩器的值為12 MHz,電容應盡可能的選擇陶瓷電容,電容值約為22μF。</p><p> 復位電路的論證和分析:</p><p> MS-51的復位是由外部的復位電路來實現(xiàn)的。片內復位電
19、路是復位引腳RST通過一個斯密特觸發(fā)器與復位電路相連,斯密特觸發(fā)器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統(tǒng)采用的是上電與按鈕復位電路,如圖所示。當時鐘頻率選用12MHz時,C取22μF,R2約為100Ω,R1約為10KΩ。</p><p><b> 六、系統(tǒng)軟件設計</b></p><
20、p> 1、系統(tǒng)程序流程如圖所示:</p><p><b> 2、程序清單:</b></p><p> ORG 0000H</p><p><b> LJMP MAI</b></p><p> ORG 000BH</p><p><b> LJ
21、MP TIM</b></p><p> MAI: MOV P1,#0FFH</p><p> CLR TR0 ;關閉上一次定時,進入下一次按鍵判斷</p><p> MOV TMOD, #01H</p><p> MOV IE, #82H</p><p> MO
22、V A, P2.7</p><p> MOV 30H, A ;保存鍵盤狀態(tài)值 </p><p> LCALL D10MS ;延遲10ms消除抖動</p><p> MOV A , P2.7 ;再讀鍵盤狀態(tài)</p><p> CJNE A, 30H,
23、MAI ;兩次結果不同,是抖動引起,轉MAI</p><p> MAIN: MOV R7,#00H ;判斷哪個鍵按下</p><p> JNB P1.0,KEY</p><p> MOV R7,#02H</p><p> JNB P1.1,KEY</p><p> MOV
24、R7,#04H</p><p> JNB P1.2,KEY</p><p> MOV R7,#06H</p><p> JNB P1.3,KEY</p><p> MOV R7,#08H</p><p> JNB P1.4,KEY</p><p> MOV R7,#0AH</p
25、><p> JNB P1.5,KEY</p><p> MOV R7,#0CH</p><p> JNB P1.6,KEY</p><p> MOV R7,#0EH</p><p> JNB P1.7,KEY</p><p><b> AJMP MAIN</b>&l
26、t;/p><p> KEY:JNB P2.0,LTUNE ;判斷低音、中音、高音哪個鍵按下</p><p> JNB P2.1,MTUNE</p><p> JNB P2.2,HTUNE</p><p> LTUNE:MOV DPTR,#TAB1 ;低音,查找表TAB1賦給DPTR,跳至CON<
27、/p><p><b> AJMP CON</b></p><p> MTUNE:MOV DPTR,#TAB2 ;中音,查找表TAB2賦給DPTR,跳至CON</p><p><b> AJMP CON</b></p><p> HTUNE:MOV DPTR,#TAB3
28、;高音,查找表TAB3賦給DPTR,跳至CON </p><p><b> AJMP CON</b></p><p> CON: SETB P2.7</p><p> MOV R2,#0FFH</p><p> CON1: MOV A,R7</p><p> MOVC A,@A+
29、DPTR </p><p> MOV TMOD,#01H</p><p> MOV TH0,A</p><p><b> CLR A</b></p><p><b> INC A</b></p><p> MOVC A,@A+DPTR</p>&l
30、t;p> MOV TL0,A</p><p><b> SETB TR0</b></p><p> AGA1: JBC TF0,SHI</p><p> SJMP AGA1 </p><p> SHI: CPL P2.7</p><p> DJNZ R2,CON1&
31、lt;/p><p><b> SJMP MAIN</b></p><p> TIM: MOV TH0, R1 ;重裝定時器初值</p><p> MOV TL0, R0</p><p><b> CPL P2.7</b></p><p>&
32、lt;b> RETI </b></p><p> D10MS:MOV R1, #100 ;延時10ms子程序</p><p> D1: MOV R2, #98</p><p><b> NOP</b></p><p> D2: DJNZ R2, D2&
33、lt;/p><p> DJNZ R1, D1</p><p><b> RET</b></p><p> TAB1:DB0FCH,46H,0FCH,0AEH,0FDH,0AH,0FDH,34H,0FDH,82H,0FDH,0C8H,0FEH,06H,0FCH,46H</p><p> TAB2:DB0FEH,22H
34、,0FEH,5BH,0FEH,84H,0FEH,9AH,0FEH,0C1H,0FEH,0E4H,0FFH,03H, 0FEH,22H</p><p> TAB3:DB0FFH,11H,0FFH,2BH,0FFH,46H,0FFH,4DH,0FFH,60H,0FFH,72H,0FFH,81H,0FFH,11H</p><p><b> END </b></p&
35、gt;<p><b> 程序說明:</b></p><p> 先復位,使用指令ORG 0000H,選用計時器T0,P1口作為輸入,先賦1,使用指令MOV P1,#0FFH,然后進行鍵盤消抖,MAIN子程序快里是判斷哪個音符鍵按下,然后跳轉到KEY,KEY子程序塊是判斷低音、中音、高音三個鍵之一是否按下,然后跳轉到相應的子程序,低音跳轉到LTUNE,中音跳轉到MTUNE,高
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機簡易電子琴單片機課程設計
- 51單片機課程設計--簡易電子琴
- 基于51單片機簡易電子琴的課程設計
- 基于51單片機簡易電子琴設計
- 單片機課程設計簡易電子琴
- 簡易電子琴單片機課程設計
- 簡易電子琴單片機課程設計
- 簡易電子琴單片機課程設計
- 單片機課程設計簡易電子琴
- 單片機課程設計——簡易電子琴
- 單片機課程設計---簡易電子琴
- 課程設計報告--基于51單片機的簡易電子琴設計
- 基于單片機的簡易電子琴課程設計
- 基于單片機的簡易電子琴課程設計
- 單片機課程設計—基于單片機的電子琴
- 單片機課程設計--簡易電子琴設計
- 單片機課程設計---基于單片機的電子琴設計
- 單片機課程設計---電子琴
- 單片機課程設計(電子琴)
- c51單片機課程設計——電子琴
評論
0/150
提交評論