




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、HEFEI UNIVERSITYproteus仿真設(shè)計報告 作品名稱:音樂播放器申報者信息:隊員1:隊員2:0 / 131 引言目前單片機(jī)滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實(shí)時控制和數(shù)據(jù)處理,全自動洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開單片機(jī)。在音樂播放方面,利用單片機(jī)儲存音樂,控制播放也越來越廣泛。為了更好的掌握單片機(jī)的應(yīng)用,用單片機(jī)設(shè)計一個音樂播放器。這樣可以有效的將理論知識與實(shí)踐相結(jié)合。2 設(shè)計要求 以單片機(jī)為核心,設(shè)計一個數(shù)字音樂盒: 利用I/O口產(chǎn)生一定頻率
2、的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演奏樂曲(不少于30s)。 采用LCD顯示信息。歌曲的存儲選用外部存儲器EEPROM三 硬件電路設(shè)計3.1 總體設(shè)計方案本系統(tǒng)以89C51單片機(jī)為控制核心,以按鍵開關(guān)作為控制元件,以揚(yáng)聲器作為執(zhí)行器件,再結(jié)合6MHZ的晶振電路,共同構(gòu)成音樂播放器系統(tǒng)。AT8951單片機(jī)電源電路顯示電路復(fù)位電路12MHZ晶振電路發(fā)聲電路圖1 系統(tǒng)硬件組成3.2 單元電路設(shè)計3.2.1 單片機(jī)簡介89C51單片機(jī)擁有4KB的片內(nèi)ROM和128B的片內(nèi)RAM。ROM和RAM的片外尋址范圍都為64KB。單片機(jī)擁有32個并行口和1個串行口。在89C51單片機(jī)中存在5個中斷源,其中
3、有兩個外部中斷源、兩個內(nèi)部中斷源和一個串行中斷源。圖2 89C51單片機(jī)3.2.2 顯示電路顯示電路是一個1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點(diǎn)陣型液晶模塊它有若干個5X7或者5X11等點(diǎn)陣字符位組成,每個點(diǎn)陣字符位都可以顯示一個字符。每位之間有一個點(diǎn)距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒茱@示圖形 (用自定義CGRAM,顯示效果也不好) 1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數(shù)字)。目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于
4、HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。 圖3 1602字符液晶3.2.3 晶振電路晶振電路由兩個10pF的電容和一個12MHZ的晶體振蕩器組成。節(jié)點(diǎn)1與單片機(jī)的XTAL2相連接。節(jié)點(diǎn)2與單片機(jī)的XTAL1相連接。圖4 晶振電路3.2.4 復(fù)位電路復(fù)位電路由復(fù)位鍵、22uF的電容C3、1K的電阻R9、200的電阻R10組成。節(jié)點(diǎn)1與單片機(jī)的RST相連接。圖5 復(fù)位電路3.2.5 發(fā)聲電路發(fā)聲電路由數(shù)字揚(yáng)聲器組成。揚(yáng)聲器一端接地另一端接單片機(jī)的P3.7。圖6 發(fā)聲電路3.3 總體電路圖圖7 總體電路圖四.系統(tǒng)軟件設(shè)計4.1數(shù)碼音樂產(chǎn)生原理音調(diào)的高低用音階表示,不同的
5、音階對應(yīng)不同的頻率。因此,不同頻率的方波就可以產(chǎn)生音階,音階與頻率的關(guān)系見表1。由于頻率的倒數(shù)是周期,因此可由單片機(jī)中的定時控制方波周期,當(dāng)定時器計數(shù)溢出時產(chǎn)生中斷。將與揚(yáng)聲器連接的P1.7取反后就可得到方波的周期,從而達(dá)到了控制頻率,即音階的目的。表1 音階與頻率的關(guān)系及方式1下定時器的初值音階頻率(Hz)定時器初值音階頻率(Hz)定時器初值音階頻率(Hz)定時器初值1234567013114716517519622024700F85EH0F933H0F9F0H0FA49H0FAE6H0FB74H,0FBF4H0100H1234567026229433034939244049400FC2FH
6、0FC99H0FCF8H0FD22H0FD73H0FDBAH0FDFAH0100H1234567052358765969878488098800FE17H0FE4CH0FE7CH0FE91H0FEB9H0FEDDH0FEFDH0100H低八度音中音高八度音注:0表示簡譜中的空拍當(dāng)晶體振蕩頻率為6.144MHz,定時器工作在方式1下時,若各音階相對應(yīng)的定時器計數(shù)初值為X,則可根據(jù)下式計算X:音調(diào)的長短用節(jié)拍數(shù)表示(例如1/4拍、2/4拍、),不同節(jié)拍數(shù)的不同音符的組合形成樂譜。程序中,音的節(jié)拍可由延時子程序?qū)崿F(xiàn)。延時子程序設(shè)定為四分之一拍,節(jié)拍值只能是它的整數(shù)倍。4.2 總體流程圖主程序?qū)崿F(xiàn)對單
7、片機(jī)進(jìn)行初始化后,進(jìn)入曲目識別子程序,進(jìn)行歌曲曲目判斷。確定歌曲曲目后,LCD再進(jìn)行顯示。執(zhí)行播放后,LCD顯示并播放音樂。在播放音樂。開始 LCD初始化播放音樂顯示圖8 總體流程圖圖4.3 仿真測試圖11 結(jié)果顯示圖4.4 測試總結(jié)音樂播放器很好的實(shí)現(xiàn)了播放,但是在實(shí)現(xiàn)播放長度方面還有不足,因?yàn)閷ν饨哟鎯ζ鞯氖褂眠€不是很熟悉,擴(kuò)充四片EEPROM,可實(shí)現(xiàn)更長時間的播放,本次試驗(yàn)使用的是較為簡單的循環(huán)播放模式。附錄一仿真結(jié)果附錄二代碼/* 文件名 : 液晶1602顯示.c*/#include <reg52.h>#include <intrins.h>#define uc
8、har unsigned char#define uint unsigned int/這三個引腳參考資料sbit E=P27;/1602使能引腳sbit RW=P26;/1602讀寫引腳sbit RS=P25;/1602數(shù)據(jù)/命令選擇引腳sbit BEEP=P37;uchar code SONG_TONE= 212,212,190,212,159,169,212,212,190,212,142,159,212,212,106,126,159,169,190,119,119,126,159,142,159,0;uchar code SONG_LONG=9,3,12,12,12,24,9,3,12
9、,12,12,24,9,3,12,12,12,12,12,9,3,12,12,12,24,0;/* 名稱 : delay()* 功能 : 延時,延時時間大概為5US。*/void delay()_nop_();_nop_();_nop_();_nop_();_nop_();/* 名稱 : bit Busy(void)* 功能 : 這個是一個讀狀態(tài)函數(shù),讀出函數(shù)是否處在忙狀態(tài)* 輸入 : 輸入的命令值*/bit Busy(void)bit busy_flag = 0;RS = 0;RW = 1;E = 1;delay();busy_flag = (bit)(P0 & 0x80);E =
10、0;return busy_flag;/* 名稱 : wcmd(uchar del)* 功能 : 1602命令函數(shù)* 輸入 : 輸入的命令值*/void wcmd(uchar del)while(Busy();RS = 0;RW = 0;E = 0;delay();P0 = del;delay();E = 1;delay();E = 0;/* 名稱 : wdata(uchar del)* 功能 : 1602寫數(shù)據(jù)函數(shù)* 輸入 : 需要寫入1602的數(shù)據(jù)*/void wdata(uchar del)while(Busy();RS = 1;RW = 0;E = 0;delay();P0 = del
11、; delay();E = 1;delay();E = 0;void DelayMS(uint ms)uchar t;while(ms-) for(t=0;t<120;t+);void PlayMusic()uint i=0,j,k;while( SONG_LONGi != SONG_TONEi != 0)/播放各個音符,SONG_LONG為拍子長度for(j=0;j<SONG_LONGi*20;j+)BEEP=BEEP;/SONG_TONE延時表決定了每個音符的頻率for(k=0;k<SONG_TONEi/3;k+);DelayMS(10);/下一個音符索引i+;/* 名稱
12、 : L1602_init()* 功能 : 1602初始化*/void L1602_init(void)wcmd(0x38);wcmd(0x0c);wcmd(0x06);wcmd(0x01);/* 名稱 : L1602_char(uchar hang,uchar lie,char sign)*/void L1602_char(uchar hang,uchar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;wcmd(a);wdata(sign);/* 名稱 : L1602_str
13、ing(uchar hang,uchar lie,uchar *p)*/void L1602_string(uchar hang,uchar lie,uchar *p)uchar a,b=0;if(hang = 1) a = 0x80;if(hang = 2) a = 0xc0;a = a + lie - 1;while(1)wcmd(a+);b+;if(*p = '0')|(b=16) break;wdata(*p);p+;/* 名稱 : Main()*/void main()L1602_init();L1602_string(1,1," HAPPY BIRTHDA
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理配藥考試題及答案
- 菏澤駕考試題及答案
- 韓語精讀考試題及答案
- 法律基礎(chǔ)試題及答案
- 合川村官考試題及答案
- 航空教練考試題及答案
- 音樂知識試題及答案
- 商品展銷會活動方案
- 國慶節(jié)中秋節(jié)活動方案
- 商會會員活動方案
- JJF 1139-2005計量器具檢定周期確定原則和方法
- GB/T 27922-2011商品售后服務(wù)評價體系
- 生物科技有限公司外勤出差申請表
- GA/T 1567-2019城市道路交通隔離欄設(shè)置指南
- LX電動單梁懸掛說明書介紹
- 消防水池檢查記錄
- 工程竣工圖章樣式
- 航天器用j30jh系列微型矩形電連接器
- 拆除新建橋梁鉆孔樁專項(xiàng)施工方案
- 技工序列考評、評聘管理辦法
- 2022年哈爾濱建設(shè)發(fā)展集團(tuán)有限責(zé)任公司招聘筆試題庫及答案解析
評論
0/150
提交評論