找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8741|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:127902 發(fā)表于 2016-6-23 23:35 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機(jī)課程設(shè)計報告



題 目 音樂播放器



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





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

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

評審成績

指導(dǎo)教師簽名

職稱

評審時間
      年   月   日

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

驗收情況:
                                                 驗收教師簽名:___________
                                                        年   月   日

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

目錄






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

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

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

                    芯片流程圖







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









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

4.3音樂調(diào)音器硬件電路圖

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


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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:155830 發(fā)表于 2016-12-19 21:58 | 只看該作者
需要,謝謝樓主分享
回復(fù)

使用道具 舉報

板凳
ID:150601 發(fā)表于 2016-12-20 18:16 | 只看該作者
感謝分享,前段時間就想過如何設(shè)計改變無源蜂鳴器音量大小,畢竟新手毛都不會。。。多虧樓主大方
回復(fù)

使用道具 舉報

地板
ID:150601 發(fā)表于 2016-12-20 18:17 | 只看該作者
感謝分享
回復(fù)

使用道具 舉報

5#
ID:192129 發(fā)表于 2017-4-21 19:44 | 只看該作者
樓主留個聯(lián)系聯(lián)系我下 想請你開發(fā)個程序QQ 10  333 500 10
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

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