




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、鄭州科技學院單片機課程設計 題 目 按鍵控制定時器選播多段音樂學生姓名 張三 專業(yè)班級 15級物聯(lián)網(wǎng)一班 學 號 院 (系) 信息工程學院 指導教師 王 完成時間 2017年6月8日 1、 背景介紹 如今,電子技術獲得了飛速的發(fā)展,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領域。目前,單片機正朝著高性能和多品種方向發(fā)展趨勢將是進一步想著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路裝化等幾個方面發(fā)展。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機
2、。它的體積小、質(zhì)量輕、價格便宜、為學習、應用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。單片機內(nèi)部也用和電腦功能類似的模塊,比如CPU、內(nèi)存、并行總線。還有和硬件作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是很低的。利用單片機實現(xiàn)音樂播放有很多要點,例如外部電路簡單,控制方便等,因而備受廣大單片機愛好者的喜愛。通過音樂播放器的設計方案,掌握C語言的編寫方法。并熟練的運用80C51單片機定時器產(chǎn)生固定頻率的方波信號,推動喇叭發(fā)出旋律,按下單鍵可以演奏預先設置的歌曲旋律,最重要的是自己還可以通過程序設計輸入自己喜歡的歌曲來演奏,
3、本設計采用簡易音階編碼直覺式輸入法方便設計音樂旋律。本文將圍繞基于單片機按鍵控制定時器選播多段音樂,介紹一些關于單片機的基礎知識、音樂播放器的制作原理及方法(其中包括了音樂編程原理)、定時器的設定,以及仿真軟件(Keil、Proteus)的使用方法。二、設計方案1、方案設計對于C51單片機,它抗干擾性較強,且集成度高、功能強、指令豐富等,可以應用的地方較數(shù)字電路更多一些,廣泛應用于工業(yè)控制系統(tǒng),數(shù)據(jù)采集系統(tǒng)、智能化儀器儀表及通訊設備。而且單片機已經(jīng)深入到工業(yè)生產(chǎn)的各個環(huán)節(jié)以及人民生活的各個層次。采用的是基于C51單片機的音樂播放器的設計,該系統(tǒng)控制性能良好,硬件電路簡單、經(jīng)濟實惠,能得到更好的
4、效果。本設計以at89C51單片機為核心,通過對其定時器的設定來實現(xiàn)音樂的播放,借助鍵盤可以向計算機系統(tǒng)輸入程序,置數(shù)、送操作命令、控制程序的執(zhí)行走向等,并最終通過數(shù)碼管顯示出播放曲目的標號。 2、方案要求音樂播放器按照從頭到尾的順序自動播放預先設定的1-3共3首樂曲,全部樂曲播放完畢則停止。 按鍵分別是播放鍵。按下播放鍵時,音樂播放器會在當前播放的音樂切換播放和暫停;2.3、音樂播放器的組成據(jù)系統(tǒng)按鍵控制定時器選播多段音樂的功能要求,一個完整的音樂播放器電路相當于一個簡單的單片機系統(tǒng),該系統(tǒng)由按鍵開關、單片機、LED顯示電路、揚聲器控制電路4個方面構成。1.51單片機:at89c51單片機為
5、整個系統(tǒng)的核心部分,是帶動整個系統(tǒng)工作的重要部分。2.揚聲器:揚聲器用一蜂鳴器,作為輸出部分按照鍵盤給單片機的指令發(fā)出樂曲。3.LED數(shù)碼管顯示電路:LED數(shù)碼管也作為輸出部分按照鍵盤給單片機的指令,顯示正在演奏的樂曲的序號。 設計圖音樂播放電路:單片機介紹:(1)中央處理器(CPU)中央處理器是單片機的核心,完成運算和控制功能。8051的CPU能處理8位二進制數(shù)或代碼。(2)內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)8951芯片中共有256個RAM單元,但其中后128單元被專用寄存器占用,能作為寄存器供用戶使用的只是前128單元,用于存放可讀寫的數(shù)據(jù)。因此通常所說的內(nèi)部數(shù)據(jù)存儲器就是指前128單元,簡稱內(nèi)
6、部RAM。(3)內(nèi)部程序存儲器(內(nèi)部ROM)8951共有4KB掩膜ROM,用于存放程序、原始數(shù)據(jù)或表格,因此,稱之為程序存儲器,簡稱內(nèi)部ROM。(4)定時/計數(shù)器8951共有兩個16位的定時/計數(shù)器,以實現(xiàn)定時或計數(shù)功能,并以其定時或計數(shù)結果對計算機進行控制。 (5)并行I/O口 MCS-51共有4個8位的I/O口(P0、P1、P2、P3),以實現(xiàn)數(shù)據(jù)的并行輸入/輸出。(6)串行口8951單片機有一個全雙工的串行口,以實現(xiàn)單片機和其它設備之間的串行數(shù)據(jù)傳送。該串行口功能較強,既可作為全雙工異步通信收發(fā)器使用,也可作為同步移位器使用。(7)中斷控制系統(tǒng)8951單片機的中斷功能較強,以滿足控制應用
7、的需要。8051共有5個中斷源,即外中斷兩個,定時/計數(shù)中斷兩個,串行中斷一個。全部中斷分為高級和低級共兩個優(yōu)先級別。 (8) 時鐘電路8951芯片的內(nèi)部有時鐘電路,但石英晶體和微調(diào)電容需外接。時鐘電路為單片機產(chǎn)生時鐘脈沖序列。系統(tǒng)允許的晶振頻率一般為6 MHz和12 MHz。從上述內(nèi)容可以看出,MCS-51雖然是一個單片機芯片,但作為計算機應該具有的基本部件它都包括,因此,實際上它已是一個簡單的微型計算機系統(tǒng)了。8951是標準的40引腳雙列直插式集成電路芯片。信號引腳介紹:(1)主電源引腳VCC:+5 V電源VSS:地線。(2)時鐘電路引腳 XTAL1和XTAL2:外接晶體引線端。當使用芯片
8、內(nèi)部時鐘時,此二引線端用于外接石英晶體和微調(diào)電容;當使用外部時鐘時,用于接外部時鐘脈沖信號。(3)控制信號引腳 RST/VPD:復位信號。當輸入的復位信號延續(xù)兩個機器周期以上的高電平時即為有效,用以完成單片機的復位初始化操作;當單片機掉電時,此引腳上可接備用電源,由VPD向片內(nèi)RAM提供備用電源,一保持片內(nèi)RAM中的數(shù)據(jù)不丟失。 ALE/PROG:地址鎖存控制信號。在系統(tǒng)擴展時,ALE用于控制把P0口輸出的低8位地址鎖存起來,以實現(xiàn)低位地址和數(shù)據(jù)的隔離。此外,由于ALE是以晶振1/6的固定頻率輸出的正脈沖,因此,可作為外部時鐘或外部定時脈沖使用。對于EPROM型單片機,在EPRAM編程期間,此
9、引腳接收編程脈沖。 PSEN:片外程序存儲器讀選通信號輸出端。 EA/VPP:訪問程序存儲控制信號。當EA信號為低電平時,對ROM的讀操作限定在外部程序存儲器;當EA信號為高電平時,對ROM的讀操作是從內(nèi)部程序存儲器開始,并可延至外部程序存儲器。對于EPROM型單片機,在EPRAM編程期間,此引腳接上加21V EPROM編程電源VPP。(4)I/O引腳P0.0 P0.7: P0口8位雙向口線。P1.0 P1.7 :P1口8位雙向口線。P2.0 P2.7 :P2口8位雙向口線。P3.0 P3.7 :P3口8位雙向口線。 P3口線的第二功能。P3的8條口線都定義有第二功能。引腳第二功能信號名稱P3
10、.0RXD串行數(shù)據(jù)接收P3.1TXD串行數(shù)據(jù)發(fā)送P3.2INT0外部中斷0申請P3.3INT1外部中斷1申請P3.4T0定時/計數(shù)器0的外部輸入P3.5T1定時/計數(shù)器1的外部輸入P3.6WR外部RAM寫選通P3.7RD外部RAM讀選通以上把8951單片機的全部信號引腳分別以第一功能和第二功能的形式列出。對于各種型號的芯片,其引腳的第一功能信號是相同的,所不同的只在引腳的第二功能信號。對于9、30和31三個引腳,由于第一功能信號與第二功能信號是單片機在不同工作方式下的信號,因此不會發(fā)生使用上的矛盾。但是P3口的情況卻有所不同,它的第二功能信號都是單片機的重要控制信號。因此,在實際使用時,都是先
11、按需要選用第二功能信號,剩下的才以第一功能的身份作數(shù)據(jù)位的輸入/輸出使用。B 并行輸入/輸出口電路結構單片機芯片內(nèi)還有一項主要內(nèi)容就是并行I/O口。8051共有4個8位的并行I/O口,分別記作P0、P1、P2、P3。每個口都包含一個鎖存器、一個輸出驅(qū)動器和輸入緩沖器。實際上,它們已被歸入專用寄存器之列,并且具有字節(jié)尋址和位尋址功能。在訪問片外擴展存儲器時,低8位地址和數(shù)據(jù)由P0口分時傳送,高8位地址由P2口傳送。在無片外擴展存儲器的系統(tǒng)中,這4個口的每一位均可作為雙向的I/O端口使用。8951單片機的4個I/O口都是8位雙向口,這些口在結構和特性上是基本相同的,但又各具特點。 中斷源中斷源:引
12、起中斷的事件或設備稱為中斷源。采用中斷的優(yōu)點:良好的中斷系統(tǒng)使處理機具有隨機應變的能力,從而擴大應用范圍,提高CPU效率51中斷系統(tǒng)的特點:內(nèi)容豐富,結構合理,邏輯性強,高效實用中斷源是指能發(fā)出中斷請求,引起中斷的裝置或事件。8051單片機的中斷源共有5個,其中2個為外部中斷源,3個為內(nèi)部中斷源: INT0:外部中斷0,中斷請求信號由P3.2輸入。 INT1:外部中斷1,中斷請求信號由P3.3輸入。 T0:定時/計數(shù)器0溢出中斷,對外部脈沖計數(shù)由P3.4輸入。 T1:定時/計數(shù)器1溢出中斷,對外部脈沖計數(shù)由P3.5輸入。 串行中斷:包括串行接收中斷RI和串行發(fā)送中斷TI。 中斷寄存器8951單
13、片機中涉及中斷控制的有3個方面4個特殊功能寄存器: 中斷請求:定時和外中斷控制寄存器TCON;串行控制寄存器SCON; 中斷允許控制寄存器IE; 中斷優(yōu)先級控制寄存器IP。 中斷請求控制寄存器TCONINT0、INT1、T0、T1中斷請求標志放在TCON中串行中斷請求標志放在SCON中。TCON的結構、位名稱、位地址如下:表 3-2 TCON的狀態(tài)TCOND7D6D5D4D3D2D1D0位名稱TF1-TF0-IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTCON位功能: TF1 T1溢出中斷請求標志,T1計數(shù)溢出后,TF1=1 TF0 T0溢出中斷請求標志 T0
14、計數(shù)溢出后,TF0=1 IE1 外中斷中斷請求標志 當P3.3引腳信號有效時,IE1=1 IE0 外中斷中斷請求標志 當P3.2引腳信號有效時,IE0=1 IT1 外中斷觸發(fā)方式控制位 IT1=1,邊沿觸發(fā)方式; IT1=0,電平觸發(fā)方式。 IT0 外中斷觸發(fā)方式控制位 其意義和功能與IT1相似。(2)中斷請求控制寄存器SCONSCON的結構、位名稱、位地址如下: TI 串行口發(fā)送中斷請求標志 RI 串行口接收中斷請求標志SCOND7D6D5D4D3D2D1D0位名稱-TIRI位地址-99H98H(3)中斷允許控制寄存器IE8951對中斷源的開放或關閉由中斷允許控制寄存器IE控制。IE的結構、
15、位名稱和位地址如下:表 3-4 IE的狀態(tài)IED7D6D5D4D3D2D1D0位名稱EA-ESET1EX1ET0EX0位地址AFH-ACHABHAAHA9HA8H EA CPU中斷允許控制位 EA=1,CPU開中; EA=0,CPU關中,且屏蔽所有5個中斷源。 EX0 外中斷INT0中斷允許控制位 EX0=1,INT0開中;EX0=0,INT0關中。 EX1 外中斷INT1中斷允許控制位 EX1=1,INT1開中;EX1=0,INT1關中。 ET0 定時/計數(shù)器T0中斷允許控制位 ET0=1,T0開中;ET0=0,T0關中。 ET1 定時/計數(shù)器T1中斷允許控制位 ET1=1,T1開中;ET1
16、=0,T1關中。 ES 串行口中斷(包括串發(fā)、串收)允許控制位 ES=1,串行口開中;ES=0,串行口關中。復位電路單片機復位電路是用來讓程序回到初始狀態(tài)并重新執(zhí)行的。單片機系統(tǒng)在運行中受到各種因素影響不能正常執(zhí)行時,按下復位按鈕內(nèi)部的程序就會自動從頭開始執(zhí)行。當單片機的復位引腳RET出現(xiàn)5ms以上的高電平時,單片機就完成了復位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài),而無法執(zhí)行程序。為了使單片機復位后能脫離復位狀態(tài),通常選擇C=1030uF,R=101k。在單片機啟動后,電容C兩端的電壓持續(xù)充電為5V,這是時候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當
17、按鍵按下的時候,開關導通,這個時候電容兩端形成了一個回路,電容被短路,所以在按鍵按下的這個過程中,電容開始釋放之前充的電量。隨著時間的推移,電容的電壓從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個時候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機系統(tǒng)自動復位。 中斷入口地址8051的五個中斷入口地址:INT0:0003H;T0:000BH;INT1:0013HT1:001BH;串行口:0023H 中斷優(yōu)先控制和中斷嵌套(1) 中斷優(yōu)先控制8951中斷優(yōu)先控制首先根據(jù)中斷優(yōu)先級,此外還規(guī)定了同一中斷優(yōu)先級之間的中斷優(yōu)先權。其從高到低的順序為
18、:INT0、INT1、T0、T1、串行口。(2) 中斷嵌套當CPU正在執(zhí)行某個中斷服務程序時,如果發(fā)生更高一級的中斷源請求中斷,CPU可以“中斷”正在執(zhí)行的低優(yōu)先級中斷,轉而響應更高一級的中斷,這就是中斷嵌套。中斷嵌套只能高優(yōu)先級“中斷”低優(yōu)先級,低優(yōu)先級不能“中斷”高優(yōu)先級,同一優(yōu)先級也不能相互“中斷”。3、 系統(tǒng)程序#include#include#define uchar unsigned char#define uint unsigned intsbit K1=P10; /播放和停止鍵sbit SPK=P37;/蜂鳴器uchar Song_Index=0,Tone_Index=0;/當
19、前音樂段索引,音符索引/數(shù)碼管段碼表uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/標準音符頻率對應的延時表uchar code HI_LIST=0,226,229,232,233,236,238,240,241,242,244,245,246,247,248;uchar code LO_LIST=0,4,13,10,20,3,8,6,2,23,5,26,1,4,3;/三段音樂的音符uchar code Song50=1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,
20、3,5,3,2,1,2,1,-1,3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,53,3,2,1,1,-1,3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1;/三段音樂的節(jié)拍uchar code Len50=1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1
21、,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1;/外部中斷0void EX0_INT() interrupt 0TR0=0;/播放結束或者播放中途切換歌曲時停止播放Song_Index=(Song_Index+1)%3;/跳到下一首的開頭Tone_Index=0;P2=DSY_CODESong_Index; /數(shù)碼管顯示當前音樂段號/定時器0中斷函數(shù)void T0_INT() interrupt 1TL0=LO_LISTSongSong_IndexTone_Index;TH0=HI_LISTSongSong_IndexTone_Index;SPK=SPK;/延時void Del
22、ayMS(uint ms)uchar t;while(ms-) for(t=0;t120;t+);/主程序void main()P2=0xc0;SPK=0;TMOD=0x00;/T0方式0IE=0x83;IT0=1;IP=0x02;while(1)while(K1=1);/未按鍵等待while(K1=0);/等待釋放TR0=1;/開始播放Tone_Index=0;/從第0個音符開始/播放過程中按下K1可提前停止播放(K1=0)。/若切換音樂段會觸發(fā)外部中斷,導致TR0=0,播放也會停止while(SongSong_IndexTone_Index!=-1&K1=1&TR0=1)DelayMS(300*LenSong_IndexTone_Index);/播放延時(節(jié)拍)Tone_Index+;/當前音樂段的下一音符索引TR0=0;/停止播放while(K1=0);/若提前停止播放,按鍵未釋放時等待4、 軟件流程 五、仿真器設置曲目序號顯示程序仿真音樂播放程序調(diào)試過程關于音樂播放程序的調(diào)試,我首先采用Preteus軟件來仿真,并在單片機的P1.0處用三極管連接一個簡單的音頻放大器,再外接一個蜂鳴器。,想通過這樣來仿真并調(diào)試單片機按鍵控制定時器選播多段音樂,程序運行的時候,能看見顯示器有數(shù)字變化。 未加入程序時仿真器設置 調(diào)試時,將keil生成的hex文件加入 仿真圖中,點擊播
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 品牌口碑提升計劃
- 創(chuàng)新思維與解決方案探討計劃
- 《四川省木里縣灰?guī)r山金礦普查實施方案》評審意見書
- 2025年美術元宵燈會標準教案
- 三年級數(shù)學下冊7小數(shù)的初步認識教學反思二新人教版
- 健康保險類知識培訓課件
- 2025年山西道路貨運從業(yè)資格證考試
- 2025年甘肅貨運從業(yè)資格證模擬考試試題答案
- 人教版八年級歷史與社會下冊教學設計:5.1.3《農(nóng)耕文明的繁盛》
- 2025年巢湖道路運輸從業(yè)資格證
- 湖南省2023年普通高等學校對口招生考試英語試卷
- 中國大米等糧食項目投資可行性研究報告
- 第11課《山地回憶》公開課一等獎創(chuàng)新教學設計
- 5.第五周 植此青綠共筑“雙碳”新未來
- java安全編碼規(guī)范
- 學校保潔服務投標方案(技術標)
- 環(huán)境和職業(yè)健康安全類法律法規(guī)、標準規(guī)范清單(2023年7月)
- 獸醫(yī)檢驗測試題(附參考答案)
- 《臍橙采摘機器人結構設計》13000字(論文)
- 2025年保險公司工作計劃
- 蜜柚種植基地新建項目可行性研究報告
評論
0/150
提交評論