版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 物理與信息工程系</b></p><p> 課 程 設 計 報 告 </p><p> 課程名稱 專 業(yè) 綜 合 </p><p> 課題名稱 簡易電子琴設計 </p><p> 專 業(yè) 電子信息科學與技
2、術 </p><p> 年 班 級 08級電科二班 </p><p> 學 號 </p><p> 姓 名 </p><p> 指導教師
3、 </p><p> 2011年 5月 20 日</p><p><b> 目 錄</b></p><p> 1、設計任務................................................................. .....................
4、....1</p><p> 1.1 設計目的................................................. ...................................... 1</p><p> 1.2設計指標及要求...................................... ......................
5、................ 1 </p><p> 2、設計思路與總體框圖............................. ....................... . ....................2</p><p> 2.1 電子琴系統(tǒng)的設計思想. ................... . ............................
6、...............2</p><p> 2.2軟件總體方案及設計流程. . ................... . ...........................................3</p><p> 2.3總體框架....................................... ...........................
7、.......... ........... ..4</p><p> 2.3.1、程序簡易流程圖........................................ .........................................4</p><p> 2.3.2、彈奏程序流程圖.......................................
8、 ......................................5</p><p> 3、系統(tǒng)硬件電路的設計……………………...............………………………….6</p><p> 3.1、芯片介紹....................................... ..................................... ..
9、......... .6</p><p> 3.2、硬件接圖....................................... ..................................... ...........7</p><p> 3.3音頻放大電路設計....................................... .............
10、............................7</p><p> 3.4復位電路設計....................................... ..............................................8</p><p> 3.5電路設計圖....................................... .
11、.................................................9</p><p> 4、系統(tǒng)設計仿真…………………………...............………………………………..10</p><p> 注:提供系統(tǒng)仿真軟件和源程序</p><p> 5、總結與體會…………………………...............………………
12、…………….18</p><p> 6、參考文獻………………………………...............…………………………18</p><p><b> 1、設計任務</b></p><p><b> 1.1設計目的</b></p><p> ?。?)掌握MCS-51單片機定時器、計數(shù)器及中斷
13、的綜合應用;</p><p> ?。?)掌握單片機演奏音樂的原理和編程方法;</p><p> (3)能夠對電子元器件、印制電路板等方面的知識有進一步的認識,獨立對其進行測試與檢查。</p><p> 1.2設計指標及有求</p><p><b> 指標:</b></p><p> ?。?)
14、設計一個(4×4)的鍵盤,并將16個鍵設計成16個音;</p><p> ?。?)可彈奏想要表達的音樂;</p><p> ?。?)該電子琴包含1首示例音樂,接通電源可播放示例音樂。</p><p><b> 要求:</b></p><p> ?。?)按設計指標進行電路設計;</p><p
15、> ?。?)列出音階與單片機定時器輸出頻率關系表格;</p><p> ?。?)制作符合設計指標的硬件電路。</p><p> 2、設計思路與總體框圖</p><p> 2.1 電子琴系統(tǒng)的設計思想</p><p> 關于聲音的處理,第一種方法是使用匯編語言,利用定時器來控制頻率,而每個音符的符號只是存在我自己定義的表中。音符的
16、頻率是通過查表得到的(見表2-1)。</p><p> 本次設計中單片機晶振為12MHZ,那么定時器的計數(shù)周期為1MHZ,假如選擇工作方式1,那T值便為T= 216--5﹡105/相應的頻率 ,那么根據(jù)不同的頻率計算出應該賦給定時器的計數(shù)值,列出不同音符與單片機計數(shù)T0相關的計數(shù)值如下表所示:</p><p><b> 表2-1</b></p>&l
17、t;p> 采用查表程序進行查表時,可以為這個音符建立一個表格,有助于單片機通過查表的方式來獲得相應的數(shù)據(jù):TABLE DB 64580,64684,64777,64820,64898,64968,65030</p><p> 此外,結束符和體止符可以分別用代碼00H和FFH來表示,若查表結果為00H,則表示曲子終了,若查表結果為FFH,則產(chǎn)生相應的停頓效果。</p><p>
18、關于聲音的處理,第二種方法是使用一個8位的二進制數(shù)來作為音符,高位的前兩位用來判斷音符是高音低音還是中音,后面六位判斷的是Do還是Xi等音符。設D7D6=01為低音區(qū),D7D6=10為中音區(qū),D7D6=11為高音。此方法與第一種方法比較起來較簡單,所以在該系統(tǒng)的音符設計中采用的就是第二種方法。</p><p> 2.2軟件總體方案及設計流程</p><p> ?。?)鍵盤掃描程序:<
19、;/p><p> 檢測是否有鍵按下,有鍵按下則記錄按下鍵的鍵值,并跳轉至功能轉移程序;無鍵按下,則返回鍵盤掃描程序繼續(xù)檢測</p><p> ?。?)功能轉移程序:</p><p> 對檢測到得按鍵值進行判斷,是琴鍵則跳轉至琴鍵處理程序,是功能鍵則跳轉至相應的功能程序,我們設計的功能程序有兩種,即音色調節(jié)功能和自動播放樂曲功能</p><p>
20、; (3)琴鍵處理程序:</p><p> 根據(jù)檢測到得按鍵值,查詢音律表,給計時器賦值,使發(fā)出相應頻率的聲音</p><p> ?。?)自動播放歌曲程序:</p><p> 檢測到按鍵按下的是自動播放歌曲功能鍵后執(zhí)行該程序,電子琴會自動播放事先已經(jīng)存放好的歌曲,歌曲播放完畢之后自動返回至鍵盤掃描程序,繼續(xù)等待是否有鍵按下。</p><p&
21、gt;<b> 系統(tǒng)結構圖</b></p><p><b> 2.3總體框架</b></p><p> 2.3.1程序簡易流程圖</p><p><b> 否</b></p><p><b> 是</b></p><p>
22、<b> 否</b></p><p><b> 是</b></p><p> 2.3.2彈奏程序流程圖</p><p> 3、系統(tǒng)硬件電路的設計</p><p><b> 3.1芯片介紹:</b></p><p> AT89C52:
23、AT89C52是一個低電壓,高性能CMOS8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應用。</p><p> 主要性能:與MCS-51單片機產(chǎn)品兼容、8K字節(jié)在
24、系統(tǒng)可編程Flash存儲器、1000次擦寫周期、全靜態(tài)操作:0Hz~33Hz 、 三級加密程序存儲器 、32個可編程I/O口線 、三個16位定時器/計數(shù)器八個中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時器、雙數(shù)據(jù)指針、掉電標識符。</p><p><b> LM386:</b></p><p&
25、gt; LM386是美國國家半導體公司生產(chǎn)的音頻功率放大器,主要應用于低電壓消費類產(chǎn)品。為使外圍元件最少,電壓增益內置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場合。</p><p> 其主要特性有以下幾點:</p>
26、<p> 靜態(tài)功耗低,約為4mA,可用于電池供電。 </p><p> 工作電壓范圍寬,4-12V or 5-18V。 </p><p><b> 外圍元件少。 </b></p><p> 電壓增益可調,20-200。 </p><p><b> 3.2硬件接線:</b><
27、/p><p> ?。?)利用P1口為按鍵接入口,形成4×4組成16個按鍵矩陣,設計成16個音,下圖所示:</p><p> ?。?)p3.0口音頻輸出,接一個喇叭。</p><p> ?。?)復位電路我們本來在方案選擇的時候有兩種選擇的,上電復位和按扭復位,上電復位是利用電容充電來實現(xiàn)的,而按扭復位是電源對外節(jié)電容的充電使RST為高電平,復位松開后,電容通過下
28、拉電阻放電,使RST恢復低電平。為了制作軟件的方便我們還是選擇用按扭復位,因為它比較直觀。</p><p> 3.3音頻放大電路設計</p><p> LM386是美國國家半導體公司生產(chǎn)的音頻功率放大器,主要應用于低電壓消費類產(chǎn)品。為使外圍元件最少,電壓增益內置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調為任意值,直至200。輸入端以地位參考,同時輸出端被自動偏置
29、到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場合。LM386的封裝形式有塑封8引線雙列直插式和貼片式。其追求的主要目標是在失真許可的限度內,高效率地為終端負載提供盡可能大的輸出功率。該系統(tǒng)中音頻放大電路的設計如圖所示:</p><p> 3.4復位電路設計:</p><p> 復位是單片機的初始化操作,其主要功能是把PC初始化為000
30、0H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位鍵以重新啟動。RST引角是復位信號的輸入端,復位信號是高電平有效,其有效時間應持續(xù)24個振蕩脈沖周期以上。整個復位電路包括芯片內外兩部分。外部電路產(chǎn)生的復位信號(RST)施密特觸發(fā)器,再由片內復位電路在每個機器周期的S5P2時刻對施密特觸發(fā)器的輸出進行采樣。然后才得到內部復位操作所需要的信號。
31、</p><p> 復位電路的基本功能是系統(tǒng)上電時提供復位信號直至系統(tǒng)電源穩(wěn)定后撤銷復位信號為可靠起見電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復位信號以防電源開關或電源插頭分-合過程中引起的抖動而影響復位.</p><p> 復位操作有上電自動復位和按鍵手動復位兩種方式。上電自動復位是通過外部復位電路的電容充電來實現(xiàn)的.這樣只要電源的上升時間不超過1ms,就可以實現(xiàn)自動上電復位,即接通電源就完
32、成了系統(tǒng)的復位初始化.本設計采用按鍵手動復位方式。而該方式又分為電平方式和脈沖方式。其中按鍵電平方式是通過使復位端經(jīng)電阻與電源接通而實現(xiàn)的。而按鍵脈沖復位則是利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)的。本設計采用按鍵電平復位方式,具體電路圖如下:</p><p> 3.5電路設計圖如下:</p><p><b> 4、系統(tǒng)設計仿真</b></p><
33、p><b> 設計源程序:</b></p><p> BUFF EQU 30H</p><p> STH0 EQU 31H</p><p> STL0 EQU 32H</p><p> TEMP EQU 33H</p><p&g
34、t;<b> ORG 00H</b></p><p> LJMP START</p><p><b> ORG 0BH</b></p><p> LJMP INT_T0</p><p> ORG 001BH</p><p> LJMP TIM1<
35、/p><p> START: MOV TMOD,#01H ;設置T0工作方式</p><p><b> SETB ET0</b></p><p> SETB EA ;啟動T0</p><p><b> MAIN: </b></p><p
36、> MOV P1,#0FFH ;P1全置1</p><p> CLR P1.4 ;開始掃描第一行</p><p><b> MOV A,P1</b></p><p> ANL A,#0FH ;屏蔽高四位</p><p> XRL A,#0F
37、H ;低位 有”0”則有鍵按下,否則無</p><p> JZ KKEY1 ; 判斷有無鍵按下,有則繼續(xù),沒有則轉移到KKEY1</p><p> LCALL DELY10MS ;調用延時程序</p><p> MOV A,P1 ;重新開始判斷有無鍵按下</p><p> A
38、NL A,#0FH</p><p> XRL A,#0FH</p><p> JZ KKEY1</p><p><b> MOV A,P1</b></p><p> ANL A,#0FH ;求鍵值</p><p> CJNE A,#0EH,CKK1 ;相等說明該行
39、第一列有鍵按下,不等則轉移</p><p> MOV BUFF,#0 ;該鍵值為0</p><p> LJMP NDK1 ;跳到NDK1執(zhí)行相應的功能程序</p><p> CKK1: CJNE A,#0DH,KK2;相等說明該行第二列有鍵按下,不等則轉移</p><p> MOV BUFF,
40、#1;該鍵值為1</p><p> LJMP NDK1;跳到NDK1執(zhí)行相應的功能程序</p><p> KK2: CJNE A,#0BH,KK3;相等說明該行第三列有鍵按下,不等則轉移</p><p> MOV BUFF,#2;該鍵值為2</p><p> LJMP NDK1;跳到NDK1執(zhí)行相應的功能
41、程序</p><p> KK3: CJNE A,#07H,KK4;相等說明該行第四列有鍵按下,不等則轉移</p><p> MOV BUFF,#3;該鍵值為2</p><p> LJMP NDK1;跳到NDK1執(zhí)行相應的功能程序</p><p> KK4: NOP</p><
42、p> NDK1: MOV A,BUFF </p><p> MOV DPTR,#TABLE</p><p> MOV C A,@A+DPTR</p><p> MOV P0,A</p><p> MOV A,BUFF</p><p> MOV B,#2<
43、/p><p><b> MUL AB</b></p><p> MOV TEMP,A</p><p> MOV DPTR,#TABLE1</p><p> MOV C A,@A+DPTR</p><p> MOV STH0,A</p><p>
44、MOV TH0,A</p><p> INC TEMP</p><p> MOV A,TEMP</p><p> MOV C A,@A+DPTR</p><p> MOV STL0,A</p><p> MOV TL0,A</p><p> SETB TR
45、0</p><p> NDK1A: MOV A,P1</p><p> ANL A,#0FH</p><p> XRL A,#0FH</p><p><b> JNZ NDK1A</b></p><p><b> CLR TR0</b></p>
46、;<p><b> KKEY1: </b></p><p> MOV P1,#0FFH ;開始掃描第二行</p><p><b> CLR P1.5</b></p><p><b> MOV A,P1</b></p><p> ANL A,
47、#0FH</p><p> XRL A,#0FH</p><p><b> JZ KKEY2</b></p><p> LCALL DELY10MS</p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p>&
48、lt;p> XRL A,#0FH</p><p><b> JZ KKEY2</b></p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> CJNE A,#0EH,KK5</p><p> MOV BU
49、FF,#4</p><p><b> LJMP NDK2</b></p><p> KK5: CJNE A,#0DH,KK6</p><p> MOV BUFF,#5</p><p><b> LJMP NDK2</b></p><p> KK6:
50、 CJNE A,#0BH,KK7</p><p> MOV BUFF,#6</p><p><b> LJMP NDK2</b></p><p> KK7: CJNE A,#07H,KK8</p><p> MOV BUFF,#7</p><p><b>
51、 LJMP NDK2</b></p><p> KK8: NOP</p><p><b> NDK2: </b></p><p> MOV A,BUFF</p><p> MOV DPTR,#TABLE</p><p> MOVC A,@A+DPTR&l
52、t;/p><p><b> MOV P0,A</b></p><p> MOV A,BUFF</p><p><b> MOV B,#2</b></p><p><b> MUL AB</b></p><p> MOV TEMP,A</p&g
53、t;<p> MOV DPTR,#TABLE1</p><p> MOVC A,@A+DPTR</p><p> MOV STH0,A</p><p><b> MOV TH0,A</b></p><p><b> INC TEMP</b></p><p&
54、gt; MOV A,TEMP</p><p> MOVC A,@A+DPTR</p><p> MOV STL0,A</p><p><b> MOV TL0,A</b></p><p><b> SETB TR0</b></p><p> NDK2A:
55、 MOV A,P1</p><p> ANL A,#0FH</p><p> XRL A,#0FH</p><p><b> JNZ NDK2A</b></p><p><b> CLR TR0</b></p><p><b> KKEY2:</b
56、></p><p> MOV P1,#0FFH ;開始掃描第三行</p><p><b> CLR P1.6</b></p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> XRL A,#0FH<
57、/p><p><b> JZ KKEY3</b></p><p> LCALL DELY10MS</p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> XRL A,#0FH</p><p>
58、<b> JZ KKEY3</b></p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> CJNE A,#0EH,KK9</p><p> MOV BUFF,#8</p><p><b> LJMP
59、 NDK3</b></p><p> KK9: CJNE A,#0DH,KK10</p><p> MOV BUFF,#9</p><p><b> LJMP NDK3</b></p><p> KK10: CJNE A,#0BH,KK11</p><p&
60、gt; MOV BUFF,#10</p><p><b> LJMP NDK3</b></p><p> KK11: CJNE A,#07H,KK12</p><p> MOV BUFF,#11</p><p><b> LJMP NDK3</b></p><
61、;p> KK12: NOP</p><p><b> NDK3:</b></p><p> MOV A,BUFF</p><p> MOV DPTR,#TABLE</p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A&l
62、t;/b></p><p> MOV A,BUFF</p><p><b> MOV B,#2</b></p><p><b> MUL AB</b></p><p> MOV TEMP,A</p><p> MOV DPTR,#TABLE1</p>
63、;<p> MOVC A,@A+DPTR</p><p> MOV STH0,A</p><p><b> MOV TH0,A</b></p><p><b> INC TEMP</b></p><p> MOV A,TEMP</p><p> MO
64、VC A,@A+DPTR</p><p> MOV STL0,A</p><p><b> MOV TL0,A</b></p><p><b> SETB TR0</b></p><p> NDK3A: MOV A,P1</p><p> ANL A,#
65、0FH</p><p> XRL A,#0FH</p><p><b> JNZ NDK3A</b></p><p><b> CLR TR0</b></p><p><b> KKEY3:</b></p><p> MOV P1,#0FFH;
66、開始掃描第四行</p><p><b> CLR P1.7</b></p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> XRL A,#0FH</p><p><b> JZ KKEY4</b&
67、gt;</p><p> LCALL DELY10MS</p><p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> XRL A,#0FH</p><p><b> JZ KKEY4</b></p>&l
68、t;p><b> MOV A,P1</b></p><p> ANL A,#0FH</p><p> CJNE A,#0EH,KK13</p><p> MOV BUFF,#12</p><p><b> LJMP NDK4</b></p><p> KK1
69、3: CJNE A,#0DH,KK14</p><p> MOV BUFF,#13</p><p><b> LJMP NDK4</b></p><p> KK14: CJNE A,#0BH,KK15</p><p> MOV BUFF,#14</p><p>&l
70、t;b> LJMP NDK4</b></p><p> KK15: CJNE A,#07H,KK16</p><p> MOV BUFF,#15</p><p><b> LJMP NDK4</b></p><p> KK16: NOP</p><p>&
71、lt;b> NDK4: </b></p><p> MOV A,BUFF</p><p> MOV DPTR,#TABLE</p><p> MOVC A,@A+DPTR</p><p><b> MOV P0,A</b></p><p> MOV A,BUFF
72、</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</p>&
73、lt;p> MOV STH0,A</p><p><b> MOV TH0,A</b></p><p><b> INC TEMP</b></p><p> MOV A,TEMP</p><p> MOVC A,@A+DPTR</p><p> MOV ST
74、L0,A</p><p><b> MOV TL0,A</b></p><p><b> SETB TR0</b></p><p> NDK4A: MOV A,P1</p><p> ANL A,#0FH</p><p> XRL A,#0FH</
75、p><p><b> JNZ NDK4A</b></p><p><b> CLR TR0</b></p><p> KKEY4: MOV A,#0FFH</p><p><b> MOV P2,A </b></p><p><b>
76、 MOV A,P2</b></p><p> JB ACC.0, KKEY5</p><p> LCALL DELY10MS</p><p><b> MOV A,P2</b></p><p> JB ACC.0, KKEY5</p><p> MOV BUFF,#16&l
77、t;/p><p> LJMP START22</p><p> START22: MOV A,BUFF</p><p> CJNE A,#16,KKEY5</p><p> LJMP START2</p><p> KKEY5: LJMP MAIN </p><p> STAR
78、T2: MOV TMOD,#10H ;設T1在M1 </p><p> MOV IE,#88H ;中斷使能 </p><p> START0: MOV 30H,#00 ;取簡譜碼指針 </p><p> NEXT: MOV A,30H ;簡譜碼指針載入A </p><p> MOV DPTR,#TAB ;至TAB取簡譜碼 <
79、;/p><p> MOVC A,@A+DPTR ;</p><p> MOV R2,A ;渠道的簡譜碼暫存于R2 </p><p> JZ END0 ;是否渠道00(結束碼) </p><p> ANL A,#0FH ;不是,則取低4位(節(jié)拍碼) </p><p> MOV R5,A ;將節(jié)拍碼存入R5 <
80、/p><p> MOV A,R2 ;將取到的簡譜碼再載入A </p><p> SWAP A ;高低4位交換 </p><p> ANL A,#0FH ;取低4位(音符碼) </p><p> JNZ SING ;取到的音符碼是否為0? </p><p> CLR TR1 ;開始,則不發(fā)音 </p>
81、<p> SJMP D1 ;跳至D1 </p><p> SING: DEC A ;取到的音符碼減1(不含0) </p><p> MOV 22H,A ;存入(22H) </p><p><b> RL A ;乘2 </b></p><p> MOV DPTR,#TAB1 ;至TABLE
82、1取相對的高位字節(jié)計數(shù)值 </p><p> MOVC A,@A+DPTR ; </p><p> MOV TH1,A ;取到的高位字節(jié)存入TH0 </p><p> MOV 21H,A ;取到的高位字節(jié)存入(21H) </p><p> MOV A,22H ;在載入取到的音符碼 </p><p><b&
83、gt; RL A ;乘2 </b></p><p> INC A ;加1 </p><p> MOVC A,@A+DPTR ;至TABLE1取相對的低位字節(jié)計數(shù)值 </p><p> MOV TL1,A ;取到的低位字節(jié)存入TL0 </p><p> MOV 20H,A ;取到的低位字節(jié)存入(20H) </p>
84、;<p> SETB TR1 ;啟動TIMER0</p><p> D1: LCALL DELAY ;其本單位時間1/4拍187毫秒 </p><p> INC 30H ;取簡譜碼指針加1 </p><p> JMP NEXT ;取下一個簡譜碼 </p><p> END0: CLR TR1 ;停止TI
85、MER0 </p><p> LJMP MAIN ;重復循環(huán) </p><p> TIM1: PUSH ACC ;將A的值暫存于堆棧 </p><p> PUSH PSW ;將PSW的值暫存于堆棧 </p><p> MOV TL1,20H ;重設計數(shù)值 </p><p> MOV TH1,21H
86、 ; </p><p> CPL P3.0 ;將P1.0位反相,控制蜂鳴器發(fā)聲 </p><p> POP PSW ;至堆棧取回PSW的值 </p><p> POP ACC ;至堆棧取回A的值 </p><p><b> RETI </b></p><p> DELAY:MOV R7,
87、#02 </p><p> D2: MOV R4,#187 </p><p> D3: MOV R3,#248 </p><p> DJNZ R3,$ </p><p> DJNZ R4,D3 </p><p> DJNZ R7,D2 </p><p><b> RET &
88、lt;/b></p><p><b> DELY10MS:</b></p><p> MOV R6,#10</p><p> D10: MOV R7,#248</p><p><b> DJNZ R7,$</b></p><p> DJNZ R6
89、,D10</p><p><b> RET</b></p><p><b> INT_T0:</b></p><p> MOV TH0,STH0</p><p> MOV TL0,STL0</p><p><b> CPL P3.0</b>&l
90、t;/p><p><b> RETI</b></p><p> TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H</p><p> DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H</p><p> TABLE1: DW 64021,64103,64
91、260,64400</p><p> DW 64524,64580,64684,64777</p><p> DW 64820,64898,64968,65030</p><p> DW 65058,65110,65157,65178</p><p> TAB1: ;決定節(jié)拍 </p><p> DW 64
92、260,64400,64521,64580 </p><p> DW 64684,64777,64820,64898 </p><p> DW 64968,65030,65058,65110 </p><p> DW 65157,65178,65217 </p><p> TAB: ;樂曲名稱《梁?!?</p><
93、;p> DB 02H,82H,62H,52H,48H,02H,52H,32H,22H,18H </p><p> DB 83H,91H,72H,62H,51H,61H,71H,61H,83H,61H </p><p> DB 81H,51H,61H,71H,61H,51H,46H,82H,32H,52H </p><p> DB 22H,42H,16H
94、,21H,41H,18H,0E4H,13H,21H,43H </p><p> DB 51H,21H,41H,12H,83H,81H,61H,81H,58H,53H </p><p> DB 61H,31H,22H,13H,21H,42H,52H,0E2H,42H,21H </p><p> DB 11H,91H,41H,18H,63H,81H,32H,52
95、H,21H,41H </p><p> DB 16H,0E4H,11H,21H,31H,51H,26H,11H,21H,43H </p><p> DB 51H,82H,62H,52H,61H,51H,42H,21H,11H,0E4H </p><p> DB 44H,21H,41H,21H,11H,0E1H,11H,21H,41H,18H </p>
96、;<p> DB 61H,81H,51H,61H,51H,41H,32H,21H,41H,18H </p><p> DB 08H,0H,04H ;曲子最后靜音5拍長的時間 </p><p> DB 00H ;樂曲結束 </p><p><b> END</b></p><p><b&g
97、t; 5、總結與體會</b></p><p> 這次設計從軟件方面來講不是很難,程序相對長一點,但都是書本上所學的知識,主要是中端及其服務程序的編寫。在protues上仿真,則起到很好的效果,因為元器件都是理想狀態(tài)的,但做出實物來卻不是那么簡單啦。經(jīng)過多次調試、修改才得以出結果。將程序燒入芯片,調試成功后,可任意彈奏自己想要的旋律。同時可以播放一首示例歌曲,但是也有不足之處的,聲音雜音時而有點大,
98、不穩(wěn)定。</p><p> 經(jīng)過本次課程設計,我們比較好的把理論知識與實踐相結合,而我們在也本次設計中收獲不少。設計過程中,首先,對于匯編語言多了一層了解,其次,還有硬件的接線,還有8051芯片的引腳方面,都讓我們收獲不少。加強了自身的動手能力。</p><p><b> 6、參考文獻</b></p><p> [1]周美娟 肖來勝 《單
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機簡易電子琴單片機課程設計
- 簡易電子琴單片機課程設計
- 簡易電子琴單片機課程設計
- 簡易電子琴單片機課程設計
- 單片機課程設計簡易電子琴
- 單片機課程設計——簡易電子琴
- 單片機課程設計---簡易電子琴
- 基于單片機的簡易電子琴課程設計
- 基于單片機的簡易電子琴課程設計
- 單片機課程設計--簡易電子琴設計
- 單片機課程設計--基于51單片機的簡易電子琴
- 51單片機課程設計--簡易電子琴
- 基于51單片機簡易電子琴的課程設計
- 電子琴課程設計--基于單片機的電子琴設計
- 電子琴課程設計--基于單片機的電子琴設計
- 電子琴課程設計-- 基于單片機的電子琴設計
- 課程設計報告--基于51單片機的簡易電子琴設計
- 單片機課程設計—基于單片機的電子琴
- 基于單片機的電子琴課程設計
- 單片機課程設計---基于單片機的電子琴設計
評論
0/150
提交評論