單片機(jī)課程設(shè)計(jì)報(bào)告--基于at89s52的簡(jiǎn)易電子琴_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)報(bào)告</p><p><b>  目 錄</b></p><p>  1 設(shè)計(jì)任務(wù)- 1 -</p><p>  2 系統(tǒng)設(shè)計(jì)方案- 1 -</p><p>  2.1 設(shè)計(jì)目的- 1 -</p><p>  2. 2設(shè)計(jì)要求- 1

2、-</p><p>  3 系統(tǒng)硬件設(shè)計(jì)- 1 -</p><p>  3.1 基本原理- 1 -</p><p>  3.2 芯片及原理圖介紹- 3 -</p><p>  3.2.1 AT89C52簡(jiǎn)介- 3 -</p><p>  3.2.2 電子琴設(shè)計(jì)的原理圖- 3 -</p><

3、;p>  3.3 各個(gè)模塊介紹- 3 -</p><p>  3.3.1 系統(tǒng)硬件設(shè)計(jì)- 4 -</p><p>  3.3.2 子系統(tǒng)模塊一- 4 -</p><p>  3.3.3 子系統(tǒng)模塊二- 5 -</p><p>  3.3.4 子系統(tǒng)模塊三- 5 -</p><p>  3.3.5 AT8

4、9C52晶振模塊- 6 -</p><p>  4 系統(tǒng)軟件設(shè)計(jì)- 6 -</p><p>  4. 1 軟件設(shè)計(jì)總流程圖流程- 7 -</p><p>  4. 2 軟件程序- 8 -</p><p>  5 系統(tǒng)的硬件調(diào)試及軟件調(diào)試- 8 -</p><p>  5.1 軟件調(diào)試- 8 -</

5、p><p>  5、2 硬件調(diào)試- 9 -</p><p>  6 課程設(shè)計(jì)心得體會(huì)- 10 -</p><p>  參 考 文 獻(xiàn)- 11 -</p><p>  附錄1 源程序- 12 -</p><p>  附錄2 儀器清單- 16 -</p><p>  附錄3 系統(tǒng)原理圖

6、- 17 -</p><p><b>  簡(jiǎn)易電子琴</b></p><p><b>  1 設(shè)計(jì)任務(wù)</b></p><p>  實(shí)現(xiàn)電子琴發(fā)聲控制系統(tǒng);要求電路實(shí)現(xiàn)如下功能:</p><p>  利用蜂鳴器作為發(fā)聲部件,兩個(gè)數(shù)碼管作為顯示部件,設(shè)置16個(gè)按鍵,實(shí)現(xiàn)高音、中音、低音的1、2、3、

7、4、5、6、7的發(fā)音。</p><p>  用PROTEUS實(shí)現(xiàn)的電子琴仿真設(shè)計(jì)。說(shuō)明:?jiǎn)纹瑱C(jī)的工作時(shí)鐘頻率為11.0592MHz。</p><p><b>  2 系統(tǒng)設(shè)計(jì)方案</b></p><p><b>  2.1 設(shè)計(jì)目的</b></p><p>  本次設(shè)計(jì)提出了用AT89C52單片機(jī)

8、為核心控制元件,設(shè)計(jì)一個(gè)簡(jiǎn)易的電子琴. 本方案以AT89C52單片機(jī)作為主控核心,與鍵盤、蜂鳴器等模塊組成核心主控制模塊在主控模塊上設(shè)有4*4個(gè)按鍵和蜂鳴器。根據(jù)使用者的操作隨意彈奏想要表達(dá)的音樂。一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來(lái)產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的定時(shí)/計(jì)數(shù)器T0來(lái)產(chǎn)生這樣方波頻率信號(hào)。</p>

9、;<p><b>  2. 2設(shè)計(jì)要求</b></p><p>  1、4*4鍵盤組成16個(gè)按鈕,可以隨意彈奏想要表達(dá)的音樂。</p><p>  2、通過(guò)數(shù)碼管顯示按的是哪個(gè)鍵,發(fā)出哪個(gè)音高。</p><p>  3 系統(tǒng)硬件設(shè)計(jì) </p><p>  3.1 基本原理 <

10、;/p><p>  要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P3.3反相,然后重復(fù)計(jì)時(shí)再反相。就可在P3.3引腳上得到此頻率的脈沖。利用AT89C52的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T=1/523=1912μs,因此只要令計(jì)

11、數(shù)器計(jì)時(shí)956μs/1μs=956,每計(jì)數(shù)956次時(shí)將I/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:N=fi÷2÷fr,式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T=65536-N=65536-fi÷2÷fr</p><p>  例如:設(shè)K=65536,fi=1MH

12、z,求中音DO(261Hz)。T=65536-N=65536-fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=65536-500000/523=64580。</p><p>  單片機(jī)12MHZ晶振,中音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表所示:</p><p>  用單片機(jī)播放音樂,或者彈奏電子琴,實(shí)際上

13、是按照特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。</p><p>  3.2 芯片及原理圖介紹</p><p>  3.2.1 AT89C52簡(jiǎn)介 </p><p>  AT89C52(圖1-1)為8位低功耗單片機(jī),采用工業(yè)標(biāo)準(zhǔn)的C51內(nèi)核,在內(nèi)部功能及管腳排布上與通用的8xc52 相同,其主要用于會(huì)聚調(diào)整時(shí)的功能控制。功

14、能包括對(duì)會(huì)聚主IC 內(nèi)部寄存器、數(shù)據(jù)RAM及外部接口等功能部件的初始化,會(huì)聚調(diào)整控制,會(huì)聚測(cè)試圖控制,紅外遙控信號(hào)IR的接收解碼及與主板CPU通信等。主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST(9 腳)為復(fù)位輸入端口,外接電阻電容組成的復(fù)位電路。VCC(40 腳)和GND(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件

15、定義,在本設(shè)計(jì)中,P0 端口(32~39 腳)定義為雙向8位三態(tài)I/O接口,它既可以作為通用I/O接口,又可作為外部擴(kuò)展時(shí)的數(shù)據(jù)總線及低8位地址總線的分時(shí)復(fù)用口;P1端口(1~8腳)定義為準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電阻;P2端口(21~28腳)定義為8位準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電阻,可直接連接外部I/O設(shè)備,同時(shí)與地址高8位復(fù)用;P3端口(10~17)定義為8位準(zhǔn)雙向I/O接口,內(nèi)部具有上拉電</p><p

16、>  圖1-1 AT89C52 </p><p>  3.2.2 電子琴設(shè)計(jì)的原理圖(見附錄) </p><p>  3.3 各個(gè)模塊介紹</p><p>  本系統(tǒng)采用單片機(jī)AT89C52為電子琴的控制核心,系統(tǒng)主要包括按鍵彈奏模塊,數(shù)碼管顯示模塊。下面對(duì)各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。</p><p>

17、  3.3.1 系統(tǒng)硬件設(shè)計(jì)</p><p>  圖2-1 總體硬件組成框圖</p><p>  實(shí)驗(yàn)中每按下一個(gè)琴鍵,單片機(jī)能夠檢測(cè)到鍵盤的按鍵,并根據(jù)按鍵的位置,通過(guò)程序來(lái)控制,使喇叭發(fā)出不同頻率(音調(diào))的聲音,聲音延遲一段時(shí)間,等到按鍵放開之后,聲音停止。然后再繼續(xù)掃描,看是否有鍵按下。如此循環(huán),即可實(shí)現(xiàn)基本的琴鍵功能。</p><p>  3.3.2 子系

18、統(tǒng)模塊一</p><p>  琴鍵模塊如圖2-2所示,利用AT89C52單片機(jī)的P1端口及P2端口與鍵盤(圖2-2 a)、數(shù)碼管(圖2-2 b)的連接。</p><p>  圖2-2(a) 單片機(jī)與鍵盤的連接 圖2-2 (b)單片機(jī)與數(shù)碼管的連接</p><p>  3.3.3 子系統(tǒng)模塊二</p><p>  播放模塊是蜂鳴器構(gòu)成

19、。蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,廣泛應(yīng)用于計(jì)算機(jī)、打印機(jī)、復(fù)印機(jī)、報(bào)警器、電子玩具、汽車電子設(shè)備、電話機(jī)、定時(shí)器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母“H”或“HA”(舊標(biāo)準(zhǔn)用“FM”、“LB”、“JD”等)表示。而且由于所需驅(qū)動(dòng)功率較小,且價(jià)格低廉,所以,被廣泛應(yīng)用。</p><p>  圖2-3 發(fā)聲模塊電路圖 </p&

20、gt;<p>  3.3.4 子系統(tǒng)模塊三</p><p>  電子琴設(shè)有16個(gè)按鍵,分別代表16個(gè)音符,包括中音段的全部音符。通過(guò)軟硬件設(shè)計(jì),按鍵觸發(fā)外部中斷,中斷使程序跳轉(zhuǎn),實(shí)現(xiàn)模式轉(zhuǎn)換,啟動(dòng)電子琴。然后通過(guò)查詢電子琴所按下的按鍵,讀取電子琴輸入狀態(tài),跳轉(zhuǎn)到對(duì)應(yīng)的程序人口,實(shí)現(xiàn)各種琴鍵的聲音。</p><p>  矩陣鍵盤模塊圖如下:</p><p&g

21、t;  圖2-4 矩陣鍵盤模塊</p><p>  3.3.5 AT89C52晶振模塊</p><p>  XTAL1腳為片內(nèi)振蕩電路的輸入端,XTAL2腳為片內(nèi)振蕩電路的輸入端。8952的時(shí)鐘有兩種方式:一種是片內(nèi)時(shí)鐘振蕩方式,但需在18和19腳外接石英晶體(頻率為1.2~12MHZ)和振蕩電容,振蕩電容值一般取10~30pf,典型值為30pf;另一種是外部時(shí)鐘方式,即將XTAL1

22、接地,外部時(shí)鐘信號(hào)從XTAL2腳輸入。下面為方式一電路圖。</p><p>  圖2-6 晶振模塊</p><p><b>  4 系統(tǒng)軟件設(shè)計(jì)</b></p><p>  軟件是該電子琴控制系統(tǒng)的重要組成部分,將系統(tǒng)的各部分功能編寫成子模塊的形式,這樣增強(qiáng)了系統(tǒng)軟件的可讀性和可移植性。KEIL C51 µVision2集成開發(fā)

23、環(huán)境是KEIL Software,Inc/KEIL electronik GmbH開發(fā)的基于80C51內(nèi)核的微處理器軟件開發(fā)平臺(tái),內(nèi)嵌多種符合當(dāng)前工業(yè)標(biāo)準(zhǔn)的開發(fā)工具,可以完成從工程建立到管理、編譯、鏈接、目標(biāo)代碼的生成、軟件仿真、硬件仿真等完整的開發(fā)流程尤其是C編譯工具在產(chǎn)生代碼的準(zhǔn)確性和效率方面達(dá)到了較高的水平,而且可以附加靈活的控制選項(xiàng),在開發(fā)大型項(xiàng)目時(shí)非常理想。</p><p>  4. 1 軟件設(shè)計(jì)總流程

24、圖流程</p><p><b>  4. 2 軟件程序</b></p><p>  本系統(tǒng)的上位機(jī)軟件主要是編輯電子琴播放狀態(tài)的內(nèi)容,在設(shè)計(jì)中采用C語(yǔ)言編寫了電子琴控制系統(tǒng)控制和播放內(nèi)容的程序。見附錄一。</p><p>  5 系統(tǒng)的硬件調(diào)試及軟件調(diào)試</p><p><b>  5.1 軟件調(diào)試。<

25、/b></p><p>  利用protuse與keil聯(lián)調(diào),對(duì)電路原理圖進(jìn)行仿真。</p><p>  當(dāng)按下K0按鍵的時(shí)候,數(shù)碼管顯示如下,同時(shí),蜂鳴器發(fā)出音樂的(音高)。</p><p>  當(dāng)按下K6按鍵的時(shí)候,數(shù)碼管顯示如下,同時(shí),蜂鳴器發(fā)出音樂(音高。)</p><p><b>  5、2 硬件調(diào)試。</b&

26、gt;</p><p>  將焊接好的硬件接到電源上,進(jìn)行調(diào)試。</p><p>  按下K0鍵時(shí),數(shù)碼管顯示為‘0’,并且蜂鳴器有發(fā)出相對(duì)應(yīng)的音高。</p><p>  按下K6鍵時(shí),數(shù)碼管顯示為‘9’,并且蜂鳴器有發(fā)出相對(duì)應(yīng)的音高。</p><p>  按下K15鍵時(shí),數(shù)碼管顯示為‘F’,并且蜂鳴器有發(fā)出相對(duì)應(yīng)的音高。</p>

27、<p>  綜合以上幾次操作,發(fā)現(xiàn)硬件調(diào)試成功,硬件的功能與仿真的功能一樣。</p><p>  6 課程設(shè)計(jì)心得體會(huì)</p><p>  通過(guò)這次單片機(jī)課程設(shè)計(jì),我不僅加深了對(duì)單片機(jī)理論的理解,將理論很好地應(yīng)用到實(shí)際當(dāng)中去,而且我還學(xué)會(huì)了如何去培養(yǎng)我們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新可以是在原有的基礎(chǔ)上進(jìn)行改進(jìn),使之功能不斷完善,成為真己的東西。</p&

28、gt;<p>  在這周的單片機(jī)課程設(shè)計(jì)中,我合理的安排的時(shí)間。提前確定自己要做的課程,以及提前去查找資料,去購(gòu)買元器件。在這次的課程設(shè)計(jì)中,我學(xué)到了很多只是,這些知識(shí)在課堂上很難學(xué)到。這次課程讓我受益頗多,無(wú)論從知識(shí)上還是其他的各個(gè)方面。上課的時(shí)候的學(xué)習(xí)從來(lái)沒有見過(guò)真正的單片機(jī),只是從理論的角度去理解枯燥乏味。但在實(shí)習(xí)中見過(guò)甚至使用了單片機(jī)及其系統(tǒng),能夠理論聯(lián)系實(shí)際的學(xué)習(xí),開闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。課程設(shè)

29、計(jì)中,我加強(qiáng)了自己的動(dòng)手能力,以及更好的將理論的只是運(yùn)用到實(shí)踐當(dāng)中去。在這次課程設(shè)計(jì)中又讓我體會(huì)到了合作與團(tuán)結(jié)的力量,這實(shí)驗(yàn)中,我也遇到了很多難題,當(dāng)遇到不會(huì)或是設(shè)計(jì)不出來(lái)的地方,我們就會(huì)去詢問(wèn)同學(xué)和老師,老師都會(huì)很認(rèn)真的給予我們幫助。同學(xué)之間還互相交流,互幫互助,遇到問(wèn)題能夠相互探討,體現(xiàn)了團(tuán)結(jié)的力量。</p><p><b>  參 考 文 獻(xiàn)</b></p><p&

30、gt;  [1] 楊凌霄. 微型計(jì)算機(jī)原理與應(yīng)用,中國(guó)礦業(yè)大學(xué)出版社.2008年8月第一版</p><p>  [2] 康華光. 電子技術(shù)基礎(chǔ)(數(shù)字部分),高等教育出版社.第五版</p><p>  [3] 鄧紅. 單片機(jī)實(shí)驗(yàn)與應(yīng)用設(shè)計(jì)教程 出版日期:2004年05月第1版</p><p>  [4] 余發(fā)山、王福忠. 單片機(jī)原理及應(yīng)用技術(shù). 中國(guó)礦業(yè)大學(xué)出版社.

31、2008年6月第1 版</p><p><b>  附錄1 源程序</b></p><p>  #include<reg51.h></p><p>  #define uchar unsigned char</p><p>  #define uint unsigned int</p>&l

32、t;p>  uchar code DSY_Table[]=</p><p>  {0x7e,0x18,0x6d,0x3d,0x1b,0x37,0x77,0x1c,0x7f,0x3f,0x5f,0x73,0x66,0x79,0x67,0x47};</p><p>  uint code Tone_Delay_Table[]=</p><p>  {64021,6

33、4103,64260,64400,64524,64580,64684,64777,</p><p>  64820,64898,64968,65030,65058,65110,65157,65178};</p><p>  sbit BEEP=P3^0;</p><p>  uchar KeyNo;</p><p>  void DelayM

34、S(uchar x)</p><p><b>  {</b></p><p><b>  uchar i;</b></p><p>  while(x--) for(i=0;i<120;i++);</p><p><b>  }</b></p><p&

35、gt;  void Keys_Scan()//按鍵掃描</p><p><b>  {</b></p><p>  uchar Tmp,k;</p><p>  P1=0x0F;//按鍵初始化</p><p>  DelayMS(2);</p><p>  Tmp=P1^0x0F;</p&g

36、t;<p>  switch(Tmp)</p><p><b>  {</b></p><p>  case 1:k=0;break;</p><p>  case 2:k=1;break;</p><p>  case 4:k=2;break;</p><p>  case 8:k

37、=3;break;</p><p>  default:return;</p><p><b>  }</b></p><p><b>  P1=0xF0;</b></p><p>  DelayMS(2);</p><p>  Tmp=(P1>>4)^0x0F;

38、</p><p>  switch(Tmp)</p><p><b>  {</b></p><p>  case 1:k+=0;break;</p><p>  case 2:k+=4;break;</p><p>  case 4:k+=8;break;</p><p>

39、;  case 8:k+=12;break;</p><p>  default:return;</p><p><b>  }</b></p><p><b>  KeyNo=k;</b></p><p><b>  }</b></p><p>  v

40、oid play_Tone() interrupt 1</p><p><b>  {</b></p><p>  TH0=Tone_Delay_Table[KeyNo]/256;</p><p>  TL0=Tone_Delay_Table[KeyNo]%256;</p><p>  BEEP=~BEEP;</p

41、><p><b>  }</b></p><p>  void main()</p><p><b>  {</b></p><p><b>  P2=0xBF;</b></p><p>  TMOD=0x01;</p><p>&l

42、t;b>  IE=0x82;</b></p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  P1=0xF0;//初始值</p><p>  if(P1!=0xF0)//有按鍵按下</p><p>&

43、lt;b>  {</b></p><p>  Keys_Scan();//調(diào)用按鍵發(fā)音子程序</p><p>  P2=DSY_Table[KeyNo];//顯示按鍵的鍵位</p><p>  TR0=1;//開中斷</p><p><b>  }</b></p><p><

44、;b>  else</b></p><p><b>  {</b></p><p>  TR0=0;//關(guān)中斷</p><p><b>  }</b></p><p>  DelayMS(2);</p><p><b>  }</b>&

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)僅提供信息存儲(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)論