單片機課程設計報告-按鍵控制定時器選播多段音樂_第1頁
單片機課程設計報告-按鍵控制定時器選播多段音樂_第2頁
單片機課程設計報告-按鍵控制定時器選播多段音樂_第3頁
單片機課程設計報告-按鍵控制定時器選播多段音樂_第4頁
單片機課程設計報告-按鍵控制定時器選播多段音樂_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Proteus仿真大 作業(yè)課題:按鍵控制定時器選播多段音樂 系部:電子工程系班級: 計算機控制技術 1201班姓名:騙里指導老師:馬磊娟2014.11.06Proteus 技術是計算機控制技術的核心課程, 經過一年的學習本人對于其也有了一定的理解此次大型作業(yè)的布置正好可以驗證自己所學如何能否實際應用本次設計中的硬件設計涉及8051 輸入 / 輸出 (I/O) 端口獨立式鍵盤、TFT彩屏顯示等應用,而軟件設計采用C51語言編寫。因此我的課程設計基本涵蓋了課程的重要內容,較好的檢測我的學習效果。Proteus 課程設計是一個工程項目, 在這一工程中包括選題、 繪制電路圖+編制程序、Proteus

2、仿真、系統(tǒng)仿真與調試、系統(tǒng)正常運行等流程。在老師的安排下,我嚴格按照這一流程開展項目,并最終完成本項目基于單片機的推箱子游戲設計。接下來我將具體介紹我們在開展項目中遇到的問題和解決方案的設計。前言 2摘要4硬件設計方案 51 . 單片機及晶振模塊 52 .數碼管顯示模塊 73 .按鍵控制模塊 84 .揚聲器模塊 8程序: 9原理圖 : 12安裝與調試: 13心得與體會: 14元件清單如下: 15參考文獻: 16摘要本課程設計是按鍵控制定時器選擇多段音樂,以 AT89S52 為系統(tǒng)的操作核心,以一個數碼管顯示播放音樂的序號,通過按鍵來選擇音樂(本課程設計中含3 首音樂) 。硬件設計方案1. 單片

3、機及晶振模塊該設計選用的是Atmel 公司生產的 AT89S52 型單片機,由石英晶體振蕩器產生單片機工作時所需的時鐘信號,振蕩器采用的是12M的晶振,使其機器周期為1us,方便發(fā)音程序的計算和編譯。AT89S52是一種低功耗、高性能 CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。 使用 Atmel 公司高密度非易失性存儲器技術制造, 與工業(yè) 80C51 產品指令和引腳完全兼容。 片上 Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 CPU 和在系統(tǒng)可編程Flash, 使得 AT89S52 為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解

4、決方案。AT89S52具有以下標準功能:8k字節(jié)Flash, 256字節(jié)RAM ,32 位 I/O 口線,看門狗定時器, 2 個數據指針,三個16 位定時器 /計數器,一個6 向量 2 級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外, AT89S52 可降至 0Hz 靜態(tài)邏輯操作,支持2 種軟件可選擇節(jié)電模式??臻e模式下, CPU 停止工作,允許RAM 、定時器/計數器、串口、 中斷繼續(xù)工作。 掉電保護方式下, RAM 內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。引 腳 分 布AT89S52的>XTAL1XTAL2RSTPSENALFEAT2/P1.

5、0 T2EX/P1. 1Pl. 2Pl. 3 Pl. 4XDSI/Pl. 5 MI S0/P1.6 SCK/P1. 7 RSTRWP3. 0TXD/P3,1 mO/P3, 2 INT1/P3. 3 TQ/P3.4 X1/P3. 5VVR/P3,6KD/P3、7XT AL 2XTAL1PDIP GNDc 匚 r r c: r c c r c c E E c E c2.數碼管顯示模塊01234567030 11 oco。; EJ -ro roo 4 <1 11 11 1* 1* 1* 1* 1* 1* 1A0987654321098765432143333333333222222222Vcc

6、FO. 0 /ADO PO. 1/AD1PO. 2/AD2 PO. 3/AD3 PO, 4/AD4 PO, 5/AD5 P0.6/AD6 PO. 7/AD7 EA/VPP ALE/PKOGPESNP2,“A15 P2,6/A14 P2. 5ZA13 P2.4/A12P2.3/AllP2. 2/A10F2. 1/A9P2, 0/A8該部分只用了一個數碼管,用來顯示播放的音樂序列,數碼管的7個管腳都接了 1K的上拉電阻。數碼管顯示的歌曲序列為 0,1,2。P04fAD4P0.5/AD5P0,6fAD6P0.7/AD7%-31P2 O/ABP2.1 /AS P2.2/A10 P2 3JA11P2 4

7、JA12P2.S/A13 P2.6/A14P2 7/A15P3 口而 ND P3.1JTXD P3.2/1NT0 P3 3/1NTTP3.47T0 門。C JTdI '21222324252728101112LL143.按鍵控制模塊-K2選擇 l . T 0此模塊只用了兩個按鍵,按鍵K1用來控制歌曲的開始和停止, 接P1.0 口,按鍵K2用于選擇歌曲,接P3.2 口。按下K1,開始播放 音樂,隨著改變數碼管的顯示值(0、1、2),將出現(xiàn)對應的音樂。4.揚聲器模塊揚聲器上接了一個三極管,用于放大聲音。程序 :#include<reg51.h>#include<intri

8、ns.h>#define uchar unsigned char#define uint unsigned intsbit K1=P1A0; /播放和停止鍵sbit SPK=P3A7; /獨隼鳴器uchar Song_Index=0,Tone_Index=0; /當前音樂段索引,/音符索引/數碼管段碼表ucharcodeDSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90 ;/標準音符頻率對應的延時表ucharcodeHI_LIST=0,226,229,232,233,236,238,240,241,242,244,245,

9、246,247,2 48;uchar code LO_LIST=0,4,13,10,20,3,8,6,2,23,5,26,1,4,3;/三段音樂的音符uchar code Song50=1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1,3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,53,3,2,1,1,-1,3,2,1,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1;/三段音樂的節(jié)拍uchar code Len50=1,1,1,1,

10、1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1,1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1;/外部中斷0void EX0_INT() interrupt 0TR0=0; /播放結束或者播放中途切換歌曲時停止播放Song_Index=(Song_Index+1)%3; /跳到下一首的開頭Tone_Index=0;P2=DSY_CODESong_Index;

11、/數碼管顯示當前音樂段號/定時器0中斷函數void T0_INT() interrupt 1TL0=LO_LISTSongSong_IndexTone_Index;TH0=HI_LISTSongSong_IndexTone_Index;SPK=SPK;/延時void DelayMS(uint ms)uchar t;while(ms-) for(t=0;t<120;t+);/主程序void main()P2=0xc0;SPK=0;TMOD=0x00; /T0 方式 0IE=0x83;IT0=1;IP=0x02;while(1)while(K1=1); /未按鍵等待while(K1=0);

12、/ 等待釋放TR0=1; /開始播放Tone_Index=0; /從第 0個音符開始/播放過程中按下K1 可提前停止播放( K1=0 )。/若切換音樂段會觸發(fā)外部中斷,導致TR0=0 ,播放也會停止while(SongSong_IndexTone_Index!=-1&&K1=1&&TR0=1) DelayMS(300*LenSong_IndexTone_Index); / 播放延時 (節(jié)拍)Tone_Index+; /當前音樂段的下一音符索引TR0=0; /停止播放while(K1=0); /若提前停止播放,按鍵未釋放時等待原理圖U119f 11ru.uwcuP

13、0.1/AD1P0.2/AD2XTAL2PD.3/AD3PD.4/AD4F'0.5/AD5P0.6/AD6RSTP07/AD7P2.0/A8P2.1/A9PSENP2.2/A10P2.3/A11ALEP2.4/A12EAP2.5/A13P2.6/A14P2.7/A15Pl .0P3.0XDPI .1P3.1HXDP1.2P3.2JINT0P1.3P3.3JINT1P1.4P3.4/T0PI sP3.5J1P1.6P3.6/WRP1.7P3.7/RDAiescsi .212223243526正二皿一LL .12LL_l± .Ui .16 1?LS1 n /u:x:SOUNDER

14、安裝與調試:安裝過程:1 檢查印刷電路板有無斷路、短路,若有,首先處理好。2 焊接順序:先焊單片機,在焊接各分塊電路,先焊平面的,后焊立體的,原則是有利于焊接。要求臥裝水平、豎裝垂直、相同元件等高。要特別注意元器件的安裝方向!3 焊接要點:將元件整形后插入對應位置,電路板平放在臺面上,一手握烙鐵對焊盤和引腳同時接觸預熱,另一手持焊錫絲與焊盤處烙鐵接觸,使錫絲熔化,當錫絲熔化一定量時(多了不好少了不行) ,立即將錫絲離去,烙鐵繼續(xù)保持少許時間,讓焊錫圍繞焊盤自由流動,形成一個完全覆蓋焊盤的鐘形(忌諱球形)焊點。切勿將焊錫先溶化在烙鐵上再去焊接,這樣錫絲里的助焊劑在未焊接前先揮發(fā)了,不利于焊接,而

15、且焊點沒有光澤。4 剪腳:元件焊好后,將多余引腳剪掉,剪腳后的焊點應露出引腳0.5-1mm。本課設要求引腳露出2mm以利于元件重復使用。5 檢查各元件是否出現(xiàn)焊接錯誤情況以及短路、斷路情況。6 將 5V 直流電源接入單片機以及其他各分模塊電源端。若發(fā)現(xiàn)元器件發(fā)熱或者有異味,應立即切斷電源檢查。7 .正常電路LED燈以及數碼管會工作在較為穩(wěn)定、準確的狀態(tài),可據此來進一步檢測電路連接是否、存在問題調試過程:接上 5V 電源后,按下 K1 鍵,會有音樂,隨著 K2 的按下,音樂也隨之改變。過程較為順利。心得與體會:在這次課程設計中,我們把學習的單片機理論知識運用到了實踐中,加 深了我們對單片機理解,同時熟悉了單片機的使用,加強了我們的動手 能力。在電路的焊接方面,也學到了一些知識,如怎樣使排版好看,不 要雜亂無章。焊接時,要注意很多的細節(jié),排線走線都要小心,很容易 造成短路。元件清單如下22pf 的電容兩個12MHZ1J 振一個10K 電阻一個10uf 電容一個2 個按鍵1 個共陽數碼管8 個 1K 的電阻1 個蜂鳴器1個89S52單片機參考文獻:1 . 謝維成、楊加國 單片機原理與應用及c51 程序設計 . 北京:清華大學出版社2 . 閻石 . 數字電子技術基礎. 北京:

溫馨提示

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

評論

0/150

提交評論