找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 8843|回復(fù): 4
收起左側(cè)

單片機(jī)音樂(lè)調(diào)音器課程設(shè)計(jì)報(bào)告

[復(fù)制鏈接]
ID:127902 發(fā)表于 2016-6-23 23:35 | 顯示全部樓層 |閱讀模式
單片機(jī)課程設(shè)計(jì)報(bào)告



題 目 音樂(lè)播放器



姓    名:
學(xué)    號(hào):
130910056
專    業(yè)-------------------:
電子信息工程
班    級(jí):
電信1302
指導(dǎo)教師:
職    稱-------------------:
教授





計(jì)算機(jī)與信息工程學(xué)院
20161

湖南商學(xué)院課程設(shè)計(jì)
課程設(shè)計(jì)(實(shí)習(xí))評(píng)審表
姓 名
李佩
學(xué) 院
計(jì)信學(xué)院
學(xué) 號(hào)
130910056
專業(yè)班級(jí)
電信1302
題 目
設(shè)置“+”、“-”兩個(gè)按鍵,當(dāng)按下“+”,聲音增大;按下“-”,聲音減小。
評(píng)
見(jiàn)

評(píng)審成績(jī)

指導(dǎo)教師簽名

職稱

評(píng)審時(shí)間
      年   月   日

課程設(shè)計(jì)(實(shí)習(xí))作品驗(yàn)收表
題目
設(shè)置“+”、“-”兩個(gè)按鍵,當(dāng)按下“+”,聲音增大;按下“-”,聲音減小。
參與人員
姓 名
班 級(jí)
電信1302
學(xué) 號(hào)
130910056
設(shè)計(jì)任務(wù)與要求:
    (1)設(shè)置“+”、“-”兩個(gè)按鍵,當(dāng)按下“+”,聲音增大;按下“-”,聲音減小;
(2)根據(jù)應(yīng)用系統(tǒng)結(jié)構(gòu)規(guī)模的要求,掌握在單片機(jī)外部擴(kuò)展系統(tǒng)硬件設(shè)計(jì)的基本過(guò)程:例如硬件接口的設(shè)計(jì),正確合理選用所需元器件,繪制應(yīng)用系統(tǒng)與單片機(jī)連接的電路圖等項(xiàng)工作。首先畫(huà)出程序總體流程圖,然后進(jìn)行各控制模塊程序的設(shè)計(jì)、編寫(xiě)系統(tǒng)程序。
(3)掌握如何應(yīng)用單片機(jī)仿真軟件來(lái)開(kāi)發(fā)應(yīng)用系統(tǒng)及仿真調(diào)試的過(guò)程,先進(jìn)行各模塊調(diào)試,然后進(jìn)行各程序模塊的聯(lián)調(diào),最后與硬件一起進(jìn)行聯(lián)調(diào),反復(fù)檢測(cè)和修改直至開(kāi)發(fā)結(jié)束。
作品完成情況:
理論聯(lián)系實(shí)踐,實(shí)踐離不開(kāi)理論,由于之前沒(méi)實(shí)際做過(guò)什么設(shè)計(jì),所以在做這個(gè)課程設(shè)計(jì)時(shí)遇到過(guò)很多的問(wèn)題. 由于單片機(jī)系統(tǒng)復(fù)雜,容易出現(xiàn)很多問(wèn)題。但還是經(jīng)過(guò)多次編程以及調(diào)試后得到了想要的結(jié)果。

驗(yàn)收情況:
                                                 驗(yàn)收教師簽名:___________
                                                        年   月   日

注:1. 除“驗(yàn)收情況”欄外,其余各欄均由學(xué)生在作品驗(yàn)收前填寫(xiě)。
  • 驗(yàn)收情況欄由驗(yàn)收小組按實(shí)際驗(yàn)收的情況如實(shí)填寫(xiě)。

目錄






一 、緒論
二十世紀(jì)九十年代以來(lái),計(jì)算機(jī)、信息、電子、控制、通信等技術(shù)得到迅速發(fā)展,促使了社會(huì)生產(chǎn)力的提高,也使人們的生產(chǎn)方式和生活方式產(chǎn)生了日新月異的變化。隨著人們生活水平的提高及對(duì)音樂(lè)的喜愛(ài),對(duì)音樂(lè)播放器的品質(zhì),功能,品種等提出了越來(lái)越多的要求,表現(xiàn)在對(duì)控制系統(tǒng)性能、可靠性等要求越來(lái)越高。而品質(zhì)的提高,功能的更新,可靠性的增強(qiáng),品種的變化無(wú)不于產(chǎn)品的核心控制部分水平的提高密不可分。家用音樂(lè)播放器產(chǎn)品及其它有關(guān)消費(fèi)電器產(chǎn)品都是一些開(kāi)環(huán)或閉環(huán)控制系統(tǒng),都由核心控制部分,執(zhí)行部分與人機(jī)界面三部分組成。而最為重要的控制部分一般是由單片機(jī)來(lái)執(zhí)行完成的,這就必將導(dǎo)致和促進(jìn)單片機(jī)在音樂(lè)領(lǐng)域應(yīng)用的發(fā)展,F(xiàn)在這些由單片機(jī)實(shí)現(xiàn)的音樂(lè)播放器的功能越來(lái)越強(qiáng)、費(fèi)用越來(lái)越低。例如,就市場(chǎng)上的mp3目前的功能越來(lái)越強(qiáng)大體積卻越來(lái)越小,價(jià)格也逐漸便宜,被大多數(shù)人所能接受。但這些音樂(lè)播放器也或多或少的存在著一些問(wèn)題,解決這些問(wèn)題,還除智能化的單片機(jī)莫屬。
二 、課程設(shè)計(jì)目的及要求
2.1 課程設(shè)計(jì)目的
《單片機(jī)原理與應(yīng)用》是電子信息工程專業(yè)的一門重要專業(yè)課,對(duì)應(yīng)用能力和動(dòng)手能力要求很高,課程設(shè)計(jì)環(huán)節(jié)是學(xué)生學(xué)習(xí)該課程后進(jìn)行的一項(xiàng)必不可少的基本訓(xùn)練。
本著以下目的,制定《單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)》實(shí)施方案。
  • 使學(xué)生增進(jìn)對(duì)單片機(jī)的感性認(rèn)識(shí)加深對(duì)單片機(jī)理論方面的理解,鞏固學(xué)生所學(xué)理論知識(shí);
  • 使學(xué)生掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,培養(yǎng)學(xué)生系統(tǒng)設(shè)計(jì)的思想;
  • 培養(yǎng)學(xué)生的軟件設(shè)計(jì)能力,提高學(xué)生的動(dòng)手能力;
  • 培養(yǎng)學(xué)生查閱相關(guān)資料、撰寫(xiě)文檔的能力和自學(xué)、科研的能力

2.2 課程設(shè)計(jì)要求
1、基本要求
學(xué)生每人一題,要求根據(jù)課題要求,通過(guò)查閱資料等,獨(dú)立完成課題的方案設(shè)計(jì)、電路設(shè)計(jì)、系統(tǒng)流程圖設(shè)計(jì)、仿真分析、調(diào)試和指標(biāo)測(cè)試,撰寫(xiě)設(shè)計(jì)報(bào)告。
2、具體要求
從應(yīng)用系統(tǒng)的設(shè)計(jì)的任務(wù)出發(fā),應(yīng)當(dāng)通過(guò)設(shè)計(jì)工作的各個(gè)環(huán)節(jié),達(dá)到以下教學(xué)要求:
(1)根據(jù)應(yīng)用系統(tǒng)的要求,初步掌握總體結(jié)構(gòu)的方法和構(gòu)思,從中選擇一種最佳的設(shè)計(jì)方案。
(2)根據(jù)應(yīng)用系統(tǒng)結(jié)構(gòu)規(guī)模的要求,掌握在單片機(jī)外部擴(kuò)展系統(tǒng)硬件設(shè)計(jì)的基本過(guò)程:例如硬件接口的設(shè)計(jì),正確合理選用所需元器件,繪制應(yīng)用系統(tǒng)與單片機(jī)連接的電路圖等項(xiàng)工作。
(3)根據(jù)設(shè)計(jì)任務(wù)和要求,首先畫(huà)出程序總體流程圖,然后進(jìn)行各控制模塊程序的設(shè)計(jì)、編寫(xiě)系統(tǒng)程序。
(4)掌握如何應(yīng)用單片機(jī)仿真軟件來(lái)開(kāi)發(fā)應(yīng)用系統(tǒng)及仿真調(diào)試的過(guò)程,先進(jìn)行各模塊調(diào)試,然后進(jìn)行各程序模塊的聯(lián)調(diào),最后與硬件一起進(jìn)行聯(lián)調(diào),反復(fù)檢測(cè)和修改直至開(kāi)發(fā)結(jié)束。

3、音樂(lè)調(diào)音主要器件相關(guān)知識(shí)介紹3.1  AT89S52
AT89S52是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89S52是一種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案
0.001.jpg
                    芯片流程圖
0.002.jpg







    單片機(jī)89S52采用40Pin封裝的雙列直接。下圖是它們的引腳配置:40個(gè)引腳中,正電源和地線兩根,外置石英振蕩器的時(shí)鐘線兩根,4組8位共32個(gè)I/O口,中斷口線與P3口線復(fù)用。現(xiàn)在我們對(duì)這些引腳的功能加以說(shuō)明:
·20:接地腳。
·40:正電源腳,工作時(shí),接+5V電源。
·19:時(shí)鐘XTAL1腳,片內(nèi)振蕩電路的輸入端。
·18:時(shí)鐘XTAL2腳,片內(nèi)振蕩電路的輸出端。
  8051的時(shí)鐘有兩種方式,一種是片內(nèi)時(shí)鐘振蕩方式 但需在18和19腳外接石英晶體(2-12MHz)和振蕩電容,振蕩電容的值一般取10p-30p。另外一種是外部時(shí)鐘方式,即將XTAL1接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入。
輸入輸出(I/O)引腳:
Pin39-Pin32為P0.0-P0.7輸入輸出腳。
Pin1-Pin8為P1.0-P1.7輸入輸出腳。
  芯片引腳簡(jiǎn)要說(shuō)明
Vcc (40) :+5V 電源
Vss (20) :接地
P0 口(32~39):為8位雙向三態(tài)I/O口
P1口(8~1):是帶內(nèi)部上拉電阻結(jié)構(gòu)的8位準(zhǔn)雙向I/O口
P2口(28~21):也是帶內(nèi)部上拉電阻結(jié)構(gòu)的8位準(zhǔn)雙向I/O口                                                                                                                                                                             
P3(17~ 10):也是帶內(nèi)部上拉電阻結(jié)構(gòu)的8位準(zhǔn)雙向I/O口,但在整個(gè)系統(tǒng)中,對(duì)相應(yīng)的口鎖存器置“1” 后,這8個(gè)腳還具有第二功能。
RST/VPD (9):復(fù)位信號(hào)線
ALE/PROG (30):地址鎖存有效信號(hào)線
PSEN(29):外部程序存儲(chǔ)器讀選通信號(hào)線
EN/VPP(31):內(nèi)部和外部程序存儲(chǔ)器的選擇線
XTAL1(19) 和XTAL2(18):接外部石英晶體
XTAL1(19) 和XTAL2(18):接外部石英晶體
I/O端口:
8051共有4 I/O端口,為P0,P1,P2,P3;4個(gè)I/O口都是雙向的,且每個(gè)口都具有鎖存器。每個(gè)端口有8條線,共計(jì)32條I/O線。
P0.0~P0.7;P1.0~P1.7;P2.0~P2.7;P3.0~P3.7
1.  P0 有三個(gè)功能
   1)。外部擴(kuò)充存儲(chǔ)器時(shí),作數(shù)據(jù)總線(D0~D7)
2)。外部擴(kuò)充存儲(chǔ)器時(shí),作地址總線(A0~A7)
3)。不擴(kuò)充時(shí),作一般I/O使用,內(nèi)部無(wú)上拉電阻,作為輸出/輸入使用時(shí)應(yīng)加上拉電阻
2.  P1只作I/O口使用,有內(nèi)部上拉電阻。
3.  P2有兩個(gè)功能
     1)。擴(kuò)充外部存儲(chǔ)器時(shí),作地址總線(A8~A15)使用。
     2)。作一般I/O口使用,有內(nèi)部上拉電阻。








0.003.jpg
3.2蜂鳴器(如下圖2.3-1)
                       圖2.3-1
此電路當(dāng)BEEP孔懸空時(shí),三極管導(dǎo)通,喇叭內(nèi)部無(wú)震蕩電路,音膜不動(dòng)。當(dāng)BEEP孔接在單片機(jī)時(shí),引腳高地電平不斷的變化,音膜被拉動(dòng),發(fā)出聲音。
四、 音樂(lè)調(diào)音器設(shè)計(jì)原理
4.1單片機(jī)發(fā)聲的基本原理
眾所周知,聲音的頻譜范圍約在幾十到幾千赫茲,若能利用程序來(lái)控制單處機(jī)某個(gè)口線的“高”電平或低電平,則在該口線上就能產(chǎn)生一定頻率形波,接上喇叭就能發(fā)出一定頻率的聲音,若再利用延時(shí)程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出頻率,從而改變音調(diào)。音符的節(jié)拍我們可以用定時(shí)器T0來(lái)控制,送入不同的初值,就可以產(chǎn)生不同的定時(shí)時(shí)間。便如某歌曲的節(jié)奏為每分鐘94拍,即一拍為0.64秒。但是,由于T0的最大定時(shí)時(shí)間只能為131毫秒,因此不可能直接用改變T0的時(shí)間初值來(lái)實(shí)現(xiàn)不同節(jié)拍。我們可以用T0來(lái)產(chǎn)生10毫秒的時(shí)間基準(zhǔn),然后設(shè)置一個(gè)中斷計(jì)數(shù)器,通過(guò)判別中斷計(jì)數(shù)器的值來(lái)控制節(jié)拍時(shí)間的長(zhǎng)短。。例如對(duì)1/4拍音符,定時(shí)時(shí)間為0.16秒,相應(yīng)的時(shí)間常數(shù)為16(即10H);對(duì)3拍音符,定時(shí)時(shí)間為1.92秒,相應(yīng)時(shí)間長(zhǎng)數(shù)為192(即C0H)。我們將每一音符的時(shí)間常數(shù)和其相應(yīng)的節(jié)拍常數(shù)作為一組,按順序?qū)?lè)曲中的所有常數(shù)排列成一個(gè)表,然后由查表程序依次取出,產(chǎn)生音符并控制節(jié)奏,就可以實(shí)現(xiàn)演奏效果。此外,結(jié)束符和體止符可以分別用代碼00H和FFH來(lái)表示,若查表結(jié)果為00H,則表示曲子終了;若查表結(jié)果為FFH,則產(chǎn)生相應(yīng)的停頓效果。為了產(chǎn)生手彈的節(jié)奏感,在某些音符(例如兩個(gè)相同音符)音插入一個(gè)時(shí)間單位的頻率略有不同的音符。
4.2設(shè)計(jì)的相關(guān)音樂(lè)說(shuō)明
1要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期時(shí)間。利用半周期時(shí)間定時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出的I/O反向,然后重復(fù)計(jì)時(shí)此半周期再對(duì)I/O反向,就可以在I/O腳上得到此頻率的脈沖。
2利用8051的內(nèi)部定時(shí)器使其工作在記數(shù)模式MODE1下,改變記數(shù)值TH0及 TL0以產(chǎn)生不同的方法。
3 記數(shù)脈沖值與頻率的關(guān)系公式如:N=Fi/2/Fr。N:記數(shù)值:Fi:內(nèi)部計(jì)時(shí)依次為1us,故其頻率為1 MHZ; Fr:要產(chǎn)生的頻率;
4 其記數(shù)值的求法如:T=65536-N=65536-Fi/2/Fr。例:設(shè)K=65536,F=1000000=Fi=1 MHZ。求低音DO(26HZ),中音DO(523HZ),高音DO(1046HZ)的記數(shù)值。
5 調(diào)音量主要就是調(diào)節(jié)占空比。占空比越大,音量越高,反之,占空比越小,音量越小。
5 音樂(lè)編碼表
每個(gè)音符都對(duì)應(yīng)了一個(gè)T值,12M晶振時(shí)各音符的T值如下表1:
                   表1: 12M晶振時(shí)對(duì)應(yīng)的T值表
音符(低音)
T值
音符(中音)
T值
音符(高音)
T值
1
63628
1
64580
1
65058
2
63835
2
64684
2
65110
3
64021
3
64777
3
65157
4
64103
4
64820
4
65178
5
64260
5
64898
5
65217
6
64400
6
64968
6
65252
7
64524
7
65030
7
65282
每個(gè)音符的發(fā)音長(zhǎng)度,各調(diào)節(jié)拍與時(shí)間的設(shè)定如下表2所示:
                表2: 調(diào)值與節(jié)拍延時(shí)時(shí)間關(guān)系表
曲調(diào)值
1/4拍時(shí)間
1/8拍時(shí)間
調(diào)4/4
125ms
62ms
調(diào)3/4
187ms
94ms
調(diào)2/4
250ms
125ms

4.3音樂(lè)調(diào)音器硬件電路圖
0.004.jpg

4.4 主程序
#include


   sbit BEEP=P3^7;
   sbit key1=P2^2;
   sbit key2=P2^5;

  bit bz;
              char b;
              char m=5;

void Delay(unsigned int ms)
{                                                                       

while(ms--);

}                                             


void init()
  {
  EA=1;
  TMOD=0X01;
  TH0=(64536)/256;
  TL0=(64536)%256;
  ET0=1;
  TR0=1;
  }            


void main()
  {            

              init();

    while(1)
              {

              if((key1==0)&&(bz==0))
          {              Delay(11);
                                if(key1==0)
                                             { bz=1;
                                              if(m<10) m++;
                                             }}

                            if((key2==0)&&(bz==0))
          {              Delay(11);
                                if(key2==0)
                                             { bz=1;
                                             if(m>0) m--;}}            

                            if((key1==1)&&(key2==1))
                                   bz=0 ;                 }

                              }




void to() interrupt 1
   {                  
                                 TH0=(64536)/256;
         TL0=(64536)%256;
                            b++;
                            if(b==10) b=0;
                            if(b<m)beep=1;[ align] 附錄
元器件列表
名稱
數(shù)量
名稱
數(shù)量
AT89C52
1
33pF元片電容
2
蜂鳴器
1
按鈕
2
10uF電解電容
1
NPN
1
10K電阻
1
12M晶振
1

0.png
全部資料下載:
控制音量.rar (280.95 KB, 下載次數(shù): 31)

回復(fù)

使用道具 舉報(bào)

ID:155830 發(fā)表于 2016-12-19 21:58 | 顯示全部樓層
需要,謝謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:150601 發(fā)表于 2016-12-20 18:16 | 顯示全部樓層
感謝分享,前段時(shí)間就想過(guò)如何設(shè)計(jì)改變無(wú)源蜂鳴器音量大小,畢竟新手毛都不會(huì)。。。多虧樓主大方
回復(fù)

使用道具 舉報(bào)

ID:150601 發(fā)表于 2016-12-20 18:17 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:192129 發(fā)表于 2017-4-21 19:44 | 顯示全部樓層
樓主留個(gè)聯(lián)系聯(lián)系我下 想請(qǐng)你開(kāi)發(fā)個(gè)程序QQ 10  333 500 10
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表