




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、(此文檔為word格式,下載后您可任意編輯修改!)單片機課程設計報告基于單片機的簡易電子琴設計摘 要電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用AT89S51單片機作為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。本系統運行穩定,其優點是硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等,具有一定的實用和參考價值。關鍵詞:單片機 鍵盤 揚聲器 電子琴A
2、bstractElectronic organ is a modern electronic music technology and the product is a new type of keyboard instruments. It played an important role in modern music. SCM peoples lives, become an irreplaceable part. The main content is AT89S51 control of the core components, design of a electronic orga
3、n. SCM as a the main control module practical and reference value.Key words : SCM keyboard speaker electronic organ目 錄摘 要1Abstract1目錄21 引言32 原理圖42.1 系統板硬件連線53 主要芯片簡介53.1 AT89S51簡介53.1.1 主要功能特性63.1.2 引腳功能63.2 LM38673.2.1 LM386的引腳圖83.2.2 音頻放大器電路93.3 LED數碼管94 模塊原理104.1 4X4行列式鍵盤識別及顯示104.1.1 系統板上硬件連線設計10
4、4.1.2 程序設計內容12圖4-2 行列式鍵盤電路124.1.3 IO并行口直接驅動LED顯示134.1.4 鍵盤識別程序164.2 音樂產生的方法224.2.1 原理224.2.2 程序框圖244.2.3源程序:255 結束語32致 謝33參考文獻341 引 言單片微型計算機是大規模集成電路技術發展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩定可靠、應用廣泛的特點。它的應用必定導致傳統的控制技術從根本上發生變革。因此,單片機的開發應用已成為高科技和工程領域的一項重大課題。電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片
5、機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用AT89S51單片機為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。本文主要對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴統硬件組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調試來詳細闡述。一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所
6、想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。2 原理圖圖2-1 電子琴電路圖2.1 系統板硬件連線 系統板硬件連線如圖2-1所示,發生模塊,鍵盤模塊,及LED顯示模塊連接如下1.把“單片機系統”區域中的P1.0端口用導線連接到“音頻放大模塊”區域中的SPK IN端口上;2.把“單片機系統“區域中的P3.0P3.7端口用8芯排線連接到“4X4行列式鍵盤”區域中的C1C4R1R4端口上;3.把“單片機系統”區域中的P0.0AD0P0.7AD7端口用8芯排線連接到“四路靜態數碼顯
7、示模塊”區域中的任一個a-system programmable)的可反復擦寫1000次的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術制造,兼容標準MCS-51指令系統及80C51引腳結構,芯片內集成了通用8位中央處理器和ISP Flash存儲單元,功能強大的微型計算機的AT89S51可為許多嵌入式控制應用系統提供高性價比的解決方案。AT89S51具有如下特點:40個引腳(引腳圖如圖3-1所示),4k Bytes Flash片內程序存儲器,128 bytes的隨機存取數據存儲器(RAM),32個外部雙向輸入輸出(IO)口,5個中斷優先級2層中斷嵌套中斷,2個16位
8、可編程定時計數器,2個全雙工串行通信口,看門狗(WDT)電路,片內時鐘振蕩器。此外,AT89S51設計和配置了振蕩頻率可為0Hz并可通過軟件設置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數器,串行口,外中斷系統可繼續工作,掉電模式凍結振蕩器而保存RAM的數據,停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產品的需求。圖3-1 管腳圖3.1.1 主要功能特性 兼容MCS-51指令系統 32個雙向IO口 2個16位可編程定時計數器 全雙工UART串行中斷口線 2個外部中斷源 中斷喚醒省電模式 看門狗(WDT)電路 靈活的I
9、SP字節和分頁編程 4k可反復擦寫ISP Flash ROM 4.5-5.5V工作電壓 時鐘頻率0-33MHz 128x8bit內部RAM 低功耗空閑和省電模式 3級加密位 軟件設置空閑和省電功能 雙數據寄存器指針3.1.2 引腳功能VCC(40):5V;GND(20):接地;P0口(3932):P0口為8位漏極開路雙向IO口,每引腳可吸收8個TTL門電流;P1口(18):P1口是從內部提供上拉電阻器的8位雙向IO口,P1口緩沖器能接收和輸出4個TTL門電流;P2口(2128):P2口為內部上拉電阻器的8位雙向IO口,P2口緩沖器可接收和輸出4個TTL門電流;P3口(1017):P3口是8個帶
10、內部上拉電阻器的雙向IO口,可接收和輸出4個TTL門電流,P3口也可作為AT89C51的特殊功能口;RST(9):復位輸入。當振蕩器復位時,要保持RST引腳2個機器周期的高電平時間;ALEPROG(30):當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節,在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的16,它可用作對外部輸出的脈沖或用于定時目的,要注意的是,每當訪問外部數據存儲器時,將跳過1個ALE脈沖;PSEN(29):外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期2次PSEN有效,但在訪
11、問外部數據存儲器時,這2次有效的PSEN信號將不出現;EAVPP(31):當EA保持低電平時,外部程序存儲器地址為(0000HFFFFH)不管是否有內部程序存儲器。FLASH編程期間,此引腳也用于施加12V編程電源(VPP);XTAL1(19):反向振蕩器放大器的輸入及內部時鐘工作電路的輸入;XTAL2(18):來自反向振蕩器的輸出;3.2 LM386LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優點,廣泛應用于錄音機和收音機之中。LM386內部與通用型集成運放相類似,它是一個三級放大電路。第一級為差分放大電路,T1和T3、T2和T4分
12、別構成復合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負載;T3和T4信號從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負載,可使單端輸出電路的增益近似等于雙端輸出電容的增益。第二級為共射放大電路,T7為放大管,恒流源作有源負載,以增大放大倍數。第三級中的T8和T9管復合成PNP型管,與NPN型管T10構成準互補輸出級。二極管D1和D2為輸出級提供合適的偏置電壓,可以消除交越失真。引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端(引腳5)應外接輸出電容后再接負載。電阻R7從輸出端
13、連接到T2的發射極,形成反饋通路,并與R5和R6構成反饋網絡,從而引入了深度電壓串聯負反饋,使整個電路具有穩定的電壓增益。3.2.1 LM386的引腳圖圖3-3 LM386的外形和引腳的排列LM386的外形和引腳的排列如圖3-3所示。引腳2為反相輸入端,3為同相輸入端;引腳5為輸出端;引腳6和4分別為電源和地;引腳1和8為電壓增益設定端;使用時在引腳7和地之間接旁路電容,通常取10F。3.2.2 音頻放大器電路圖2.3 音頻放大器電路3.3 LED數碼管圖3-4 7段數碼管數碼管(如圖3-4所示)使用條件:a、段及小數點上加限流電阻b、使用電壓:段:根據發光顏色決定;小數點:根據發光顏色決定c
14、、使用電流:靜態:總電流 80mA(每段 10mA);動態:平均電流 4-5mA 峰值電流 100mA上面這個只是七段數碼管引腳圖,其中共陽極數碼管引腳圖和共陰極的是一樣的。數碼管使用注意事項說明:(1)數碼管表面不要用手觸摸,不要用手去弄引角;(2)焊接溫度:度;焊接時間:(3)表面有保護膜的產品,可以在使用前撕下來。4 模塊原理 4.1 4X4行列式鍵盤識別及顯示組成鍵盤的按鍵有機械式、電容式、導電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關。目前微機系統中使用的鍵盤按其功能不同,通常可分為編碼鍵盤和非編碼鍵盤兩種基本類型。編碼鍵盤:鍵盤本身帶有實現接口主要功能
15、所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單、使用方便。但由于硬件電路較復雜,因而價格較貴。非編碼鍵盤:鍵盤只簡單地提供按鍵開關的行列矩陣。有關按鍵的識別、鍵碼的確定與輸入、去抖動等功能均由軟件完成。目前微機系統中,一般為了降低成本大多數采用非編碼鍵盤。用AT89S51的并行口P1接44矩陣鍵盤,以P1.0P1.3作輸入線,以P1.4P1.7作輸出線;在數碼管上顯示每個按鍵的“0F”序號。4.1.1 系統板上硬件連線設計鍵盤模塊硬件連線如圖4-1所示:圖4-1 鍵盤模塊連線圖(1)把“
16、單片機系統“區域中的P3.0P3.7端口用8芯排線連接到“4X4行列式鍵盤”區域中的C1C4R1R4端口上;(2)把“單片機系統”區域中的P0.0AD0P0.7AD7端口用8芯排線連接到“四路靜態數碼顯示模塊”區域中的任一個a(void)while(1)for(dispcount=0;dispcount0;i-)for(j=200;j0;j-);temp=P3;temp=temp & 0x0f;if (temp!=0x0f)temp=P3;temp=temp & 0x0f;switch(temp)case 0x0e:key=7;break;case 0x0d:key=8;break;case
17、0x0b:key=9;break;case 0x07:key=10;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=P3;temp=temp & 0x0f;P3=0xff;P3_5=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)temp=P3;temp=temp & 0x0f;switch(temp)case 0x
18、0e:key=4;break;case 0x0d:key=5;break;case 0x0b:key=6;break;case 0x07:key=11;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=P3;temp=temp & 0x0f;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)te
19、mp=P3;temp=temp & 0x0f;switch(temp)case 0x0e:key=1;break;case 0x0d:key=2;break;case 0x0b:key=3;break;case 0x07:key=12;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=P3;temp=temp & 0x0f;P3=0xff;P3_7=0;temp=P3;temp=temp & 0x0f;if (temp!=0x0f)for(i=50;i0;i-)for(j=200;j0;j-);
20、temp=P3;temp=temp & 0x0f;if (temp!=0x0f)temp=P3;temp=temp & 0x0f;switch(temp)case 0x0e:key=0;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;break;temp=P3;P1_0=P1_0;P0=tablekey;temp=temp & 0x0f;while(temp!=0x0f)temp=P3;temp=temp & 0x0f;4.2 音樂產生的方法4.2.1 原理一首音樂是許多不同的音階組成的,而每個音階對應著
21、不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可。若要產生音頻脈沖,只要算出某一音頻的周期(1頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P1.0反相,然后重復計時再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內部定時器使其工作計數器模式(MODE1)下,改變計數值TH0及TL0以產生不同頻率的方法產生不同音階,例如,頻率為523Hz,其周期T152319
22、12s,因此只要令計數器計時956s1s956,每計數956次時將IO反相,就可得到中音DO(523Hz)。計數脈沖值與頻率的關系式(如式4-1所示)是:Nfi2fr 4-1式中,N是計數值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產生的頻率。其計數初值T的求法如下:T65536N65536fi2fr例如:設K65536,fi1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數值。單片機12MHZ晶振,高中低音符與計數T0相關的計數值如表4-2所示表4-2 音符頻率表音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值
23、)低1DO26263628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M13
24、1865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283我們要為這個音符建立一個表格,單片機通過查表的方式來獲得相應的數據低音019之間,中音在2039之間,高音在4059之間DW 0 音樂的音拍,一個節拍為單位(C調)(如表4-3所示
25、)表4-3 曲調值表曲調值DELAY曲調值DELAY調44125ms調4462ms調34187ms調3494ms調24250ms調24125ms對于不同的曲調我們也可以用單片機的另外一個定時計數器來完成。下面用AT89S51單片機產生“生日快樂”歌來說明單片機如何產生的。在這個程序中用到了兩個定時計數器來完成的。其中T0用來產生音符頻率,T1用來產生音拍。4.2.2 程序框圖音樂發聲程序框圖如圖4-5所示:圖4-5 音樂發聲程序框圖4.2.3源程序:#includeunsigned char code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
26、0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char temp;unsigned char key;unsigned char i,j;unsigned char STH0;unsigned char STL0;void main(void)TMOD=0x01;ET0=1;EA=1;while(1)P3=0xff;P3_4=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!=0
27、x0f)temp=P3;temp=temp & 0x0f;switch(temp)case 0x0e:key=0;break;case 0x0d:key=1;break;case 0x0b:key=2;break;case 0x07:key=3;break;temp=P3;P1_0=P1_0;P0=tablekey;STH0=tabkey256;STL0=tabkey%6;TR0=1;temp=temp & 0x0f; while(temp!=0x0f)temp=P3;temp=temp & 0x0f; TR0=0;P3=0xff;P3_5=0;temp=P3;temp=temp & 0x0f
28、;if (temp!=0x0f)for(i=50;i0;i-)for(j=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;P0=tablekey;STH0=tabkey256;STL0=tabkey%6;TR0=1;temp=temp & 0x0f; whi
29、le(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)temp=P3;temp=temp & 0x0f; switch(temp)case 0x0e:key=8;break;case 0x0d:key=9;break;case 0x0b:key=10;break;case 0x07:key=11;break
30、;temp=P3;P1_0=P1_0;P0=tablekey;STH0=tabkey256;STL0=tabkey%6;TR0=1;temp=temp & 0x0f; while(temp!=0x0f)temp=P3;temp=temp & 0x0f; TR0=0; P3=0xff;P3_7=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)temp=P3;temp=temp & 0x0f; switch(temp)c
31、ase 0x0e:key=12;break;case 0x0d:key=13;break;case 0x0b:key=14;break;case 0x07:key=15;break;temp=P3;P1_0=P1_0;P0=tablekey;STH0=tabkey256;STL0=tabkey%6;TR0=1;temp=temp & 0x0f; while(temp!=0x0f)temp=P3;temp=temp & 0x0f; TR0=0; void t0(void) interrupt 1 using 0TH0=STH0;TL0=STL0;P1_0=P1_0;5 結束語本課程設計通過制作電子琴,將幾個模塊很好的融合起來
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全專員面試題及答案
- 2025年工業互聯網平臺IPv6技術升級下的工業設備智能升級報告
- 直播行業規范化趨勢下的商業模式創新與平臺內容生態建設報告001
- 安全監察法試題及答案
- 安全管理筆試題及答案
- 聚焦2025年:鄉村振興人才培育與農村產業發展規劃研究報告001
- 中國發達城市航拍課件
- 中國加油演講課件
- 2025年廣東省茂名電白區七校聯考八下英語期中統考模擬試題含答案
- VATS縱膈腫瘤切除術
- 2025年浙江寧波大劇院文化發展有限公司招聘筆試參考題庫附帶答案詳解
- 智慧檢驗與大數據分析知到課后答案智慧樹章節測試答案2025年春溫州醫科大學
- 海姆立克急救(生命的擁抱)課件
- 講稿董關鵬:如何面對媒體與公眾
- 酒店治安保衛管理制度
- Q∕SY 06521-2016 煉油化工建設項目EPC總承包管理規范
- 課件心肺復蘇(CPR)
- 部編版小學語文二升三暑假銜接專項訓練—看圖寫話含例文
- 河道生態護岸設計概況
- 劉三姐歌詞大全
- 動物簡筆畫各種小動物簡(課堂PPT)
評論
0/150
提交評論