![八音盒設(shè)計[實用版]_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/6/b694d220-32d3-4734-884c-e46467034147/b694d220-32d3-4734-884c-e464670341471.gif)
![八音盒設(shè)計[實用版]_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/6/b694d220-32d3-4734-884c-e46467034147/b694d220-32d3-4734-884c-e464670341472.gif)
![八音盒設(shè)計[實用版]_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/6/b694d220-32d3-4734-884c-e46467034147/b694d220-32d3-4734-884c-e464670341473.gif)
![八音盒設(shè)計[實用版]_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/6/b694d220-32d3-4734-884c-e46467034147/b694d220-32d3-4734-884c-e464670341474.gif)
![八音盒設(shè)計[實用版]_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-6/6/b694d220-32d3-4734-884c-e46467034147/b694d220-32d3-4734-884c-e464670341475.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 單片機(jī)原理及應(yīng)用單片機(jī)原理及應(yīng)用課程設(shè)計課程設(shè)計八音盒設(shè)計完成日期:2013 年 06 月 11 日 目錄目錄一、單片機(jī)設(shè)計課程的目的和基本要求一、單片機(jī)設(shè)計課程的目的和基本要求.2二、八音盒的設(shè)計要求二、八音盒的設(shè)計要求.3三、關(guān)于三、關(guān)于 AT89C51.33.1、對于 AT89C51 的性能介紹 .33.2、AT89C51 的管腳介紹 .4四、總體設(shè)計四、總體設(shè)計.6五、硬件原理及設(shè)計說明五、硬件原理及設(shè)計說明.7六、軟件設(shè)計流程圖六、軟件設(shè)計流程圖.7七、程序輸入窗口、編碼及音樂程序七、程序輸入窗口、編碼及音樂程序.97.1 程序輸入窗口 .97.2 編碼 .97.3 音樂程序 .1
2、0八、仿真和調(diào)試八、仿真和調(diào)試.22九、元器件清單九、元器件清單.23十、電路總圖十、電路總圖.24十一、實驗總結(jié)十一、實驗總結(jié).25參考文獻(xiàn):參考文獻(xiàn):.26一、一、 單片機(jī)設(shè)計課程的目的和基本要求單片機(jī)設(shè)計課程的目的和基本要求大學(xué)本科生動手能力的培養(yǎng)和提高時大學(xué)本科的一個重要內(nèi)容。本次課程的設(shè)計目的,是讓我們通過課程設(shè)計建立起單片機(jī)應(yīng)用系統(tǒng)的概念,根據(jù)系統(tǒng)設(shè)計要求,掌握初步的單片機(jī)系統(tǒng)設(shè)計方法,讓學(xué)生的動手能力和對單片機(jī)系統(tǒng)從硬件系統(tǒng)和軟件系統(tǒng)設(shè)計兩個方面都得到實際的提高。為今后的畢業(yè)設(shè)計打下良好的基礎(chǔ)。課程設(shè)計的基本要求有:(1)在課程設(shè)計過程中,學(xué)會使用 89S51 單片機(jī)及相應(yīng)繪圖軟
3、件,根據(jù)設(shè)計要求設(shè)計,編程,運行,調(diào)試最后提供課程設(shè)計報告;(2)課程設(shè)計應(yīng)由學(xué)生本人獨立完成,嚴(yán)禁抄襲;(3)認(rèn)真編寫課程設(shè)計報告。二、八音盒的設(shè)計要求二、八音盒的設(shè)計要求8051 八音盒 本設(shè)計利用 8051 單片機(jī)結(jié)合內(nèi)部定時器 LCD 設(shè)計一個八音盒,按下單鍵可以演奏預(yù)先設(shè)置的歌曲旋律。本設(shè)計可以學(xué)習(xí) 8051 定時器程序設(shè)計,按鍵掃描及歌曲旋律簡單直覺式輸入法的設(shè)計方法。 其基本功能為:1 使用 LCD 顯示器來顯示目前演奏的歌曲編號;2 具有 16 個按鍵操作來選擇演奏哪一首歌曲;3 內(nèi)建 10 首歌曲旋律,按下單鍵可以演奏歌曲;4 演奏時可以按鍵中斷。程序執(zhí)行后工作指示 LED
4、閃動,表示程序開始執(zhí)行,按下單鍵 09 便可以演奏歌曲,歌曲演奏中,可以按鍵中斷。三、關(guān)于三、關(guān)于 AT89C513.1、對于、對于 AT89C51 的性能介紹的性能介紹 AT89C51 是一種帶 4K 字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8 位微處理器,俗稱單片機(jī)。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8位 CPU 和閃爍存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一
5、種高效微控制器,為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 它可以提供以下的功能標(biāo)準(zhǔn):(1)4K 的字節(jié)閃爍存儲器;(2)128 字節(jié)隨機(jī)存取數(shù)據(jù)存儲器;(3)32 個 I/O 口;(4)2 個 16 位定時/計數(shù)器;(5)1 個 5 向量兩級中斷結(jié)構(gòu);(6)1 個串行通信口;(7)片內(nèi)振蕩器和時鐘電路。另外 AT89C51 還可以警醒 OHZ 的驚濤邏輯操作,并支持兩種軟件的節(jié)點模式。3.2、AT89C51 的管腳介紹的管腳介紹 圖 3.1 AT89C51 的管腳圖VCC:供電電壓。 GND:接地。 P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門
6、電流。當(dāng) P1 口的管腳第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在 FIASH 編程時,P0 口作為原碼輸入口,當(dāng) FIASH 進(jìn)行校驗時,P0 輸出原碼,此時 P0 外部必須被拉高。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接收輸出 4TTL 門電流。P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH 編程和校驗時,P1 口作為低八位地址接收。 P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O
7、口,P2 口緩沖器可接收,輸出 4 個 TTL 門電流,當(dāng) P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2 口輸出其特殊功能寄存器的內(nèi)容。P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙向 I/O 口,可接收輸出 4 個TTL 門電流。當(dāng) P3 口寫入“1”
8、后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的緣故。P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示:口管腳 備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷 0)P3.3 /INT1(外部中斷 1)P3.4 T0(記時器 0 外部輸入)P3.5 T1(記時器 1 外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3 口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 RST 腳兩個
9、機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的 1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外
10、部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/EA 將內(nèi)部鎖定為RESET;當(dāng)/EA 端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP) 。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。3振蕩器特性: XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。該反向放大器可
11、以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2 應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除: 整個 PEROM 陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持 ALE 管腳處于低電平 10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,AT89C51 設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU 停止工作。但 RAM,定時器,計數(shù)器,串口和中
12、斷系統(tǒng)仍在工作。在掉電模式下,保存 RAM 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。四、總體設(shè)計四、總體設(shè)計 (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)生不同頻率的方法。例如頻率為 523HZ,其周期 T=1/523=1912 微秒,因此只要令計數(shù)器定時
13、956/1=956 在每記數(shù) 9 次時將 I/O 口反相,就可得到中音 D0(523HZ)。記數(shù)脈沖值與頻率的關(guān)系公式如下:N=Fi/2/Fr N:記數(shù)值Fi:內(nèi)部計時一次為 1 微秒故其頻率為 1MHZ Fr;要產(chǎn)生的頻率(3):起記數(shù)值的求法如下:T65536N65536Fi2Fr例如:設(shè) K65536,F(xiàn)1000000Fi1MHZ,求低音 D0(523HZ) ,高音的D0(1046HZ)的記數(shù)值。T65536N65536Fi2Fr6553610000002Fr65536500000Fr低音 D0 的 T6553650000026263627中音 D0 的 T655365000005236
14、4580低音 D0 的 T65536500000104765059表 4.1 調(diào)個音符頻率與計數(shù)值 T 的對照表企鵝 1。16-5。86-4.375五、硬件原理及設(shè)計說明五、硬件原理及設(shè)計說明企鵝 1。16-5。86-4.375六、軟件設(shè)計流程圖六、軟件設(shè)計流程圖 開始初始化設(shè)置音節(jié)起始位置設(shè)置節(jié)拍間距讀取音階,音符顯示當(dāng)前播放歌曲序號節(jié)拍結(jié)束音樂結(jié)束七、程序輸入窗口、編碼及音樂程序七、程序輸入窗口、編碼及音樂程序 7.1 程序輸入窗口程序輸入窗口 圖 7.1 keil5 環(huán)境下的程序輸入窗口7.2 編碼編碼建立音樂的步驟(1)先把樂譜的音符找出,然后建立 T 值表的順序;(2)把 T 值表建
15、立在 TABLE1,構(gòu)成發(fā)音符的計數(shù)值放在TABLE。(3)簡譜碼(音符)為高位,節(jié)拍為(節(jié)拍數(shù))低四位,音符節(jié)拍碼放在程序的 TABLE 處。表 7.1 拍與節(jié)拍的對照企鵝 1。16-5。86-4.375表 7.2 簡譜對應(yīng)的簡譜碼、T 值、節(jié)拍數(shù)企鵝 1。16-5。86-4.375 7.3 音樂程序音樂程序 企鵝 1。16-5。86-4.375八、仿真和調(diào)試八、仿真和調(diào)試企鵝 1。16-5。86-4.375 圖 9.1 在 Isis 環(huán)境下進(jìn)行圖形編輯和元器件選擇 上面設(shè)計的電路在 Proteus 軟件內(nèi)畫圖,打開成單片機(jī)軟件開發(fā)系統(tǒng) keil,選擇 89c51 單片機(jī),在其中編寫程序,運
16、行生成一個后綴名為 hex 的文件,然后將該文件下載到 Proteus 中的 AT89C51 單片機(jī)中進(jìn)行仿真,觀察實驗現(xiàn)象。仿真能實現(xiàn)播放音樂,按鍵選擇曲目、暫停、播放功能。程序調(diào)試中出現(xiàn)的問題及解決的辦法:(1) 有時會出現(xiàn)程序一點錯誤也沒有,但就是不能正常運行的現(xiàn)象,最后我們發(fā)現(xiàn)是因為程序中有的指令書寫得不規(guī)范導(dǎo)致的,例如有的 RET 返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。(2) 程序中的跳轉(zhuǎn)指令的運用很重要,為保險起見,都用 LJMP,我們就遇到過跳轉(zhuǎn)指令用錯程序無法正常運行的現(xiàn)象。當(dāng)用 JNZ 指令時,跳轉(zhuǎn)范圍比較少,這時要用一個標(biāo)號中轉(zhuǎn)。(3) 編程時要注意,在
17、程序開始時,要寫入各定時器中斷的入口地址。(4) 編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。(5) 編程前要加流程圖,這樣會使思路清晰,例如數(shù)字音樂盒的設(shè)計思路完全可以按著 MP3 的工作方式列寫流程圖。(6) LCD 計時正常顯示的解決辦法:a. 兩個定時器同時工作,存在中斷時序問題,剛開始時我們把定時器 1設(shè)定在方式 3,計 250us,由于定時中斷過于頻繁,使 CPU 負(fù)載過大,導(dǎo)致音樂不能正常播放,時間不能正常顯示。解決辦法:將定時器 1 設(shè)定在工作方式 1,16 位計數(shù),計 50ms,效果有很大改觀。但還有問題。b. 當(dāng)音樂為全 4 拍起始時,
18、此時音樂節(jié)奏與定時器 T1 中斷頻率錯開,LCD 顯示和音樂播放都會好一些。c. 另外,在歌曲中,當(dāng)遇到一個音符發(fā)音為 4 拍,在編曲中為*CH,因時間較長,當(dāng)定時器 T1 此時來中斷時,就會對歌曲播放產(chǎn)生影響,若改為發(fā)音一拍,中斷對歌曲播放影響減弱,但音樂效果變差。九、元器件清單九、元器件清單十、電路總圖十、電路總圖 圖 10.1 單片機(jī)八音盒的設(shè)計總電路圖名稱數(shù)量(個)型號備注電阻6排阻 RX8(1 個)1k(2 個),5.5k(1 個),10k(1 個),15(1個)數(shù)碼管17SEG-DIGITAL按鈕4BUTTON單片機(jī)1AT89C51三極管12N2905揚聲器1SPEAKER電源25
19、V電容330pf(2 個),10uf(1 個)晶振1CRYSTAL十一、實驗總結(jié)十一、實驗總結(jié) 信息革命的深入和計算機(jī)技術(shù)的飛速發(fā)展,單片機(jī)的應(yīng)用越來越廣泛,并逐漸發(fā)展成為一門關(guān)鍵的技術(shù)學(xué)科,單片機(jī)具有體積小、重量輕、耗電少、電源單一、功能強(qiáng)、價格低、運行速度快、抗干擾能力強(qiáng)、可用性高等優(yōu)點。單片機(jī)是一種在線式實時控制計算機(jī),在線式就是現(xiàn)場控制,需要的是有較強(qiáng)的抗干擾能力,較低的成本,這也是和離線式計算機(jī)的(比如家用PC)的主要區(qū)別。單片機(jī)廣泛應(yīng)用于儀器儀表、家用電器、醫(yī)用設(shè)備、航空航天、專用設(shè)備的智能化管理及過程控制等領(lǐng)域,大致可分如下幾個范疇:本次課程設(shè)計是為了培養(yǎng)我們的動手能力,同時也讓我們對單片機(jī)有更為直觀的了解,對其相關(guān)軟件了解并熟悉使用,我了解了 keil C51 軟件包含
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 節(jié)水管理知識
- 膠質(zhì)瘤術(shù)后個案護(hù)理
- 腦科生理病理圖譜解讀
- 腰椎間盤突出護(hù)理知識
- 廣州IT軟件工程師簡歷
- 建筑行業(yè)環(huán)境問題
- 防災(zāi)減災(zāi)培訓(xùn)課件
- 客戶服務(wù)技巧實戰(zhàn)指南
- 銷售葡萄酒培訓(xùn)課件
- 防汛物資采購合同
- FZ∕T 01085-2018 粘合襯剝離強(qiáng)力試驗方法
- SL721-2015水利水電工程施工安全管理導(dǎo)則
- (正式版)JBT 11517-2024 刮板取料機(jī)
- 煤礦瓦斯抽采達(dá)標(biāo)暫行規(guī)定解讀俞
- 居民心理健康知識講座課件
- 前列腺特異性抗原(PSA)的檢測課件
- 教師教學(xué)能力大賽獲獎?wù)n程標(biāo)準(zhǔn)-教師教學(xué)能力大賽
- 年產(chǎn)5萬噸丙烯直接水合制備異丙醇工藝Aspen模擬
- 2024年英語專業(yè)四級考試真題及詳細(xì)答案
- 成語故事葉公好龍
- MHT:中小學(xué)生心理健康檢測(含量表與評分說明)
評論
0/150
提交評論