版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 單片機(jī)基礎(chǔ)課程設(shè)計</b></p><p> 課程題目 : 基于單片機(jī)的可存儲式電子琴設(shè)計 </p><p> 學(xué) 院 : 華東交通大學(xué)職業(yè)技術(shù)學(xué)院 </p><p> 專業(yè)班級 : 電子信息工程技術(shù)2008-1 </p><p> 姓 名 :
2、 郭金龍 </p><p> 學(xué) 號 : 20085120160108 </p><p> 指導(dǎo)老師 : 盧毓俊 </p><p> 完成時間 : 2010年12月17日 </p><p> 可存儲式電子琴的設(shè)計</p><p>&
3、lt;b> 摘 要</b></p><p> 隨著社會的發(fā)展進(jìn)步,音樂逐漸成為我們生活中很重要的一部分,有人曾說喜歡音樂的人不會向惡。我們都會抽空欣賞世界名曲,作為對精神的洗禮。本論文設(shè)計一個基于單片機(jī)的簡易電子琴。我們對于電子琴如何實(shí)現(xiàn)其功能,如聲音強(qiáng)弱控制、節(jié)拍器、自動放音功能等等也很好奇。</p><p> 單片微型計算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第
4、四代電子計算機(jī),它具有高性能、高速度、體積小、價格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。 微型計算機(jī)的出現(xiàn)和大量使用將人類社會帶入一個新的時代,單片微型計算機(jī)(簡稱單片機(jī))在其中扮演著十分重要的角色。雖然它沒有常見的PC那樣大的體積和重量,不會在辦公桌或控制臺上占據(jù)一個顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中
5、需要計算、控制、測量等智能活動的各個角落。自20世紀(jì)70年代問世以來,單片機(jī)以其體積小、可靠性高、控制功能強(qiáng)、使用方便、性能價格比高、容易產(chǎn)品化等特點(diǎn),在智能儀表、機(jī)電一體化、實(shí)時控制、分布式多機(jī)系統(tǒng)、家用電器等各個領(lǐng)域得到了廣泛應(yīng)用,對各個行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起著重要的推動作用,對人們生活質(zhì)量的提高產(chǎn)生了深刻的影響。作為21世紀(jì)的工科大學(xué)生,學(xué)好單片機(jī),一方面可以加深對計算機(jī)原理和結(jié)構(gòu)的認(rèn)識,另一方面也為自身在專業(yè)上的深入發(fā)
6、展構(gòu)筑了一個很好的平臺,在實(shí)踐過程中熟悉和熟練單片機(jī)的使用和開發(fā)。</p><p> 電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用STC89C52單片機(jī)為核心控制元件,設(shè)計一個電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模
7、塊上設(shè)有16個按鍵和揚(yáng)聲器。本系統(tǒng)運(yùn)行穩(wěn)定,其優(yōu)點(diǎn)是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比較高等,具有一定的實(shí)用和參考價值。</p><p> 通過基于單片機(jī)的嵌入式電子琴的設(shè)計課題熟悉和理解單片機(jī)應(yīng)用和開發(fā)過程,培養(yǎng)我們理論聯(lián)系實(shí)際,實(shí)踐出真知的科學(xué)嚴(yán)謹(jǐn)求學(xué)的態(tài)度,提高實(shí)踐動手操作技能。</p><p> 關(guān)鍵詞: STC89C52單片機(jī) 音色 節(jié)拍器
8、 自動播放</p><p><b> 目 錄</b></p><p> 摘 要第一章……………………………………………………………………..2</p><p> 摘 要2…………………………………………………………………………...4</p><p> 第二章 方案論證………………………………………
9、………………………5</p><p> 2.1 控制模塊選擇方案…………………………………………………………...5</p><p> 2.2 按鍵選擇方案……………………………………………………………6</p><p> 第3章 系統(tǒng)硬件設(shè)計及說明……………………………………………………6</p><p> 3.1系統(tǒng)組成及總體框
10、圖…………………………………………………………6</p><p> 3.2元件簡介…………………………………………………................................7</p><p> 3.3.1 STC89C52簡介………………………………………………………………7</p><p> 3.3.2 主要功能特性………………………………
11、………………………………8</p><p> 3.3.3 LM386內(nèi)部電路………………………………………................................8 </p><p> 3.3顯示電路……………………………………………………………………….9</p><p> 3.4 設(shè)計實(shí)現(xiàn)過程…………………………………………………………………9&
12、lt;/p><p> 3.4.1 4X4行列式鍵盤識別及顯示………………………………………………..9</p><p> 3.4.2系統(tǒng)板上硬件連線設(shè)計……………………………………………………10</p><p> 3.5 程序設(shè)計內(nèi)容…………………………………………………………………10第4章 系統(tǒng)軟件設(shè)計………………………………………………………………11&
13、lt;/p><p> 4.1 音樂產(chǎn)生的方法…………………………………………………………………11</p><p> 4.2程序框圖…………………………………………………………………………13</p><p> 4.3原理圖…………………………………………………………………………….15</p><p> 4.4系統(tǒng)板硬件連線 ……………
14、…………………………………………………...17</p><p> 第5章 系統(tǒng)調(diào)試……………………………………………………………………17</p><p> 5.1軟件仿真調(diào)試…………………………………………………………………….17</p><p> 5.2 軟件調(diào)試…………………………………………………………………………17</p><
15、;p> 第6章 調(diào)試結(jié)論……………………………………………………………………17</p><p> 第7章 設(shè)計心得體會………………………………………………………………18</p><p> 參考文獻(xiàn)……………………………………………………………………………...19</p><p> 附錄…………………………………………………………………………………
16、...20</p><p> 附錄2:主要電路原理圖……………………………………………………………20 </p><p> 附錄3:程序…………………………………………………………………………20</p><p><b> 摘 要</b></p><p> 1.1 系統(tǒng)開發(fā)背景</p><p
17、> 電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用STC89C52單片機(jī)為核心控制元件,設(shè)計一個電子琴。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個按鍵和揚(yáng)聲器。 本文主要對使用單片機(jī)設(shè)計簡易電子琴進(jìn)行了分析,并介紹了基于單片
18、機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。設(shè)計了用AT89s52單片機(jī)設(shè)計一個簡易的電子琴,有16個按鍵,可以做一些基本的彈奏。與傳統(tǒng)的模擬信號不同,本設(shè)計主要介紹的是數(shù)字信號連接功率放大電路,驅(qū)動喇叭,產(chǎn)生樂音。其中包括了音調(diào)的產(chǎn)生,節(jié)拍的產(chǎn)生,以及如何合理應(yīng)用單片機(jī)的定時,中斷系統(tǒng)生成相應(yīng)的音調(diào)和節(jié)拍,設(shè)計出
19、音樂演奏系統(tǒng)。</p><p> 一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。</p><p><b> 1.2系統(tǒng)開發(fā)意義</b>
20、</p><p> 該設(shè)計具有以下優(yōu)點(diǎn):</p><p> (1)可以隨意彈奏想要表達(dá)的音樂;</p><p> (2)可以自動播放系統(tǒng)自帶的音樂文件;</p><p> (3)制作簡單,成本低。</p><p><b> 1.3設(shè)計目標(biāo)</b></p><p>
21、 由于本設(shè)計主要用于人們娛樂方面,因此在設(shè)計上盡量使其安全以及簡單易操作。其次,在這次設(shè)計可行性上進(jìn)行分析如下:</p><p><b> 1、經(jīng)濟(jì)可行性:</b></p><p> 所謂經(jīng)濟(jì)可行性,即在這次設(shè)計上需要投入資金的多少,由于單片機(jī)課程設(shè)計是沒有項(xiàng)目資金,沒有開發(fā)經(jīng)費(fèi),因此在經(jīng)濟(jì)上必須能夠承受,比較理想化的項(xiàng)目對于我們單片機(jī)課程設(shè)計來說是不可行的。通
22、過分析后,無論是在器件價格或是常見度上均是可行的。</p><p><b> 2、技術(shù)可行性:</b></p><p> 技術(shù)可行性主要是分析技術(shù)條件上是否能夠順利開展并完成開發(fā)工作,硬件、軟件能否滿足設(shè)計者的需要等。通過分析各種軟件環(huán)境,硬件仿真環(huán)境等均已經(jīng)具備。</p><p> 綜上所述,本系統(tǒng)設(shè)計目標(biāo)已經(jīng)明確,在經(jīng)濟(jì)與技術(shù)上均可行
23、,因此本系統(tǒng)的開發(fā)是完全可行的。</p><p> 關(guān)鍵詞:STC89C52單片機(jī) 電子琴 音樂演奏 音階 </p><p><b> 第2章 方案論證</b></p><p> 2.1 控制模塊選擇方案</p><p> 方案一:用可控硅制作電子琴。將220V交流電經(jīng)變壓器
24、降壓,再經(jīng)過整流、濾波,獲得+13.5V直流電壓。將單向可控硅SCR和電阻、電容組成馳張振蕩器電路。但該設(shè)計方案制作成本高且復(fù)雜。</p><p> 方案二: 采用AT89C51單片機(jī)進(jìn)行控制,由于AT89C51不具備ISP功能,</p><p> 因此Atmel公司已經(jīng)停產(chǎn)在市面上已經(jīng)不常見,況且其ROM只有4K在系統(tǒng)將來升級方面沒有潛力。</p><p>
25、 方案三:采用AT89S51單片機(jī)進(jìn)行控制,由于其性價比高,完全滿足了本作品智能化的要求,它的內(nèi)部程序存儲空間達(dá)到8K,使軟件設(shè)計有足夠的內(nèi)部使用空間并且方便日后系統(tǒng)升級,使用方便,抗干擾性能提高。</p><p> 鑒于上述對比與分析,本設(shè)計采用方案三 </p><p> 2.2 按鍵選擇方案</p><p> 傳統(tǒng)電子琴可以用鍵盤上的“1”到“A”鍵演奏從
26、低SO到高DO等11音。該設(shè)計有16個按鈕矩陣,設(shè)計成16個音,可以實(shí)現(xiàn)音階在低音4---高音5之間。比傳統(tǒng)音階范圍大,彈奏效果好。</p><p> 第3章 系統(tǒng)硬件設(shè)計及說明</p><p> 3.1系統(tǒng)組成及總體框圖</p><p> 硬件設(shè)計的任務(wù)是根據(jù)總體設(shè)計要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計出系統(tǒng)的原理框圖、電路原理圖
27、。</p><p> 由于本例實(shí)現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。用單片機(jī)產(chǎn)生的音頻脈沖直接驅(qū)動揚(yáng)聲器并不能產(chǎn)生所要實(shí)現(xiàn)的音樂,因?yàn)樗鼪]有足夠的驅(qū)動能力,這就需要音頻功率放大電路。</p><p> 本例使用國家半導(dǎo)體公司的低壓音頻功率放大器LM386來實(shí)現(xiàn)音頻功放電路。</p><p><b> 程序框
28、圖如圖所示:</b></p><p> 3.2元件簡介3.2.1 STC89C52簡介</p><p> 功能特性:STC89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非 易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于 常規(guī)編程器
29、。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位 定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式???/p>
30、閑模式下,CPU 停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash AT89S52。</p><p><b> 管腳圖</b></p><p> 3.2.2 主要功能特性</p><p&g
31、t; 與MCS-51單片機(jī)產(chǎn)品兼容 8K字節(jié)在系統(tǒng)可編程Flash存儲器</p><p> 1000次擦寫周期 全靜態(tài)操作:0Hz~33Hz </p><p> 三級加密程序存儲器 32個可編程I/O口線</p><p> 三個16位定時器/計數(shù)器八個中斷源 全雙工UART串行通道、低功耗空閑和掉電
32、模式</p><p> 掉電后中斷可喚醒 看門狗定時器 雙數(shù)據(jù)指針 掉電標(biāo)識符</p><p> 3.3.3 LM386內(nèi)部電路</p><p> LM386是美國國家半導(dǎo)體公司生產(chǎn)的音頻功率放大器,主要應(yīng)用于低電壓消費(fèi)類產(chǎn)品。</p><p> LM386特性:靜態(tài)功耗低,約為4mA,可用于電池供電;工作電壓范圍寬
33、,4V-12V或5V-18V;外圍元件少;電壓增益可調(diào),20-200;低失真度。</p><p> LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調(diào)整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點(diǎn),廣泛應(yīng)用于錄音機(jī)和收音機(jī)之中。</p><p> LM386內(nèi)部電路原理圖</p><p> LM386內(nèi)部電路原理圖如圖1-3所示。與通用型集成運(yùn)放相
34、類似,它是一個三級放大電路. 第一級為差分放大電路,T1和T3、T2和T4分別構(gòu)成復(fù)合管,作為差分放大電路的放大管;T5和T6組成鏡像電流源作為T1和T2的有源負(fù)載;T3和T4信號從管的基極輸入,從T2管的集電極輸出,為雙端輸入單端輸出差分電路。使用鏡像電流源作為差分放大電路有源負(fù)載,可使單端輸出電路的增益近似等于雙端輸出電容的增益 第二級為共射放大電路,T7為放大管,恒流源作有源負(fù)載,以增大放大倍數(shù)。 第三級中的T
35、8和T9管復(fù)合成PNP型管,與NPN型管T10構(gòu)成準(zhǔn)互補(bǔ)輸出級。二極管D1和D2為輸出級提供合適的偏置電壓,可以消除交越失真。 引腳2為反相輸入端,引腳3為同相輸入端。電路由單電源供電,故為OTL電路。輸出端(引腳5)應(yīng)外接輸出電容后再接負(fù)載。 電阻R7從輸出端連接到T2的發(fā)射極,形成反饋通路,并與R5和R6構(gòu)成反饋網(wǎng)絡(luò),從而引入了深度電壓串聯(lián)負(fù)反饋,使整個電路具有穩(wěn)定的電壓增益。</p><p>&
36、lt;b> 3.3顯示電路</b></p><p> 本次單片機(jī)課程設(shè)計的顯示電路采用LED數(shù)碼管顯示,由于 LED是屬于電流控制器件,使用時必須加限流電阻。通過單片機(jī)查表得出數(shù)碼管顯示編碼,傳送給數(shù)碼管顯示,以此來實(shí)現(xiàn)按鍵與顯示程序的一致性。</p><p> 3.4 設(shè)計實(shí)現(xiàn)過程</p><p> 3.4.1 4X4行列式鍵盤識別及顯示
37、</p><p> 組成鍵盤的按鍵有機(jī)械式、電容式、導(dǎo)電橡膠式、薄膜式多種,但不管什么形式,其作用都是一個使電路接通與斷開的開關(guān)。目前微機(jī)系統(tǒng)中使用的鍵盤按其功能不同,通??煞譃榫幋a鍵盤和非編碼鍵盤兩種基本類型。 編碼鍵盤:鍵盤本身帶有實(shí)現(xiàn)接口主要功能所需的硬件電路。不僅能自動檢測被按下的鍵,并完成去抖動、防串鍵等功能,而且能提供與被按鍵功能對應(yīng)的鍵碼(如ASCII碼)送往CPU。所以,編碼鍵盤接口簡單
38、、使用方便。但由于硬件電路較復(fù)雜,因而價格較貴。 非編碼鍵盤:鍵盤只簡單地提供按鍵開關(guān)的行列矩陣。有關(guān)按鍵的識別、鍵碼的確定與輸入、去抖動等功能均由軟件完成。目前微機(jī)系統(tǒng)中,一般為了降低成本大多數(shù)采用非編碼鍵盤。 鍵盤接口必須具有去抖動、防串鍵、按鍵識別和鍵碼產(chǎn)生4個基本功能。 (1)去抖動:每個按鍵在按下或松開時,都會產(chǎn)生短時間的抖動。抖動的持續(xù)時間與鍵的質(zhì)量相關(guān),一般為5—20mm。所謂抖動是指在識別被按鍵是
39、必須避開抖動狀態(tài),只有處在穩(wěn)定接通或穩(wěn)定斷開狀態(tài)才能保證識別正確無誤。去抖問</p><p> 題可通過軟件延時或硬件電路解決。 (2)防串鍵:防串鍵是為了解決多個鍵同時按下或者前一按鍵沒有釋放又有新的按鍵按下時產(chǎn)生的問題。常用的方法有雙鍵鎖定和N鍵輪回兩種方法。雙鍵鎖定,是當(dāng)有兩個或兩個以上的按鍵按下時,只把最后釋放的鍵當(dāng)作有效鍵并產(chǎn)生相應(yīng)的鍵碼。N鍵輪回,是當(dāng)檢測到有多個鍵被按下時,能根據(jù)發(fā)現(xiàn)它們的
40、順序依次產(chǎn)生相應(yīng)鍵的鍵碼。 (3)被按鍵識別:如何識別被按鍵是接口解決的主要問題,一般可通過軟硬結(jié)合的方法完成。常用的方法有行掃描法和線反轉(zhuǎn)法兩種。行掃描法的基本思想是,由程序?qū)︽I盤逐行掃描,通過檢測到的列輸出狀態(tài)來確定閉合鍵,為此,需要設(shè)置入口、輸出口一個,該方法在微機(jī)系統(tǒng)中被廣泛使用。線反轉(zhuǎn)法的基本思想是通過行列顛倒兩次掃描來識別閉合鍵,為此需要提供兩個可編程的雙向輸入/輸出端口。 (4)鍵碼產(chǎn)生:為了從鍵的行列坐標(biāo)
41、編碼得到反映鍵功能的鍵碼,一般在內(nèi)存區(qū)中建立一個鍵盤編碼表,通過查表獲得被按鍵的鍵碼。</p><p> 用STC89C52的并行口P0接4×4矩陣鍵盤,以P0.0-P0.3作輸入線,以P0.4-P0.7作輸出線。</p><p><b> 鍵盤識別模塊</b></p><p> 3.4.2系統(tǒng)板上硬件連線設(shè)計</p>
42、;<p> 鍵盤模塊硬件連線如圖2-1所示: 把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0-P0.7端口用8芯排線連接到“4X4行列式鍵盤”區(qū)域中對應(yīng)的端口上;</p><p> 3.5 程序設(shè)計內(nèi)容(1)4×4矩陣鍵盤識別處理,每個按鍵有它的行值和列值,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU通信。每 行列式鍵盤電路</p>&l
43、t;p> 個按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實(shí)現(xiàn)的。</p><p> (2)鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的
44、功能。電路圖如下</p><p> 第4章 系統(tǒng)軟件設(shè)計</p><p> 4.1 音樂產(chǎn)生的方法</p><p><b> 4.1.1 原理</b></p><p> 一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機(jī)來產(chǎn)生
45、不同的頻率非常方便,我們可以利用單片機(jī)的定時/計數(shù)器T0來產(chǎn)生這</p><p> 樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系正確即可。</p><p> 若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,</p><p> 即為半周期的時間。利用定時器計時半周期時間,每當(dāng)計時終止后就將P1.0反相,然后重復(fù)計時再反相。就
46、可在P1.0引腳上得到此頻率的脈沖。</p><p> 利用STC89C52的內(nèi)部定時器使其工作計數(shù)器模式(MODE1)下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計數(shù)器計時956μs/1μs=956,每計數(shù)956次時將I/O反相,就可得到中音DO(523Hz)。</p><p> 計數(shù)脈沖值與頻率
47、的關(guān)系式(如式2-1所示)是:</p><p><b> N=fi÷2÷fr</b></p><p><b> 2-1</b></p><p> 式中,N是計數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時,其頻率為1MHz);fr是想要產(chǎn)生的頻率。</p><p> 其計
48、數(shù)初值T的求法如下:</p><p> T=65536-N=65536-fi÷2÷fr</p><p> 例如:設(shè)K=65536,fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的計數(shù)值。</p><p> T=65536-N=65536-fi÷2÷fr=65536-100000
49、0÷2÷fr=65536-500000/fr</p><p> 低音DO的T=65536-500000/262=63627</p><p> 中音DO的T=65536-500000/523=64580</p><p> 高音DO的T=65536-500000/1046=65059</p><p> 單片機(jī)12MHZ
50、晶振,高中低音符與計數(shù)T0相關(guān)的計數(shù)值如表2-2所示</p><p> 表2-2 音符頻率表</p><p> Table 2-2 notes the frequency table</p><p> 我們要為這個音符建立一個表格,單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù) 低音0-19之間,中音在20-39之間,高音在40-5
51、9之間 TABLE1: DW 64021,64103,64260,64400 </p><p> DW 64524,64580,64684,64777 </p><p> DW 64820,64898,64968,65030 </p><p> DW 65058,65110,65157,65178</p><p> 音樂的
52、音拍,一個節(jié)拍為單位(C調(diào))(如表2-3所示)</p><p><b> 曲調(diào)值表</b></p><p> 2-3 Tune the value of the table</p><p> 對于不同的曲調(diào)我們也可以用單片機(jī)的另外一個定時/計數(shù)器來完成。</p><p> 琴鍵處理程序,根據(jù)檢測到得按鍵值,查詢音
53、律表,給計時器賦值,發(fā)出相應(yīng)頻率的聲音。對音調(diào)的控制:根據(jù)不同的按鍵,對定時器T1送入不同的初值,調(diào)節(jié)T1的溢出時間,這樣就可以輸出不同音調(diào)頻率的方波。不同音調(diào)下各個音階的定時器。</p><p> 在這個程序中用到了兩個定時/計數(shù)器來完成的。其中T0用來產(chǎn)生音符頻率,T1用來產(chǎn)生音拍。</p><p><b> 4.2程序框圖</b></p>&l
54、t;p> 4.2.1程序框圖如圖所示:</p><p> 4.2.2鍵盤識別程序框圖如圖所示: </p><p> 4.2.3音樂發(fā)聲程序框圖如圖所示:</p><p><b> 4.3原理圖</b></p&
55、gt;<p><b> 電子琴電路圖</b></p><p> 4.4系統(tǒng)板硬件連線 </p><p> 系統(tǒng)板硬件連線如圖1-1所示,發(fā)生模塊,鍵盤模塊,及LED顯示模塊連接如下1.把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0端口用導(dǎo)線連接到“音頻放大模塊”區(qū)域中的SPK IN端口上;2.把“單片機(jī)系統(tǒng)”區(qū)域中的P3.0-P3.7端口用8芯排線連接到“4
56、X4行列式鍵盤”區(qū)域中的C1-C4 R1-R4端口上;3.把“單片機(jī)系統(tǒng)”區(qū)域中的P0.0/AD0-P0.7/AD7端口用8芯排線連接到“四路靜態(tài)數(shù)碼顯示模塊”區(qū)域中的任一個a-h(huán)端口上;要求:P0.0/AD0對應(yīng)著a,P0.1/AD1對應(yīng)著b,……,P0.7/AD7對應(yīng)著h。</p><p><b> 第5章 系統(tǒng)調(diào)試</b></p><p> 電路調(diào)試是整個
57、系統(tǒng)功能否實(shí)現(xiàn)的關(guān)鍵步驟,我們將整個調(diào)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。</p><p><b> 5.1軟件仿真調(diào)試</b></p><p> 軟件仿真調(diào)試主要是針對單片機(jī)部分進(jìn)行調(diào)試。</p><p> 在軟件運(yùn)行前,先確保電路中連線正確,這一工作是整個調(diào)試工作的第一步,也是非常重要的一個步驟。在這部分調(diào)試中主要通過目
58、測,用來完成檢測電路中是否存在斷路或者短路情況等。</p><p> 在確保軟件仿真電路正常,無異常情況(斷路或短路)方可進(jìn)行軟件運(yùn)行,在本次設(shè)計中,軟件運(yùn)行主要是測試單片機(jī)鍵盤控制部分、數(shù)碼管點(diǎn)亮部分、和音頻功放電路調(diào)試。</p><p> 1、數(shù)碼管LED電路調(diào)試:軟件運(yùn)行,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字;</p><p> 2、單片機(jī)鍵盤控制部分調(diào)試
59、:軟件運(yùn)行,隨機(jī)按動鍵盤可以發(fā)現(xiàn)各個按鍵對應(yīng)的音正確。</p><p><b> 5.2 軟件調(diào)試</b></p><p> 調(diào)試主要方法和技巧:</p><p> 通常一個調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個程序是一個主程序調(diào)用各個子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個程序都能平穩(wěn)運(yùn)行,各個模塊的子程序的正
60、確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個子程序模塊進(jìn)行分別調(diào)試。</p><p><b> 第6章 調(diào)試結(jié)論</b></p><p> 通過各方面努力,本次單片機(jī)課程設(shè)計任務(wù)完成,系統(tǒng)大部分功能已實(shí)現(xiàn)。可以隨意演奏一首喜歡的曲子,并可以顯示在數(shù)碼管上,可以通過功能切換進(jìn)行自動播放歌曲,基本達(dá)到預(yù)定的效果。單片機(jī)課程設(shè)計是??茖W(xué)習(xí)階段一次非常難得的理
61、論與實(shí)踐相結(jié)合的機(jī)會,通過這次系統(tǒng)的項(xiàng)目設(shè)計提高了我運(yùn)用所學(xué)的專業(yè)基礎(chǔ)知識來解決面臨實(shí)際問題的能力,同時也提高了我查閱各種文獻(xiàn)資料、設(shè)計手冊、設(shè)計規(guī)范以及軟件編程排版的水平。対單片機(jī)課程設(shè)計的整個流程和設(shè)計要求都有了深刻的認(rèn)識,對以后的學(xué)習(xí)和設(shè)計都有很大的幫助。</p><p> 第7章 設(shè)計心得體會</p><p> 通過這次單片機(jī)課程設(shè)計,我弄懂了不少課本上的知識,還擴(kuò)展了一些課本
62、沒有的知識,通過自己的思考和努力,很好的完成了這次課程設(shè)計。</p><p> 首先在課程設(shè)計剛開始的調(diào)研階段,我學(xué)會了怎么通過各種方式查詢相關(guān)的資料。通過對這些資料的學(xué)習(xí),我大致了解了單片機(jī)的發(fā)展現(xiàn)狀以及未來的發(fā)展趨勢,認(rèn)識到目前單片機(jī)方面的各種各樣的發(fā)展,和它們之間的競爭。了解了單片機(jī)方面的先進(jìn)技術(shù),這些都為我的未來的學(xué)習(xí)指明了方向。</p><p> 我的課程設(shè)計主要涉及硬件和軟
63、件兩方面的內(nèi)容,通過這些我的硬件和軟件開發(fā)能力都獲得了提高。首先硬件方面,基本了解了電子產(chǎn)品的開發(fā)流程和所要做的工作。雖然本次課程設(shè)計的硬件焊接工序沒有實(shí)際操作,但是我們對每一個元件的分析和選取都是很到位的,對電路的分析在指導(dǎo)老師鄧芳明老師的幫助下更是步步深入。對電路的分析和理解有了更實(shí)際的感受。</p><p> 在軟件方面,程序的編寫是我們的弱項(xiàng),所以我們是先從網(wǎng)上找來類似的程序模板,然后借助各方面的資料對
64、程序的每一步進(jìn)行分析,按我們的需求進(jìn)行修改,最終才得到我們現(xiàn)在的程序方案。比如,在原有的基礎(chǔ)上增加了一些歌曲的程序,更改了中斷程序等等。</p><p> 微型計算機(jī)的出現(xiàn)和大量使用將人類社會帶入一個新的時代,單片微型計算機(jī)(簡稱單片機(jī))在其中扮演著十分重要的角色。雖然它沒有常見的PC那樣大的體積和重量,不會在辦公桌或控制臺上占據(jù)一個顯要的位置,但它就像小小的螺絲釘一樣,鑲嵌在人們工作、生活中需要計算、控制、測
65、量等智能活動的各個角落。自20世紀(jì)70年代問世以來,單片機(jī)以其體積小、可靠性高、控制功能強(qiáng)、使用方便、性能價格比高、容易產(chǎn)品化等特點(diǎn),在智能儀表、機(jī)電一體化、實(shí)時控制、分布式多機(jī)系統(tǒng)、家用電器等各個領(lǐng)域得到了廣泛應(yīng)用,對各個行業(yè)的技術(shù)改造和產(chǎn)品的更新?lián)Q代起著重要的推動作用,對人們生活質(zhì)量的提高產(chǎn)生了深刻的影響。作為21世紀(jì)的工科大學(xué)生,學(xué)好單片機(jī),一方面可以加深對計算機(jī)原理和結(jié)構(gòu)的認(rèn)識,另一方面也為自身在專業(yè)上的深入發(fā)展構(gòu)筑了一個很好的
66、平臺其重要性怎么強(qiáng)調(diào)都不為過。</p><p> 將程序燒入芯片,調(diào)試成功后,可任意彈奏自己想要的旋律。還可以自動播放系統(tǒng)自帶的音樂歌曲。通過制作電子琴,將幾個模塊很好的融合起來,對使用單片機(jī)設(shè)計簡易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴系統(tǒng)硬件和軟件系統(tǒng)的組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。說明一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們
67、就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,于是我們可以利用單片機(jī)的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可,然后我們利用功放電路來將音樂聲音放大,同時通過顯示模塊來確知自己所彈的音符。通過功能切換來播放你想要的系統(tǒng)歌曲音樂。</p><p><b> 不足之處有:</b></p><p> 1.對于
68、單片機(jī)課程設(shè)計的一些設(shè)計小細(xì)節(jié)和單片機(jī)的實(shí)踐應(yīng)用還需要不斷的通過實(shí)踐和練習(xí)來提高加強(qiáng)。比如對單片機(jī)開發(fā)的最小系統(tǒng)要有跟多的認(rèn)識。·</p><p> 2.可彈奏的音符數(shù)較少,最多只能設(shè)置16個音符,只能在一定范圍內(nèi)滿足用戶需要??赏ㄟ^改進(jìn)鍵盤識別模塊和發(fā)生模塊來增加其復(fù)雜度。 3.音色不可調(diào),只有一種波形的頻率輸出??梢栽谕鈬娐吩O(shè)計濾波電路,接在不同的輸出口,通過軟件實(shí)現(xiàn)不同端口的輸出,從而
69、接入不同的濾波電路,輸出不同的波形,從而獲得不一樣的音色。</p><p> 4.不能以和弦形式演奏,只能單個鍵按下輸出單個的音階。</p><p> 5.還是缺乏足夠的設(shè)計經(jīng)驗(yàn),本次選用的按鍵有些較難按下,有些反應(yīng)不夠靈敏,所以導(dǎo)致演奏時不夠流暢,音色還有些吵雜等等問題。</p><p> 總之,通過本次單片機(jī)課程設(shè)計,我學(xué)到了很多在課堂里沒有學(xué)到和用過的新
70、知識和實(shí)踐技巧,對于單片機(jī)的課程設(shè)計中遇到的難點(diǎn)和問題,自己不會的東西和知識點(diǎn),我會以積極的態(tài)度和求實(shí)認(rèn)真的心態(tài)去思考和分析,對于課程設(shè)計的具體流程和設(shè)計方法,思路的探索和形成都有了自己的一些目標(biāo),對于以后的課程設(shè)計和實(shí)訓(xùn)積累了不少的經(jīng)驗(yàn),感覺自己比以前會更有目的的去做好一件事情,通過此次課程設(shè)計受益匪淺。</p><p><b> 參考文獻(xiàn)</b></p><p>
71、; [1] 李廣弟,朱月秀. 單片機(jī)基礎(chǔ)(第三版). 北京航天大學(xué)出版社 2007年6月.</p><p> [2] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第五版). 高等教育出版社 2005年12月.</p><p> [3] 嚴(yán)天峰. 單片機(jī)應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試. 北京航天大學(xué)出版社 2005年8月.</p><p> [4] 馮博琴. 微型計算機(jī)原
72、理與接口技術(shù)[M].清華大學(xué)出版社,2004</p><p> [5] 陳明熒.單片機(jī)課程設(shè)計實(shí)訓(xùn)教材[M].北京:清華大學(xué)出版社,2003年9月.</p><p> [6] 郭勇. EDA技術(shù)基礎(chǔ)(第二版).機(jī)械工業(yè)出版社 2005年5月.</p><p> [7] 羅杰,謝自美.電子線路設(shè)計實(shí)驗(yàn)測試(第四版).電子工業(yè)出版社 2008年4月.&l
73、t;/p><p> [8] 馮博琴,微型計算機(jī)原理與接口技術(shù)[M].清華大學(xué)出版社,2004</p><p> [9] 張毅剛,MCS-51單片機(jī)應(yīng)用設(shè)計[M].哈爾濱工業(yè)大學(xué)出版社,2004</p><p><b> 附 錄</b></p><p><b> 電路原理圖:</b></
74、p><p><b> 程序:</b></p><p> KEYBUF EQU 30H </p><p> STH0 EQU 31H </p><p> STL0 EQU 32H </p><p> TEMP EQU 33H </p><p> SPKEQU
75、P1.0; 蜂鳴器所在端口</p><p> ORG 0000H </p><p> LJMP START </p><p><b> ORG 0BH </b></p><p> LJMP INT_T0 </p><p> START: MOV TMOD,#01H </p
76、><p><b> SETB ET0 </b></p><p><b> SETB EA </b></p><p><b> WAIT: </b></p><p> MOV P2,#0FFH </p><p> CLR P2.4 ;從第四行開始
77、掃描</p><p><b> MOV A,P2 </b></p><p> ANL A,#0FH ;屏蔽高四位,高四位為行,低四位為列</p><p> XRL A,#0FH </p><p> JZ NOKEY1 ;判斷是否有鍵按下,沒有就跳轉(zhuǎn)</p><p> LCALL
78、DELY10MS </p><p> MOV A,P2 ;消除抖動和干擾</p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p> JZ NOKEY1 </p><p> MOV A,P2 ;確定有鍵按下以后的處理</p><p>
79、; ANL A,#0FH </p><p> CJNE A,#0EH,NK1 ;是否為第四行第一列的鍵被按下</p><p> MOV KEYBUF,#0 ;保存列號</p><p><b> LJMP DK1 </b></p><p> NK1: CJNE A,#0DH,NK2 </p>
80、<p> MOV KEYBUF,#1 </p><p><b> LJMP DK1 </b></p><p> NK2: CJNE A,#0BH,NK3 </p><p> MOV KEYBUF,#2 </p><p><b> LJMP DK1 </b></p>
81、<p> NK3: CJNE A,#07H,NK4 </p><p> MOV KEYBUF,#3 </p><p><b> LJMP DK1 </b></p><p> NK4: NOP </p><p> DK1: ;第四行的處理</p><p> MO
82、V A,KEYBUF </p><p> MOV DPTR,#TABLE </p><p> MOVC A,@A+DPTR </p><p><b> MOV P0,A </b></p><p> MOV A,KEYBUF </p><p> MOV B,#2 ;Table1以字保存
83、,所以散轉(zhuǎn)</p><p><b> MUL AB </b></p><p> MOV TEMP,A </p><p> MOV DPTR,#TABLE1 </p><p> MOVC A,@A+DPTR </p><p> MOV STH0,A ;送入高字節(jié)</p>
84、<p> MOV TH0,A </p><p><b> INC TEMP </b></p><p> MOV A,TEMP </p><p> MOVC A,@A+DPTR </p><p> MOV STL0,A ;送入低字節(jié)</p><p> MOV TL0,A &
85、lt;/p><p><b> SETB TR0 </b></p><p> DK1A: MOV A,P2 ;判斷按鍵是否松開</p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p><b> JNZ DK1A </b>&
86、lt;/p><p><b> CLR TR0 </b></p><p><b> NOKEY1: </b></p><p> MOV P2,#0FFH </p><p><b> CLR P2.5 </b></p><p><b> MO
87、V A,P2 </b></p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p> JZ NOKEY2 </p><p> LCALL DELY10MS </p><p><b> MOV A,P2 </b></p>&
88、lt;p> ANL A,#0FH </p><p> XRL A,#0FH </p><p> JZ NOKEY2 </p><p><b> MOV A,P2 </b></p><p> ANL A,#0FH </p><p> CJNE A,#0EH,NK5 </p&g
89、t;<p> MOV KEYBUF,#4 </p><p><b> LJMP DK2 </b></p><p> NK5: CJNE A,#0DH,NK6 </p><p> MOV KEYBUF,#5 </p><p><b> LJMP DK2 </b></p&
90、gt;<p> NK6: CJNE A,#0BH,NK7 </p><p> MOV KEYBUF,#6 </p><p><b> LJMP DK2 </b></p><p> NK7: CJNE A,#07H,NK8 </p><p> MOV KEYBUF,#7 </p>
91、<p><b> LJMP DK2 </b></p><p> NK8: NOP </p><p><b> DK2: </b></p><p> MOV A,KEYBUF </p><p> MOV DPTR,#TABLE </p><p> MOV
92、C A,@A+DPTR </p><p><b> MOV P0,A </b></p><p> MOV A,KEYBUF </p><p><b> MOV B,#2 </b></p><p><b> MUL AB </b></p><p>
93、 MOV TEMP,A </p><p> MOV DPTR,#TABLE1 </p><p> MOVC A,@A+DPTR </p><p> MOV STH0,A </p><p> MOV TH0,A </p><p><b> INC TEMP </b></p>
94、<p> MOV A,TEMP </p><p> MOVC A,@A+DPTR </p><p> MOV STL0,A </p><p> MOV TL0,A </p><p><b> SETB TR0 </b></p><p> DK2A: MOV A,P2 &l
95、t;/p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p><b> JNZ DK2A </b></p><p><b> CLR TR0 </b></p><p><b> NOKEY2: </b><
96、;/p><p> MOV P2,#0FFH </p><p><b> CLR P2.6 </b></p><p><b> MOV A,P2 </b></p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p
97、> JZ NOKEY3 </p><p> LCALL DELY10MS </p><p><b> MOV A,P2 </b></p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p> JZ NOKEY3 </p>&l
98、t;p><b> MOV A,P2 </b></p><p> ANL A,#0FH </p><p> CJNE A,#0EH,NK9 </p><p> MOV KEYBUF,#8 </p><p><b> LJMP DK3 </b></p><p>
99、 NK9: CJNE A,#0DH,NK10 </p><p> MOV KEYBUF,#9 </p><p><b> LJMP DK3 </b></p><p> NK10: CJNE A,#0BH,NK11 </p><p> MOV KEYBUF,#10 </p><p>&l
100、t;b> LJMP DK3 </b></p><p> NK11: CJNE A,#07H,NK12 </p><p> MOV KEYBUF,#11 </p><p><b> LJMP DK3 </b></p><p> NK12: NOP </p><p>&
101、lt;b> DK3: </b></p><p> MOV A,KEYBUF </p><p> MOV DPTR,#TABLE </p><p> MOVC A,@A+DPTR </p><p><b> MOV P0,A </b></p><p> MOV A,KE
102、YBUF </p><p><b> MOV B,#2 </b></p><p><b> MUL AB </b></p><p> MOV TEMP,A </p><p> MOV DPTR,#TABLE1 </p><p> MOVC A,@A+DPTR <
103、;/p><p> MOV STH0,A </p><p> MOV TH0,A </p><p><b> INC TEMP </b></p><p> MOV A,TEMP </p><p> MOVC A,@A+DPTR </p><p> MOV STL0,A
104、 </p><p> MOV TL0,A </p><p><b> SETB TR0 </b></p><p> DK3A: MOV A,P2</p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p><b>
105、; JNZ DK3A </b></p><p><b> CLR TR0 </b></p><p><b> NOKEY3: </b></p><p> MOV P2,#0FFH </p><p><b> CLR P2.7 </b></p>
106、<p><b> MOV A,P2 </b></p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p> JZ NOKEY4 </p><p> LCALL DELY10MS </p><p><b> MOV A,P2
107、</b></p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p> JZ NOKEY4 </p><p><b> MOV A,P2 </b></p><p> ANL A,#0FH </p><p> C
108、JNE A,#0EH,NK13 </p><p> MOV KEYBUF,#12 </p><p><b> LJMP DK4 </b></p><p> NK13: CJNE A,#0DH,NK14 </p><p> MOV KEYBUF,#13 </p><p><b>
109、 LJMP DK4 </b></p><p> NK14: CJNE A,#0BH,NK15 </p><p> MOV KEYBUF,#14 </p><p><b> LJMP DK4 </b></p><p> NK15: CJNE A,#07H,NK16 </p><
110、p> MOV KEYBUF,#15 </p><p><b> LJMP DK4 </b></p><p> NK16: NOP </p><p><b> DK4: </b></p><p> MOV A,KEYBUF </p><p> MOV DPT
111、R,#TABLE </p><p> MOVC A,@A+DPTR </p><p><b> MOV P0,A </b></p><p> MOV A,KEYBUF </p><p><b> MOV B,#2 </b></p><p><b> MUL
112、 AB </b></p><p> MOV TEMP,A </p><p> MOV DPTR,#TABLE1 </p><p> MOVC A,@A+DPTR </p><p> MOV STH0,A </p><p> MOV TH0,A </p><p><b&
113、gt; INC TEMP </b></p><p> MOV A,TEMP </p><p> MOVC A,@A+DPTR </p><p> MOV STL0,A </p><p> MOV TL0,A </p><p><b> SETB TR0 </b></p
114、><p> DK4A: MOV A,P2 </p><p> ANL A,#0FH </p><p> XRL A,#0FH </p><p><b> JNZ DK4A </b></p><p><b> CLR TR0 </b></p><p&
115、gt; NOKEY4: JNB P1.0,MUSIC</p><p> LJMP WAIT </p><p><b> MUSIC:</b></p><p> MOVR3,#00H</p><p><b> NEXT:</b></p><p><b>
116、 MOVA,R3</b></p><p> MOVDPTR,#TABLE2</p><p> MOVCA,@A+DPTR</p><p><b> JZMUSIC</b></p><p><b> MOVR7,A</b></p><p><
117、b> INCR3</b></p><p><b> MOVA,R3</b></p><p> MOVCA,@A+DPTR</p><p><b> MOVR2,A</b></p><p> ACALLSONG</p><p><b&
118、gt; INCR3</b></p><p><b> SJMPNEXT</b></p><p> ;===============================================================================</p><p> ;=== 歌曲播放子程序 ===<
119、/p><p><b> SONG:</b></p><p> MOVA,R2; 取出節(jié)拍</p><p><b> RLA</b></p><p><b> JNZKEEP</b></p><p> MOVA,#01H</p
120、><p><b> KEEP:</b></p><p><b> MOVR2,A</b></p><p><b> REPEAT:</b></p><p> ACALLEIGHTH</p><p> DJNZR2,REPEAT</p&g
121、t;<p><b> RET</b></p><p> ;===============================================================================</p><p> ;=== 產(chǎn)生1/8拍延時子程序 ===</p><p><b>
122、EIGHTH:</b></p><p> MOVA,R7; 查表取出廷時參數(shù),保存到R4</p><p> MOVDPTR,#DELAY_T</p><p> MOVCA,@A+DPTR</p><p><b> MOVR4,A</b></p><p> M
123、OVA,R7; 查表取出1/8拍周期數(shù),保存到R5</p><p> MOVDPTR,#S_PARA</p><p> MOVCA,@A+DPTR</p><p><b> MOVR5,A</b></p><p><b> NEXTCYC:</b></p>&
124、lt;p> ACALLSOUND</p><p> DJNZR5,NEXTCYC</p><p><b> RET</b></p><p> ;===============================================================================</p>
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子琴課程設(shè)計--基于單片機(jī)的電子琴設(shè)計
- 電子琴課程設(shè)計--基于單片機(jī)的電子琴設(shè)計
- 電子琴課程設(shè)計-- 基于單片機(jī)的電子琴設(shè)計
- 課程設(shè)計---基于單片機(jī)的可存儲式電子琴設(shè)計
- 單片機(jī)電子琴課程設(shè)計
- 單片機(jī)電子琴課程設(shè)計
- 單片機(jī)課程設(shè)計---電子琴
- 單片機(jī)課程設(shè)計(電子琴)
- 單片機(jī)電子琴課程設(shè)計--帶存儲播放功能的簡易電子琴設(shè)計
- 單片機(jī)課程設(shè)計-電子琴
- 單片機(jī)課程設(shè)計——電子琴
- 電子琴單片機(jī)課程設(shè)計--電子琴模擬實(shí)驗(yàn)
- 單片機(jī)課程設(shè)計---電子琴設(shè)計
- 單片機(jī)簡易電子琴單片機(jī)課程設(shè)計
- 單片機(jī)課程設(shè)計—基于單片機(jī)的電子琴
- 單片機(jī)電子琴課程設(shè)計 (2)
- 單片機(jī)電子琴課程設(shè)計報告
- 單片機(jī)電子琴課程設(shè)計報告
- 單片機(jī)課程設(shè)計---電子琴設(shè)計
- 單片機(jī)課程設(shè)計---基于單片機(jī)的電子琴設(shè)計
評論
0/150
提交評論