基于單片機(jī)的電子琴的制作_第1頁
基于單片機(jī)的電子琴的制作_第2頁
基于單片機(jī)的電子琴的制作_第3頁
基于單片機(jī)的電子琴的制作_第4頁
基于單片機(jī)的電子琴的制作_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1概述1.1設(shè)計(jì)目的通過對(duì)簡易電子琴的課程設(shè)計(jì),進(jìn)一步加深對(duì)微機(jī)原理與單片機(jī)接口技術(shù)、 模擬電子技術(shù)、數(shù)字電子技術(shù)等所學(xué)課程的了解和認(rèn)識(shí)。學(xué)習(xí)把理論知識(shí)運(yùn)用于 實(shí)踐制作實(shí)物,鍛煉自己獨(dú)立動(dòng)手能力,同時(shí)也要學(xué)會(huì)運(yùn)用軟件仿真,學(xué)習(xí)分析問題,解決問題的方法和途徑。了解電子琴發(fā)音原理,提升程序編寫和運(yùn)用的能 力,充分利用自己專業(yè)知識(shí),提高對(duì)本專業(yè)的學(xué)習(xí)興趣。1.2設(shè)計(jì)要求結(jié)合單片機(jī)AT89C52和所提供元件,設(shè)計(jì)一個(gè)簡易電子琴通過按鍵可以實(shí)現(xiàn) 哆來咪發(fā)嗦啦嘻7種音階高低音調(diào)的發(fā)音,音階數(shù)字的顯示,以及歌曲的自動(dòng)播 放功能。1.3單片機(jī)發(fā)聲原理聲音的產(chǎn)生是一種音頻振動(dòng)的效果,振動(dòng)的頻率高則為高音,頻率低

2、則為 低音,音頻的范圍為20Hz200kHz之間,人類耳朵比較容易辨別的聲音大概是 200Hz20kHz 般的音響電路是以正弦波信號(hào)驅(qū)動(dòng)揚(yáng)聲器,產(chǎn)生悅耳的音樂, 在數(shù)字電路里,則是以脈沖信號(hào)驅(qū)動(dòng)揚(yáng)聲器以產(chǎn)生聲音,同樣的頻率,脈沖信號(hào)或正弦波信號(hào)產(chǎn)生的音效,單片機(jī)發(fā)聲是使用定時(shí)器產(chǎn)生聲音所需頻率的方波(脈沖信號(hào)),經(jīng)放大整形后送楊聲器發(fā)出一個(gè)音, 再按節(jié)拍送下一頻率的聲音, 聲音的節(jié)拍由延時(shí)程序給定,也就是說其發(fā)聲的原理是:音調(diào)由不同的頻率產(chǎn)生, 由延時(shí)程序產(chǎn)生節(jié)拍,由定時(shí)器定時(shí)產(chǎn)生方波頻率,如 1KHZ頻率的聲音,周期 是1mS正負(fù)半周各500卩s,當(dāng)用6MHZS體,定時(shí)方式1時(shí),可計(jì)算定時(shí)器

3、初值如 下:(216-X) *12/6=500 卩 S, X=65535-250=65285=FF05H2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1總體方案本設(shè)計(jì)是為了實(shí)現(xiàn)電子琴發(fā)聲控制系統(tǒng),結(jié)合單片機(jī)AT89C52通過控制單片機(jī)定時(shí)器的定時(shí)時(shí)間可以產(chǎn)生不同的頻率脈沖,再用按鍵通過高低電平來控制 7個(gè)音階的高低兩種音調(diào),并用軟件延時(shí)程序的調(diào)用來控制發(fā)音時(shí)間的長短。把 音樂的音符和相應(yīng)的節(jié)拍變換為定時(shí)常數(shù)和延時(shí)常數(shù),分別來控制定時(shí)器產(chǎn)生的 脈沖頻率和發(fā)出該脈沖的持續(xù)時(shí)間,再運(yùn)用三極管及電阻組成的放大電路來實(shí)現(xiàn) 低音平功率的放大,利用蜂鳴器作為發(fā)聲部件,數(shù)碼管作為顯示部件。因此,可以先用單片機(jī)仿真軟件Prote

4、us連接設(shè)計(jì)好電路原理圖,再從硬件 與軟件兩部分進(jìn)行分析與設(shè)計(jì)。2.2單片機(jī)AT89S52介紹(T2'l P1.0 匚 (T2 EX) P1.1 LP1.2EPl -3 匚P1.4E(MO列 P1.5L (MISOJPi OE SCK P1.7FRSTL RXD P3.0 匚 CTXD1 P3.1 匚 (lN7b> P3.2 匚 .TTTTTi P3 3 匚(TO) P3斗匚 fTl) P3.5 匚 (WR P3-6 匚 rri =3 rc XTAL2C XTAL1 匚GND匚ATOC9S52n vccPD.O |ADQ> 二I Po.t IAD1? 二I P0.2 (AD

5、2:' 二I PO.3 lAD3> 二I PD.4 IAD4? 二I P0.5 AD5J 二I PD.5 |ADf<, 二I PD.7 I AD7i n rxvpp員LE/PRC5?ZIPSEN二I P2.7 (A 15) n P2.6 Al4) P2.5 IA13) 二I P2.4 |A12:I 二I P2.3 IA11) 二I P2.2 lAlOi Zl P2 f IA9J Zl P2.0 I AS :AT89S52 管腳主要功能特性:兼容MCS5指令系統(tǒng) 8k可反復(fù)擦寫(1000次)Flash ROM 32 個(gè)雙向 I/O 口 256x8bit 內(nèi)部 RAM 3個(gè)16

6、位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHZ 2個(gè)串行中斷可編程UART串行通道 2個(gè)外部中斷源共6個(gè)中斷源 2個(gè)讀寫中斷口線 3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能單片機(jī)AT89S52主要管腳的介紹:VCC : AT89S52電源正端輸入,接+5V。GND :接地。P0 口: P0 口為一個(gè)8位漏級(jí)開路雙向I/O 口,每腳可吸收8TTL門電流。 當(dāng)P1 口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存 儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼 輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。在本 設(shè)計(jì)

7、中,P0端口前四位連接數(shù)碼管,用于數(shù)碼管的位尋址。P1 口: P1 口是一個(gè)內(nèi)部提供上拉電阻的 8位雙向I/O 口,P1 口緩沖器能接 收輸出4TTL門電流。P1 口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1 口作為第八位地址接收。在本設(shè)計(jì)中端口連接數(shù)碼管用于 發(fā)音音符的顯示。P2 口: P2 口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O 口,P2 口緩沖器可接收, 輸出4個(gè)TTL門電流,當(dāng)P2 口被寫“ 1時(shí),其管腳被內(nèi)部上拉電阻拉高,且作 為輸入。并因此作為輸入時(shí),P2 口的管腳被外部拉低,將輸出電流。

8、這是由于 內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行 存取時(shí),P2 口輸出地址的高八位。在給出地址“ 1時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。在本設(shè)計(jì)中連 接按鍵通過高低電平控制7個(gè)音階。P3 口: P3 口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O 口,可接收輸出4個(gè)TTL 門電流。當(dāng)P3 口寫入“ 1后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入, 由于外部下拉為低電平,P3 口將輸出電流(ILL )這是由于上拉的緣故。在本設(shè) 計(jì)中連接控制按

9、鍵??刂聘叩蛢蓚€(gè)音調(diào)以及自動(dòng)播放樂曲。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持 RST腳兩個(gè)機(jī)器周期的高 電平時(shí)間。XTAL1 :反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2 :來自反向振蕩器的輸出。2.3硬件設(shè)計(jì)0-0' C-06O-O- c"o-oooor _ s uoorMx二二-WCOOUBCOC nwcDot WO0I口 00口 rj.?電子琴實(shí)物圖單片機(jī)主程序?qū)?shù)碼管編碼是直接賦值的,而對(duì)聲音信號(hào)則是通過中斷程序 進(jìn)行控制的。先讀取鍵盤掃描程序信號(hào),當(dāng)系統(tǒng)掃描到鍵盤上有鍵被按下,通過 數(shù)碼管顯示編碼在數(shù)碼管上顯示音階數(shù)字,此時(shí)高電平有效,單片機(jī)的定

10、時(shí)器被啟動(dòng),發(fā)出一定頻率的脈沖,該頻率的脈沖通過三極管放大電路輸入到蜂鳴器后, 就會(huì)發(fā)出相應(yīng)的音階聲音。如果在前一個(gè)按下的鍵發(fā)聲的同時(shí)有另一個(gè)鍵被按 下,則啟用中斷系統(tǒng),前面鍵的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音程序,發(fā)出后按 的鍵的音階聲音。當(dāng)鍵盤有鍵按下時(shí),判斷鍵值,啟動(dòng)計(jì)數(shù)器TO,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂曲。2.3.1按鍵接口電路按鍵接口電路按鍵接口電路米用獨(dú)立式鍵盤,獨(dú)立式鍵盤一般是指直接用I/O 口線外接按鈕構(gòu)成,每個(gè)鍵單獨(dú)占用一根I/O 口線,I/O 口線間的工作狀態(tài)互不影響。獨(dú) 立式鍵盤接口電路配置靈活,軟件結(jié)構(gòu)簡單,但每個(gè)按鍵必須占用一更i/o 口線, 因此,在按鍵數(shù)較

11、多時(shí),I/O 口浪費(fèi)較大,故只有在按鍵數(shù)量不多時(shí)才米用這種 鍵盤電路。2.3.2顯示電路顯示電路LED顯示器的顯示方式采用了動(dòng)態(tài)顯示方式,它是把所有顯示器的同名字 段互相連接在一起,并把它們連到字形口上,為了防止各個(gè)顯示器同時(shí)顯示出相 同的字符,每個(gè)顯示器的公共端還要受另一組信號(hào)控制。2.3.3發(fā)音電路發(fā)音電路發(fā)音電路是由蜂鳴器、三極管、上拉電阻構(gòu)成,由于蜂鳴器工作電流一般比 較大,以至于I/O 口無法直接驅(qū)動(dòng),因此要用放大電路增強(qiáng)驅(qū)動(dòng)電流來驅(qū)動(dòng)蜂鳴 器。因?yàn)槿龢O管為PNP型,所以當(dāng)基極接入低電平時(shí)。蜂鳴器發(fā)聲。2.4硬件調(diào)試硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行的調(diào)試。在上電之前,先確保電路中不存

12、在斷路或短路情況,這一工作是整個(gè)調(diào)試工 作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主要使用的工具是萬用 表,用來完成檢測電路中是否存在斷路或者短路情況的任務(wù)。注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出 現(xiàn)。在確保硬件電路正常且無異常情況(斷路或短路)的情況下方可上電調(diào)試,上 電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中, 上電調(diào)試主要是檢測單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào) 試。1、數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。2、鍵盤單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可

13、以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng) 的音正確。3軟件設(shè)計(jì)3.1定時(shí)/計(jì)數(shù)器的計(jì)數(shù)初值計(jì)算(1) 要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/音頻),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出 脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O 口反相,就可在I/O腳上得 到此頻率的脈沖。利用8051的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式 MODE下,改變 記數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。(2)計(jì)數(shù)初值T與頻率的關(guān)系公式如下:N=Fi/2/FrN:記數(shù)初值Fi : Fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHZFr;要產(chǎn)生的頻率計(jì)數(shù)初值T的求法如下

14、:T= 65536 N= 65536 Fi /2/Fr例如:設(shè) K= 65536, F= 1000000= Fi = 1MHZ 求中音 D0 (523HZ,高音的 D0 (1046HZ的記數(shù)值。T= 65536 N= 65536- Fi /2/Fr = 65536- 500000/ Fr中音 D0的 T= 65536 500000/523= 64580高音 D0 的 T= 65536 500000/1046= 65059單片機(jī)12MH島振,高中低音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表所示:音符頻率(HZ計(jì)數(shù)值(T值)THTL音符頻率(HZ計(jì)數(shù)值(T值)THTL低1DO26263777F921#4FA#

15、74064913FD91#1DO#27763872F980中5SO78464948FDB4低2RE29463969F9E1#5SO#83164981FDD5#2RE#31164054FA36中6LA88065012FDF4低3MI33064140FA8C#6LA#93265042FE12低4FA34964216FAD8中7SI96865060FE24#4FA#37064291FB23低1DO104665095FE47低SO39264360FB68#1DO#110965120FE60#5SO#41564426FBAA高2RE117565144FE78低6LA44064489FBE9#2RE#12

16、4565166FE8E#6LA#46664547FC23高3MI131865186FEA2低7SI49464603FC5B高4FA139765206FEB6中1DO52364655FC8F#4FA#149065227FECB#1DO#55464704FCC0高5SO156865242FFDA中2RE58764751FCEF#5SO#166165259FEEB#2RE#62264795FD1B高6LA176065274FEFA中3MI65964837FD45#6LA#186565289FF09中4FA69864876FD6C高7SI196765302FF16音符頻率表3.2音符的節(jié)拍43在一張樂

17、譜中,我們經(jīng)常會(huì)看到這樣的表達(dá)式,如仁C 4、仁G4 等等, 這里仁C,仁G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián),4/4、3/4就是用來表示節(jié)拍的。以3/4為例加以說明,它表示樂譜中以四分音符為節(jié)拍, 每一小結(jié)有三拍。比如:1 2 3 4 5 6其中1、2為一拍,3、4、5為一拍,6為一拍共三拍。1、2的時(shí)長為四分 音符的一半,即為八分音符長,3、4的時(shí)長為八分音符的一半,即為十六分音符 長,5的時(shí)長為四分音符的一半,即為八分音符長,6的時(shí)長為四分音符長。那么 一拍到底該唱多長呢? 一般說來,如果樂曲沒有特殊說明,一拍的時(shí)長大約為400 500ms。我們以一拍的時(shí)長為400ms為例

18、,則當(dāng)以四分音符為節(jié)拍時(shí),四分音 符的時(shí)長就為400ms八分音符的時(shí)長就為200ms十六分音符的時(shí)長就為100ms 可見,在單片機(jī)上控制一個(gè)音符唱多長可采用循環(huán)延時(shí)的方法來實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長的延時(shí)程序,比如說以十六分音符的時(shí)長為基本延時(shí)時(shí)間, 那么,對(duì)于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它 為八分音符,則只需調(diào)用二次延時(shí)程序, 如果它為四分音符,則只需調(diào)用四次延 時(shí)程序,依次類推。3.3軟件設(shè)計(jì)3.3.1判斷音階(高中低音)子程序在軟件設(shè)計(jì)中采用yinjie 代表音階,如下圖所示音階Yinjie 值高2中1低0初始化狀態(tài)為中音(yinjie=1 ),電路中

19、設(shè)計(jì)高、低兩個(gè)音階鍵。上電后, 若無按鍵按下,則為中音模式。若音階鍵被按下,則如下流程圖所示,初始化后 進(jìn)行按鍵掃描,在高音鍵按下,若初始 yinjie 不為2,則另yinjie=2,進(jìn)入高音 工作模式,若初始yinjie 為2,則對(duì)yinjie 進(jìn)行初始化,即另yinjie=1,重新 進(jìn)入進(jìn)入中音工作模式,這樣即實(shí)現(xiàn)了高音鍵切換高、中音方式的轉(zhuǎn)換。同理, 用低音鍵實(shí)現(xiàn)中、低音的切換。3.3.2播放子程序本設(shè)計(jì)共兩種播放模式,包括自動(dòng)播放存儲(chǔ)音樂和按鍵發(fā)音。上電后,首先 開中斷并設(shè)定定時(shí)器0為工作方式1,當(dāng)自動(dòng)播放鍵按下時(shí),進(jìn)入中斷,根據(jù)樂譜 在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時(shí)器賦初值

20、,即開始播放音樂。當(dāng)DO RE Ml、FA、SO LA、SI七種音符鍵按下時(shí),根據(jù)音階值(如上表中高中 低對(duì)應(yīng))和音符值在定義的音頻數(shù)組中查找相應(yīng)音律,然后給定時(shí)器賦初值,即按鍵發(fā)音。本次課程設(shè)計(jì)我們準(zhǔn)備了三首歌曲。結(jié)合DO RE Ml三個(gè)音符鍵,通過鍵盤掃描確定BEEP®按下,此時(shí)再用if語句判斷,當(dāng)按下第一個(gè)鍵時(shí),按照相應(yīng) 程序樂譜依次讀入音節(jié),開始播放第一首歌,此時(shí)再通過if語句判斷若再按BEEP 鍵則跳出播放音樂,揚(yáng)聲器停止播放。第二、三首歌曲同理進(jìn)行播放。通過重復(fù) 使用按鍵不僅節(jié)省了原材料,還使得電路結(jié)構(gòu)簡單明了。3.3.3程序流程圖4 Proteus軟件仿真4.1仿真軟件

21、Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到 單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的 完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCE設(shè)計(jì)軟件和虛擬模型仿真軟 件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、 HC11、 PIC10/12/16/18/24/30/DsPIC33、AVR ARM 8086和 MSP43等,2010年又增加了 Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面, 它也支持IAR、Keil和MPLA等多種編譯器。Proteus是單片機(jī)課堂教學(xué)的先進(jìn) 助手。使用Proteus軟件進(jìn)行

22、單片機(jī)仿真設(shè)計(jì),是虛擬仿真技術(shù)和計(jì)算機(jī)多媒 體技術(shù)相結(jié)合的綜合運(yùn)用,有利于培養(yǎng)學(xué)生的電路設(shè)計(jì)能力及仿真的操作能力。Proteus不僅可將許多單片機(jī)實(shí)例功能形象化,也可將許多單片機(jī)實(shí)例運(yùn)行過程 形象化。前者可在相當(dāng)程度上得到實(shí)物演示實(shí)驗(yàn)的效果,后者則是實(shí)物演示實(shí)驗(yàn) 難以達(dá)到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機(jī)實(shí)驗(yàn)硬件高度對(duì)應(yīng)。 這在相當(dāng)程度上替代了傳統(tǒng)的單片機(jī)實(shí)驗(yàn)教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運(yùn)行結(jié)果等。4.2軟件調(diào)試調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷 點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功

23、能的過 程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行, 各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行 必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。4.3仿真結(jié)果電路仿真圖:G 也皿. pns«M pnjN 初蝕r如04J Y 7 T J -一-u- JPIOT2 fi irrwP12P13P1 *AEQFKMBwee毗哄PZ.IWFZ214.DF73ft11FZ曲UF3S*ai P23.1* FEt»B旳mt邛 F3i PZJZiTE! 沖劉mP3.O1f3A*nFl.TiW3313TTQ2iR3 -T=dc7we4.4結(jié)果分析根據(jù)仿真結(jié)果可知,本次課程設(shè)計(jì)能夠準(zhǔn)確并徹

24、底的完成設(shè)計(jì)要求。左側(cè)數(shù)碼管 可以顯示a、b、c三種結(jié)果,分別代表低音、中音和高音。右側(cè)數(shù)碼管可以顯示1、2、3、4、5、6、7七個(gè)數(shù)字,分別代表 DO RE Ml、FA、SO LA、SI七種音符。下面以4.3為例具體進(jìn)行分析:當(dāng)系統(tǒng)上電后,若按下高音鍵,則選定工作方式為高音模式,圖中c即代表高音。P1 口連接數(shù)碼管段選端,左側(cè)數(shù)碼管顯示 音符對(duì)應(yīng)的數(shù)字。5課程設(shè)計(jì)體會(huì)通過本次設(shè)計(jì),我們懂得了如何解決課程設(shè)計(jì)中出現(xiàn)的問題,從而能夠使自己更好的學(xué)習(xí)并掌握一些軟件,例如 Keil,Proteus 。在本次設(shè)計(jì)中,我們又相 當(dāng)于把以前學(xué)過的知識(shí)再復(fù)習(xí)一遍, 對(duì)以前學(xué)過的知識(shí)又加以鞏固,它不僅僅讓 我

25、們把學(xué)過的東西用于實(shí)踐,更是一種提高能力的最好方法。首先,我們先要焊接電路,在焊接過程中,要設(shè)計(jì)排版怎樣才更加合理工整, 焊接時(shí),要注意焊點(diǎn)和熔錫等等一些焊接技術(shù),而且我們并沒有一次性焊接成功, 所以還要學(xué)會(huì)檢測再修整。其次,使用C語言來編譯程序。系統(tǒng)的學(xué)習(xí)函數(shù)使用 和單片機(jī)的聯(lián)系,有時(shí)還要對(duì)一些電子元件有進(jìn)一步的了解,例如電阻、電容、 二極管和三極管等元件,才好對(duì)一些模塊的功能進(jìn)行更具體的認(rèn)識(shí)。最難的就是 將音樂同單片機(jī)銜接起來,單片機(jī)的發(fā)聲原理,音樂的音階與節(jié)拍的具體計(jì)算和 使用,還有鍵盤,發(fā)音等一些模塊的設(shè)計(jì),剛開始很不了解,之后通過上網(wǎng)學(xué)習(xí), 問問同學(xué),才有了初步的設(shè)計(jì)思想,這些都是以

26、前從未學(xué)過的新知識(shí),新內(nèi)容, 能夠接觸到這些,無疑又是一種提高。然后,軟件仿真。學(xué)習(xí)Proteus軟件,以前沒有接觸過這個(gè)軟件,所以不會(huì)使用, 通過課本學(xué)習(xí),網(wǎng)上學(xué)習(xí)以及和同學(xué)交 流,才初步掌握該軟件的使用方法,尤其是查找元器件不太容易,最后才知道有 個(gè)元器件對(duì)照表,才解決了這個(gè)問題。 所以只有通過一次又一次實(shí)踐,才能更好 地掌握新知識(shí)??傊?,每次課程設(shè)計(jì)都有不同的提高。我們目前已經(jīng)是大三,還有一年就要 畢業(yè),能夠在此之前知道自己的不足之處并提高自己的各方面能力,這都是一種提高。還有就是課程設(shè)計(jì)是分組合作, 我們同學(xué)之間互相幫助,增強(qiáng)團(tuán)隊(duì)合作意 識(shí),也是以后適應(yīng)社會(huì)的需要。在本次設(shè)計(jì)中,我們感

27、受到電子信息工程這個(gè)專 業(yè)以后所要學(xué)習(xí)的知識(shí)還有很多很多, 社會(huì)發(fā)展和科技創(chuàng)新發(fā)展很快,只有通過 自己的不斷學(xué)習(xí)和提高,才能立足社會(huì)之上。因此,課程設(shè)計(jì)使我們?cè)诮窈蟾犹?shí)學(xué)習(xí),努力提高自己!參考文獻(xiàn)20011 沈慶陽,郭庭吉編著,8051單片機(jī)實(shí)踐與應(yīng)用清華大學(xué)出版社,2 趙建領(lǐng)編著,51系列單片機(jī)開發(fā)寶典電子工業(yè)出版社,20073 微機(jī)原理與單片機(jī)接口技術(shù)河南理工大學(xué),20124 胡漢才編著,單片機(jī)原理及其接口技術(shù)清華大學(xué)出版社,2004汪道輝編著,單片機(jī)系統(tǒng)設(shè)計(jì)與實(shí)踐電子工業(yè)出版社2005附1源程序代碼#in clude<STC.h>#defi ne uchar un sig

28、 ned char#defi ne uint un sig ned int#define k P2/P2A0-P2A6 用來存放 1-7 七個(gè)音節(jié)sbit gao=P3A6;sbit di=P3A5;sbit BEEP=P3A7;/滬3人7端口連接按鍵用來控制揚(yáng)聲器工作與否uchar n=0;/n是播放歌曲時(shí)用到uchar high,low; /定時(shí)器預(yù)裝值的高 8位和低8位uchar time,s1,L;uchar yinjie=1; yinjie=1,2,3 表示低音,中音,高音sbit speak=P3A2; 戸3人2端口接揚(yáng)聲器code uchar Table=0x40,0x06,0x

29、5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x40; / 數(shù)碼管 code uchar fayin 2=0xf9,0x21,0xf9,0xe1,0xfa,0x8c,0xfa,0xd8,0xfb,0x68,0xfb,0xe9,0xfc,0x5b, 低音:高八低八0xfc,0x8f,0xfc,0xef,0xfd,0x45,0xfd,0x6c,0xfd,0xb4,0xfd,0xf4,0xfe,0x24,/中音:高八 低八0xfe,0x47,0xfe,0x78,0xfe,0xa2,0xfe,0xb6,0xfe,0xda,0xfe,0xfa

30、,0xff,0x16/高音:高八低八;uchar code Music1=/ 粉刷匠 1441,2,2,2.2.1.4.2.1.3.2.1.2.2.1.5.2.4, 5,2,1,3,2,1,5.2.1.3.2.1.5.2.1.3.2.1, 1,2,2, 2,2,1,4,2,1,3.2.1.2.2.1, 1,2,4, 2,2,1,2,2,1,4,2,1,4,2,1,3.2.1, 1,2,1,5,2,2, 2,2,1,4,2,1,3,2,1,2,2,1,5.2.4, 5,2,1,3,2,1,5,2,1,3,2,1,5,2,1,3,2,1,1.2.2, 2,2,1,4,2,1,3,2,1,2,2,1

31、, 1,2,4;uchar code Music2=/ 小星星 1261,2,1,1,2,1,5,2,1,5,2,1,6,2,1,6,2,1,5,2,2,4,2,1,4,2,1,3,2,1,3,2,1,2,2,1,2,2,1,1,2,2,5,2,1,5,2,1,4,2,1,4,2,1,3,2,1,3,2,1,2,2,2,5,2,1,5,2,1,4,2,1,4,2,1,3,2,1,3,2,1,2,2,2,1,2,1,1,2,1,5,2,1,5,2,1,6,2,1,6,2,1,5,2,2,4,2,1,4,2,1,3,2,1,3,2,1,2,2,1,2,2,1,1,2,2,uchar code Mu

32、sic3=/荷塘月色3691,2,1,1,2,2,6,1,1,5,1,2,6,1,2,1,2,2,1,2,1,2,2,1,3,2,4,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,5,2,1,5,2,1,3,2,1,3,2,1,2,2,1,3,2,4,1,2,1,1,2,2,6,1,1,5,1,2,5,2,2,3,2,1,2,2,1,3,2,1,2,2,1,1,2,4,2,2,1,2,2,2,1,2,1,2,2,1,2,2,2,3,2,1,2,2,1,1,2,1,6,1,1,2,2,1,1,2,4,1,2,1,1,2,2,6,1,1,5,1,2,6,1,2,1,2,1,1,2,2

33、,2,2,1,3,2,4,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,5,2,1,5,2,1,3,2,1,3,2,1,2,2,1,3,2,4,1,2,1,1,2,1,1,2,1,6,1,1,5,1,2,5,2,2,3,2,1,2,2,1,3,2,1,2,2,1,1,2,4,2,2,1,2,2,2,1,2,1,2,2,1,2,2,2,3,2,1,2,2,1,1,2,1,6,1,1,2,2,1,1,2,4,3,2,1,5,2,2,5,2,1,5,2,2,5,2,2,6,2,1,5,2,1,3,2,1,2,2,1,1,2,4,6,2,1,1,3,1,6,2,1,5,2,1,3,2,1

34、,2,2,1,1,2,1,6,1,1,2,2,2,2,2,1,3,2,1,3,2,1,2,2,3,3,2,1,5,2,2,5,2,1,5,2,2,5,2,2,6,2,1,5,2,1,3,2,1,2,2,1,1,2,4,6,1,1,1,2,1,6,1,1,5,1,1,2,2,2,3,2,2,1,2,6;/延時(shí)函數(shù)void delay (un sig ned int x)int a,b;for(a=x;a>0;a-) for(b=1000;b>0;b-);void son g() TH0=high; TL0=low;TR0=1;delay(time*250);void ITimerO(

35、void)TMOD = 0x01;EA=1;ET0=1;TR0=1;使用模式1, 16位定時(shí)器/總中斷打開/定時(shí)器中斷打開/定時(shí)器開關(guān)打開void Play() uchar m,n;n=0;delay(500);播放粉刷匠if(k=0xfe)while (n <144)m=Music1 n +7*(Music1 n+1-1)-1; high=fayi n m0;low=fayi nm1;time=Music1 n+2;n=n+3;son g();if(BEEP=0)break;if(k=Oxfd)播放小星星while (n <126)m=Music2 n +7*(Music2 n+1-1)-1;high=fa

溫馨提示

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

評(píng)論

0/150

提交評(píng)論