




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、綜合技能訓練設計報告課題名稱:屏幕式聲光電子琴姓 名:余順春班 級:1320602學 號:201320060216指導老師:馬善農東華理工大學機械與電子工程學院2016年6月目錄1 引言1.1 設計的目的.1.2 設計的內容.2 系統硬件設計2.1 原理圖.2.2 系統板硬件連線.2.3 主要芯片簡介.2.4 三極管放大電路.2.5 時鐘電路.2.6 復位電路2.7 鍵盤方案3 系統軟件設計.3.1 理論基礎3.2 系統流程圖4 設計結果及分析.5 總結.參考文獻附錄 主要程序代碼.摘要作為電氣專業的學生,掌握電子琴的制作是很好檢驗我們所學知識應用。它所包含的知識基本上覆蓋我們的模擬電子技術基
2、礎、數字電子技術基礎、單片機基礎等技術課程的重要章節。用電子琴可以演奏出各種美妙的音樂,而音樂是由音符組成,不同的音符又是由相應頻率的振動產生,而用單片機來產生不同的頻率非常方便,可以利用單片機的定時/計數器T0來產生這樣方波頻率信號.子琴的設計以89C52單片機作為系統的核心控制部分,通過制作硬件電路和軟件的設計編寫,然后進行軟硬件的調試運行,最終達到設計電路的樂器演奏、點歌、存儲及顯示功能。可以用它來彈奏和播放樂曲。特點是設計思路簡單、清晰,成本低。 關鍵詞:單片機;電子琴;按鍵;揚聲器 引言 電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機
3、具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可代替的一部分。本文的主要內容是用STC89C52RC單片機為核心控制元件,設計一個電子琴。以單片機作為核心,與按鍵,揚聲器等模塊組成核心主控制模塊。 本文主要對使用單片機設計簡單電子琴進行了分析,并介紹了基于單片機電子琴系統的硬件組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。本文分別從原理圖,主要芯片,各模塊原理及程序調試來詳細闡述。 一首音樂是許多不同的音階組成的,而每一個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的
4、頻率非常方便,我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。1.1設計的目的鞏固和運用所學課程,理論聯系實際,提高分析、解決計算機技術實際問題的獨立工作能力,通過對一個簡易的八音符電子琴的設計,進一步加深對單片機原理以及數字電路應用技術方面的了解與認識,進一步熟悉數字電路系統設計、制作與調試的方法和步驟。鞏固所學課堂知識,理論聯系實際,提高分析、解決計算機技術實際問題的獨立工作能力。1.2設計的內容1. 通過八個按鍵,分別控制發出do,re,mi,fa,sao,la,xi,do 八個音符。2. 顯示屏上顯示所按的鍵,如按下第一
5、個鍵,屏幕上顯示do,當選擇播放歌曲時,播放歌曲“找朋友”,當按下另一個按鍵,則會顯示四種流水燈花樣。系統硬件設計2.1原理圖圖2-12.2系統板硬件連線 系統板硬件連線如圖2-1所示,發生模塊連線如下1. “單片機系統”的P1.0端口用導線連接到“流水燈”模塊上;2. “單片機系統”的P1.1端口用導線連接到播放音樂模塊上;3. “單片機系統”的P2.0-P2.7端口用導線連接到“八個音符按鍵”區域;4. “單片機系統”的P1.4端口用導線接到鍵盤控制喇叭;2.3 主要芯片簡介STC89C52RC芯片STC89C52RC有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內含2個外中斷
6、口,3個16位可編程定時計數器,2個全雙工串行通信口,2個讀寫口線,STC89C52RC可以按照常規方法進行編程,也可以在線編程。其將通用的微處理器和Flash存儲器結合在一起,特別是可反復擦寫的Flash存儲器可有效地降低開發成本。 芯片封裝與引腳功能2-3 STC89C52RC引腳圖 主要功能特性:· 兼容MCS51指令系統 · 8k可反復擦寫(>1000次)Flash ROM· 32個雙向I/O口 · 256x8bit內部RAM· 3個16位可編程定時/計數器中斷 · 時鐘頻率0-24MHz· 2個串行中斷
7、183; 可編程UART串行通道· 2個外部中斷源 · 共6個中斷源· 2個讀寫中斷口線 · 3級加密位· 低功耗空閑和掉電模式 ·軟件設置睡眠和喚醒功能 2.4三極管放大電路圖2-5放大電路輸出原理圖此部分的放大電路簡單容易實現。可以采用兩個大功率PNP型硅管8550,利用“分壓偏置式工作點穩定直流通路”,達到了對靜態工作點的穩定。分壓電阻分別選擇10K。蜂鳴器一端接+5V電壓,一端接晶體管的發射極。由P1.0輸出預定的方波,加到晶體管進行放大,再輸出到嗡寧器,很好的實現了頻率、聲音的轉換。2.5時鐘電路此系統的時鐘電路設計是采用的
8、內部方式,即利用芯片內部的振蕩電路。MCS-51內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C5和 C6構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12.0592 MHz,電容應盡可能的選擇陶瓷電容,電容值約為30F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證
9、震蕩器穩定和可靠地工作。圖2-6 MSC-51片內振蕩電路2.6復位電路MS-51的復位是由外部的復位電路來實現的。片內復位電路是復位引腳RESET通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統采用的是上電與按鈕復位電路, 如圖7所示。當時鐘頻率選用12 MHz時,C取10F,R2約為1K,R4約為10K。圖2-7為復位電路的原理圖。圖2-7 復位電路原理圖62.7鍵盤方案1鍵盤設計原理圖此系統琴鍵輸入是通過獨立式鍵盤來完成的。由于8052單片機的八位I/O口足以能實
10、現控制C調各音階的輸出,并且獨立式鍵盤的編程容易易懂,結構簡單,實現起來方便,而且每個按鍵單獨占有一根I/O接口線,每個I/O口的工作狀態互不影響,所以采用獨立式鍵盤。P2.0P2.7 口分別對應琴鍵17輸入,如下圖所示。 圖2-8-1 鍵盤設計原理圖2.關于鍵盤的抖動問題的分析和解決當用手按下一個鍵時,如圖4所示,往往按鍵在閉合位置和斷開位置之間跳幾下才穩定到閉合狀態的情況;在釋放一個鍵時,也回會出現類似的情況。這就是抖動。抖動的持續時間隨鍵盤材料和操作員而異,不過通常總是不大于10ms。很容易想到,抖動問題不解決就會引起對閉合鍵的識別。用軟件方法可以很容易地解決抖動問題,這就是通過延遲10
11、ms來等待抖動消失,這之后,在讀入鍵盤碼。鍵按下前沿抖動后沿抖動閉合穩定圖2-8-2 鍵抖動信號波形系統軟件設計3.1理論基礎軟件的設計主要是對STC89C52RC單片機進行編程,屏幕式聲光電子琴的程序主要是對音符頻率的轉換,采用定時中斷,延時等實現其設計指標,通過外中斷T0控制音樂的播放。首先建立音樂,把音樂的音符找出,建立各個音符的定時常數T值表,如表1所示。編寫程序時我們把T值表按順序建立在“TABLE”。每個發音符使用1個字節,字節的高4位(簡譜碼)代表音符的高低,低4位(節拍碼)代表音符的節拍。如果l拍為0.4s,14拍就是0.1s,只要設定延遲時間就可求得節拍的時間。假設14拍為1
12、DELAY,則1拍應為4 DELAY,以此類推。所以只要求得14拍的DELAY時間,其余的節拍就是它的倍數。14拍的延時時間在此我們設為125ms,節拍碼如表2所示。音符節拍碼編程時放在程序的最后面“SONGx” 處。T值表按順序建立在“TABLE”如下:table: dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,652173.2系統程序流程圖程序框圖如圖3。 程序開始將變量賦值延時pmusic=0x00 ?計數循環NoYes 圖3 程序框圖 設計結
13、果與分析單片機的頻率和聲音輸出的原理是,利用琴鍵控制定時器的開中斷和閉中斷,即實現發音和閉音。在此期間再通過對定時器的定時時間進行控制來產生不同頻率的方波,驅動功放發出不同音階的聲音。把C調中相應琴鍵對應的音符變換為定常數,作為數據表格存放在存儲器中。由程序查表得到定時常數,用以控制定時器產生方波的頻率。當下一個琴鍵按下時,再查下此琴鍵所對應音符的定時常數。依次進行下去,就可以演奏出自己所要的歌曲。單片機以其體積小、可靠性高、控制功能強、使用方便、性能價格比高、容易產品化等特點 單片微型計算機是大規模集成電路技術發展的產物,屬第四代電子計算機,它具有高性能,體積小,價格低廉,穩定可靠,應用廣泛
14、的特點。他的應用必定導致傳統的控制技術從根本上發生變革。因此,單片機的開發應用已成為高科技和工程領域的一項重大課題。總結經過兩周努力,簡易電子琴的設計基本上完成了。在整個設計過程中,不像以前很多都只是差不多相當于一個焊接工。從著手設計開始,到最終調試成功總共花了兩周時間,從開始的選題,到查資料查看可行性,到最后成功無處不充滿了我的期待。1) 這個設計的基本是學習C語言并加以應用,對于我來說,沒有想到的是入手的速度比我的預料慢,在網上搜索大程序的基礎上加以修改和編譯,總體上所到了許多的時間,并動手繪制原理圖,不著手制作硬件(電路板)。2)通過這個程序設計讓我更加了解了C語言,能更好的運用C語言了
15、 ,對數字系統結構也有了更進一步的了解和認識,從中學習到很多的知識,對我以后的學習將有更大的幫助。通過兩周的課程設計,我對單片機原理及應用,C語言等系列知識都有了一定的了解。通過這些我的硬件和軟件開發能力都獲得了提高。首先硬件方面,基本了解了電子產品的開發流程和所要做的工作。基本掌握了Protel99SE原理圖的方法,并設計了一個單片機最小系統。使用單片機技術開發頁面的能力也有了很大提高。在整個設計過程中,有很多人對任務的完成給予了重要的支持和幫助。感謝老師給了我本次設計的機會。參考文獻1段晨東編著 .單片機原理及接口技術.北京:清華大學出版社 , 2008 2 范風強編著.單片機語言C51應
16、用實戰集錦.北京:電子工業出版社,20033陳家俊,鄭滔編著.程序設計教程.北京:機械工業出版社,20044陳明螢,8051單片機課程設計實訓教材M.北京:清華大學出版社2003年9月.5徐新艷,單片機原理、應用與實踐M.北京:高等教育出版社附錄 主要程序代碼 sfr P4=0xe8;/定義P4組I0口#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit speaker=P14;/喇叭接30腳sbit key1=P10;/流水燈按鍵(暫時)sbit key2=P11;/播放音樂按鍵(暫定)
17、uchar a,b,num1,s1num,n1,n2;char num;/定義num為可以負數uchar code yinfu=0xfb,0xe9, /Do 0xfc,0x5c, /Re 0xfc,0xc1, /Mi 0xfc,0xef, /Fa 0xfd,0x45, /So 0xfd,0x92, /La 0xfd,0xd0, /Si 0xfd,0xee, /Do# 0x00,0x00, /間隔;uchar code shengri_tone= 5,6,5,6,5,6,5,5,8,7,6,5,0,5,3,5,0,5,3,4,5,0,5,3,5,0,5,3,4,5,0,5,3,2,4,3,2,1
18、,2,1; uint code shengri_beat= 24,24,24,24,24,24,48,24,24,24,24,24,1,24,48,24,1,24,24,24,24,1,24,48,24,1,24,24,24,24,1,24,48,24,24,24,24,24,24,48;uchar code ledtable=0x7f,0xbf,0xdf,0xef, /取反0xf7,0xfb,0xfd,0xfe;/P0組口的發光二極管代碼(焊接過程可能會相反,具體更改)uchar code ledtable2=0x7f,0xbf,0xdf,0xef, /取反0xf7,0xfb,0xfd,0x
19、fe;/P2組口發光二極管代碼,相反!void check_key();/改為P3組為按鍵void keyscan();void turn();/順時針流動void back();void qianhou();void dangshuang();void delay(uint z);/延時函數聲明void delay1(void);/聲明第二個延時函數void play1(void);/播放找朋友 void main()s1num=0;/流水燈種類標志key1=1;key2=1;TMOD=0x01;TH0=a;TL0=b;ET0=1;/打開定時器,但是未允許中斷TR0=1;while(1)ch
20、eck_key();keyscan(); void time0() interrupt 1TH0=a;TL0=b;speaker=speaker;void check_key()P3=0xff;/先賦給P2組口高電平switch(P3)/按下一個鍵相應4個燈亮case 0xfe:P0=0xee;P2=0x77;a=0xfb;b=0xe9;EA=1;break;/P0,P2組為發光二極管組case 0xfd:P0=0xdd;P2=0xbb;a=0xfc;b=0x5c;EA=1;break;/注意:EA不能改為TR0case 0xfb:P0=0xbb;P2=0xdd;a=0xfc;b=0xc1;E
21、A=1;break;case 0xf7:P0=0x77;P2=0xee;a=0xfc;b=0xef;EA=1;break;case 0xef:P0=0xee;P2=0x77;a=0xfd;b=0x45;EA=1;break;case 0xdf:P0=0xdd;P2=0xbb;a=0xfd;b=0x92;EA=1;break;case 0xbf:P0=0xbb;P2=0xdd;a=0xfd;b=0xd0;EA=1;break;case 0x7f:P0=0x77;P2=0xee;a=0xfd;b=0xee;EA=1;break;default:EA=0;speaker=0;/P0=0xff;P2=
22、0xff ; void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void keyscan() if(key1=0) delay(5);if(key1=0)s1num+;while(!key1);if(s1num=1)turn();if(s1num=2)back();if(s1num=3)qianhou();if(s1num=4)dangshuang();if(s1num=5)s1num=1; if(key2=0)delay(5);while(key2);play1(); void delay1(void)/第二個延時函數 uchar n=15; while(n-) uchar i; for(i=0;i<125;i+); void play1(void)/播放找朋友 uchar m=0; uchar s; uchar c=1; P0=0xaa; P2=0x55; while(1) EA=0; c=shengri_tonem; /取音符 s=shengri_beatm; /取節拍 a=yinfu2*c-2; b=yinfu2*c-1; EA=1; while(s-) delay
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業三年班級活動方案
- 法官三八節活動方案
- 民航攝影大賽活動方案
- 榜樣在身邊系列活動方案
- 模擬課堂教研活動方案
- 樓梯文化墻活動方案
- 武術課展示活動方案
- 法律文物征集活動方案
- 畢業詩歌征集活動方案
- 夢想與希望課堂活動方案
- 2020-2021年度廣東省湛江市赤坎區教師縣鄉選調招聘考試《教育基礎知識》試卷及答案【解析】
- 2022語文課程標準:“語言文字積累與梳理”任務群解讀及實操
- DB15T 489-2019 石油化學工業建設工程技術資料管理規范
- (新版)無人機駕駛員資格理論考試題庫及答案
- 內蒙古自治區通遼市各縣區鄉鎮行政村村莊村名居民村民委員會明細及行政區劃代碼
- 螺旋溜槽安裝標準工藝
- HALCON編程基礎與工程應用全書ppt課件匯總(完整版)
- 信陽市平橋區農村土地承包經營權轉包
- 化學常用單詞匯總
- 安徽省評議公告的中小學教輔材料零售價格表
- 西子otis梯oh con6423中文調試手冊
評論
0/150
提交評論