基于單片機(jī)的音樂播放器設(shè)計(jì)畢業(yè)論文(附帶程序與原理圖)_第1頁(yè)
基于單片機(jī)的音樂播放器設(shè)計(jì)畢業(yè)論文(附帶程序與原理圖)_第2頁(yè)
基于單片機(jī)的音樂播放器設(shè)計(jì)畢業(yè)論文(附帶程序與原理圖)_第3頁(yè)
基于單片機(jī)的音樂播放器設(shè)計(jì)畢業(yè)論文(附帶程序與原理圖)_第4頁(yè)
基于單片機(jī)的音樂播放器設(shè)計(jì)畢業(yè)論文(附帶程序與原理圖)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、* 大 學(xué)畢 業(yè) 設(shè) 計(jì)( 論 文 )題目基于單片機(jī)的音樂播放器設(shè)計(jì)作者*學(xué)院*學(xué)院專業(yè)電子信息科學(xué)與技術(shù)學(xué)號(hào)110802*指導(dǎo)教師*二一五 年 五 月 二十 日摘 要設(shè)計(jì)了一種基于STC89C51單片機(jī)控制的音樂播放器,該播放器具有歌曲播放、歌名顯示、彩燈伴奏等功能,并采用紅外遙控作為歌曲播放控制器,這使得整個(gè)設(shè)計(jì)具有觀賞性的同時(shí)操作也更加便捷。該設(shè)計(jì)主要分五個(gè)模塊,分別為單片機(jī)核心模塊、紅外遙控模塊、彩燈伴奏模塊、發(fā)聲模塊與液晶(LCD)歌曲信息顯示模塊,文章對(duì)每個(gè)模塊做了簡(jiǎn)單的介紹,并對(duì)音樂發(fā)聲原理做了詳細(xì)的說明。本設(shè)計(jì)利用Keil軟件對(duì)系統(tǒng)程序進(jìn)行調(diào)試和編譯,并配合使用Altium D

2、esigner對(duì)硬件電路的進(jìn)行設(shè)計(jì)與仿真,使得設(shè)計(jì)更加順利。關(guān)鍵詞:51單片機(jī)控制系統(tǒng);紅外無線遙控;發(fā)聲原理;Altium DesignerABSTRACTThis thesis is HYPERLINK C:/Users/ZY/AppData/Local/Youdao/Dict/Application/6.1.51.3321/resultui/frame/javascript:void(0); describe a music player design based on 89c51 series single chip , the design is set of songs infor

3、mation shows , lights accompaniment. And introduct the infrared remote control as the songs controller HYPERLINK C:/Users/ZY/AppData/Local/Youdao/Dict/Application/6.1.51.3321/resultui/frame/javascript:void(0); in HYPERLINK C:/Users/ZY/AppData/Local/Youdao/Dict/Application/6.1.51.3321/resultui/frame/

4、javascript:void(0); a HYPERLINK C:/Users/ZY/AppData/Local/Youdao/Dict/Application/6.1.51.3321/resultui/frame/javascript:void(0); creative HYPERLINK C:/Users/ZY/AppData/Local/Youdao/Dict/Application/6.1.51.3321/resultui/frame/javascript:void(0); way, that make whole design are ornamental and handled

5、easily.This design is divided into five modules, the five HYPERLINK C:/Users/ZY/AppData/Local/Youdao/Dict/Application/6.1.51.3321/resultui/frame/javascript:void(0); modules are Micro Control Unit(MCU)module, infrared remote control module, lights accompaniment module, voice module and Liquid Crystal

6、 Display(LCD)song information display module, the article made a simple introduction for each module, and has made the detailed instructions of music sound principles.This design using Keil software to debugging program of the system , and cooperate with Altium Designer(AD)for hardware circuit desig

7、n and simulation, which making it smoother.Key words:systems-on-chips; infrared controller;vocalism principle;The Altium Designer目 錄摘 要 i TOC o 1-3 u 第一章 前言 1第二章 概論 22.1 單片機(jī)簡(jiǎn)介 22.2 單片機(jī)特點(diǎn)及應(yīng)用 2第三章 系統(tǒng)硬件原理與設(shè)計(jì) 43.1 STC單片機(jī)系統(tǒng) 43.2 紅外接收模塊 53.3 LCD液晶顯示模塊 73.4 LED彩燈模塊 73.5 發(fā)聲模塊 8第四章 系統(tǒng)軟件原理與設(shè)計(jì) 94.1 音樂基礎(chǔ)知識(shí) 94.2

8、 單片機(jī)發(fā)聲的基本原理 9第五章 系統(tǒng)調(diào)試與仿真 135.1 程序調(diào)試與下載軟件135.2 原理圖設(shè)計(jì)與PCB制作14 TOC o 1-3 u 第六章 結(jié)論 PAGEREF _Toc289548499 h 15參考文獻(xiàn) 16致 謝 17附錄A: 系統(tǒng)程序代碼 PAGEREF _Toc289548500 h 18附錄B: 音樂播放器硬件原理圖 PAGEREF _Toc289548502 h 28附錄C: 音樂播放器PCB布線圖 PAGEREF _Toc289548503 h 29第一章 前 言當(dāng)今世界是一個(gè)以科技為主導(dǎo)的世界,電子技術(shù)進(jìn)入了飛速發(fā)展的階段,微型計(jì)算機(jī)的出現(xiàn)便是很好的見證。單片機(jī)技

9、術(shù)的產(chǎn)生更是現(xiàn)代工業(yè)技術(shù)革命的一次新的突破。單片機(jī)發(fā)展至現(xiàn)在,在其功能、體積、可靠性和造價(jià)等方面已展現(xiàn)出其他微機(jī)難以比擬的優(yōu)勢(shì),這也使得其在工業(yè)控制、智能儀器設(shè)備、數(shù)據(jù)分析系統(tǒng)、自動(dòng)化辦公等眾多平臺(tái)得到極為廣泛的運(yùn)用。與此同時(shí),以單片機(jī)為控制中心的小型電子設(shè)備也日益增加,本設(shè)計(jì)就是以單片機(jī)為中心的小型音樂視聽設(shè)備。人類最初是用聲帶進(jìn)行歌唱的,這便是音樂的起源。隨著人類智慧的快速發(fā)展,人們不再滿足于自己的聲帶,而是配合使用起了各種工具。除了用聲音唱歌外,在管上鑿孔或者張弦來奏出音樂作為娛樂,這便產(chǎn)生了樂器。慢慢的,人們對(duì)樂器的要求也愈來愈高,在樂器種類等等方面提出了越來越多的要求。這便使得樂器種

10、類日益增多,演奏形式也更加變化多樣,如今電子音樂時(shí)代的到來更是讓音樂更加豐富多彩。為了讓音樂播放器更加實(shí)用,設(shè)計(jì)時(shí)使用LCD液晶顯示來顯示樂曲信息,用LED燈做伴奏彩燈,并創(chuàng)造性使用紅外遙控作為播放控制器。整個(gè)系統(tǒng)由STC89C52系列的單片機(jī)控制,結(jié)合C語(yǔ)言編程來完成系統(tǒng)的設(shè)計(jì)制作。第二章 概論2.1 單片機(jī)簡(jiǎn)介單片機(jī)又稱為單片微型計(jì)算機(jī),它不是一個(gè)一般的常見的邏輯芯片,而是一個(gè)在一塊不大的半導(dǎo)體硅片上集成了包括MCU、ROM以及定時(shí)計(jì)數(shù)器等器件的,一個(gè)比較完整的微型處理器系統(tǒng)。它分為專用型和通用性兩種,我們一般使用的是通用型的,因?yàn)槠潴w積小、質(zhì)量輕、價(jià)格便宜,被學(xué)習(xí)和開發(fā)者追捧,成了學(xué)習(xí)計(jì)

11、算機(jī)原理與結(jié)構(gòu)的最佳選擇。最古老的單片微機(jī)是英特爾公司在1976年發(fā)布的MCS-48系列的單片微機(jī),它是一個(gè)含8位處理器的微機(jī),并包含有1024B的 ROM、64B RAM以及27個(gè)I/O口,一個(gè)定時(shí)器,2個(gè)中斷源。這個(gè)單片機(jī)功能并不強(qiáng)大,但在當(dāng)時(shí)來講已經(jīng)非常不錯(cuò)了。而隨著單片機(jī)的性能逐漸完善,單片機(jī)開始朝著微控制器化發(fā)展。到1982年,MSC-96系列的單片機(jī)在系統(tǒng)配置上有了較大的提升,除了CPU、 ROM等方面有了改進(jìn),還另外包括8路10位的ADC,1路PWM的輸出和高速I/O口等等,功能已相當(dāng)強(qiáng)大。盡管單片機(jī)種類繁多,但我們使用的較多的還是51系列的,MCS-51系列單片機(jī)一般集成了可以

12、由軟件來設(shè)定的5個(gè)中斷源,包過高優(yōu)先級(jí)和低優(yōu)先級(jí)兩個(gè)中斷優(yōu)先級(jí)1。本次設(shè)計(jì)也是以51系列單片機(jī)作為核心系統(tǒng)控制部分。2.2 單片機(jī)特點(diǎn)及應(yīng)用單片機(jī)與微處理器有些不同,微處理器的設(shè)計(jì)主要是考慮其計(jì)算機(jī)性能以及滿足其外接設(shè)備和網(wǎng)絡(luò)接口的,而單片機(jī)則主要從工業(yè)控制方面出發(fā),為了加強(qiáng)其控制能力,從而提高工業(yè)環(huán)境下的可靠性、靈活性等。單片機(jī)有如下特點(diǎn):一、型號(hào)多樣且種類繁多;二、存儲(chǔ)容量大;三、頻率和速度都高;四、集成度高、可控性強(qiáng);五、功耗低;六、配套軟件多,易擴(kuò)展。正因?yàn)樗腥绱颂攸c(diǎn),使得其在許多領(lǐng)域都能得以應(yīng)用: 一、在 HYPERLINK :/ baidu /s?wd=%E5%AE%B6%E7%

13、94%A8%E7%94%B5%E5%99%A8&hl_tag=textlink&tn=SE_hldp01350_v6v6zkg6 t :/zhidao.baidu /_blank 家用電器中的應(yīng)用:如今智能家居受到越來越多家庭的喜愛,單片機(jī)控制的智能家居讓生活更加方便,更加安全。 二、在醫(yī)療設(shè)備中的運(yùn)用:血糖儀,供氧設(shè)備,人體分析儀器,血養(yǎng)測(cè)試儀,等醫(yī)學(xué)分析和生命科學(xué)儀器都與單片機(jī)有關(guān),可用單片機(jī)控制。 三、在大型電器中的 HYPERLINK :/ baidu /s?wd=%E6%A8%A1%E5%9D%97%E5%8C%96&hl_tag=textlink&tn=SE_hldp01350_v

14、6v6zkg6 t :/zhidao.baidu /_blank 模塊化運(yùn)用:使用單片機(jī)控制大型設(shè)備的某些小模塊,并實(shí)現(xiàn)各個(gè)小模塊之間協(xié)同控制,從而實(shí)現(xiàn)某一特定功能。四、在工業(yè)控制方面:用單片機(jī)可以構(gòu)成各種控制系統(tǒng)。例如可編程控制器,編碼器,傳動(dòng)調(diào)速器,監(jiān)控 HYPERLINK :/ baidu /s?wd=%E6%8A%A5%E8%AD%A6%E7%B3%BB%E7%BB%9F&hl_tag=textlink&tn=SE_hldp01350_v6v6zkg6 t :/zhidao.baidu /_blank 報(bào)警系統(tǒng),與互聯(lián)網(wǎng)組合構(gòu)成多級(jí)控制系統(tǒng)等。五、在汽車電子設(shè)備上的應(yīng)用:如今人們買汽車

15、除了其在機(jī)械上的性能之外最看重的就是汽車的電子設(shè)備,而單片機(jī)控制的電子設(shè)備不僅讓汽車性能更加可靠,同時(shí)也使人們有了更好的體驗(yàn)。第三章 系統(tǒng)硬件原理與設(shè)計(jì)本設(shè)計(jì)系統(tǒng)主要分為五個(gè)部分:紅外接收模塊、發(fā)聲模塊、LCD液晶顯示模塊、LED彩燈模塊、89C52單片機(jī)系統(tǒng)。整個(gè)設(shè)計(jì)以單片機(jī)為控制核心,處理接收到的紅外信號(hào),并控制液晶顯示、蜂鳴器發(fā)聲以及讓LED按一定規(guī)律亮滅。系統(tǒng)組成框如圖3.1。 STC89C52單片機(jī)系統(tǒng)LCD液晶顯示模塊 紅外接 收模塊發(fā)聲模塊LED彩燈 模塊 圖3.1 系統(tǒng)組成框圖0其中LCD顯示器用于顯示歌曲信息,彩燈模塊會(huì)根據(jù)節(jié)奏的變化而變化,而紅外遙控則能控制歌曲的切換,暫停

16、,播放等功能。下面對(duì)各模塊進(jìn)行介紹。3.1 STC單片機(jī)系統(tǒng)此部分為單片機(jī)最小系統(tǒng),單片機(jī)最小系統(tǒng)以89C52為核心,外加晶振電路、復(fù)位電路、電源、接地。電路結(jié)構(gòu)構(gòu)成簡(jiǎn)單,所以成本也比較低,但抗干擾能力還是很強(qiáng)的。為了讓單片機(jī)有序運(yùn)行,需要給其一個(gè)時(shí)鐘模塊作為參考,這就是時(shí)鐘振蕩電路;復(fù)位電路有多種,為了方便起見,這里我們采用微分型的復(fù)位電路;電源所選用的是+5V的電源,可直接由穩(wěn)壓電源提供23。整體電路圖3.2。圖2.2 單片機(jī)最小系統(tǒng) 圖3.2 單片機(jī)最小系統(tǒng) 3.2 紅外接收模塊紅外遙控在現(xiàn)實(shí)生活中運(yùn)用非常廣泛,電視、空調(diào)、投影儀等各種電器都有用到,本設(shè)計(jì)使用紅外遙控也有其優(yōu)勢(shì)。首先紅外

17、遙控距離長(zhǎng),抗干擾能力強(qiáng),其次紅外接收只占用到單片機(jī)一個(gè)I/O口,信號(hào)處理主要由程序編程決定,所以I/O占用率低。而紅外接收模塊主要是紅外接收器IRM。接收器之所以可以接受紅外線,是因?yàn)槔锩婕闪艘粋€(gè)紅外信號(hào)收集放大電路。它僅僅只有三個(gè)管腳,電源正負(fù)極和信號(hào)輸出端。在兩個(gè)引腳直接接上電源電壓后她便是一個(gè)放大器,敏感度強(qiáng)且價(jià)格低廉,大小也合適,能方便的直接使用。在接收到已經(jīng)被調(diào)制好后的信號(hào)后便能實(shí)現(xiàn)放大,選頻和解調(diào)等功能,并從輸出端輸出原始信號(hào)。我們使用STC89C51單片機(jī)紅外遙控來控制歌曲實(shí)現(xiàn)歌曲的播放、暫停、上一曲、下一曲等功能。圖3.3 紅外接收模塊這里對(duì)紅外遙控原理做簡(jiǎn)單介紹:當(dāng)紅外遙

18、控的按鍵按下時(shí),遙控首先發(fā)射一個(gè)完整的全碼,一個(gè)完整的全碼由引導(dǎo)碼、用戶碼1、用戶碼2、數(shù)據(jù)碼和數(shù)據(jù)反碼組成。其中,引導(dǎo)碼由9ms的起始碼和4.5ms的結(jié)果碼組成;系統(tǒng)碼和數(shù)據(jù)碼一共32 位;其中前 16 位為用戶識(shí)別碼,用來識(shí)別不同型號(hào)的紅外遙控,防止不同機(jī)種遙控紅外信號(hào)互相串?dāng)_。后 16 位為各8位的操作碼及其反碼,該設(shè)置用于對(duì)接收數(shù)據(jù)進(jìn)行比較核對(duì)以保證其數(shù)據(jù)的準(zhǔn)確性45。驗(yàn)證完成后單片機(jī)會(huì)根據(jù)接收到的紅外數(shù)據(jù)碼執(zhí)行相應(yīng)的動(dòng)作。當(dāng)按下一個(gè)按鍵不松時(shí),系統(tǒng)會(huì)發(fā)射一個(gè)連發(fā)代碼, 連發(fā)代碼是在持續(xù)按鍵時(shí)發(fā)送的碼,如果鍵按下超過108ms 仍未松開,那么接下來發(fā)射的連發(fā)代碼便的結(jié)束碼和9ms的起始

19、碼組成,它主要是讓接收端知道某鍵被按著而未松開。 圖3.4 紅外碼組成圖3.4 紅外碼組成 紅外接收頭接收到紅外信號(hào)后會(huì)傳送到單片機(jī),給單片機(jī)去進(jìn)行紅外解碼。解碼最關(guān)鍵的地方便是識(shí)別“0”和“1”。代碼“0”的信號(hào)是由、“1”代碼則是由0.56毫秒的低電平和1.68毫秒的高電平組成。所以我們主要是通過后面的高電平來區(qū)別0和1的。解碼檢測(cè)步驟如下:在0.56ms低電平過后,開始進(jìn)行延時(shí),馬上再次檢測(cè),若讀到低電平,說明該碼為“0”,相反則為“1”,為了加強(qiáng)可靠性,我們將延時(shí)增加到以上,但又不超過1.12ms,要不然如果此位為“0”的話,讀到的可能是高電平,但是是下一位的高電平了,因此我們?nèi)∽顬榭?/p>

20、靠45,所以一般延時(shí)最為合適。圖3.5 0和13.3 LCD液晶顯示模塊LCD液晶顯示器是一種利用光調(diào)制液晶的受光型顯示器件。LCD的特點(diǎn)是厚度薄、重量輕、能耗低、發(fā)熱少、低壓工作、無輻射,而且視域?qū)?、顯示信息量多,能直接與CMOS集成電路相匹配。本音樂播放器設(shè)計(jì)上增上液晶顯示模塊,可為使用者提供較詳細(xì)的曲目信息。由于普通的LED數(shù)碼管只能顯示數(shù)字和部分英文字符,而且顯示內(nèi)容數(shù)量受限,所以從設(shè)計(jì)成本,功能等多方面考慮,我們采用既能顯示數(shù)字又能顯示英文字母的液晶顯示器LCD1602。并且LCD1602液晶顯示器的驅(qū)動(dòng)電路比較簡(jiǎn)單,可直接用單片機(jī)編程進(jìn)行驅(qū)動(dòng)67。所以LCD的顯示驅(qū)動(dòng)在軟件中完成,

21、硬件中不做處理。圖3.6 LCD1602顯示模塊3.4 LED彩燈模塊設(shè)計(jì)中增加了LED彩燈作為花樣伴奏電路,LED采用一般的黃色發(fā)光二級(jí)管。當(dāng)播放樂曲時(shí),LED燈會(huì)隨著音樂的節(jié)奏亮滅。當(dāng)系統(tǒng)發(fā)出“多”的音調(diào)時(shí),D1燈亮;當(dāng)系統(tǒng)發(fā)出“來”音調(diào)時(shí),D2、D1亮;當(dāng)播放器發(fā)出“米”音調(diào)時(shí),D3、D2、D1亮;當(dāng)播放器發(fā)出“發(fā)”音時(shí),D4、D3、D2、D1亮;當(dāng)播放器發(fā)出“索”音時(shí),D5、D4、D3、D2、D1亮;當(dāng)播放器發(fā)出“啦”音時(shí),D6、D5、D4、D3、D2、D1亮;當(dāng)播放器發(fā)出“西”音時(shí),D7、D6、D5、D4、D3、D2、D1同時(shí)亮起。程序共設(shè)三個(gè)音階,前面說的是在中音階的時(shí)候彩燈的變換

22、,當(dāng)播放低音階的時(shí)候LED全不亮,而播放高音階的時(shí)候D1D8全亮。當(dāng)程序開始執(zhí)行時(shí),音調(diào)對(duì)應(yīng)的代碼會(huì)被單片機(jī)識(shí)別,隨后單片機(jī)根據(jù)檢測(cè)到的音調(diào)控制發(fā)光二極管,使LED發(fā)出相應(yīng)的變化89。彩燈硬件電路如圖3.7。圖3.7 LED硬件電路3.5 發(fā)聲模塊發(fā)聲模塊是由電磁蜂鳴器和8050 NPN三極管組成。電磁式蜂鳴器組成原件為鐵芯、線圈、震動(dòng)膜片及保護(hù)殼等。STC89C52輸出控制信號(hào),導(dǎo)通8050 NPN三極管使信號(hào)放大,發(fā)出震蕩電流,振蕩電流流通電線圈,使線圈產(chǎn)生相應(yīng)的磁場(chǎng),這一磁場(chǎng)會(huì)使振動(dòng)膜片產(chǎn)生微小又迅速的波動(dòng),從而帶動(dòng)空氣發(fā)生振動(dòng),如果達(dá)到一定的頻率,就能引起人耳聽覺反應(yīng),這也就產(chǎn)生了蜂鳴

23、聲。在調(diào)試時(shí)發(fā)現(xiàn)該發(fā)聲模塊存在一定噪聲,且音響效果一般。但因?yàn)檫@樣的模塊功率并不大,而且對(duì)驅(qū)動(dòng)原件的要求不高,成本也隨之降低了,所以選用此三極管和蜂鳴器作為組合來滿足系統(tǒng)對(duì)硬件的的要求。圖3.8 蜂鳴器驅(qū)動(dòng)電路各模塊之間的連接及系統(tǒng)原理圖連接請(qǐng)見附錄。 第四章 系統(tǒng)軟件原理與設(shè)計(jì)本設(shè)計(jì)的難點(diǎn)主要在音樂程序上的編寫,故這里僅對(duì)演奏原理程序作說明,其余本文不做詳解(讀者可自行閱讀附錄總程序了解詳情)。4.1 音樂基礎(chǔ)知識(shí)樂理常識(shí)上不同音調(diào)的音樂是用1、2、3、4、5、6、7來表示的,即音樂簡(jiǎn)譜,它們一般依次唱成duo、ruai、mi、fa、suo、la、xi,相當(dāng)于漢字“多來米法索啦系”的讀音。這

24、七個(gè)音調(diào)又用C、D、E、F、G、A、B來表示。在鋼琴或者電子琴的琴鍵上,我們看到有黑白琴鍵相隔,像CD、DE、FG、GA、AB他們之間就隔著黑鍵,這樣的距離就稱做“全音”;而EF、BC兩個(gè)之間沒有隔黑鍵,這個(gè)距離稱作“半音”。音樂分自然音和變化音,自然音就是17,而變化音則是在自然音的左上角加上#號(hào)或者b號(hào)來表示。其中標(biāo)了b和#的又分別表示降記音和升記號(hào),升記號(hào)用來表示音在原來音調(diào)的基礎(chǔ)上升高半音,降記音表在原來的音調(diào)的上降半音10。不同音調(diào)的音樂對(duì)應(yīng)著不同的頻率,而不同音階的頻率卻有著一定的關(guān)系。比如高音“來”的頻率是1175Hz,中音“來”的頻率是587Hz,兩者相差一倍;同樣的,高音“西

25、”的頻率(1976Hz)剛好是中音“西”頻率(988 Hz)的一倍因?yàn)槭褂秒姶攀椒澍Q器發(fā)聲,所以播放的樂曲基本上都是單音頻率的,不會(huì)有相應(yīng)幅度變化的諧頻變化,也就是說不能像電子樂器那樣能奏出多種音色的聲樂。因此為了讓單片機(jī)播放音樂,我們只需要思考兩個(gè)方面的問題,即“音調(diào)”和“節(jié)拍”。4.2 單片機(jī)發(fā)聲的基本原理系統(tǒng)發(fā)出聲樂的基本原理是:一首音樂曲子是由音調(diào)與節(jié)拍兩個(gè)成分構(gòu)成,不同音調(diào)對(duì)應(yīng)不同的頻率;而節(jié)拍則控制同一個(gè)音調(diào)保持的時(shí)間的長(zhǎng)短;若改變節(jié)拍的大小,則音調(diào)產(chǎn)生時(shí)間相應(yīng)變化,若操作音調(diào)與節(jié)拍按一定規(guī)律組合,就能產(chǎn)生美妙而和諧的樂曲了。有了這一概念,那么我們便可以利用51單片機(jī)來設(shè)計(jì)我們的音

26、樂播放器了。我們知道,人耳能夠聽到的聲音頻率大約在20Hz20KHz范圍內(nèi),如果利用程序來控制單片機(jī)I/O口進(jìn)行高低電平的變化,在I/O口上就能產(chǎn)生出較高頻率的脈沖波,將這脈沖波輸出給外接的一個(gè)發(fā)聲器件,就能發(fā)出一定頻率的聲音了。此時(shí)再利用編程來使高低電平在一定的時(shí)間內(nèi)變化一定的次數(shù),就能使輸出頻率發(fā)生改變,音調(diào)也隨之改變。所以,為了得到一定的頻率方波,就要算出此頻率的周期(即頻率的倒數(shù)),然后將此周期折半,即為半周期的時(shí)長(zhǎng)。這里我們啟用定時(shí)計(jì)數(shù)器,先定時(shí)半個(gè)周期的時(shí)間,然后改變電平,使其反相,然后再重復(fù)定時(shí)二分之一個(gè)周期時(shí)間,最后再將電平取反,則在相應(yīng)的I/O口上就能得到相應(yīng)頻率的脈沖頻率波

27、。具體操作是利用8051的自帶的內(nèi)部定時(shí)器,并使其工作在工作方式一上,然后往定時(shí)計(jì)數(shù)器裝入初值THO及TLO,便能產(chǎn)生不同頻率的矩形波了。那么如何確定定時(shí)器的初值呢?我們所使用的單片機(jī)震蕩頻率為,通過對(duì)定時(shí)器T1溢出后在I/O口脈沖頻率,則定時(shí)器時(shí)間為1/2fn。由(216-Xn)*(12/fosc)=1/2fn ,可知:定時(shí)初值 Xn=216-fosc/24fn 以音調(diào)2為例,fn=587Hz,則T=1/fn ,定時(shí)初值Xn=216-(12*106)/(24*587)=64684=FCAC。我們同樣利用這個(gè)方法來算出每個(gè)音調(diào)對(duì)應(yīng)頻率的簡(jiǎn)譜碼和初值代碼:表4.2.1 頻率對(duì)應(yīng)初值表音符頻率(赫

28、茲)簡(jiǎn)譜碼(定時(shí)器值)代碼音符頻率(赫茲)簡(jiǎn)譜碼(定時(shí)器值)代碼低1DO26263628F88C# 4 FA#74064860FD5C#1DO#27763731F8F3中 5 SO78464898FD82低2RE29463835F95B# 5 SO#83164934FDA6#2 RE#31163928F9B8中 6 LA88064968FDC8低 3 M33064021FA15# 693264994FDE2低 4 FA34964103FA67中 7 SI98865030FE06# 4 FA#37064185FAB9高 1 DO104665058FE22低 5 SO39264260FB04# 1

29、 DO#110965085FE3D# 5 SO#41564331FB4B高 2 RE117565110FE56低 6 LA44064400FB90# 2 RE#124565134FE6E# 646664463FBCF高 3 M131865157FE85低 7 SI49464524FC0C高 4 FA139765178FE9A中 1 DO52364580FC44# 4 FA#148065198FEAE# 1 DO#55464633FC79高 5 SO156865217FEC1中 2 RE58764684FCAC# 5 SO#166165235FED3# 2 RE#62264732FCDC高 6

30、LA176065252FEE4中 3 M65964777FD09# 6186565268FEF4中 4 FA69864820FD34高 7 SI197665283FF03有了音調(diào),接下來需要做的便是確認(rèn)每個(gè)音調(diào)所需要演奏的時(shí)間,也就是我們所說的節(jié)拍。這里我們同樣利用定時(shí)器來產(chǎn)生節(jié)拍延時(shí),用定時(shí)器產(chǎn)生一次中斷并設(shè)置時(shí)間為50毫秒,以為一個(gè)節(jié)拍,通過控制一個(gè)音調(diào)所對(duì)應(yīng)多久的節(jié)拍,即設(shè)置定時(shí)器產(chǎn)生多少次中斷,便可以控制每個(gè)音調(diào)的發(fā)聲時(shí)間。 而樂曲的簡(jiǎn)譜的節(jié)拍對(duì)照如下:1/4節(jié)拍1/8節(jié)拍節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍41/2拍51又1/4拍

31、55/8拍61又1/2拍63/4拍71又3/4拍77/8拍82拍81拍92又1/4拍91又1/8拍A2又1/2拍A1又1/4拍B2又3/4拍B1又3/8拍C3拍C1又1/2拍D3又1/4拍D1又5/8拍E3又1/2拍E1又3/4拍F3又3/4拍F1又7/8拍表4.2.2 節(jié)拍數(shù)對(duì)應(yīng)的節(jié)拍碼所以整個(gè)音樂播放過程設(shè)計(jì)就是:先將音樂的音調(diào)進(jìn)行編碼,存儲(chǔ)到一個(gè)數(shù)組中。然后程序從數(shù)組中取出該編碼,再分離成高低各4位代碼,先處理高四位音調(diào)代碼,找到對(duì)應(yīng)的初值賦給定時(shí)器0,使定時(shí)器保持一定頻率振動(dòng),從而得出相應(yīng)的音調(diào);再處理低4位,得到節(jié)拍延時(shí)時(shí)間對(duì)節(jié)拍延時(shí)。如此重復(fù),一首曲子便可以演奏完成了。軟件程序大致

32、流程圖: 再一次按?開始程序初始化判斷鍵值并儲(chǔ)存有無紅外信號(hào)?顯示對(duì)應(yīng)鍵值的歌曲信息播放時(shí)間初始化取樂譜進(jìn)行演奏有無功能鍵?全部播放完?結(jié)束 暫停? 上一曲? 下一曲?等待音樂首地址減一音樂首地址加一圖4 程序流程圖第五章 系統(tǒng)調(diào)試與仿真5.1 程序調(diào)試與下載軟件Keil C51是如今最便捷的單片機(jī)開發(fā)與調(diào)試軟件。Keil提供了包括C語(yǔ)言編譯管理連接器、仿真調(diào)試軟件等在內(nèi)的開發(fā)套件,并通過集成開發(fā)環(huán)境uVision將這些功能集結(jié)在一起11。此外,Keil軟件對(duì)硬件的要求也不高,奔騰以上的處理器便可,這也是Keil軟件得以流行的主要原因之一。所謂軟件調(diào)試,就是通過對(duì)軟件編程、鏈接、執(zhí)行程序代碼來

33、檢查程序中存在的語(yǔ)法和邏輯錯(cuò)誤,然后根據(jù)定位到的錯(cuò)誤或警告對(duì)程序進(jìn)行修改的過程。在調(diào)試過程中,會(huì)遇到許多種問題。這時(shí)就需要重新檢查程序是否有錯(cuò)誤并重新編程。Keil軟件能大體識(shí)別程序的語(yǔ)法錯(cuò)誤或邏輯錯(cuò)誤,但有些錯(cuò)誤是無法查出來的,只有通過程序下載到硬件中去才能發(fā)現(xiàn)問題,這里我們通過Keil軟件結(jié)合程序下載軟件STC-ISP來進(jìn)行程序的綜合調(diào)試與運(yùn)行。Keil編譯程序與STC-ISP程序圖見圖5.1與圖5.2。圖5.1 Keil uVision4軟件圖5.2 STC-ISP程序下載軟件5.2 原理圖設(shè)計(jì)與PCB制作AD是Altium Designer的簡(jiǎn)稱。是Altium公司推出的一款在大家非常

34、熟悉的Protel軟件基礎(chǔ)上升級(jí)而成的功能非常強(qiáng)大的電子產(chǎn)品開發(fā)軟件系統(tǒng)。這個(gè)軟件把原理圖設(shè)計(jì)、電路仿真、PCB繪制與自動(dòng)布線、 HYPERLINK :/baike.baidu /view/3067056.htm t :/baike.baidu /view/_blank 信號(hào)分析和FPGA系統(tǒng)設(shè)計(jì)、基于FPGA和分立處理器的 HYPERLINK :/baike.baidu /view/2517315.htm t :/baike.baidu /subview/5779529/_blank 嵌入式軟件開發(fā)系統(tǒng)等技術(shù)完美融合在一起12,AD的出現(xiàn)給了電子產(chǎn)品設(shè)計(jì)者一個(gè)很大的驚喜!Altium Des

35、igner交互界面如圖5.3。圖5.3 Altium Designer軟件第六章 結(jié)論本設(shè)計(jì)以51系列單片機(jī)為核心,巧妙的利用了STC89C51芯片的引腳接口,實(shí)現(xiàn)了多種拓展功能LED燈做伴奏、LCD液晶屏顯示歌曲信息以及使用了紅外遙控作為歌曲播放控制的控制器。論文從理論上分析了設(shè)計(jì)方案的可行性,設(shè)計(jì)者也通過實(shí)際硬件進(jìn)行了設(shè)計(jì)研究,在經(jīng)歷若干曲折后終于實(shí)現(xiàn)了預(yù)期的設(shè)計(jì)目的。在拿到畢設(shè)題目之初,我便開始查閱網(wǎng)絡(luò)資源,看看前人對(duì)類似研究?jī)?nèi)容都有做過哪些方面的研究。在經(jīng)過一番思考后,我決定從LED燈、LCD顯示及播放控制三個(gè)方面下手。顯示我采用的是LCD液晶,比起數(shù)碼管僅顯示數(shù)字,本設(shè)計(jì)的LCD能顯

36、示歌曲的更多信息,如歌曲的拼音或英文;而LED作為伴奏模塊,它并不是簡(jiǎn)單的重復(fù)著一定的花樣變化,而是根據(jù)音樂節(jié)奏的變化而變化,這便使得音樂更具節(jié)奏感和視覺沖擊感;對(duì)于歌曲控制部分,本設(shè)計(jì)則創(chuàng)新性的引入紅外遙控作為控制器,不像矩陣鍵盤,它只用到單片機(jī)的一個(gè)I/O口,利用遙控來控制音樂播放,操作起來也變得十分方便!因?yàn)樽隽巳绱烁淖?,所以技術(shù)要求也隨之變高。在設(shè)計(jì)過程中遇到了諸多困難,例如在研究發(fā)聲原理時(shí)就查閱了很多資料,請(qǐng)教老師和同學(xué),花費(fèi)了不少時(shí)間和精力;其次便是在將調(diào)試好的程序下載到單片機(jī)里面去之后,發(fā)現(xiàn)并不能實(shí)現(xiàn)預(yù)期功能,于是只能通過一次又一次的修改來解決問題。本設(shè)計(jì)引入的紅外控制也有著不小

37、的難度,但因?yàn)槲抑坝袑?duì)單片機(jī)紅外遙控做過研究,所以在這里應(yīng)用起來也變得簡(jiǎn)單而方便。由于時(shí)間原因,本設(shè)計(jì)也并沒有達(dá)到我最理想的狀態(tài)。筆者覺得伴奏模塊可以設(shè)計(jì)成三維LED彩燈甚至舞臺(tái)燈作為伴奏;利用TFT彩屏顯示歌曲中文信息,比如歌名和歌詞;然后使用單片機(jī)結(jié)合MP3解碼芯片STA013芯片,將蜂鳴器換成揚(yáng)聲器,就可以播放MP3高品質(zhì)音樂了。這時(shí)再配合使用紅外遙控,整個(gè)系統(tǒng)便可利用到舞臺(tái)設(shè)計(jì)或者智能家居設(shè)計(jì)。雖說困難重重,但也讓我受益匪淺,我深知自己所學(xué)還很不夠,所以平時(shí)應(yīng)該多請(qǐng)教老師和同學(xué),多用知識(shí)充實(shí)自己的頭腦,為自己進(jìn)入社會(huì)做準(zhǔn)備!同時(shí),這將勢(shì)必鞭策我在今后的工作和生活中更為發(fā)憤圖強(qiáng),斗志昂

38、揚(yáng)!參 考 文 獻(xiàn)1 陳衛(wèi)兵.單片機(jī)技術(shù)與應(yīng)用基礎(chǔ)M.北京:人民郵電出版社,20102 郭天祥.51單片機(jī)C語(yǔ)言教程M.北京:電子工業(yè)出版社,2009:563 譚浩強(qiáng). C程序設(shè)計(jì).第三版M.北京:清華大學(xué)出版社,2005:1054 宋躍. 單片機(jī)原理與接口技術(shù)M.北京:電子工業(yè)出版社,20115 賈伯年. 傳感器技術(shù)M.南京: 東南大學(xué)出版社, 20006 肖運(yùn)虹顯示技術(shù)M.西安:西安電子科技大學(xué)出版社,2011:86-122. 7 趙亮液晶顯示模塊LCD1602應(yīng)用J.電子制作,2007(3):58-598 康華光. 數(shù)字電子技術(shù)基礎(chǔ)M.北京: 高等教育出版社, 19989 李軍. 單片機(jī)

39、高級(jí)實(shí)例開發(fā)指南M.北京:北京航空航天大學(xué)出版社,2006:20-50. 10 東方.卓越.簡(jiǎn)譜入門基礎(chǔ)教程M.北京:同心出版社出版,200911 徐愛均. 徐陽(yáng).Keil C51單片機(jī)高級(jí)語(yǔ)言應(yīng)用編程與實(shí)踐M.北京: HYPERLINK :/book.jd /publish/%E7%94%B5%E5%AD%90%E5%B7%A5%E4%B8%9A%E5%87%BA%E7%89%88%E7%A4%BE_1.html o 電子工業(yè)出版社 t :/item.jd /_blank 電子工業(yè)出版社,2013 12 王淵峰. Altium Designer 10電路設(shè)計(jì)標(biāo)準(zhǔn)教程M.上海: HYPERLI

40、NK :/book.jd /publish/%E7%A7%91%E5%AD%A6%E5%87%BA%E7%89%88%E7%A4%BE_1.html o 科學(xué)出版社 t :/item.jd /_blank 科學(xué)出版社,2012致 謝大學(xué)四年接近尾聲,在畢業(yè)設(shè)計(jì)即將結(jié)束之際,首先我要對(duì)我的指導(dǎo)老師*老師表示衷心的感謝,感謝*老師在專業(yè)知識(shí)以及其他各個(gè)方面給予我的關(guān)懷與幫助,同時(shí)老師給我呈現(xiàn)出的那種對(duì)工作認(rèn)真、積極、負(fù)責(zé)的態(tài)度讓我印象非常深刻,使我受益匪淺。我還要感謝我的班主任*老師以及在大學(xué)四年中給我們授課的所有老師們,同時(shí)也要感謝我的同學(xué)和朋友給我設(shè)計(jì)上的指導(dǎo)與幫助,從他們那里我學(xué)習(xí)到了許多專

41、業(yè)知識(shí)和工作生活上寶貴的經(jīng)驗(yàn),這將是我一生的財(cái)富。附錄A:系統(tǒng)程序代碼#include /包含頭文件/#includelcd.hsbit speaker=P15; /定義音樂輸出端口,連接到對(duì)應(yīng)的喇叭sbit IRIN=P32;#define uchar unsigned char#define uint unsigned int#define LED P2 #define LCDPORT P0sbit LCDE=P27;sbit LCDRW=P25;sbit LCDRS=P26;unsigned char k,y,x,z,i;int key = 0;char key_flag=0;unsig

42、ned int Time;unsigned char IrValue6;unsigned char ktemp;unsigned char code tab1=YIN YUE BO FANG QI;unsigned char code tab2=PLAYING MUSIC IS;unsigned char code name1=SSZYMMH; unsigned char code name2=SRKL ; unsigned char yuepu50;unsigned char name8;unsigned char timer0h,timer0l,jiepai;/樂譜數(shù)據(jù)表code unsi

43、gned char sszymmh=6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2,3,3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,3, 2,2,1, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 ;code unsigned char srkl=1,2,3, 3,2,1,

44、5,2,2, 5,2,2, 6,2,2, 5,2,1, 5,2,1, 6,2,3,3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,3, 2,2,1, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0 ;/ 音階頻率表 高八位code unsigned char FREQH= 0 xF1,0 xF2,0 xF4,0 xF4,0 xF6,0 x

45、F7,0 xF8, /1-7- 0 xF8,0 xF9,0 xFA,0 xFA,0 xFB,0 xFB,0 xFC, /1-7- 0 xFC,0 xFC,0 xFD,0 xFD,0 xFD,0 xFD,0 xFE, /17 0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFE,0 xFF, /1+7+ /*0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,0 xFF,*/ ; /1+7+/ 音階頻率表 低八位code unsigned char FREQL= 0 x17,0 xB6,0 x29,0 xC6,0 x08,0 x1F,0 x17, 0 x8C

46、,0 x5B,0 x15,0 x67,0 x04,0 x90,0 x0C, 0 x44,0 xAC,0 x09,0 x34,0 x82,0 xC8,0 x06, 0 x22,0 x56,0 x85,0 x9A,0 xC1,0 xE4,0 x03, /*0 x10,0 x2B,0 x42,0 x4D,0 x60,0 x71,0 x81,*/ ;/*/*延時(shí)函數(shù)*/*/void delay(unsigned char t )unsigned char t1;unsigned long t2;for(t1=0;t1t;t1+)for(t2=0;t24; /高位 IrValue5=IrValue2&0

47、 x0f; /低位key_flag = IrValue4 * 10 + IrValue5;if(key!=key_flag) key=key_flag; switch(key) /case 45: TR0 = 0; IrValue2=0; break;case 44: yuepui=sszymmhi;namex=name1x;IrValue2=0; break;case 7: yuepui=srkli ;namex=name2x; break; /case 16: TR0 = 1; break; /case 12: TR0 = 1; break; /case 8: TR0 = 1; break; /case 42: TR0 = 1; break; /case 90: TR0 = 1; break; /default : TR0 = 0; IrValue2=0; break; /*/ delay(jiepai); /*/*lcd1602函數(shù)*/void Delay()uint uiCount; for(uiCount=0;uiCount0;i-) for(y=255;y0;y-);/* 函數(shù)名 : IrInit()* 函數(shù)功能 : 初始化紅外線接收* 輸入 : 無* 輸出 : 無*/voi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論