基于單片機的簡易電子琴設計(報告)_第1頁
基于單片機的簡易電子琴設計(報告)_第2頁
基于單片機的簡易電子琴設計(報告)_第3頁
基于單片機的簡易電子琴設計(報告)_第4頁
基于單片機的簡易電子琴設計(報告)_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGE1題目:學院:專業(yè):年級:姓名:完成日期:摘要隨著社會的發(fā)展進步,音樂逐漸成為我們生活中很重要的一部分,有人曾說喜歡音樂的人不會向惡。我們都會抽空欣賞世界名曲,作為對精神的洗禮。本論文設計一個基于單片機的簡易電子琴。我們對于電子琴如何實現其功能,如音色選擇、聲音強弱控制、節(jié)拍器、自動放音功能等等也很好奇。電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用AT89S52單片機為核心控制元件,設計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設有16個按鍵和揚聲器。本系統運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統可靠,性價比較高等,具有一定的實用和參考價值。

關鍵詞:AT89S52單片機音色節(jié)拍器自動放音

引言單片微型計算機是大規(guī)模集成電路技術發(fā)展的產物,屬第四代電子計算機,它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應用廣泛的特點。它的應用必定導致傳統的控制技術從根本上發(fā)生變革。因此,單片機的開發(fā)應用已成為高科技和工程領域的一項重大課題。

電子琴是現代電子科技與音樂結合的產物,是一種新型的鍵盤樂器。它在現代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現特性,它已經溶入現代人們的生活中,成為不可替代的一部分。本文的主要內容是用主要功能特性·主要性能·與MCS-51單片機產品兼容·8K字節(jié)在系統可編程Flash存儲器·1000次擦寫周期·全靜態(tài)操作:0Hz~33Hz·三級加密程序存儲器·32個可編程I/O口線·三個16位定時器/計數器·八個中斷源·全雙工UART串行通道·低功耗空閑和掉電模式·掉電后中斷可喚醒·看門狗定時器·雙數據指針·掉電標識符1.3.2LM38LM386內部電路LM386是美國國家半導體公司生產的音頻功率放大器,主要應用于低電壓消費類產品。LM386特性:靜態(tài)功耗低,約為4mA,可用于電池供電;工作電壓范圍寬,4V-12V或5V-18V;外圍元件少;電壓增益可調,20-200;低失真度。LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之中。圖1-3

LM386內部電路原理圖Fig1-3LM386internalcircuitdiagram

LM386內部電路原理圖如圖1-3所示。與通用型集成運放相類似,它是一個三級放大電路.

第一級為差分放大電路,T1和T3、T2和T4分別構成復合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負載;T3和T4信號從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負載,可使單端輸出電路的增益近似等于雙端輸出電容的增益

第二級為共射放大電路,T7為放大管,恒流源作有源負載,以增大放大倍數。

第三級中的T8和T9管復合成PNP型管,與NPN型管T10構成準互補輸出級。二極管D1和D2為輸出級提供合適的偏置電壓,可以消除交越失真。

引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端(引腳5)應外接輸出電容后再接負載。

電阻R7從輸出端連接到T2的發(fā)射極,形成反饋通路,并與R5和R6構成反饋網絡,從而引入了深度電壓串聯負反饋,使整個電路具有穩(wěn)定的電壓增益。圖2.3音頻放大器電路Figure2.3audioamplifiercircuit1.3.3LED數碼管圖1-4

7段數碼管Figure1-47segmentdigitaltube數碼管(如圖1-4所示)使用條件:

a、段及小數點上加限流電阻

b、使用電壓:段:根據發(fā)光顏色決定;小數點:根據發(fā)光顏色決定

c、使用電流:靜態(tài):總電流80mA(每段10mA);動態(tài):平均電流4-5mA峰值電流100mA上面這只是七段數碼管引腳圖,其中共陽極數碼管引腳圖和共陰極的是一樣的。數碼管使用注意事項說明:

(1)數碼管表面不要用手觸摸,不要用手去弄引角;

(2)焊接溫度:260度;焊接時間:5S

(3)表面有保護膜的產品,可以在使用前撕下來。2實現過程2.14X4行列式鍵盤識別及顯示組成鍵盤的按鍵有機械式、電容式、導電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關。目前微機系統中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種基本類型。

編碼鍵盤:鍵盤本身帶有實現接口主要功能所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單、使用方便。但由于硬件電路較復雜,因而價格較貴。

非編碼鍵盤:鍵盤只簡單地提供按鍵開關的行列矩陣。有關按鍵的識別、鍵碼的確定與輸入、去抖動等功能均由軟件完成。目前微機系統中,一般為了降低成本大多數采用非編碼鍵盤。

鍵盤接口必須具有去抖動、防串鍵、按鍵識別和鍵碼產生4個基本功能。

(1)去抖動:每個按鍵在按下或松開時,都會產生短時間的抖動。抖動的持續(xù)時間與鍵的質量相關,一般為5—20mm。所謂抖動是指在識別被按鍵是必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問題可通過軟件延時或硬件電路解決。

(2)防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當作有效鍵并產生相應的鍵碼。N鍵輪回,是當檢測到有多個鍵被按下時,能根據發(fā)現它們的順序依次產生相應鍵的鍵碼。

(3)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結合的方法完成。常用的方法有行掃描法和線反轉法兩種。行掃描法的基本思想是,由程序對鍵盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設置入口、輸出口一個,該方法在微機系統中被廣泛使用。線反轉法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。

(4)鍵碼產生:為了從鍵的行列坐標編碼得到反映鍵功能的鍵碼,一般在內存區(qū)中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。用AT89S52的并行口P1接4×4矩陣鍵盤,以P1.0-P1.3作輸入線,以P1.4-P1.7作輸出線;在數碼管上顯示每個按鍵的“0-F”序號。2.1.2程序設計內容

(1)4×4矩陣鍵盤識別處理,每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每個按鍵的狀態(tài)同樣需變成數字量“0”和“1”,開關的一端(列線)通過電阻接VCC,而接地是通過程序輸出數字“0”實現的。(2)鍵盤處理程序的任務是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。電路圖如下圖2.1.1行列式鍵盤電路Figure2.1.1determinantkeyboardcircuit2.1.3I/O并行口直接驅動LED顯示LED顯示模塊如圖2-2所示,利用AT89S52單片機的P0端口的P0.0-P0.7連接到一個七段數碼管的a-h(huán)的筆段上,數碼管的公共端接地。在數碼管上循環(huán)顯示0-7數字,時間間隔0.2秒。圖2-2電路原理圖Fig2-2Circuitdiagram系統板上硬件連線:(如圖2-2所示)

把“單片機系統”區(qū)域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“七段數碼顯示模塊”區(qū)域中的任一個數碼管的a-h(huán)端口上;要求:P0.0/AD0與a相連,P0.1/AD1與b相連,P0.2/AD2與c相連,……,P0.7/AD7與h相連。程序設計內容

(1)LED數碼顯示原理:

七段LED顯示器內部由七個條形發(fā)光二極管和一個小圓點發(fā)光二極管組成,根據各管的極管的接線形式,可分成共陰極型和共陽極型。LED數碼管的g~a七個發(fā)光二極管因加正電壓而發(fā)亮,因加零電壓而不以發(fā)亮,不同亮暗的組合就能形成不同的字形,這種組合稱之為字形碼,下面給出共陽極的字形碼表(如表2-1所示)表2-1

字形碼表Table2-1fontcodetable“0”C0H“8”80H“1”F9H“9”90H“2”A4H“A”88H“3”B0H“b”83H“4”99H“C”C6H“5”92H“d”A1H“6”82H“E”86H“7”F8H“F”8EH(2)由于顯示的數字0-9的字形碼沒有規(guī)律可循,只能采用查表的方式來完成我們所需的要求了。這樣我們按著數字0-9的順序,把每個數字的筆段代碼按順序排好!建立的表格如下所示:ucharcodetab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf};2.2音樂產生的方法2.2.1原理一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,當然對于單片機來產生不同的頻率非常方便,我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系正確即可。若要產生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當計時終止后就將P2.1反相,然后重復計時再反相。就可在P2.1引腳上得到此頻率的脈沖。

利用AT89S52的內部定時器使其工作計數器模式(MODE1)下,改變計數值TH0及TL0以產生不同頻率的方法產生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計數器計時956μs/1μs=956,每計數956次時將I/O反相,就可得到中音DO(523Hz)。

計數脈沖值與頻率的關系式(如式2-1所示)是:

N=fi÷2÷fr

2-1式中,N是計數值;fi是機器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產生的頻率。其計數初值T的求法如下:

T=65536-N=65536-fi÷2÷fr

例如:設K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數值。

T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr

低音DO的T=65536-500000/262=63627

中音DO的T=65536-500000/523=64580

高音DO的T=65536-500000/1046=65059單片機12MHZ晶振,高中低音符與計數T0相關的計數值如表2-2所示表2-2音符頻率表Table2-2notesthefrequencytable音符頻率(HZ)簡譜碼(T值)音符頻率(HZ)簡譜碼(T值)低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6186565268中4FA69864820高7SI196765283我們要為這個音符建立一個表格,單片機通過查表的方式來獲得相應的數據

低音0-19之間,中音在20-39之間,高音在40-59之間

TABLE:DW0,63628,63835,64021,64103,64260,64400,64524,0,0

DW0,63731,63928,0,64185,64331,64463,0,0,0

DW0,64580,64684,64777,64820,64898,64968,65030,0,0

DW0,64633,64732,0,64860,64934,64994,0,0,0

DW0,65058,65110,65157,65178,65217,65252,65283,0,0

DW0,65085,65134,0,65198,65235,65268,0,0,0

DW0

音樂的音拍,一個節(jié)拍為單位(C調)(如表2-3所示)表2-3曲調值表Table2-3Tunethevalueofthetable曲調值DELAY曲調值DELAY調4/4125ms調4/462ms調3/4187ms調3/494ms調2/4250ms調2/4125ms

對于不同的曲調我們也可以用單片機的另外一個定時/計數器來完成。琴鍵處理程序,根據檢測到得按鍵值,查詢音律表,給計時器賦值,發(fā)出相應頻率的聲音。對音調的控制:根據不同的按鍵,對定時器T1送入不同的初值,調節(jié)T1的溢出時間,這樣就可以輸出不同音調頻率的方波。不同音調下各個音階的定時器。在這個程序中用到了兩個定時/計數器來完成的。其中T0用來產生音符頻率,T1用來產生音拍。實際4X4鍵盤有16個按鍵,選擇了16個音符作為輸出。分別如下。uintcodemusic[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};//各音符對應的延時//音符頻率HZ簡譜(T值)//低3M 330 64021//低4FA 349 64103//低5SO 392 64260//低6LA 440 64400//低7SI 494 64524//中1DO 523 64580//中2RE 587 64684//中3M 659 64777//中4FA 698 64820//中5SO 784 64898//中6LA 880 64968//中7SI 988 65030//高1DO 1046 65058//高2RE 1175 65110//高3M 1318 65157//高4FA 1397 651782.2.2程序框圖音樂發(fā)聲程序框圖如圖2-4所示:圖2-4音樂發(fā)聲程序框圖Fig2-4Musicsoundblockdiagram3總結與展望3.1全文總結通過這次自主實驗,我們學到了不少課本上沒有的知識,也鍛煉了自己的動手能力,將以前學過的零散的知識串到一起。首先在實驗剛開始的調研階段,我學會了怎么通過各種方式查詢相關的資料。通過對這些資料的學習,我大致了解了單片機的發(fā)展現狀以及未來的發(fā)展趨勢,認識到目前單片機方面的各種各樣的發(fā)展,和它們之間的競爭。了解了單片機方面的先進技術,這些都為我的未來的學習指明了方向。我的實驗主要涉及硬件和軟件兩方面的內容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產品的開發(fā)流程和所要做的工作。基本掌握了Protel99SE原理圖的方法,并設計了一個單片機最小系統。通過開發(fā)板的設計和硬件搭建的過程,使我對51系單片機的接口有了更深層次的理解,熟悉了一些單片機常用的外圍電路引腳和連接方法,如LED數碼管,鍵盤等。在軟件方面,通過串行口調試工具的開發(fā),使我加深了對累封裝的理解,熟悉了51系列單片機內部的寄存器和編程規(guī)則,以及如何控制外圍電路。3.2研究展望微型計算機的出現和大量使用將人類社會帶入一個新的時代,單片微型計算機(簡稱單片機)在其中扮演著十分重要的角色。雖然它沒有常見的PC那樣大的體積和重量,不會在辦公桌或控制臺上占據一個顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中需要計算、控制、測量等智能活動的各個角落。自20世紀70年代問世以來,單片機以其體積小、可靠性高、控制功能強、使用方便、性能價格比高、容易產品化等特點,在智能儀表、機電一體化、實時控制、分布式多機系統、家用電器等各個領域得到了廣泛應用,對各個行業(yè)的技術改造和產品的更新換代起著重要的推動作用,對人們生活質量的提高產生了深刻的影響。作為21世紀的工科大學生,學好單片機,一方面可以加深對計算機原理和結構的認識,另一方面也為自身在專業(yè)上的深入發(fā)展構筑了一個很好的平臺其重要性怎么強調都不為過。

結束語將程序燒入芯片,調試成功后,可任意彈奏自己想要的旋律。本研究通過制作電子琴,將幾個模塊很好的融合起來,對使用單片機設計簡易電子琴進行了分析,并介紹了基于單片機電子琴統硬件組成。利用單片機產生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達的音樂。說明一首音樂是許多不同的音階組成的,而每個音階對應著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構成我們所想要的音樂了,于是我們可以利用單片機的定時/計數器T0來產生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應頻率關系弄正確即可,然后我們利用功放電路來將

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論