版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計報告</b></p><p> 課程名稱 單片機原理及應(yīng)用 </p><p> 設(shè)計題目 電子琴的設(shè)計 </p><p> 專業(yè)班級 自動化1041 </p><p> 姓 名
2、 </p><p> 學(xué) 號 </p><p> 指導(dǎo)教師 </p><p> 起止時間 2013.6.24-2011.7.12 </p><p><b> 成 績 評 定</b></p>
3、<p> 12/13學(xué)年第二學(xué)期</p><p> 《單片機控制系統(tǒng)設(shè)計與調(diào)試》 課程設(shè)計任務(wù)書</p><p> 指導(dǎo)教師:蔡長青 班級:自動化1041、2班 </p><p> 地點:機房、單片機實驗室(實訓(xùn)中心415)</p><p> 課程設(shè)計題目:基于
4、51單片機原理的電子琴的設(shè)計</p><p><b> 課程設(shè)計目的</b></p><p> 靈活運用單片機的基礎(chǔ)知識,依據(jù)課程設(shè)計內(nèi)容,能夠完成從硬件電路圖設(shè)計,到PCB制版,再到軟件編程及系統(tǒng)調(diào)試實現(xiàn)系統(tǒng)功能,完成課程設(shè)計,加深對單片機基礎(chǔ)知識的理解,并靈活運用,將各門知識綜合應(yīng)用。</p><p> 能夠上網(wǎng)查詢器件資料,培養(yǎng)對新
5、知識新技術(shù)的獨立的學(xué)習(xí)能力和應(yīng)用能力。</p><p> 獨立完成一個小的系統(tǒng)設(shè)計,從硬件設(shè)計到軟件設(shè)計,增強分析問題、解決問題的能力,為日后的畢業(yè)設(shè)計及科研工作奠定良好的基礎(chǔ)。</p><p> 課程設(shè)計內(nèi)容(包括技術(shù)指標)</p><p> 本設(shè)計主要任務(wù)是設(shè)計一簡易電子琴,利用所給鍵盤的1,2,3,4,5,6,7七個鍵,能夠發(fā)出1,2,3,4,5,6,7
6、等7個音符,具有一般演奏功能,同時利用第八個鍵具有自動播放已存曲目功能。 </p><p> 1. 電子琴及串口原理圖的設(shè)計、PCB板的制作、焊接。特別在焊接過程中認真、仔細,避免缺焊、漏焊。</p><p> 2. 頻率初值的計算。會計算脈沖值與頻率的關(guān)系。正確計算出各音階所對應(yīng)的頻率的初值。</p><p> 3. 電子琴的工作過程分析。&l
7、t;/p><p><b> ?。?)初始化過程</b></p><p> 啟動時,首先是對定時器T0 進行初始化,設(shè)定它的工作狀態(tài),對于本系統(tǒng)將T0 設(shè)定為工作方式1;</p><p><b> ?。?)按鍵檢測過程</b></p><p> 初始化完成后,是判斷是否有鍵按下,如果沒有按鍵按下,則繼
8、續(xù)判斷,如果有按鍵按下,延時一段時間在判斷是否有鍵按下,若無按鍵按下返回繼續(xù)判斷,若確實有鍵按下則判斷是哪個鍵按下;</p><p><b> ?。?)聲音播放過程</b></p><p> 根據(jù)按鍵的功能將計數(shù)初值裝入定時器T0 、T1中中并啟動T0 、T1,當(dāng)T0定時完畢后,重新裝入計數(shù)初值繼續(xù)定時并將P3.3取反,再次定時完畢后再一次的裝入計數(shù)初值繼續(xù)定時并將
9、P3.3取反,一直循環(huán)此操作直到按鍵釋放為止,按鍵釋放后停止T0工作并再次判斷是否又有按鍵按下,并繼續(xù)執(zhí)行以前的過程。單片機定時器啟動時,發(fā)出一定頻率的脈沖(各音調(diào)對應(yīng)的頻率脈沖),該頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就回發(fā)出相應(yīng)的音調(diào)。</p><p> (4)流水燈工作過程</p><p> 單片機上電后執(zhí)行事先設(shè)定好的流水燈程序,有按鍵按下時則亮對應(yīng)音調(diào)的燈。</p>
10、;<p><b> 課程設(shè)計原則</b></p><p> 盡可能使音色、音律更準確;</p><p> 在滿足控制的前提下,力求使控制系統(tǒng)簡單、經(jīng)濟;</p><p> 保證控制系統(tǒng)安全可靠。</p><p><b> 課程設(shè)計步驟</b></p><p
11、> 對控制系統(tǒng)任務(wù)和要求作深入的調(diào)查研究,明確控制任務(wù)。</p><p> 根據(jù)原理畫出電子琴原理圖及串口原理圖。</p><p><b> 選擇合適的芯片。</b></p><p> 依據(jù)原理圖,把所選用的板子焊接好。</p><p> 確定系統(tǒng)整體設(shè)計方案,進行軟件編程。</p><
12、;p> 控制系統(tǒng)的硬件設(shè)計。</p><p> 電子琴原理圖及PCB圖;</p><p> 串口原理圖及PCB圖。</p><p> 控制系統(tǒng)的軟件設(shè)計。</p><p> 設(shè)計七個基本高低音調(diào);</p><p><b> 設(shè)計歌曲;</b></p><p&g
13、t;<b> 設(shè)計流水燈程序。</b></p><p><b> 聯(lián)機調(diào)試。</b></p><p><b> 撰寫設(shè)計說明書。</b></p><p><b> 時間安排</b></p><p><b> 基本要求</b>
14、</p><p><b> ?。ㄒ唬┱n程設(shè)計報告</b></p><p> 電子琴原理圖及PCB圖一份(電子版)。</p><p> 串口原理圖及PCB圖一份(電子版)。</p><p> 設(shè)計說明書一份,包括以下內(nèi)容。</p><p> 寫出設(shè)計計劃和基本步驟。</p>&
15、lt;p><b> 畫出軟件流程圖。</b></p><p> 寫出軟件程序,并加以注釋。</p><p> 寫出調(diào)試過程和結(jié)果。</p><p><b> 寫課程設(shè)計小結(jié)。</b></p><p><b> ?。ǘ┏煽冊u定標準</b></p>&
16、lt;p> 對學(xué)生進行全面考核,重點考核設(shè)計圖紙、說明書質(zhì)量;獨立思考、獨立工作能力,綜合運用知識的能力;平時的工作態(tài)度及表現(xiàn);答辯情況。</p><p> 最后按平時表現(xiàn)、報告質(zhì)量、答辯成績,其權(quán)重分別為0.2、0.4、0.4綜合評定成績,分優(yōu)、良、中、及、不及格五個等級。</p><p><b> 組長: 張 娜</b></p><
17、p><b> 組員:龔壽濤、趙偉</b></p><p><b> 任務(wù)分配:</b></p><p><b> 摘 要</b></p><p> 本設(shè)計主要是通過對電子琴主體部分的電路進行模仿設(shè)計,達到電子琴固有的基本功能,故叫簡易電子琴。本設(shè)計的主要內(nèi)容是用AT89C51單片機為核
18、心控制元件并與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有8個按鍵和揚聲器。通過編寫程序讓其中七個按鍵分別對應(yīng)音樂的七個音符,可以通過這七個按鍵任意彈奏我們想要的音樂節(jié)奏,最終實現(xiàn)電子琴的模擬設(shè)計,寧外一個按鍵用來控制歌曲的連續(xù)播放,將一首歌曲翻譯成單片機定時器能識別的頻率初值通過按下第八個按鍵就能播放設(shè)計好的歌曲,同時還增加了流水燈的動感效果,用流水燈反應(yīng)音樂的音階,流水燈將隨音樂節(jié)奏的跳動而不停的切換。</p>
19、<p> 關(guān)鍵詞 </p><p> 單片機 按鍵 音階 揚聲器</p><p> Abstract: </p><p> This design mainly through to mimic keyboard main body part of the circuit desig
20、n, to achieve electronic organ inherent basic function, so called simple electronic organ. The main content of this design is to use AT89C51 as the core control component with the keyboard, speakers and other core module
21、s of main control module, on the main control module has eight keys and speakers. By writing program for one of the seven keys corresponding to music seven notes, can through the seven key any we want</p><p>
22、; Key words : Single chip microcomputer The keys Scale The speaker</p><p><b> 目 錄</b></p><p><b> 緒論1</b></p><p><b> 1系統(tǒng)方案設(shè)計1</b></p&g
23、t;<p> 1.1系統(tǒng)方案的選擇1</p><p> 1.2系統(tǒng)硬件組成框圖2</p><p> 2 STC89C52最小系統(tǒng)設(shè)計3</p><p> 2.1單片機芯片選擇3</p><p> 2.2復(fù)位電路設(shè)計4</p><p> 2.3時鐘電路設(shè)計5</p>&
24、lt;p> 3 電子琴硬件設(shè)計5</p><p> 3.1 鍵盤電路設(shè)計5</p><p> 3.2 顯示電路設(shè)計7</p><p> 3.3 串口電路設(shè)計7</p><p> 3.4發(fā)音電路設(shè)計9</p><p> 4 電子琴軟件設(shè)計9</p><p> 4.1
25、 電子琴發(fā)聲原理9</p><p> 4.2 程序流程圖設(shè)計14</p><p> 4.3電子琴模塊化程設(shè)計14</p><p><b> 5 系統(tǒng)調(diào)試16</b></p><p><b> 6 總結(jié)18</b></p><p><b> 參考文
26、獻19</b></p><p><b> 附錄20</b></p><p><b> 附錄一20</b></p><p><b> 附錄二25</b></p><p><b> 緒論</b></p><p&g
27、t; 本設(shè)計主要對使用單片機設(shè)計簡易電子琴進行了分析,并介紹了基于單片機電子琴總體硬件組成。利用單片機定時器產(chǎn)生不同頻率來獲得我們要求的音階,最終可通過按鍵隨意彈奏想要表達的音樂節(jié)奏。本次設(shè)計分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細闡述設(shè)計過程。</p><p> 電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。本文的主要內(nèi)容是用AT89S51單片機為核心控制元件,設(shè)計一個電子
28、琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有8個按鍵和揚聲器。通過編程使按鍵能對應(yīng)相應(yīng)的音調(diào)或者連續(xù)播放音樂,并能通過流水燈的亮滅來顯示音樂的節(jié)奏,功能簡單而其實用,在生活中得到了廣泛的應(yīng)用。 每首歌曲是由許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂,當(dāng)然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0
29、來產(chǎn)生這樣方波頻率信號。</p><p><b> 1系統(tǒng)方案設(shè)計</b></p><p> 1.1系統(tǒng)方案的選擇</p><p> 實現(xiàn)本次設(shè)計的方案有多種,下面比較說明一下最佳方案的選擇。</p><p> 方案一:采用單個的邏輯器件組合</p><p> 音樂是有由不同的音階組成的
30、,而不同的音階又是由不同的頻率發(fā)出的,那么利用不同的頻率,就可以發(fā)出不同的音樂了。我們知道計數(shù)器8253可以產(chǎn)生任意頻率的方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率與計數(shù)器的頻率對應(yīng)起來就可通過計數(shù)器產(chǎn)生音樂了。根據(jù)本實驗要求,采用8279將鍵掃得到的鍵值通過查表得到相應(yīng)的8253的頻率值,將從8253得到相對應(yīng)的按鍵彈奏信號經(jīng)過LM386進行放大,再用喇叭輸出,就實現(xiàn)了簡易電子琴的基本功能,也就完成了實驗的要求。</p
31、><p> 方案二:采用AT89S52單片機作為主控芯片,設(shè)置鍵盤、蜂鳴器等外圍器件,另外還用到一些簡單器件如:兩位數(shù)碼管,和PNP型三極管及電阻等。利用按鍵實現(xiàn)音符和音調(diào)的輸入;兩位的數(shù)碼管進行被操作的按鍵顯示;用PNP型三極管9012實現(xiàn)低音頻功率放大;最后用蜂鳴器發(fā)音。</p><p><b> 兩種方案的比較:</b></p><p>
32、 方案一采用單個的邏輯器件組合實現(xiàn)。這樣雖然比較直觀,邏輯器件分工鮮明,思路也比清晰,一目了然,但是由于元器件種類、個數(shù)繁多,而過于復(fù)雜的硬件電路也容易引起系統(tǒng)的精度不高、體積過大等不利因素。例如七個不同的音符是由七個不同的頻率來控制發(fā)出的,所用儀器之多顯而易見。方案二與前一種方案相比,主控芯片采用AT89S52單片機,它是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點。同時具有強大的控制
33、功能和靈活的編程實現(xiàn)特性,由于本設(shè)計主要用于人們娛樂方面,因此在設(shè)計上盡量使其安全以及簡單易操作。而第二種方案具有經(jīng)濟可行性、技術(shù)可行性、實物應(yīng)用性。</p><p> 綜上所述,本次課程設(shè)計采用第二種方案。</p><p> 1.2系統(tǒng)硬件組成框圖</p><p> 圖1.2 系統(tǒng)硬件組成框圖</p><p> 實驗中每按下一個琴鍵
34、,單片機能夠檢測到鍵盤的按鍵,并根據(jù)按鍵的位置,通過程序來控制,使喇叭發(fā)出不同頻率(音調(diào))的聲音,聲音延遲一段時間,等到按鍵放開之后,聲音停止。然后再繼續(xù)掃描,看是否有鍵按下。如此循環(huán),即可實現(xiàn)基本的琴鍵功能。</p><p> 2 STC89C52最小系統(tǒng)設(shè)計</p><p> 硬件電路要以單片機作為主控芯片,實現(xiàn)按鍵輸入音符和音調(diào),兩位數(shù)碼管的顯示以及低音頻功率放大和蜂鳴器發(fā)音。針
35、對本設(shè)計的功能和用途,采用AT89C52單片機更好,實現(xiàn)功能完全,性價比較高,更適合本設(shè)計。</p><p> 2.1單片機芯片選擇</p><p> 此次設(shè)計采用的是STC89C52單片機芯片,其特點及管腳封裝介紹如下:</p><p> STC89C52 是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel司
36、高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。STC89C52具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,STC89C52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷
37、繼續(xù)工 作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié), 單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash STC89C52</p><p> 其中P3口亦作為STC89C52特殊功能(第二功能)使用,如下表所示。 </p><p> 在flash編程和校驗時,P3口也接收一些控制信號。 </p><p>
38、 端口引腳 第二功能 </p><p> P3.0 RXD(串行輸入口) </p><p> P3.1 TXD(串行輸出口) </p><p> P3.2 INTO(外中斷0) </p><p> P3.3 INT1(外中斷1) </p><p> P3.4 TO(定時/計數(shù)器0) </p>
39、<p> P3.5 T1(定時/計數(shù)器1) </p><p> P3.6 WR(外部數(shù)據(jù)存儲器寫選通) </p><p> P3.7 RD(外部數(shù)據(jù)存儲器讀選通) </p><p> 此外,P3口還接收一些用于FLASH閃存編程和程序校驗的控制信號。 </p><p> RST——復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩
40、個機器周期以上高電平將是單片機復(fù)位在89系列中,在器件引腳的封裝上,MCS-51系列機通常有兩種封裝:一種是雙列直插式,常為HMOS型器件所用;另一種是方形封裝,大多數(shù)在CHMOS型器件中使用。89C52單片機DIP40封裝如2.1所示</p><p> 圖2.1 89C52直插式封裝</p><p><b> 2.2復(fù)位電路設(shè)計</b></p>&
41、lt;p><b> 圖2.2 復(fù)位電路</b></p><p> 單片機最小系統(tǒng)常采用上電自動復(fù)位和手動按鍵復(fù)位兩種方式實現(xiàn)系統(tǒng)的復(fù)位操作。上電復(fù)位要求接通電源后,自動實現(xiàn)復(fù)位操作。手動復(fù)位要求在電源接通的條件下,在單片機運行期間,用按鈕開關(guān)操作使單片機復(fù)位。其結(jié)構(gòu)如下圖。上電自動復(fù)位通過電容C4充電來實現(xiàn)。手動按鍵復(fù)位是通過按鍵將電阻R2與VCC接通來實現(xiàn)。</p>
42、<p><b> 2.3時鐘電路設(shè)計</b></p><p><b> 圖2.3 時鐘電路</b></p><p> 單片機內(nèi)部具有一個高增益反相放大器,用于構(gòu)成振蕩器。通常在引腳XTALl和XTAL2跨接石英晶體和兩個補償電容構(gòu)成自激振蕩器,結(jié)構(gòu)圖中Y1、C1、C2??梢愿鶕?jù)情況選擇6MHz、12MHz或24MHz等頻率的石英
43、晶體,補償電容通常選擇30pF左右的瓷片電容。</p><p><b> 3 電子琴硬件設(shè)計</b></p><p> 3.1 鍵盤電路設(shè)計</p><p> 常用的按鍵有三種:機械觸點式按鍵、導(dǎo)電橡膠式和柔性按鍵(又稱觸摸式鍵盤)。 機械觸點式按鍵是利用機械彈性使鍵復(fù)位,手感明顯,連線清晰
44、,工藝簡單,適合單件制造。但是觸點處易侵入灰塵而導(dǎo)致接觸不良,體積相對較大。 導(dǎo)電橡膠按鍵是利用橡膠的彈性來復(fù)位,通過壓制的方法把面板上所有的按鍵制成一塊,體積小,裝配方便,適合批量生產(chǎn)。但是時間長了,橡膠老化而使彈力下降,同時易侵入灰塵。 柔性按鍵是近年來迅速發(fā)展的一種新型按鍵,可以分為凸球型和平面型兩種。柔性按鍵最大特點是防塵、防潮、耐蝕
45、,外形美觀,裝嵌方便。而且外形和面板的布局、色彩、鍵距可按照整機的要求來設(shè)計。</p><p> 但是由于客觀條件與經(jīng)濟能力有限,本系統(tǒng)采用機械觸點式按鍵。當(dāng)測試表明有鍵被按下之后,緊接著就進行去抖動處理。因為鍵是機械開關(guān)結(jié)構(gòu),由于機械觸點的彈性及電壓突跳等原因,在觸點閉合或斷開的瞬間會出現(xiàn)電壓抖動。為保證鍵識別的準確,在電壓信號抖動的情況下不能進行行狀態(tài)輸入。為此需進行去抖動處理。去抖動有硬件和軟件兩種方法。
46、硬件方法就是加去抖動電路,從根本上避免抖動的產(chǎn)生。軟件消抖,在第一次檢測到有鍵按下時,執(zhí)行一段延時程序之后,再檢測此按鍵,如果第二次檢測結(jié)果仍為按下狀態(tài),CPU便確認此按鍵己按下,消除了抖動。</p><p><b> 圖3.1 鍵盤電路</b></p><p> 利用所給鍵盤的1,2,3,4,5,6,7,8八個鍵,能夠發(fā)出7個不同的音調(diào),而且有一個按鍵可以自動播
47、放歌曲,要求按鍵按下時發(fā)聲,松開延時一小段時間,中間再按別的鍵則發(fā)另外一音調(diào)的聲音,當(dāng)系統(tǒng)掃描到鍵盤按下,則快速檢測出是哪一個按鍵被按下,然后單片機的定時器啟動,發(fā)出一定頻率的脈沖,該頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就會發(fā)出相應(yīng)的音調(diào)。如果在前一個按下的鍵發(fā)聲的同時有另一個按鍵被按下,則啟動中斷系統(tǒng)。前面的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音程序。發(fā)出后按的鍵的音調(diào)。</p><p> 3.2 顯示電路設(shè)計<
48、/p><p> 圖3.2 流水燈顯示電路</p><p> 本設(shè)計利用8個燈對應(yīng)8個按鍵的功能顯示,當(dāng)按下1-7按鍵時對應(yīng)7個音調(diào)同時對應(yīng)的小燈閃爍,當(dāng)按下第8 個按鍵時播放歌曲同時小燈輪閃,閃亮的時間等于音調(diào)的長短,小燈之間的切換時間為節(jié)拍時間,這樣就實現(xiàn)了小燈隨音樂而跳動閃爍的景象。使小燈隨音樂跳動起來,這就是小燈顯示的優(yōu)點。</p><p> 3.3 串口
49、電路設(shè)計</p><p> 本設(shè)計采用MAX232串口轉(zhuǎn)換芯片其性能特點如下:</p><p> 1、符合所有的RS-232C技術(shù)指標; </p><p> 2、只需要單一+5V電源供電; </p><p> 3、片載電荷泵具有升壓、電壓極性反轉(zhuǎn)能力,能夠產(chǎn)生+10V和-10V電壓V+、V-; </p><p>
50、; 4、功耗低,典型供電電流5mA; </p><p> 5、內(nèi)部集成2個RS-232C驅(qū)動器; </p><p> 6、內(nèi)部集成兩個RS-232C接收器; </p><p> 7、高集成度,片外最低只需4個電容即可工作。</p><p> MAX232芯片是美信公司專門為電腦的RS-232標準串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5
51、v單電源供電。</p><p> 內(nèi)部基本上可以分為三部分:</p><p> 第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。 </p><p> 第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個數(shù)據(jù)通道。 </p><p&
52、gt; 其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。 </p><p> 8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。</p><p> TTL/CMOS數(shù)據(jù)從11引腳(T1IN)、10引腳(T2IN)輸入轉(zhuǎn)換成RS-232數(shù)據(jù)從14腳(T1OUT)、7腳(T2OUT)送到電腦D
53、B9插頭;DB9插頭的RS-232數(shù)據(jù)從13引腳(R1IN)、8引腳(R2IN)輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從12引腳(R1OUT)、9引腳(R2OUT)輸出。</p><p> 第三部分是供電。15腳GND、16腳VCC(+5v)。下圖所示為MAX232管腳封裝圖。</p><p> 圖3.3 MAX232封裝引腳圖</p><p><b>
54、圖3.4 串口電路</b></p><p> 電容器應(yīng)選擇1μF的電解電容?!?lt;/p><p> 由于RS232電平較高,在接通時產(chǎn)生的瞬時電涌非常高,很有可能擊毀MAX232,所以在使用中應(yīng)盡量避免熱插拔。如圖3.4所示為通信下載電路圖。</p><p><b> 3.4發(fā)音電路設(shè)計</b></p><p
55、> 圖3.4 揚聲器發(fā)聲電路</p><p> 本設(shè)計采用9012PNP型三極管,三極管9012是一種常用的小功率PNP型硅管,</p><p> 在圖中,三極管主要是做驅(qū)動用的,因為單片機的IO口驅(qū)動能力不夠讓蜂鳴器發(fā)出聲音,所以我們通過三極管放大驅(qū)動電流,從而可以讓蜂鳴器發(fā)出聲音,當(dāng)P3.3口輸出高電平三極管導(dǎo)通,集電極電流通過蜂鳴器讓蜂鳴器發(fā)出聲音,當(dāng)輸出低電平時,三極
56、管截止,沒有電流流過蜂鳴器,所以就不會發(fā)出聲音,從而實現(xiàn)單片機控制發(fā)聲。</p><p><b> 4 電子琴軟件設(shè)計</b></p><p> 4.1 電子琴發(fā)聲原理</p><p> 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波</p><p> 頻率,也就是說不能象電子琴那樣能奏出多種音
57、色的聲音。因此單片機奏樂只需</p><p> 弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的</p><p> 頻率,節(jié)拍表示一個音符唱多長的時間。在音樂中所謂“音調(diào)”,其實就是我們</p><p> 常說的“音高”。在音樂中常把中央C 上方的A 音定為標準音高,其頻率f=440Hz。</p><p> 當(dāng)兩
58、個聲音信號的頻率相差一倍時,也即f2=2*f1時,則稱f2比f1高一個倍頻程,</p><p> 在音樂中1(do)與.1,2(re)與.2……正好相差一個倍頻程,在音樂學(xué)中稱它</p><p> 相差一個八度音。在一個八度音內(nèi),有12個半音。以1—i 八音區(qū)為例, 12 個</p><p> 半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,
59、#4—5、5 一#5、</p><p> ?。?—6、6—#6、#6—7、7—i。這12 個音階的分度基本上是以對數(shù)關(guān)系來劃</p><p> 分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調(diào)的頻率,我</p><p> 們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。</p><p> 知道了一個音符的頻率后,我們就可以
60、采用通過單片機的定時器定時中斷</p><p> 的方法,將單片機上對應(yīng)蜂鳴器的I/O 口來回取反,或者說來回清零,置位,從</p><p> 而讓蜂鳴器發(fā)出聲音,為了讓單片機發(fā)出不同頻率的聲音,我們只需將定時器予</p><p> 置不同的定時值就可實現(xiàn)。我們就以本次設(shè)計中標準音高A為例進行演示。A的頻</p><p> 率f =
61、440 Hz,其對應(yīng)的周期為:</p><p> T = 1/ f = 1/440 =2272μs</p><p> 圖4.1.1 脈沖產(chǎn)生原理圖</p><p> 由圖4.1.1可知,單片機上對應(yīng)蜂鳴器的I/O 口來回取反的時間應(yīng)為:</p><p> t=T/2=2272/2=1136μs</p><p>
62、 這個時間t 也就是單片機上定時器應(yīng)有的中斷觸發(fā)時間。</p><p> 一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分</p><p> 頻信號為計數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時器的予置初值由下式來確定:</p><p> t=12*(TALL–THL)/f0</p><p> 式中TALL = 216 =
63、 65536,THL為定時器待確定的計數(shù)初值。</p><p> 因此定時器的高低計數(shù)器的初值為:</p><p> TH=THL/256=(TALL–t*f0/12)/256</p><p> TL=THL%256=(TALL–t*f0/12)%256</p><p> 將t=1136μs 代入上面兩式(注意:計算時應(yīng)將時間和頻率的
64、單位換算一致),</p><p> 即可求出標準音高A 在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時</p><p> 器高低計數(shù)器的予置初值為:</p><p> TH440Hz=(65536–1136*12/12)/256=0XFB</p><p> TL440Hz=(65536–1136*12/12)%256=0
65、X90</p><p> 根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計數(shù)器的予置初值。</p><p> 音符的節(jié)拍我們也可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的</p><p> 表達式,如1=C、1=G…… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談</p><p> 的音調(diào)有很大的關(guān)聯(lián),、就是用來表示節(jié)
66、拍的。以為例加以說明,它表示樂譜中</p><p> 以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:</p><p> 圖4.1.2 部分樂譜圖</p><p> 在圖4.1.2中1 、2 為一拍,3、4、5 為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5 的時長為四分音符的一半,即為八分
67、音符長,6的時長為四分音符長。</p><p> 一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一</p><p> 拍的時長為400ms 為例,則當(dāng)以四分音符為節(jié)拍時,四分音符的時長就為400ms,</p><p> 八分音符的時長就為200ms,十六分音符的時長就為100ms??梢?,在單片機上控制一個音符唱多長可采用循環(huán)延時的
68、方法來實現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調(diào)用一次延時程序,如果它為八分音符,則只需調(diào)用二次延時程序,如果它為四分音符,則只需調(diào)用四次延時程序,依次類推。</p><p> 通過上面關(guān)于一個音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機上實現(xiàn)演奏音樂了。具體的實現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)
69、和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關(guān)參數(shù),如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為0XFF,0XFF,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。</p><p> 音調(diào)數(shù)據(jù)表(C調(diào))</p>&l
70、t;p> 本次設(shè)計采用樂譜如下圖:</p><p> 根據(jù)以上原理可知此樂譜為C調(diào)2/4,延時一拍為250ms</p><p> 若單片機采用12MHZ晶振,則音符與計數(shù)T0相關(guān)的計數(shù)值如圖4.1.3:</p><p> 圖4.1.3 音符頻率表</p><p><b> 音樂彈奏原理:</b></
71、p><p> 本次設(shè)計中單片機晶振為12MHZ,那么定時器的計數(shù)周期為1MHZ,假如選擇工作方式1,那T值便為T=2^16—5*105/相應(yīng)的頻率,那么根據(jù)不同的頻率計算出應(yīng)該賦給定時器的計數(shù)值。按鍵與音階的對應(yīng)關(guān)系如圖4.1.4所示:</p><p> 圖4.1.4 按鍵與音階對照表 </p><p> 4.2 程序流程圖設(shè)計</
72、p><p> 根據(jù)8個按鍵對應(yīng)不同的發(fā)聲狀態(tài),程序主要流程圖如圖4.2</p><p> 圖4.2 程序主要流程圖</p><p> 4.3電子琴模塊化程序設(shè)計</p><p> 本次程序設(shè)計采用模塊化編程,模塊化編程具有很多優(yōu)點,能夠使程序更加簡單明了,將程序分為不同的模塊讓人一看就能知道程序由哪幾個部分組成,各個部分之間有什么聯(lián)系,而
73、且能很方便的看出各個模塊的功能,因為各個模塊都是功能相互獨立的,每個模塊都具有可移植性,方便重復(fù)使用,不必每次都重新編寫程序,大大節(jié)約了編程時間,提高了編程效率。</p><p> 模塊化編程的步驟如下:</p><p> 1.創(chuàng)建頭文件,建立一個.C文件(源文件)和一個.h文件(頭文件)。原則上.C文件和.h文件同名;文件名要有意義,最好是能體現(xiàn)文件代碼的功能。例如延時函數(shù)相關(guān)的源文
74、件和頭文件命名為delay.c與delay.h</p><p> 2.防重復(fù)包含處理,在.h文件中加入如下代碼:</p><p> #ifndef XXX</p><p> #defineXXX</p><p><b> ……………..</b></p><p><b> #en
75、dif</b></p><p> 3.代碼封裝,將需要模塊化的代碼封裝入函數(shù)或者宏定義,函數(shù)先在頭文件里聲明,函數(shù)體放在.c文件中;需要被外部調(diào)用的宏定義放在.h文件中;僅會被本.c文件調(diào)用的宏定義放在.c文件中。盡量少用或者不用全局變量,必須要用全局變量的聲明放在.C文件中;當(dāng)需要調(diào)用外部全局變量時,需要在.h中用extern重新聲明。</p><p> 4.使用源文件,
76、將.c文件添加到工程中,在其他.c文件中吧.h文件包含進去。所包含的頭文件中的函數(shù),宏定義,全局變量可以在.c文件中有調(diào)用。 </p><p> 下面我用電子琴中程序簡單介紹一下:</p><p> 首先將程序大致分為四個模塊如延時(delay.c),主程序(main.c),流水燈(led.c)和放歌子程序(song.c)。在KEIL軟件中創(chuàng)建上面四個源文件并添加到工程中,然后再創(chuàng)
77、建各個模塊的.h頭文件如(delay.h),(led.h),(song.h)等,然后在每個帶.c的文件中輸入每個模塊的程序,在帶.h文件中輸入(#ifndef #define #endif)結(jié)構(gòu)語句并包含用到的源文件名如延時語句可表示為</p><p> #ifndef __DELAY_H__</p><p> #define __DELAY_H__</p>&l
78、t;p> void DelayUs2x(unsigned char t);</p><p> void delay_ms(unsigned char t);</p><p><b> #endif</b></p><p> 最終建立好的模塊化程序結(jié)構(gòu)如圖4.3所示</p><p> 圖4.3 模塊化編程結(jié)
79、果</p><p><b> 5 系統(tǒng)調(diào)試</b></p><p> 此次調(diào)試用到的軟件有Keil C51和STC-ISP。Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學(xué)易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。</p>
80、<p> Keil C51軟件提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。</p><p> 圖5.1 KEIL軟件界面</p><p> STC-ISP 是一款單片
81、機下載編程燒錄軟件,是針對STC系列單片機而設(shè)計的,可下載STC89系列、12C2052 系列和12C5410等系列的STC單片機,使用簡便,現(xiàn)已被廣泛使用。 </p><p> 1、打開STC-ISP,如下圖界面,在MCU Type欄目下選中單片機,如STC89C52RC?!?</p><p> 2、根據(jù)您的9針數(shù)據(jù)線連接情況選中COM端口,波特率一般保持默認,如果遇到下載問題,
82、可以適當(dāng)下調(diào)一些,按圖示選中各項:</p><p> 3、先確認硬件連接正確,按如圖點擊“打開文件”并在對話框內(nèi)找到您要下載的HEX文件:</p><p> 4、按下圖選中兩個條件項,這樣可以使您在每次編譯KEIL時HEX代碼能自動加載到STC-ISP,點擊“Download/下載”:</p><p> 5、手動按下電源開關(guān)便即可把可執(zhí)行文件HEX寫入到單片機
83、內(nèi),如圖5.2是正在寫入程序截圖:</p><p> 圖5.2 STC-ISP下載界面</p><p><b> 6 總結(jié)</b></p><p> 經(jīng)過三個星期的單片機課程實習(xí),我們經(jīng)歷了硬件的整個制作流程以及后面的程序編寫與調(diào)試,我們先是利用Protel DXP繪制出電子琴原理圖,然后利用軟件功能生成PCB,根據(jù)PCB打印出電路圖并
84、轉(zhuǎn)印到銅板上,將轉(zhuǎn)印的銅板進行腐蝕得到實際電路板,再對電路板打孔,將元器件安裝到電路板上然后進行焊接,焊接完成經(jīng)過調(diào)試確定電路板制作是否成功。電路板制作完成就是程序的編寫和調(diào)試,在這過程中加深了對單片機系列知識及其系統(tǒng)的認識,同時通過查資料找音樂也對音樂的發(fā)聲原理有了基本的了解能根據(jù)樂譜寫出相應(yīng)的頻率初值表。通過這次課程設(shè)計讓我重新復(fù)習(xí)了以前學(xué)過的知識包括數(shù)字電子,模擬電子,電路,單片機以及C語言等課程,對所學(xué)知識有了系統(tǒng)的掌握,我將繼
85、續(xù)秉著學(xué)習(xí)的態(tài)度繼續(xù)努力。</p><p><b> 參考文獻</b></p><p> MCS-51系列單片機原理及應(yīng)用-劉淑榮-中國電力出版社-2011.1</p><p> 新概念51單片機C語言教程-郭天祥-電子工業(yè)出版社-2009.1</p><p> 模擬電子技術(shù)基礎(chǔ)第四版-童詩白-高等教育出版社-2
86、011.5</p><p> 數(shù)字電子技術(shù)基礎(chǔ)第四版-閻石-高等教育出版社-2011.7</p><p> 微型計算機控制技術(shù)-潘新民-高等教育出版社-2012.2</p><p> C語言程序設(shè)計-楊忠寶-北京大學(xué)出版社-2010.2</p><p> Altium Deigner教程-谷樹忠,劉文洲-電子工業(yè)出版社-2010.1&
87、lt;/p><p> 電子電路設(shè)計與實踐-周文良著-國防工業(yè)出版社-2011.1</p><p> 單片機原理及應(yīng)用-張虹-中國電力出版社-2009</p><p><b> 附錄</b></p><p><b> 附錄一</b></p><p><b> 電
88、子琴程序:</b></p><p> /*------------------------------------</p><p><b> 名稱:電子琴</b></p><p><b> 編寫:趙偉</b></p><p><b> 日期:2013.7</b&g
89、t;</p><p><b> 內(nèi)容:</b></p><p> -----------------------------------*/</p><p> #include<reg52.h>//52單片機頭文件</p><p> #define uchar unsigned char</p&
90、gt;<p> #define uint unsigned int</p><p> sbit SPK=P3^3;//定義輸出端口</p><p> uint num,count;</p><p> /*--------------低中高音調(diào)頻率初值------------*/</p><p> int code la
91、b[]={</p><p> 61719,62435,62506,62679,62985,63263,63512,</p><p> 63628,63835,64021,64103,64260,64400,64524,</p><p> 64580,64684,64777,64810,64898,64968,65080,</p><p>
92、; 65058,65110,65157,65178,65217,65252,65283</p><p><b> };</b></p><p> /*----------------音樂碼表--------------*/</p><p> uint code Song[]={0x12,125,0x0e,125,</p>
93、<p> 0x13,125,0x0e,125,0x12,125,</p><p> 0x10,125,0x12,125,0x0f,125,0x10,125,</p><p> 0x12,125,0xff,125,</p><p> 0x10,62,0x12,62,0x13,62,0x0e,62,</p><p> 0x12
94、,62,0x13,62,0x12,62,0x10,62,</p><p> 0x12,125,0x0e,250,0x10,125,</p><p> 0x0f,250,0xff,250,</p><p> 0x10,125,0x0f,125,0x0e,125,0x0f,125,</p><p><b> 0x10,125,&
95、lt;/b></p><p> 0x0c,125,0x12,125,0x10,125,0x12,125,</p><p> 0x13,50,0xff,125,</p><p> 0x12,125,0x0e,125,0x0c,250,0x12,125,</p><p> 0x10,125,0x12,125,0x0f,250,<
96、;/p><p> 0x12,125,0x0f,125,0x10,125,0x0f,125,</p><p> 0x0e,250,0x00,0x00</p><p><b> };</b></p><p> uint code table[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0x
97、fe};//不同音調(diào)對應(yīng)的小燈代碼</p><p> /*-----------------流水燈代碼-------------------------*/</p><p> uchar code seg[]={0x7f,0xbf,0xdf,0xef,</p><p> 0xf7,0xfb,0xfd,0xfe,</p><p> 0x
98、ff,0xff,0x00,0x00,</p><p> 0x55,0x55,0xaa,0xaa</p><p><b> };</b></p><p> uchar m,i,j;</p><p> void led_delay(uchar t)</p><p><b> {&l
99、t;/b></p><p> for(i=0;i<t;i++)</p><p><b> {</b></p><p> if(P2!=0xff)</p><p><b> break;</b></p><p> for(j=0;j<t;j++)&l
100、t;/p><p><b> {</b></p><p> if(P2!=0xff)</p><p><b> break; </b></p><p><b> }</b></p><p><b> }</b></p&g
101、t;<p><b> }</b></p><p> void display()</p><p> { P1=0xFE; //第1個LED亮</p><p> for(m=0;m<8;m++)</p><p><b> {</b&g
102、t;</p><p> led_delay(100);</p><p><b> P1 <<=1;</b></p><p><b> }</b></p><p> P1=0x7F; //第8個LED亮</p><p>
103、 for(m=0;m<8;m++)</p><p><b> {</b></p><p> led_delay(100);</p><p><b> P1 >>=1;</b></p><p><b> }</b></p><p>
104、; P1=0xFE; //第1個LED亮</p><p> for(m=0;m<8;m++)</p><p><b> {</b></p><p> led_delay(100);</p><p><b> P1 <<=1;</b><
105、;/p><p> P1 |=0x01;</p><p><b> }</b></p><p> P1=0x7F; //第8個LED亮</p><p> for(m=0;m<8;m++)</p><p><b> {</b><
106、/p><p> led_delay(100);</p><p><b> P1 >>=1;</b></p><p> P1 |=0x80;</p><p><b> }</b></p><p> //下面通過查表方法獲得花樣參數(shù)</p><
107、;p> for(m=0;m<16;m++)//查表顯示各種花樣 </p><p><b> {</b></p><p> led_delay(100);</p><p> P1=seg[m];</p><p><b> }</b></p><p><
108、;b> }</b></p><p> void init()//計數(shù)器終端初始化函數(shù)</p><p><b> {</b></p><p><b> num=0;</b></p><p> TMOD=0x11;//T0,T1工作方式1定時模式</p>&
109、lt;p><b> TH0=0xff;</b></p><p><b> TL0=0xff;</b></p><p> TH1=0xD8; //裝初值</p><p> TL1=0xEF;</p><p> EA=1; //開總中斷</p><p&g
110、t; ET0=1; //允許T0中斷</p><p> ET1=1; //允許T1中斷</p><p><b> }</b></p><p> void DelayUs2x(uchar t)</p><p><b> { </b></p><p> w
111、hile(--t);</p><p><b> }</b></p><p> /*------------------------------------------------</p><p> mS延時函數(shù),含有輸入?yún)?shù) unsigned char t,無返回值</p><p> unsigned char
112、是定義無符號字符變量,其值的范圍是</p><p> 0~255 這里使用晶振12M</p><p> ------------------------------------------------*/</p><p> void delay_ms(uchar t)</p><p><b> {</b><
113、/p><p> while(t--)</p><p><b> {</b></p><p><b> //大致延時1mS</b></p><p> DelayUs2x(245);</p><p> DelayUs2x(245);</p><p>
114、<b> }</b></p><p><b> }</b></p><p> void time0() interrupt 1//定時器0中斷</p><p><b> {</b></p><p> TH0=lab[num]/256;</p><
115、p> TL0=lab[num]%256;</p><p><b> SPK=!SPK;</b></p><p><b> }</b></p><p> void timer1() interrupt 3//定時器1中斷</p><p><b> {</b>&
116、lt;/p><p> TH1=0xD8; //重裝初值</p><p><b> TL1=0xEF;</b></p><p><b> count++;</b></p><p><b> }</b></p><p> void fang_Son
117、g()//放歌子程序</p><p><b> {</b></p><p> uchar Temp;</p><p> uint s,c=0;</p><p> count = 0;</p><p><b> while(1)</b></p>
118、<p><b> {</b></p><p> num = Song[s];</p><p><b> s++;</b></p><p> TH0=lab[num]/256;</p><p> TL0=lab[num]%256;</p><p> if
119、( num == 0xFF ) //休止符</p><p><b> {</b></p><p> Temp = Song[s++];</p><p> TR1 = 0;//關(guān)定時器T1</p><p> delay_ms(Temp);</p><p><b>
120、 }</b></p><p> else if ( num == 0x00 ) //歌曲結(jié)束符</p><p><b> {</b></p><p><b> return;</b></p><p><b> }</b></p><
121、p><b> else</b></p><p><b> {</b></p><p> Temp = Song[s++];</p><p> P1=table[c];</p><p><b> c++;</b></p><p><
122、;b> if(c==8)</b></p><p><b> c=0;</b></p><p> TR1 = 1;//啟動定時器T1</p><p> delay_ms(Temp);</p><p><b> }</b></p><p><
123、;b> }</b></p><p><b> }</b></p><p> void sound(uchar a)//按鍵發(fā)聲子程序</p><p><b> {</b></p><p><b> switch(a)</b></p&
124、gt;<p><b> {</b></p><p> case 0x7f: num=14;P1=table[0]; break;</p><p> case 0xbf: num=15;P1=table[1]; break;</p><p> case 0xdf: num=16;P1=table[2]; break;<
125、/p><p> case 0xef: num=17;P1=table[3]; break;</p><p> case 0xf7: num=18;P1=table[4]; break;</p><p> case 0xfb: num=19;P1=table[5]; break;</p><p> case 0xfd: num=20;P1=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子琴課程設(shè)計--基于單片機的電子琴設(shè)計
- 電子琴課程設(shè)計-- 基于單片機的電子琴設(shè)計
- 基于單片機的電子琴課程設(shè)計報告
- 單片機課程設(shè)計報告--電子琴
- 基于單片機的電子琴課程設(shè)計報告
- 單片機課程設(shè)計—基于單片機的電子琴
- 基于單片機的電子琴課程設(shè)計
- 單片機課程設(shè)計---基于單片機的電子琴設(shè)計
- 基于單片機的電子琴課程設(shè)計
- 單片機課程設(shè)計---電子琴
- 單片機課程設(shè)計(電子琴)
- 單片機課程設(shè)計-電子琴
- 單片機課程設(shè)計——電子琴
- 單片機原理課程設(shè)計報告--電子琴
- 基于單片機的電子琴設(shè)計課程設(shè)計
- 單片機課程設(shè)計---電子琴設(shè)計
- 單片機簡易電子琴單片機課程設(shè)計
- 單片機電子琴課程設(shè)計--基于單片機的可存儲式電子琴設(shè)計
- 單片機課程設(shè)計---電子琴設(shè)計
- 單片機課程設(shè)計報告---簡單電子琴設(shè)計
評論
0/150
提交評論