論文:基于51單片機的音樂發(fā)生器設計_第1頁
論文:基于51單片機的音樂發(fā)生器設計_第2頁
論文:基于51單片機的音樂發(fā)生器設計_第3頁
論文:基于51單片機的音樂發(fā)生器設計_第4頁
論文:基于51單片機的音樂發(fā)生器設計_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.1. - . 可修編.本文是應用MCS-51單片機原理和控制理論技術設計音樂發(fā)生器的硬件電路,并利用C語言進展軟件開發(fā)和程序設計。通過控制單片機部的定時器產(chǎn)生不同頻率的方波,驅(qū)動喇叭發(fā)出不同音調(diào)的音樂,再利用延遲控制發(fā)音時間的長短。把樂譜轉(zhuǎn)化成相應的定時常數(shù),從而到達從發(fā)音設備中演奏出悅耳動聽的音樂的效果。該音樂盒主要由按鍵電路、復位電路、時鐘電路以及蜂鳴器組成。使用兩個按鍵控制音樂盒,一個用來切換歌曲,另一個用來切換8路LED的變化把戲,本音樂盒共有兩首歌曲,把戲燈把戲共計3種。播放歌曲時,蜂鳴器發(fā)出*個音調(diào),與之對應的LED亮起。本設計利用KEIL編程軟件對音樂盒源程序進展編程并調(diào)試,配

2、合PROTEUS仿真軟件對硬件進展仿真調(diào)試,節(jié)約了設計時間。本系統(tǒng)采用C語言進展軟件設計。正文中首先簡單描述系統(tǒng)硬件工作原理,且附以系統(tǒng)硬件設計框圖,論述了本次畢業(yè)設計所應用的各硬件接口技術和各個接口模塊的功能及工作過程。其次闡述了程序的流程和實現(xiàn)過程。本文撰寫的主導思想是軟、硬件相結(jié)合,以硬件為根底,來進展各功能模塊的編寫。關 鍵 詞單片機;音樂;C語言;STC89C51;KEIL;PROTEUSAbstractIn this paper, The music generator and its hardware circuit is designed by MCS-51 single-ch

3、ip microputer principle and control theory, and the Software development and programmingare based on C language programming. According to control the MCU internal timer to produce different frequency Square wave to drive the horn sounds of different tones of music, then use the delay to control the

4、length of time. The music Transformationed into the timing constants corresponding so that the sound equipment can playMelodious music.The music bo* is mainly posed of keypad circuit, reset circuit, clock circuit and a buzzer. Two buttons are used to control the music bo*, one to switch songs, anoth

5、er is used to switch the 8 LED pattern, the music bo* has two songs, a total of 3 kinds of pattern light pattern. While the music is playing, the buzzer sounded a tone, and the corresponding LED lights up. The design of programming the music bo* and debug source code using KEIL programming software,

6、 and to save the design time the PROTEUS simulation software is used to simulate the hardware debugging.The system uses C language for software design. Firstly,in the te*t describes the working principle of the system hardware, and attached to the system block diagram of hardware design to discusse

7、the function and working process of the graduation design and the application of the hardware interface technology and the interface module. Secondly, e*pound the procedures and processes to achieve process. The main idea of this writing is a bination of software and hardware, on the base of hardwar

8、e, write to each function module.Key wordsSinglechip; music; C language; STC89C51; KEIL;PROTEUS目錄 TOC o 1-3 h z u HYPERLINK l _Toc357257790前言 PAGEREF _Toc357257790 h - 1 -HYPERLINK l _Toc3572577911 概述 PAGEREF _Toc357257791 h - 3 -HYPERLINK l _Toc3572577921.1 課題意義 PAGEREF _Toc357257792 h - 3 -HYPERLI

9、NK l _Toc3572577931.2 國外研究的現(xiàn)狀及開展趨勢 PAGEREF _Toc357257793 h - 3 -HYPERLINK l _Toc3572577941.3 音樂發(fā)生器的擴展 PAGEREF _Toc357257794 h - 4 -HYPERLINK l _Toc357257795設計方案 PAGEREF _Toc357257795 h - 4 -HYPERLINK l _Toc3572577962 51單片機介紹 PAGEREF _Toc357257796 h - 4 -HYPERLINK l _Toc3572577972.1 Intel 51系列單片機 PAG

10、EREF _Toc357257797 h - 4 -HYPERLINK l _Toc3572577982.1.1MCS-51單片機簡述 PAGEREF _Toc357257798 h - 5 -HYPERLINK l _Toc3572577992.1.2 8051與80C51的區(qū)別 PAGEREF _Toc357257799 h - 5 -HYPERLINK l _Toc357257800 8051單片機的引腳功能 PAGEREF _Toc357257800 h - 5 -HYPERLINK l _Toc3572578012.2 51單片機部構造 PAGEREF _Toc357257801 h

11、 - 8 -HYPERLINK l _Toc3572578022.3 51系列的特性 PAGEREF _Toc357257802 h - 8 -HYPERLINK l _Toc3572578032.4 并行I/O口 PAGEREF _Toc357257803 h - 8 -HYPERLINK l _Toc3572578042.4.1 P0端口的構造及工作原理 PAGEREF _Toc357257804 h - 9 -HYPERLINK l _Toc3572578052.4.2 P1端口的構造及工作原理 PAGEREF _Toc357257805 h - 11 -HYPERLINK l _Toc

12、3572578062.4.3 P2端口的構造及工作原理 PAGEREF _Toc357257806 h - 11 -HYPERLINK l _Toc3572578072.4.4 P3端口的構造及工作原理 PAGEREF _Toc357257807 h - 12 -HYPERLINK l _Toc3572578082.5 驅(qū)動能力 PAGEREF _Toc357257808 h - 13 -HYPERLINK l _Toc3572578093 系統(tǒng)總體方案介紹 PAGEREF _Toc357257809 h - 13 -HYPERLINK l _Toc3572578103.1 系統(tǒng)組成框圖 PA

13、GEREF _Toc357257810 h - 13 -HYPERLINK l _Toc3572578113.2 音樂發(fā)生器的功能構造圖 PAGEREF _Toc357257811 h - 14 -HYPERLINK l _Toc3572578123.3主要設計軟件介紹 PAGEREF _Toc357257812 h - 14 -HYPERLINK l _Toc3572578133.3.1 PROTEUS軟件簡介 PAGEREF _Toc357257813 h - 14 -HYPERLINK l _Toc3572578143.3.2 KEIL簡介 PAGEREF _Toc357257814 h

14、 - 14 -HYPERLINK l _Toc3572578154 硬件設計 PAGEREF _Toc357257815 h - 15 -HYPERLINK l _Toc3572578164.1 總體設計框圖 PAGEREF _Toc357257816 h - 15 -HYPERLINK l _Toc3572578174.2各局部硬件設計及其原理 PAGEREF _Toc357257817 h - 16 -HYPERLINK l _Toc3572578184.2.1 STC89C51簡介 PAGEREF _Toc357257818 h - 16 -HYPERLINK l _Toc3572578

15、194.2.2 LED顯示電路設計與原理 PAGEREF _Toc357257819 h - 16 -HYPERLINK l _Toc3572578204.2.3 時鐘振蕩電路 PAGEREF _Toc357257820 h - 17 -HYPERLINK l _Toc3572578214.3 硬件電路圖及功能 PAGEREF _Toc357257821 h - 17 -HYPERLINK l _Toc3572578225 軟件設計 PAGEREF _Toc357257822 h - 18 -HYPERLINK l _Toc3572578235.1音調(diào)、節(jié)拍以及編碼確實定方法 PAGEREF

16、_Toc357257823 h - 19 -HYPERLINK l _Toc3572578245.1.1 音調(diào)確實定 PAGEREF _Toc357257824 h - 19 -HYPERLINK l _Toc357257825節(jié)拍確實定 PAGEREF _Toc357257825 h - 20 -HYPERLINK l _Toc3572578265.1.3 編碼 PAGEREF _Toc357257826 h - 21 -HYPERLINK l _Toc3572578275.2 軟件程序設計 PAGEREF _Toc357257827 h - 23 -HYPERLINK l _Toc3572

17、578285.2.1 程序流程圖及相應代碼塊 PAGEREF _Toc357257828 h - 23 -HYPERLINK l _Toc3572578295.2.2 程序源代碼見附錄A PAGEREF _Toc357257829 h - 27 -HYPERLINK l _Toc3572578306 調(diào)試 PAGEREF _Toc357257830 h - 27 -HYPERLINK l _Toc3572578316.1 檢查硬件連接 PAGEREF _Toc357257831 h - 27 -HYPERLINK l _Toc3572578326.2 檢查軟件系統(tǒng) PAGEREF _Toc35

18、7257832 h - 27 -HYPERLINK l _Toc3572578336.3 仿真測試結(jié)果 PAGEREF _Toc357257833 h - 27 -HYPERLINK l _Toc3572578346.3.1 總體運行圖 PAGEREF _Toc357257834 h - 27 -HYPERLINK l _Toc3572578356.3.2 把戲燈3種把戲圖 PAGEREF _Toc357257835 h - 28 -HYPERLINK l _Toc3572578367 總結(jié) PAGEREF _Toc357257836 h - 30 -HYPERLINK l _Toc35725

19、7837致: PAGEREF _Toc357257837 h - 31 -HYPERLINK l _Toc357257838參考文獻: PAGEREF _Toc357257838 h - 32 -HYPERLINK l _Toc357257839附錄A: PAGEREF _Toc357257839 h - 33 -HYPERLINK l _Toc357257840程序源代碼: PAGEREF _Toc357257840 h - 33 -.1 . 可修編.前 言音樂電聲的一個重要容就是電子音樂。電子琴的出現(xiàn),開辟了音樂的一個新天地。但是自從電子合成器問世以來,電子音樂就又進入了一個更高的階段。目

20、前,由于電子音樂的普及,電子合成器合成器實際上是一臺聲音的頻率合成儀,可以制作各種聲音,改變各種音色可以解決相當一局部的歌唱及舞廳的伴奏問題??梢允孪戎谱靼樽嘁魳坊虮尘耙魳?,而不需要樂隊,或者局部代替樂隊。由于音樂合成器制作和修改方便,本錢低,音樂飽滿,所以市場需求量很大,因此,世界許多國家的廠商都不斷地在開展并推出新的型號,每年都要更新?lián)Q代。當前的開展趨勢是不斷的采用先進技術,以取得更多、更好的音色。如擴展容量,這包括擴展槽口,增加軟盤驅(qū)動器或硬盤,增加最大發(fā)音數(shù)目,增大存貯量,擴展琴鍵等;使功能多樣化,如一臺合成器可以同時發(fā)二種、四種甚至八種音色,即一臺當作幾臺使用,或者把鼓機的節(jié)奏發(fā)生器

21、功能、音序器的編輯功能放入合成器,讓合成器代替計算機的主機等;擴展功能,例如有的合成器有“跟隨功能,即經(jīng)預置,每一個音后可以跟隨一個二度或三度音,“重疊功能,輕奏或重奏時可以發(fā)不同音調(diào)或音色;另外,合成器還向輕便、使用操作方便等方向開展。隨著以法、德、意為代表的歐洲和以美國為代表的電子音樂、計算機音樂早期的大力開展,國際上許多國家紛紛開場引入電子音樂研究與創(chuàng)作。因此,電子音樂創(chuàng)作作為音樂科技領域開展的重要標志,在風格上也表達出比以往任何時代都鮮明的個性化特征。電腦音樂也許不會成為今后音樂的主流,但它在整個人類音樂史上的地位已經(jīng)不容置疑地確立了,相信它會越來越深入地浸透到音樂創(chuàng)作和欣賞的領域中,

22、并且將在一定程度上影響人們對音樂的理解和詮釋。用單片機制作的音樂發(fā)生器也會越來越多,這將必然成為一種趨勢。.1. - . 可修編.1 概述本設計是以STC89C51芯片的電路為根底,外部加上放音設備,以此來實現(xiàn)音樂演奏控制器的硬件電路,通過軟件程序控制單片機部的定時器,把樂譜轉(zhuǎn)化成相應的定時常數(shù),使其演奏出優(yōu)美動聽的音樂。用戶可以按照自己的喜好選擇音樂并將其轉(zhuǎn)化成機器碼存入單片機的存儲器中。對于不同型號的單片機只需要改變相應的地址即可實現(xiàn)功能。本系統(tǒng)的軟件編程和硬件系統(tǒng)設計具有很好的通用性,具有一定的實際使用價值,為廣闊的音樂愛好者提供了利用單片機實現(xiàn)音樂播放和設計方法和思路提供了較好的借鑒。

23、1.1 課題意義音樂盒的起源,可追溯至中世紀歐洲文藝復興時期。當時為使教會的鐘塔報時,而將大小的鐘表裝上機械裝置,被稱為“可發(fā)出聲音的組鐘。音樂盒有著300多年的開展歷史,是人類文明開展的歷史見證。傳統(tǒng)的音樂盒多是機械音樂盒,其工作原理是通過齒輪帶動一個帶有鐵釘?shù)蔫F桶轉(zhuǎn)動,鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機械式的音樂盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使部金屬發(fā)音條變形,從而造成發(fā)音跑調(diào)。另外,機械音樂盒放音時為了讓音色穩(wěn)定,必須放平不能動搖,而且價格昂貴,不能實現(xiàn)大批量生產(chǎn)。本文設計的音樂盒,是基于單片機設計制作的電子式音樂盒。與傳統(tǒng)的機械式音樂盒

24、相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂。電子式音樂盒動力來源是電池,制作工藝簡單,可進展批量生產(chǎn),所以價格廉價?;趩纹瑱C制作的電子式音樂盒,控制功能強大,可根據(jù)需要選歌,使用方便。根據(jù)存儲容量的大小,可以盡可能多的存儲歌曲。另外,可以設計彩燈外觀效果,使音樂盒的功能更加豐富。1.2 國外研究的現(xiàn)狀及開展趨勢隨著以法、德、意為代表的歐洲和以美國為代表的電子音樂、計算機音樂早期的大力開展,國際上許多國家紛紛開場引入電子音樂研究與創(chuàng)作。因此,電子音樂創(chuàng)作作為音樂科技領域開展的重要標志,在風格上也表達出比以往任何時代都鮮明的個性化特征。六十年代,美國物理學家Robert Moog 研制出了小型實用的

25、電子合成器。從此,首先在歐美地區(qū),合成器作為新型的樂器被音樂家尤其是流行音樂家所采用并飛快的流行開來。由于美國雄厚的經(jīng)濟和科技根底,在早期計算機音樂獲得巨大成功后,越來越多的音樂家和科學家步入到計算機音樂的研究與開發(fā)的領域中來,他們一起工作、共同開展研究,許多新產(chǎn)品和新設計不斷涌現(xiàn)。1.3 音樂發(fā)生器的擴展熟練的運用89C51單片機定時器產(chǎn)生固定頻率的方波信號,推動喇叭發(fā)出旋律,按下單鍵可以演奏預先設置的歌曲旋律,最重要的是自己還可以通過程序設計輸入自己喜歡的歌曲來演奏中,本設計采用簡易音階編碼直覺式輸入法方便設計音樂旋律,可以擴大其功能如下:1.設計三個按鍵操作來更改歌曲的序號;2.可以按照

26、歌曲的序號來播放歌曲;3.可以顯示播放中歌曲的序號;4.可以存儲多首歌曲;1.3.1設計方案設計一個基于STC89C51系列單片機的音樂盒,利用按鍵切換演奏出不同的樂曲。蜂鳴器發(fā)出*個音調(diào),與之相對應的LED亮起。使用兩個按鍵,一個用來切換歌曲,另一個切換八路LED的變化把戲。1電路有兩種工作模式:演奏音樂模式和把戲燈模式。演奏音樂模式:演奏完整的一首的歌曲,八路LED隨著音樂變化。把戲燈模式:八路LED變化出各種把戲,蜂鳴器隨著發(fā)出“嘀嘀聲2按下按鍵1進入演奏音樂模式,再按切換歌曲,共兩首歌曲。3按下按鍵2進入把戲燈模式,再按切換LED把戲,共三種把戲。此電路的程序只占用了1K左右,可編制更

27、多的音樂和LED把戲,使系統(tǒng)的功能更加強大。2 51單片機介紹2.1 Intel 51系列單片機MCS-51單片機簡述MCS-51是指由美國INTEL公司生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品,該系列其它單片機都是在8051的根底上進展功能的增、減、改變而來的,所以人們習慣于用8051來稱呼MCS51系列單片機,而8031是前些年在我國最流行的單片機,所以很多場合會看到8031的名稱。INTEL公司將MCS51的核心技術授權給了很多其它公司,所以有很多公司在做以8051為 核心的單片

28、機,當然,功能或多或少有些改變,以滿足不同的需求,其中89C51就 是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發(fā)生產(chǎn)的。MCS-51系列單片機分為兩大系列,即51子系列與52子系列。51子系列:根本型,根據(jù)片ROM的配置,對應的芯片為8031、8051、8751、8951;52子系列:增強型,根據(jù)片ROM的配置,對應的芯片為8032、8052、8752、8952。2.1.2 8051與80C51的區(qū)別80C51單片機是在8051的根底上開展起來的,也就是說在單片機的開展過程中是先有8051,然后才有80C51的。8051單片機與80C51單片機從外形看 是完全一樣的,其指令系統(tǒng)

29、、引腳信號、總線等完全一致完全兼容,也就是說在8051下開發(fā)的軟件完全可以在80C51上應用,反過來,在89C51下開發(fā)的軟件也可以在8051上應用。這兩種單片機是完全可移植的。 8051與80C51單片機的主要差異就在于芯片的制造工藝上。80C51的制造工藝是在8051根底上進展了改進。 8051系列單片機采用的是HMOS工藝:高速度、高密度; 80C51系列單片機采用的是CHMOS工藝:高速度、高密度、低功耗;也就是說80C51單片機是一種低功耗單片機。2.1.3 8051單片機的引腳功能圖中給出了40引腳的8051單片機的引腳圖,40個引腳按引腳功能大致可分為4個種類:電源、時鐘、控制和

30、I/O引腳。圖2.1 8051單片機的引腳圖(1)電源 1VCC - 芯片電源,接+5V; 2VSS - 接地端;注:用萬用表測試單片機引腳電壓一般為0v或者5v,這是標準的TTL電平。但有時候在單片機程序正在工作時候測試結(jié)果并不是這個值而是介于0v-5v之間,其實這是萬用表的響應速度沒這么快而已,在*一個瞬間單片機引腳電壓仍保持在0v或者5v。(2)時鐘時鐘:*TAL1、*TAL2 - 晶體振蕩電路反相輸入端和輸出端。(3)控制線1)ALE/PROG:地址鎖存允許/片EPROM編程脈沖。 ALE功能:用來鎖存P0口送出的低8位地址。PROG功能:片有EPROM的芯片,在EPROM編程期間,此

31、引腳輸入編程脈沖。2PSEN:外ROM讀選通信號。3RST/VPD:復位/備用電源。 RSTReset功能:復位信號輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。4EA/Vpp:外ROM選擇/片EPROM編程電源。 EA功能:外ROM選擇端。 Vpp功能:片有EPROM芯片,在EPROM編程期間,施加編程電源Vpp。(4)I/O線80C51共有4個8位并行I/O端口:P0、P1、P2、P3口,共32個引腳。P3口還具有第二功能,用于特殊信號輸入輸出和控制信號屬控制總線。P3口第二功能為:P3.0 R*D 串行輸入口P3.1 T*D 串行輸出口P3.2 INT0 外部中斷0低電平有效P3

32、.3 INT1 外部中斷1低電平有效P3.4 T0 定時計數(shù)器0P3.5 T1 定時計數(shù)器1P3.6 WR 外部數(shù)據(jù)存儲器寫選通低電平有效P3.7 RD 外部數(shù)據(jù)存儲器讀選通低電平有效2.2 51單片機部構造振蕩器及定時器電路CPU4K程序存儲器128B數(shù)據(jù)存儲器2個16位定時/計數(shù)器64K總線擴展控制可編程I/O可編程串行口中斷系統(tǒng)圖2.2 51單片機部構造圖從部構造簡圖可以看出,51單片機部有以下主要局部:1) CPU51 2) 振蕩器及定時電路3)4KB程序存儲器 4) 128B數(shù)據(jù)存儲器5) 2個16位定時/計數(shù)器 6) 64KB總線擴展控制7) 可編程I/O 8) 可編程串行口9)

33、中斷系統(tǒng) 2.3 51系列的特性1)片存儲器容量較小,一般部ROM:8KB以下,部RAM:256KB以下2)可靠性高3)易擴展4)控制功能強5)易于開發(fā)2.4 并行I/O口51單片機有四個并行I/O口:P0,P1,P2,P3。2.4.1 P0端口的構造及工作原理P0端口由鎖存器、輸入緩沖器、切換開關、一個與非門、一個與門及V1、V2場效應管驅(qū)動電路構成。在P0口中,有兩個三態(tài)的緩沖器,在其的輸出端可以是高電平、低電平,同時還有一種就是高阻狀態(tài)或稱為制止狀態(tài),上面一個是讀鎖存器的緩沖器,下面一個是讀引腳的緩沖器,讀取P0.*引腳上的數(shù)據(jù),要使這個三態(tài)緩沖器有效,引腳上的數(shù)據(jù)才會傳輸?shù)讲繑?shù)據(jù)總線上

34、。在51單片機的32根I/O口線中都是用一個D觸發(fā)器來構成鎖存器的。D端是數(shù)據(jù)輸入端,CP是控制端也就是時序控制信號輸入端,Q是輸出端,Q非是反向輸出端。在51單片機中,不需要外擴展存儲器時,P0口可以作為通用的輸入輸出端口即I/O使用,對于8031部沒有ROM的單片機或者編寫的程序超過了單片機部的存儲器容量,需要外擴存儲器時,P0口就作為地址/數(shù)據(jù)總線使用。這個多路選擇開關就是用于選擇是做為普通I/O口使用還是作為數(shù)據(jù)/地址總線使用的選擇開關了。當多路開關與下面接通時,P0口是作為普通的I/O口使用的,當多路開關是與上面接通時,P0口是作為地址/數(shù)據(jù)總線使用的。P0口的輸出是由兩個MOS管組

35、成的推拉式構造,也就是說,這兩個MOS管一次只能導通一個,當V1導通時,V2就截止,當V2導通時,V1截止。P0口作為I/O端口使用時,多路開關的控制信號為0低電平,V1管截止,多路開關是與鎖存器的Q非端相接的即P0口作為I/O口線使用。作為地址/數(shù)據(jù)線使用時,多路開關的控制信號為1,V1管由地址/數(shù)據(jù)線決定,多路開關與地址/數(shù)據(jù)線連接。輸出過程:當寫鎖存器信號CP有效,數(shù)據(jù)總線的信號鎖存器的輸入端D鎖存器的反向輸出Q非端多路開關V2管的柵極V2的漏極到輸出端P0.*。這時多路開關的控制信號為低電平0,V1管是截止的,所以作為輸出口時,P0是漏極開路輸出,類似于OC門,當驅(qū)動上接電流負載時,需

36、要外接上拉電阻。地址輸出過程時,控制信號為1,地址信號為0時,與門輸出低電平,V1管截止;反相器輸出高電平,V2管導通,輸出引腳的地址信號為低電平。反之,控制信號為0、地址信號為1,“與門輸出為高電平,V1管導通;反相器輸出低電平,V2管截止,輸出引腳的地址信號為高電平??梢姡谳敵觥暗刂?數(shù)據(jù)信息時,V1、V2管是交替導通的,負載能力很強,可以直接與外設存儲器相連,無須增加總線驅(qū)動器。作為數(shù)據(jù)總線的輸出過程時,如果該指令是輸出數(shù)據(jù),如MOV* DPTR,A將累加器的容通過P0口數(shù)據(jù)總線傳送到外部RAM中,則多路開關“控制信號為1,“與門解鎖,與輸出地址信號的工作流程類似,數(shù)據(jù)據(jù)由“地址/數(shù)據(jù)

37、線反相器V2場效應管柵極V2漏極輸出。輸入過程:讀芯片引腳上的數(shù)據(jù)時,讀引腳緩沖器翻開,通過部數(shù)據(jù)總線輸入。通過翻開讀鎖存器三態(tài)緩沖器,讀取鎖存器輸出端Q的狀態(tài)。作為數(shù)據(jù)總線使用時,在外部程序存儲器時,P0口輸出低8位地址信息后,將變?yōu)閿?shù)據(jù)總線,以便讀指令碼輸入。在取指令期間,“控制信號為“0,V1管截止,多路開關也跟著轉(zhuǎn)向鎖存器反相輸出端Q非;CPU自動將0FFH11111111,即向D鎖存器寫入一個高電平1寫入P0口鎖存器,使V2管截止,在讀引腳信號控制下,通過讀引腳三態(tài)門電路將指令碼讀到部總線,這個過程和I/O讀引腳過程是一樣的。在輸入狀態(tài)下,從鎖存器和從引腳上讀來的信號一般是一致的,但

38、也有例外。例如,當從部總線輸出低電平后,鎖存器Q0,Q非1,場效應管T2開通,端口線呈低電平狀態(tài)。此時無論端口線上外接的信號是低電乎還是高電平,從引腳讀入單片機的信號都是低電平,因而不能正確地讀入端口引腳上的信號。又如,當從部總線輸出高電平后,鎖存器Q1,Q非0,場效應管T2截止。如外接引腳信號為低電平,從引腳上讀入的信號就與從鎖存器讀入的信號不同。為此,8031單片機在對端口P0-P3的輸入操作上,有如下約定:凡屬于讀-修改-寫方式的指令,從鎖存器讀入信號,其它指令則從端口引腳線上讀入信號。讀-修改-寫指令的特點是,從端口輸入(讀)信號,在單片機加以運算(修改)后,再輸出(寫)到該端口上。這

39、樣安排的原因在于讀-修改-寫指令需要得到端口原輸出的狀態(tài),修改后再輸出,讀鎖存器而不是讀引腳,可以防止因外部電路的原因而使原端口的狀態(tài)被讀錯。當P0作為地址/數(shù)據(jù)總線使用時,在讀指令碼或輸入數(shù)據(jù)前,CPU自動向P0口鎖存器寫入0FFH,破壞了P0口原來的狀態(tài)。因此,不能再作為通用的I/O端口。在系統(tǒng)設計時務必注意,即程序中不能再含有以P0口作為操作數(shù)包含源操作數(shù)和目的操作數(shù)的指令。2.4.2 P1端口的構造及工作原理P1端口與P0端口的主要差異在于,P1端口用部上拉電阻R代替了P0端口的場效應管T1,并且輸出的信息僅來自部總線。由部總線輸出的數(shù)據(jù)經(jīng)鎖存器反相和場效應管反相后,鎖存在端口線上,所

40、以,P1端口是具有輸出鎖存的靜態(tài)口。要正確地從引腳上讀入外部信息,必須先使場效應管關斷,以便由外部輸入的信息確定引腳的狀態(tài)。為此,在作引腳讀入前,必須先對該端口寫入l。具有這種操作特點的輸入/輸出端口,稱為準雙向I/O口。8051單片機的P1、P2、P3都是準雙向口。P0端口由于輸出有三態(tài)功能,輸入前,端口線已處于高阻態(tài),無需先寫入l后再作讀操作。單片機復位后,各個端口已自動地被寫入了1,此時,可直接作輸入操作。如果在應用端口的過程中,已向P1-P3端口線輸出過0,則再要輸入時,必須先寫1后再讀引腳,才能得到正確的信息。此外,隨輸入指令的不同,P1端口也有讀鎖存器與讀引腳之分。2.4.3 P2

41、端口的構造及工作原理P2端口在片既有上拉電阻,又有切換開關MU*,所以P2端口在功能上兼有P0端口和P1端口的特點。這主要表現(xiàn)在輸出功能上,當切換開關向下接通時,從部總線輸出的一位數(shù)據(jù)經(jīng)反相器和場效應管反相后,輸出在端口引腳線上;當多路開關向上時,輸出的一位地址信號也經(jīng)反相器和場效應管反相后,輸出在端口引腳線上。對于8031單片機必須外接程序存儲器才能構成應用電路或者我們的應用電路擴展了外部存儲器,而P2端口就是用來周期性地輸出從外存中取指令的地址(高8位地址),因此,P2端口的多路開關總是在進展切換,分時地輸出從部總線來的數(shù)據(jù)和從地址信號線上來的地址。因此P2端口是動態(tài)的I/O端口。輸出數(shù)據(jù)

42、雖被鎖存,但不是穩(wěn)定地出現(xiàn)在端口線上。其實,這里輸出的數(shù)據(jù)往往也是一種地址,只不過是外部RAM的高8位地址。在輸入功能方面,P2端口與P0和H端口一樣,有讀引腳和讀鎖存器之分,并且P2端口也是準雙向口。可見,P2端口的主要特點包括:1不能輸出靜態(tài)的數(shù)據(jù);2自身輸出外部程序存儲器的高8位地址;3執(zhí)行MOV*指令時,還輸出外部RAM的高位地址,故稱P2端口為動態(tài)地址端口。P2作為I/O端口使用時的工作過程:當沒有外部程序存儲器或雖然有外部數(shù)據(jù)存儲器,但容易不大于256B,即不需要高8位地址時在這種情況下,不能通過數(shù)據(jù)地址存放器DPTR讀寫外部數(shù)據(jù)存儲器,P2口可以I/O口使用。這時,控制信號為“0

43、,多路開關轉(zhuǎn)向鎖存器同相輸出端Q,輸出信號經(jīng)部總線鎖存器同相輸出端Q反相器V2管柵極V2管9漏極輸出。由于V2漏極帶有上拉電阻,可以提供一定的上拉電流,負載能力約為8個TTL與非門;作為輸出口前,同樣需要向鎖存器寫入“1,使反相器輸出低電平,V2管截止,即引腳懸空時為高電平,防止引腳被鉗位在低電平。讀引腳有效后,輸入信息經(jīng)讀引腳三態(tài)門電路到部數(shù)據(jù)總線。P2作為地址總線使用時的工作過程:P2口作為地址總線時,“控制信號為1,多路開關車向地址線即向上接通,地址信息經(jīng)反相器V2管柵極漏極輸出。由于P2口輸出高8位地址,與P0口不同,無須分時使用,因此P2口上的地址信息程序存儲器上的A15A8功數(shù)據(jù)地

44、址存放器高8位DPH保存時間長,無須鎖存。2.4.4 P3端口的構造及工作原理P3口是一個多功能口,它除了可以作為I/O口外,還具有第二功能P3端口和Pl端口的構造相似,區(qū)別僅在于P3端口的各端口線有兩種功能選擇。當處于第一功能時,第二輸出功能線為1,此時,部總線信號經(jīng)鎖存器和場效應管輸入/輸出,其作用與P1端口作用一樣,也是靜態(tài)準雙向I/O端口。當處于第二功能時,鎖存器輸出1,通過第二輸出功能線輸出特定的含信號,在輸入方面,即可以通過緩沖器讀入引腳信號,還可以通過替代輸入功能讀入片的特定第二功能信號。由于輸出信號鎖存并且有雙重功能,故P3端口為靜態(tài)雙功能端口。使P3端口各線處于第二功能的條件

45、是:1串行I/O處于運行狀態(tài)(R*D,T*D);2翻開了處部中斷(INT0,INT1);3定時器/計數(shù)器處于外部計數(shù)狀態(tài)(T0,T1)4執(zhí)行讀寫外部RAM的指令(RD,WR)在應用中,如不設定P3端口各位的第二功能,則P3端口線自動處于第一功能狀態(tài),也就是靜態(tài)IO端口的工作狀態(tài)。在更多的場合是根據(jù)應用的需要,把幾條端口線設置為第二功能,而另外幾條端口線處于第一功能運行狀態(tài)。在這種情況下,不宜對P3端口作字節(jié)操作,需采用位操作的形式。2.5 驅(qū)動能力P0端口能驅(qū)動8個LSTTL負載。如需增加負載能力,可在P0總線上增加總線驅(qū)動器。P1,P2,P3端口各能驅(qū)動4個LSTTL負載。由于P0-P3端口

46、已映射成特殊功能存放器中的P0-P3端口存放器,所以對這些端口存放器的讀寫就實現(xiàn)了信息從相應端口的輸入輸出。3 系統(tǒng)總體方案介紹3.1 系統(tǒng)組成框圖音樂盒的系統(tǒng)構造以STC89C51單片機位控制核心,加上2個按鍵、時鐘復位電路、蜂鳴器、LED模塊組成。單片機負責接收按鍵的輸入,根據(jù)輸入控制音樂播放曲目和音樂把戲燈的顯示樣式以及蜂鳴器發(fā)音。系統(tǒng)組成框圖如圖2.1所示。圖3.1 系統(tǒng)組成框圖3.2 音樂發(fā)生器的功能構造圖音樂盒的功能構造如圖2.2所示。Key1負責切換播放歌曲,播放歌曲共2首,分別是揮著翅膀的女孩和寂寞沙洲冷。Key2負責切換LED顯示把戲,顯示把戲共3種,第一種順序顯示,第二種由

47、兩邊向中間移動然后向兩邊移動,第三種循環(huán)顯示。圖3.2 音樂盒功能構造圖3.3主要設計軟件介紹本設計利用KEIL編程軟件對音樂盒源程序進展編程并調(diào)試,配合PROTEUS仿真軟件對硬件進展仿真調(diào)試,兩種軟件的簡介如下:3.3.1 PROTEUS軟件簡介Proteus軟件是英國Labcenter electronics公司出版的EDA工具軟件該軟件中國總代理為風標電子技術。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus

48、是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產(chǎn)品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2021年即將增加Corte*和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,它也支持IAR、Keil和MPLAB等多種編譯器。 3.3.2 KEIL簡介單片機開發(fā)中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變

49、為CPU可以執(zhí)行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變?yōu)闄C器碼,用于MCS-51單片機的匯編軟件有早期的A51,隨著單片機開發(fā)技術的不斷開展,從普遍使用匯編語言到逐漸使用高級語言開發(fā),單片機的開發(fā)軟件也在不斷開展,Keil軟件是目前最流行開發(fā)MCS-51系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境uVision將這些部份組合在一起。運行Keil軟件需要Pentium或以上

50、的CPU,16MB或更多RAM、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WIN*P等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機的愛好者來說是十分必要的,如果你使用C語言編程,則Keil幾乎就是你的不二之選目前在國你只能買到該軟件、而你買的仿真機也很可能只支持該軟件,即使不使用C語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。Keil C51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能表達高級語言的優(yōu)勢。4 硬件設計4.1 總體設計框圖圖4.1總體設計框圖4.2各局部硬件設計及其原理4.

51、2.1STC89C51簡介STC89C51是一種帶4K字節(jié)閃存的低電壓高性能的可編程可擦除只讀存儲器FPEROMFlash Programmable and Erasable Read Only Memory,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,STC89C51是一種高效微控制器。STC89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。外形及引腳排列如圖3.2所示:圖4.2 STC89C51系列單片機4.2.2LE

52、D顯示電路設計與原理LED顯示電路是由8個LED發(fā)光二極管組成,連接方式為共陽極,LED接到單片機的P1口,假設為低電平,可使LED亮起。發(fā)光二極管的亮、滅由部程序控制,8個LED發(fā)光二極管分別對應不同的音階,所以LED會隨著音階的變化按規(guī)律亮、滅。4.2.3 時鐘振蕩電路STC89C51中有一個用于構成部振蕩器的高增益反相放大器,引腳*TAL1和*TAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反響元件的片外石英晶體或者瓷諧振器一起構成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反響回路中構成并聯(lián)振蕩電路。對外接電容C1,C2雖然沒有什么嚴格的要求,但電容容量的大小會輕微影響

53、振蕩頻率的上下、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF 10PF,而如果使用瓷振蕩器建議選擇40PF 10PF。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖示。這種情況下,外部時鐘脈沖接到*TAL1端,即部時鐘發(fā)生器的輸入端,*TAL2則懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產(chǎn)品技術條件的要求。振蕩器電路圖如下:圖4.3 單片機部、外部振蕩電路4.3 硬件電路圖及功能總體硬件電路實現(xiàn)功能如下,如圖3.4所示電路中用P3.2、P3

54、.3控制按鍵。P1.0P1.7控制LED。P2.3控制蜂鳴器。電路為12MHZ晶振頻率工作,起振電路中C1、C2均為30PF。硬件電路圖如下列圖:圖4.4 硬件電路圖5 軟件設計在本程序中設置了兩個標志count1和count2,分別初始化為1和0。按鍵1使得count1在1和2之間切換,按鍵2使得count2在14之間切換。程序檢測count1的值,count1等于1時播放第一首歌曲,等于2時播放第二首。另一方面根據(jù)count2的值來切換LED的把戲。count1和count2的值是互斥的,設置count1等于1、2時,count2同時設置為0;設置count2等于14時,count1也同時

55、設置為0。5.1音調(diào)、節(jié)拍以及編碼確實定方法一般說來,單片機演奏音樂根本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能像電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調(diào)和節(jié)拍表示一個音符唱多長的時間。5.1.1 音調(diào)確實定不同音高的樂音是用C、D、E、F、G、A、B來表示,這7個字母就是音樂的音名,它們一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成簡譜的1、2、3、4、5、6、7,相當于漢字“多來米發(fā)梭拉西的讀音,這是唱曲時樂音的發(fā)音,所以叫“音調(diào),即Tone。把C、D、E、F、G、A、B這一組音的距離分成12個等份,每一個等份叫一個“半

56、音。兩個音之間的距離有兩個“半音,就叫“全音。在鋼琴等鍵盤樂器上,CD、DE、FG、GA、AB兩音之間隔著一個黑鍵,他們之間的距離就是全音;EF、BC兩音之間沒有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上號或者b號的叫變化音。叫升記號,表示把音在原來的根底上升高半音,b叫降記音,表示在原來的根底上降低半音。例如高音DO的頻率1046Hz剛好是中音DO的頻率523Hz的一倍,中音DO的頻率523Hz剛好是低音DO頻率266 Hz的一倍;同樣的,高音RE的頻率1175Hz剛好是中音RE的頻率587Hz的一倍,中音RE的頻率587Hz剛好

57、是低音RE頻率294 Hz的一倍。1要產(chǎn)生音頻脈沖,只要算出*一音頻的周期1/頻率,然后將此周期除以2,即為半周期的時間。利用定時器計時這半個周期時間,每當計時到后就將輸出脈沖的I/O反相,然后重復計時此半周期時間再對I/O反相,就可在I/O腳上得到此頻率的脈沖。2利用AT89C51的部定時器使其工作在計數(shù)器模式MODE1下,改變計數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。此外完畢符和休止符可以分別用代碼00H和FFH來表示,假設查表結(jié)果為00H,則表示曲子終了;假設查表結(jié)果為FFH,則產(chǎn)生相應的停頓效果。3例如頻率為523Hz,其周期T=1/523=1912us,因此只要令計數(shù)器計時956us

58、/1us=956,在每次技術956次時將I/O反相,就可得到中音DO523Hz。計數(shù)脈沖值與頻率的關系公式如下:N=Fi2FrN:計算值;Fi:部計時一次為1us,故其頻率為1MHz;4其計數(shù)值的求法如下:T=65536-N=65536-Fi2Fr例如:設K=65536,F(xiàn)=1000000=Fi=1MHz,球低音DO261Hz。中音DO523Hz。高音的DO1046Hz的計算值T=65536-N=65536-Fi2Fr=652Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523=64580低音DO的T=65

59、536-500000/1047=650595C調(diào)各音符頻率與計數(shù)值T的對照表如表4.1所示。表5.1 C調(diào)各音符頻率與計數(shù)值T的對照表低音頻率T參數(shù)中音頻率T參數(shù)高音頻率T參數(shù)Do2621908229Do523956115Do10465757Do2771805217Do554903108Do11095454Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351162Fa740

60、67681Fa14804141So3921276153So78463877So15683838So4151205145So83160272So16613636La4401136136La88056868La17603434La4641078129La93253664La18653232Si4941012121Si98850661Si197630305.1.2 節(jié)拍確實定假設要構成音樂,光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂具有旋律固定的律動,而且可以調(diào)節(jié)各個音的快滿度。“節(jié)拍,即Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或跺腳。假設1拍實0.5s,則1/4 拍為0.125s。至于

溫馨提示

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

評論

0/150

提交評論