2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  現(xiàn)在要求人才發(fā)展的全面性以及精神文化的需求,音樂學(xué)習(xí)已經(jīng)成為很多人生活中必不可少的一部分。 電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機具有強大的控制功能和靈活的編程實現(xiàn)特性,它已經(jīng)融入現(xiàn)代人們的生活中,成為不可替代的一部分。本文的主要內(nèi)容是用AT89C51單片機為核心控制

2、元件,設(shè)計一個電子琴。以單片機作為主控核心,與鍵盤、揚聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有16個鍵盤和揚聲器。本系統(tǒng)運行穩(wěn)定,其優(yōu)點是硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比較高等,具有一定的實用和參考價值。</p><p><b>  Abstract</b></p><p>  In modern times,it demands the tal

3、ent of comprehensive. Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments.It played an important role in morden music.SCM has powerful control functions and flex

4、ible programming characteristics.It has converged with modern people’s lives,become an irreplaceable part.The main content is AT89C51 control of the core components,design of a electronic organ.SCM as a host to the core,

5、with the keyboard,speaker.</p><p>  關(guān)鍵字 電子琴 單片機 性價比 揚聲器 音樂</p><p>  electronic organ .SCM high cost performance music</p><p><b>  第一章 緒 論</b></p><p>  

6、單片機園地里,單片機品種異彩紛呈,爭奇斗艷。有8位、16位甚至32位機,但8位單片機仍以它的價格低廉、品種齊全、應(yīng)用軟件豐富、支持環(huán)境充分、開發(fā)方便等特點而占著主導(dǎo)地位。單片機是把微處理器、存儲器、輸入、輸出接口電路以及定時器計數(shù)器等集成在一起的集成電路芯片,它具有體積小,價格低,可靠性高和易于嵌入式應(yīng)用等特點,極實用于智能儀器儀表和工業(yè)測控系統(tǒng)的前端裝置。從生活和生產(chǎn)的各個領(lǐng)域中,凡是有自動控制要求的地方都會有單片機的身影出現(xiàn)?,F(xiàn)在,

7、盡管單片機的應(yīng)用已經(jīng)很普遍了,但仍有許多可以用單片機控制而尚未實現(xiàn)的項目。因此,單片機的應(yīng)用大有可以想象和拓展的空間。</p><p>  單片機的應(yīng)用有利于產(chǎn)品的小型化,多功能,和智能化,有利于提高勞動效率,減輕勞動強度,提高產(chǎn)品質(zhì)量,改善勞動環(huán)境,減少能耗和材料消耗,保證安全等。但是,單片機應(yīng)用的意義絕不僅限于踏的廣闊范圍以及所帶來的經(jīng)濟效益上,更重要的意義還在于:單片機的應(yīng)用正從根本上改變著傳統(tǒng)的控制系統(tǒng)設(shè)

8、計思想和設(shè)計方法。隨單片機應(yīng)用的推廣普及,微控制技術(shù)必將不斷發(fā)展、日益完善和更加充實。</p><p>  一首音樂是許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號,因此,我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。</p><

9、;p>  通過本設(shè)計能使我能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識有進(jìn)一步的認(rèn)識,可以獨立對其進(jìn)行測試與檢查。能使我更加熟悉AT89C51單片機的內(nèi)部結(jié)構(gòu)和功能,合理使用其內(nèi)部寄存器,能夠完成相關(guān)軟件編程設(shè)計工作。能夠?qū)崿F(xiàn)預(yù)期功能,能夠?qū)ο到y(tǒng)進(jìn)行快速的調(diào)試,并能夠?qū)Τ霈F(xiàn)的功能故障進(jìn)行分析,及時修改相關(guān)軟硬件。對軟件編程、排錯調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高。</p><

10、;p><b>  第二章 設(shè)計內(nèi)容</b></p><p>  2.1電子琴發(fā)音原理</p><p>  樂器的結(jié)構(gòu)較為復(fù)雜,音源是由晶體管產(chǎn)生的電振動,并通過音色回路而產(chǎn)生各種音色;同時由周波數(shù)調(diào)制產(chǎn)生顫音效果,由振幅調(diào)制產(chǎn)生各種樂器的音效。電子琴的外形很像普通鍵盤樂器,只是某些種類多一排腳踏鍵盤,而且手觸鍵盤也往往分為兩層。鍵盤式電子琴聲音豐富、優(yōu)美,有變音

11、裝置,能發(fā)出多種不同的音色,可以作為獨特的樂器進(jìn)行演奏,還能代替?zhèn)鹘y(tǒng)的風(fēng)琴、鋼琴供音樂課教學(xué)。 傳統(tǒng)樂器的聲音是通過機械的方法產(chǎn)生的,電子琴的聲音是用“電”產(chǎn)生的。附圖21是一般電子琴結(jié)構(gòu)原理的方框圖。 電子琴原理框圖振蕩器是根據(jù)需要產(chǎn)生一定頻率的振蕩信號,振蕩信號通過分頻器分解成不同頻率的信號輸送到放大器,放大器將信號放大,推動揚聲器發(fā)出聲音。鍵盤實際是一些開關(guān),如果沒有鍵盤,許多種頻率的信號一齊進(jìn)到放大器里,通過揚聲器發(fā)出的

12、聲音就會亂七八糟,不成音樂。按下鍵盤的一支鍵,就等于接通一只開關(guān),只允許某一種頻率的信號通過到放大器里去,揚聲器就發(fā)出一個音來。這樣,按照一定的演奏規(guī)律來按鍵,就能奏出美妙的音樂來。電源的任務(wù)是給各部分供電。 下面進(jìn)一步介紹振蕩器和分頻器的工作原理。振蕩器一般用LC電感三點振蕩電路。如果忽略晶體管</p><p><b>  2.2系統(tǒng)設(shè)計要求</b></p><p&

13、gt;  本系統(tǒng)分為兩個人部分,一個是音樂播放,另一個就是電子琴演奏。</p><p>  關(guān)于聲音的處理,實用單片機匯編語言,利用定時器來控制頻率,而每個音符的符號只是存在我自己的定義的表中。具體要求如下:</p><p>  1:要求達(dá)到電子琴的基本功能,可是彈奏出簡單的樂曲。</p><p>  2:用鍵盤做出電子琴的按鍵,每鍵代表一個音符。</p>

14、;<p>  3:各音符按一定順序排列,必須符合電子琴的按鍵排列順序。</p><p>  4:彈奏電子琴時能播放出準(zhǔn)確的聲音,不彈奏時可以播放內(nèi)置音樂。</p><p>  2.3電子琴系統(tǒng)的組成</p><p>  本系統(tǒng)分為兩個人部分,一個是音樂播放,另一個就是電子琴。</p><p>  音樂部分:音樂實際上是有固定周期

15、的信號,本文介紹用AT89C51的定時器控制,在P3.7腳上輸出方波周期信號,產(chǎn)生音樂。當(dāng)DIPSW2,3引腳都OFF時嵌入“不倒翁.hex”再按上方的7個人鍵盤,自上而下就發(fā)出DO、RE、MI、FA、SO、LA、SI 7個高音節(jié),當(dāng)DIPSW2,3引腳都ON時,按下上方第2個按鍵,就會播放音樂,每按下第二個鍵,就會重復(fù)演唱。三只小貓歌曲的播放類似于不倒翁歌曲的播放。當(dāng)DIPSW2,3引腳再次OFF時,再按上方的7個人鍵盤,自上而下就會

16、發(fā)出SI 、LA、 SO、 FA、 MI 、RE 、DO 7個高音節(jié)。按下1—16鍵,分別產(chǎn)生MI,FA,SO,LA,SI低音,數(shù)碼管顯示3,4,5,6,7;中音DO,MI,FA,SO,LA,SI,數(shù)碼管顯示1,2,3,4,5,6,7:;高音DO,RE,MI,FA,數(shù)碼管顯示A,B,C,D。</p><p>  由于一首音樂是由許多不同的音階組成的,而每個音階對應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,

17、即可構(gòu)成我們想要的音樂了。當(dāng)然,對于單片機來產(chǎn)生不同的頻率非常方便,我們可以利用單片機的定時/計數(shù)器T0來產(chǎn)生這樣方波頻率信號。因此我們只要把一首歌曲的音階對應(yīng)頻率關(guān)系弄正確即可。</p><p>  電子琴彈奏部分:實際上就是把每一個按鍵對應(yīng)的值經(jīng)過處理后發(fā)給單片機,再在單片機內(nèi)把數(shù)字當(dāng)做指針指向所對應(yīng)的音符。</p><p><b>  第三章 硬件設(shè)計</b>&

18、lt;/p><p>  3.1 AT89C51簡介</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。</p><p>  管腳說明: VCC:供電電壓。 G

19、ND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。  P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1

20、口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。  P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存

21、儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻

22、率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。   /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/

23、PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。    /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于</p><p>  3.2 LED顯示器顯示原

24、理</p><p>  發(fā)光二極管是一種將電能轉(zhuǎn)變成光能的半導(dǎo)體器件,流過電流,發(fā)光二極就會發(fā)光。七段 LED顯示器由七個發(fā)光段構(gòu)成,每段均是 一個LED二極管。這7個發(fā)光段分別稱為 a、b、c、d、e、f和g,通過控制不同段的點亮和熄滅,可顯示16進(jìn)制數(shù)字0~9和 A、B、C、D、E、F,也能顯示 H、E、L、P等字符。多數(shù)7段LED顯示器中實際有8個發(fā)光二極管,除7個構(gòu)成7筆字形外,另外還有一個小數(shù)點Dp位段

25、,用來顯示小數(shù)。有人也把這種顯示器叫做8段LED顯示器。</p><p>  外形 共陽極 共陰極</p><p>  3.3 Proteus的基本介紹</p><p>  系統(tǒng)特性: 設(shè)計以及自動布線來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。</p><p>  􀁺 ISIS 原理布圖—個易

26、用而又功</p><p><b>  能強大的工具;</b></p><p>  􀁺 PROSPICE 混合模型SPICE 仿</p><p>  真--可以升級到我們的獨特的虛</p><p>  擬系統(tǒng)模型技術(shù)的工業(yè)標(biāo)準(zhǔn)</p><p>  SPICE3F5f 仿真器;<

27、;/p><p>  􀁺 ARES PCB 設(shè)計—具有32 位數(shù)</p><p>  據(jù)庫、元件自動布置、撤消和重</p><p>  試的自動布線功能的超強性能</p><p>  的PCB 設(shè)計系統(tǒng);</p><p>  􀁺 標(biāo)準(zhǔn)的時尚的圖形用戶界面;</p><p

28、>  􀁺 保證所有的主要模塊的操作性</p><p><b>  能和兼容性;</b></p><p>  􀁺 支持Windows 98/Me/2K/XP;</p><p>  􀁺 產(chǎn)品完全可以信賴:超過15 年</p><p><b>  的連續(xù)不斷

29、的開發(fā);</b></p><p>  􀁺 數(shù)千個拷貝安裝分布全世界35</p><p><b>  個國家;</b></p><p>  􀁺 直接來自開發(fā)者的技術(shù)支持;</p><p>  􀁺 被EWW CAD REVIEW</p><

30、p>  Roundup 評為最好的全線產(chǎn)品。此系統(tǒng)受益于15 年來的持續(xù)開發(fā),被《電子世界》在其對PCB 設(shè)計系統(tǒng)的比較文章中評為最好產(chǎn)品—“The Routeto PCB CAD”。</p><p>  Proteus 產(chǎn)品系列也包含了我們革命性的VSM 技術(shù),用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真。用戶甚至可以實時采用諸如LED/LCD、鍵盤、RS232 終端等動態(tài)外設(shè)模型來對設(shè)計進(jìn)

31、行交互仿真。</p><p>  3.4 WAVE6000簡介</p><p>  WAVE6000軟件在以前的版本基礎(chǔ)上做了增加了許多功能,特別是在窗口管理、項目管理和源文件編輯工具上做了較大改進(jìn),在WAVE6000環(huán)境下的所有窗口均可以放在窗口的同一塊區(qū)域,各窗口可以直接切換,節(jié)省了窗口的面積,使窗口管理更有效。WAVE6000還增強了項目管理和源文件編輯方面的功能,使得項目、文件切換

32、更方便,有效地后退、前進(jìn)功能使得修改程序更方便。新增加的書簽窗口和斷點窗口可以有效地管理斷點和書簽,使得程序員無需在眾多的代碼和斷點中逐行查詢,斷點信息和書簽信息在各自的窗口中顯示一目了然。信息串口顯示項目操作和文件操作后的詳細(xì)信息,例如打開項目、保存項目、項目編譯過程以及出錯信息等等。在一個項目調(diào)試之前,必須經(jīng)過新建項目、設(shè)置項目、添加模塊和包含文件、保存項目、編譯項目,最后進(jìn)入調(diào)試項目,其中的所有成功和錯誤信息都會在該窗口中顯示

33、,因此用戶在調(diào)試項目前,需要觀察此窗口是否有錯誤信息,待排除錯誤后方可正確調(diào)試項目。概述:記錄、顯示用戶在上次退出環(huán)境時設(shè)置的所有斷點的信息(包括無效斷點),例如所在的文件、所在行的行號、PC值、是否有效等信息。在該窗口用戶可以刪除任意一個斷點,或</p><p><b>  第四章 軟件設(shè)計</b></p><p><b>  4.1 流程圖</

34、b></p><p><b>  4.2音樂播放設(shè)計</b></p><p>  若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期,再將此周期除以2,即為半周期的時間。利用定時器計時半周期時間,每當(dāng)計時終止后就將P3.7反相,然后重復(fù)計時再反相。就可以再P3.7引腳上得到此頻率的脈沖。</p><p>  利用AT89C51的內(nèi)部定時器使其工作在

35、計數(shù)器模式下,改變計數(shù)值TH0及TL0以產(chǎn)生不同音階。 計數(shù)脈沖與頻率的關(guān)系式是:N=fi/2/fr</p><p>  式中,N是計數(shù)值;fi是機器頻率(晶體振蕩器為12Mhz,其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計數(shù)初值T的求法如下:T=65536-N= 65536- fi/2/fr</p><p>  4.3 音樂播放程序</p><p>  4.

36、3.1播放“不倒翁”歌曲的程序</p><p>  BUZZ EQU P1</p><p>  BUZZ1 EQU P2.7</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p><p><b>  

37、ORG 000BH</b></p><p>  LJMP INT_T0</p><p>  ORG 001BH</p><p>  LJMP TIME1</p><p><b>  ORG 8000H</b></p><p><b>  MAIN:</b>&

38、lt;/p><p>  MOV SP,#90H</p><p>  MOV BUZZ,#0FFH</p><p>  MOV TMOD,#11H</p><p><b>  SETB ET0</b></p><p><b>  SETB ET1</b></p>&

39、lt;p><b>  SETB EA</b></p><p><b>  CLR TR0</b></p><p><b>  START:</b></p><p>  MOV R0, BUZZ</p><p>  CJNE R0,#0FFH,KEY1</p>

40、<p><b>  CLR TR0</b></p><p>  SJMP START</p><p><b>  KEY1:</b></p><p>  CJNE R0,#0FEH,KEY2</p><p>  MOV 30H,#0FBH</p><p>  MO

41、V 31H,#0E9H</p><p>  LJMP SET_TIMER</p><p><b>  KEY2:</b></p><p>  CJNE R0,#0FDH,KEY3</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#5CH</p>&

42、lt;p>  LJMP SET_TIMER</p><p><b>  KEY3:</b></p><p>  CJNE R0,#0FBH,KEY4</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0C1H</p><p>  LJMP SET_TIME

43、R</p><p><b>  KEY4:</b></p><p>  CJNE R0,#0F7H,KEY5</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0EFH</p><p>  LJMP SET_TIMER</p><p>&

44、lt;b>  KEY5:</b></p><p>  CJNE R0,#0EFH,KEY6</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#045H</p><p>  LJMP SET_TIMER</p><p><b>  KEY6:</b&g

45、t;</p><p>  CJNE R0,#0DFH,KEY7</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#92H</p><p>  LJMP SET_TIMER</p><p><b>  KEY7:</b></p><p> 

46、 CJNE R0,#0BFH,KEY8</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#0D6H</p><p>  LJMP SET_TIMER</p><p><b>  KEY8:</b></p><p>  CJNE R0,#7FH,NOKEY<

47、/p><p>  LOOP1: MOV R0, BUZZ</p><p>  CJNE R0,#7DH,LOOP</p><p>  LJMP MAIN1</p><p>  LOOP: CJNE R0,#0FFH,LOOP1</p><p>  LJMP OSTART</p><p>  S

48、ET_TIMER: SETB TR0</p><p>  SJMP START</p><p>  NOKEY: CLR TR0</p><p>  SJMP START</p><p>  INT_T0: MOV TH0,30H</p><p>  MOV TL0,31H</p><p>

49、;  CPL BUZZ1</p><p><b>  RETI</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  OSTART:</b></p><p>  MOV R0, BUZZ</p>

50、<p>  CJNE R0,#0FFH,OKEY1</p><p><b>  CLR TR0</b></p><p>  SJMP OSTART</p><p><b>  OKEY1:</b></p><p>  CJNE R0,#0BFH,OKEY2</p><p

51、>  MOV 30H,#0FBH</p><p>  MOV 31H,#0E9H</p><p>  LJMP OSET_TIMER</p><p><b>  OKEY2:</b></p><p>  CJNE R0,#0DFH,OKEY3</p><p>  MOV 30H,#0FCH&

52、lt;/p><p>  MOV 31H,#5CH</p><p>  LJMP OSET_TIMER</p><p><b>  OKEY3:</b></p><p>  CJNE R0,#0EFH,OKEY4</p><p>  MOV 30H,#0FCH</p><p> 

53、 MOV 31H,#0C1H</p><p>  LJMP OSET_TIMER</p><p><b>  OKEY4:</b></p><p>  CJNE R0,#0F7H,OKEY5</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0EFH</p

54、><p>  LJMP OSET_TIMER</p><p><b>  OKEY5:</b></p><p>  CJNE R0,#0FBH,OKEY6</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#045H</p><p>  LJM

55、P OSET_TIMER</p><p><b>  OKEY6:</b></p><p>  CJNE R0,#0FDH,OKEY7</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#92H</p><p>  LJMP OSET_TIMER</p>

56、;<p><b>  OKEY7:</b></p><p>  CJNE R0,#0FEH,OKEY8</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#0D6H</p><p>  LJMP OSET_TIMER</p><p><b>

57、;  OKEY8:</b></p><p>  CJNE R0,#07FH,ONOKEY</p><p>  LOOP2:MOV R0, BUZZ</p><p>  CJNE R0,#7DH,LOOP3</p><p>  LJMP MAIN1</p><p>  LOOP3: CJNE R0,#0FF

58、H,LOOP2</p><p>  LJMP START</p><p>  OSET_TIMER:</p><p><b>  SETB TR0</b></p><p>  SJMP OSTART</p><p><b>  ONOKEY:</b></p>&

59、lt;p><b>  CLR TR0</b></p><p>  LJMP OSTART</p><p>  ;;;;; ;;;;;;;;;;;;;;;;;;;;;;</p><p>  MAIN1: MOV 40H,#00H</p><p>  NEXT: MOV R0, BUZZ</p>&

60、lt;p>  MOV 41H,R0</p><p>  ORL 41H ,#0FEH</p><p>  MOV R0,41H</p><p>  CJNE R0,#0FFH,STOP</p><p>  MOV A,40H</p><p>  MOV DPTR,#SONG</p>&

61、lt;p>  MOVC A,@A+DPTR</p><p>  CJNE A,#00H,PLAY</p><p>  LJMP STOP</p><p>  PLAY: MOV R1,A</p><p>  ANL A,#0FH</p><p>  MOV R2,A</p><

62、;p>  MOV A,R1</p><p>  ANL A,#0F0H</p><p>  CJNE A,#00H,MUSIC</p><p><b>  CLR TR1</b></p><p><b>  LJMP DEL</b></p><p>  

63、MUSIC:SWAP A</p><p><b>  DEC A</b></p><p>  MOV 22H,A</p><p>  ADD A,22H</p><p>  MOV R3,A</p><p>  MOV DPTR,#SONG1</p><p

64、>  MOVC A,@A+DPTR</p><p>  MOV TH1,A</p><p>  MOV 21H,A</p><p>  MOV A,R3</p><p><b>  INC A</b></p><p>  MOVC A,@A+DPTR</p>

65、<p>  MOV TL1,A</p><p>  MOV 20H,A</p><p><b>  SETB TR1</b></p><p>  DEL: LCALL DELAY</p><p><b>  INC 40H</b></p><p>

66、  LJMP NEXT</p><p>  STOP: CLR TR1</p><p>  LJMP START</p><p>  TIME1:PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  CPL BUZZ1</p>

67、<p>  MOV TL1,20H</p><p>  MOV TH1,21H</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p>

68、<p>  DELAY:MOV R7,#02H</p><p>  DELA1:MOV R6,#125</p><p>  DELA2:MOV R5,#248</p><p>  DJNZ R5,$</p><p>  DJNZ R6,DELA2</p><p>  DJNZ R7,DELA

69、1</p><p>  DJNZ R2,DELAY</p><p><b>  RET</b></p><p>  SONG1: DW 64580,64684,64777,64820</p><p>  DW 64898,64968,65030,64260</p><p>  DW 64400

70、,64524,65058,63835,64021</p><p>  SONG: DB 84H,94H,88H</p><p>  DB 64H,54H,68H</p><p>  DB 84H,64H,54H,44H</p><p>  DB 62H,82H,42H,62H,58H</p><p>  DB 84H,

71、94H,88H</p><p>  DB 64H,54H,68H</p><p>  DB 84H,64H,54H,44H</p><p>  DB 52H,42H,52H,62H,48H</p><p><b>  DB 00H</b></p><p>  mov p1,#0FFH</p&

72、gt;<p><b>  TEST:</b></p><p>  JNB p1.0,DO ;P1.0是音1</p><p>  JNB p1.1,RE ;p1.1是音2</p><p>  JNB p1.2,MI ;p1.2是音3</p><p>  JNB p1.3,FA ;p1.3是音4<

73、;/p><p>  JNB p1.4,SO ;P1.4是音5</p><p>  JNB p1.5,LA ;P1.5是音6</p><p>  JNB p1.6,SI ;P1.6是音7</p><p>  JNB p1.7,DOH ;P1.7是高音1</p><p><b>  AJMP TEST<

74、/b></p><p>  DO: MOV r6,#126</p><p>  AJMP output</p><p>  RE: MOV r6,#113</p><p>  AJMP output</p><p>  MI: MOV r6,#100</p><p>  AJMP outp

75、ut</p><p>  FA: MOV r6,#95</p><p>  AJMP output</p><p>  SO: MOV r6,#85</p><p>  AJMP output</p><p>  LA: MOV r6,#75</p><p>  AJMP output</

76、p><p>  SI: MOV r6,#67</p><p>  AJMP output</p><p>  DOH: MOV r6,#63</p><p>  output: CLR p2.7 ;P2.7接蜂鳴器一類的,發(fā)出音調(diào)</p><p>  ACALL delay1</p><p>  S

77、ETB p2.7</p><p>  ACALL delay1</p><p><b>  AJMP TEST</b></p><p>  delay1: MOV b,r6</p><p>  dl: MOV r7,#6</p><p><b>  DJNZ r7,$</b>

78、;</p><p>  DJNZ r6,dl</p><p><b>  MOV r6,b</b></p><p><b>  ret</b></p><p><b>  end</b></p><p>  4.3.2播放“三只小貓”歌曲的程序</

79、p><p>  BUZZ EQU P1</p><p>  BUZZ1 EQU P2.7</p><p><b>  ORG 0000H</b></p><p><b>  LJMP MAIN</b></p><p><b>  ORG 000BH</b>&

80、lt;/p><p>  LJMP INT_T0</p><p>  ORG 001BH</p><p>  LJMP TIME1</p><p><b>  ORG 8000H</b></p><p><b>  MAIN:</b></p><p>

81、  MOV SP,#90H</p><p>  MOV BUZZ,#0FFH</p><p>  MOV TMOD,#11H</p><p><b>  SETB ET0</b></p><p><b>  SETB ET1</b></p><p><b>  S

82、ETB EA</b></p><p><b>  CLR TR0</b></p><p><b>  START:</b></p><p>  MOV R0, BUZZ</p><p>  CJNE R0,#0FFH,KEY1</p><p><b> 

83、 CLR TR0</b></p><p>  SJMP START</p><p><b>  KEY1:</b></p><p>  CJNE R0,#0FEH,KEY2</p><p>  MOV 30H,#0FBH</p><p>  MOV 31H,#0E9H</p>

84、;<p>  LJMP SET_TIMER</p><p><b>  KEY2:</b></p><p>  CJNE R0,#0FDH,KEY3</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#5CH</p><p>  LJMP SET_T

85、IMER</p><p><b>  KEY3:</b></p><p>  CJNE R0,#0FBH,KEY4</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0C1H</p><p>  LJMP SET_TIMER</p><p&g

86、t;<b>  KEY4:</b></p><p>  CJNE R0,#0F7H,KEY5</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0EFH</p><p>  LJMP SET_TIMER</p><p><b>  KEY5:</

87、b></p><p>  CJNE R0,#0EFH,KEY6</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#045H</p><p>  LJMP SET_TIMER</p><p><b>  KEY6:</b></p><p&

88、gt;  CJNE R0,#0DFH,KEY7</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#92H</p><p>  LJMP SET_TIMER</p><p><b>  KEY7:</b></p><p>  CJNE R0,#0BFH,KEY8&

89、lt;/p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#0D6H</p><p>  LJMP SET_TIMER</p><p><b>  KEY8:</b></p><p>  CJNE R0,#7FH,NOKEY</p><p>  L

90、OOP1: MOV R0, BUZZ</p><p>  CJNE R0,#7DH,LOOP</p><p>  LJMP MAIN1</p><p>  LOOP: CJNE R0,#0FFH,LOOP1</p><p>  LJMP OSTART</p><p>  SET_TIMER: SETB TR0&

91、lt;/p><p>  SJMP START</p><p>  NOKEY: CLR TR0</p><p>  SJMP START</p><p>  INT_T0: MOV TH0,30H</p><p>  MOV TL0,31H</p><p>  CPL BUZZ1</p&

92、gt;<p><b>  RETI</b></p><p>  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</p><p><b>  OSTART:</b></p><p>  MOV R0, BUZZ</p><p>  CJNE R0,#

93、0FFH,OKEY1</p><p><b>  CLR TR0</b></p><p>  SJMP OSTART</p><p><b>  OKEY1:</b></p><p>  CJNE R0,#0BFH,OKEY2</p><p>  MOV 30H,#0FBH&

94、lt;/p><p>  MOV 31H,#0E9H</p><p>  LJMP OSET_TIMER</p><p><b>  OKEY2:</b></p><p>  CJNE R0,#0DFH,OKEY3</p><p>  MOV 30H,#0FCH</p><p>

95、  MOV 31H,#5CH</p><p>  LJMP OSET_TIMER</p><p><b>  OKEY3:</b></p><p>  CJNE R0,#0EFH,OKEY4</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0C1H</p

96、><p>  LJMP OSET_TIMER</p><p><b>  OKEY4:</b></p><p>  CJNE R0,#0F7H,OKEY5</p><p>  MOV 30H,#0FCH</p><p>  MOV 31H,#0EFH</p><p>  LJM

97、P OSET_TIMER</p><p><b>  OKEY5:</b></p><p>  CJNE R0,#0FBH,OKEY6</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#045H</p><p>  LJMP OSET_TIMER</p&g

98、t;<p><b>  OKEY6:</b></p><p>  CJNE R0,#0FDH,OKEY7</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#92H</p><p>  LJMP OSET_TIMER</p><p><b>

99、;  OKEY7:</b></p><p>  CJNE R0,#0FEH,OKEY8</p><p>  MOV 30H,#0FDH</p><p>  MOV 31H,#0D6H</p><p>  LJMP OSET_TIMER</p><p><b>  OKEY8:</b>&

100、lt;/p><p>  CJNE R0,#07FH,ONOKEY</p><p>  LOOP2:MOV R0, BUZZ</p><p>  CJNE R0,#7DH,LOOP3</p><p>  LJMP MAIN1</p><p>  LOOP3: CJNE R0,#0FFH,LOOP2</p>&

101、lt;p>  LJMP START</p><p>  OSET_TIMER:</p><p><b>  SETB TR0</b></p><p>  SJMP OSTART</p><p><b>  ONOKEY:</b></p><p><b>  C

102、LR TR0</b></p><p>  LJMP OSTART</p><p>  ;;;;; ;;;;;;;;;;;;;;;;;;;;;;</p><p>  MAIN1: MOV 40H,#00H</p><p>  NEXT: MOV R0, BUZZ</p><p>  MOV 41H,R

103、0</p><p>  ORL 41H ,#0FEH</p><p>  MOV R0,41H</p><p>  CJNE R0,#0FFH,STOP</p><p>  MOV A,40H</p><p>  MOV DPTR,#SONG</p><p>  MOVC A,@A

104、+DPTR</p><p>  CJNE A,#00H,PLAY</p><p>  LJMP STOP</p><p>  PLAY: MOV R1,A</p><p>  ANL A,#0FH</p><p>  MOV R2,A</p><p>  MOV A,R1&l

105、t;/p><p>  ANL A,#0F0H</p><p>  CJNE A,#00H,MUSIC</p><p><b>  CLR TR1</b></p><p><b>  LJMP DEL</b></p><p>  MUSIC:SWAP A</p&

106、gt;<p><b>  DEC A</b></p><p>  MOV 22H,A</p><p>  ADD A,22H</p><p>  MOV R3,A</p><p>  MOV DPTR,#SONG1</p><p>  MOVC A,@A+DPT

107、R</p><p>  MOV TH1,A</p><p>  MOV 21H,A</p><p>  MOV A,R3</p><p><b>  INC A</b></p><p>  MOVC A,@A+DPTR</p><p>  MOV TL

108、1,A</p><p>  MOV 20H,A</p><p><b>  SETB TR1</b></p><p>  DEL: LCALL DELAY</p><p><b>  INC 40H</b></p><p>  LJMP NEXT</p&g

109、t;<p>  STOP: CLR TR1</p><p>  LJMP START</p><p>  TIME1:PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  CPL BUZZ1</p><p>  MOV TL1

110、,20H</p><p>  MOV TH1,21H</p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p><p>  DELAY:MOV

111、 R7,#02H</p><p>  DELA1:MOV R6,#125</p><p>  DELA2:MOV R5,#248</p><p>  DJNZ R5,$</p><p>  DJNZ R6,DELA2</p><p>  DJNZ R7,DELA1</p><p&g

112、t;  DJNZ R2,DELAY</p><p><b>  RET</b></p><p>  SONG1: DW 64580,64684,64777,64820</p><p>  DW 64898,64968,65030,64260</p><p>  DW 64400,64524,65058,63835,6

113、4021</p><p>  SONG: DB 62H,82H,82H,62H,98H</p><p>  DB 92H,0B2H,0B2H,82H,98H</p><p>  DB 62H,82H,82H,52H,68H</p><p>  DB 92H,0B2H,0B2H,82H,98H</p><p>  D

114、B 62H,82H,82H,62H,92H,92H,94H</p><p>  DB 92H,0B2H,0B2H,92H,84H,94H</p><p>  DB 0B8H,0B4H,04H</p><p><b>  DB 00H</b></p><p><b>  end</b></p&g

115、t;<p>  4.3.3播放“4*4矩陣按鍵”的程序</p><p><b>  ORG 0000H</b></p><p>  JMP STARET</p><p><b>  ORG OOOBH</b></p><p><b>  JMP TIME0</b>

116、</p><p>  STARET:MOV TMOD,#000001B</p><p>  MOV IE,#10000010B</p><p><b>  SETB TR0</b></p><p>  L1: CALL KEY</p><p><b>  CLR EA</b&

117、gt;</p><p><b>  JB F0,L1</b></p><p><b>  MOV A,22H</b></p><p>  MOV A,DPTR,#TABLE1</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV P0

118、,A</b></p><p><b>  MOV A,22H</b></p><p><b>  RL A</b></p><p>  MOV DPTR,#TABLE</p><p>  MOVC A,@A+DPTR</p><p><b>  MOV

119、TH0,A</b></p><p><b>  MOV A,22H</b></p><p><b>  RL A</b></p><p><b>  INC A</b></p><p>  MOVC A,@A+DPTR</p><p><

120、;b>  MOV TL0,A</b></p><p><b>  MOV 20H,A</b></p><p>  L2: CALL KEY</p><p><b>  SETB EA</b></p><p><b>  JB F0,L1</b></

121、p><p><b>  JMP L2</b></p><p>  KEY: SETB F0</p><p>  MOV R3,#0F7H</p><p>  MOV R1,#00H</p><p>  L3: MOV A,R3</p><p><b> 

122、 MOV P3,A</b></p><p><b>  MOV A,P3</b></p><p><b>  SETB C</b></p><p>  MOV R5,#04H</p><p>  L4: RLC A</p><p><b>  JN

123、C KEYIN</b></p><p><b>  INC R1</b></p><p>  DJNZ R5,L4</p><p><b>  MOV A,R3</b></p><p><b>  SETB C</b></p><p><

124、;b>  RRC A</b></p><p><b>  MOV R3,A</b></p><p><b>  JC L3</b></p><p><b>  RET</b></p><p>  KEYIN: MOV 22H,R1</p>&l

125、t;p><b>  CLR F0</b></p><p><b>  RET</b></p><p>  TIME0: PUSH ACC</p><p><b>  PUSH PSW</b></p><p>  MOV TL0,20H</p><p&

126、gt;  MOV TH0,21H</p><p><b>  CPL P2.7</b></p><p><b>  POP PSW</b></p><p><b>  POP ACC</b></p><p><b>  RETI</b></p>

127、<p>  TABLE: 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>  TAB

128、LE1: DB 0CH,98H,48H,40H,1EH</p><p>  DB 9FH,25H,0DH,99H,49H,41H,1FH</p><p>  DB 11H,01H,63H,03H</p><p><b>  END</b></p><p><b>  第五章 調(diào)試</b></p

129、><p>  5.1 WAVE軟件的使用 </p><p>  打開WAVE,新建文件,輸入程序,生成.hex文件,如圖所示</p><p>  5.2 PROTEUS打開軟件的使用</p><p>  PROTEUS設(shè)計硬件電路圖</p><p>  5.3 導(dǎo)入hex文件</p><p>&l

130、t;b>  第六章 總 結(jié)</b></p><p>  隨著畢業(yè)日子的到來,畢業(yè)設(shè)計也接近了尾聲。經(jīng)過奮戰(zhàn)我的畢業(yè)設(shè)計終于完成了。在沒有做畢業(yè)設(shè)計以前覺得畢業(yè)設(shè)計只是對這幾年來所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺

131、得自己什么東西都會,什么東西都懂,有點眼高手低。通過這次畢業(yè)設(shè)計,我才明白學(xué)習(xí)是一個長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。</p><p>  通過本次實習(xí),將書本上學(xué)到的知識應(yīng)用于實踐,學(xué)會了一些電子電路仿真設(shè)計能力,雖然過程中遇到了一些困難,但是在解決這些問題的過程無疑也是對自己自身專業(yè)素質(zhì)的一種提高與肯定。此次設(shè)計不僅增強了自己在專業(yè)設(shè)計方面的信心,鼓舞了自己,更

132、是一次興趣的培養(yǎng)。這次畢業(yè)設(shè)計培養(yǎng)了我的實踐能力和創(chuàng)新精神,作為信息時代的大學(xué)生,僅會書本理論是不夠的,基本的動手能力是一切工作和創(chuàng)造的基礎(chǔ)和必要條件。</p><p>  知識必須通過應(yīng)用才能實現(xiàn)其價值!有些東西以為學(xué)會了,但真正到用的時候才發(fā)現(xiàn)是兩回事,所以我認(rèn)為只有到真正會用的時候才是真的學(xué)會了。  在此要感謝我的指導(dǎo)老師安艷杰對我悉心的指導(dǎo),感謝老師給我的幫助。在設(shè)計過程中,我通過查閱大量有關(guān)資料,與同學(xué)

133、交流經(jīng)驗和自學(xué),并向老師請教等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和欣喜。這次畢業(yè)設(shè)計,使我受益匪淺,從中我對如何使用Proteus及wave有了進(jìn)一步的認(rèn)識和了解。在設(shè)計之前,我對這兩個軟件還不能熟練應(yīng)用,現(xiàn)在可以說是輕

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論