基于AT89S52的玩具電子琴設(shè)計_第1頁
基于AT89S52的玩具電子琴設(shè)計_第2頁
基于AT89S52的玩具電子琴設(shè)計_第3頁
基于AT89S52的玩具電子琴設(shè)計_第4頁
基于AT89S52的玩具電子琴設(shè)計_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 基于at89s52的玩具電子琴設(shè)計摘要:隨著電子技術(shù)的發(fā)展,數(shù)字系統(tǒng)正朝著速度快、容量大、體積重量輕的方向發(fā)展。在其推動下,現(xiàn)代電子產(chǎn)品幾乎滲透了社會的各個領(lǐng)域,有力地推動了社會生產(chǎn)力的發(fā)展和社會信息化程度的提高,同時也使現(xiàn)代電子產(chǎn)品性能進一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來越快。其中尤其單片機技術(shù)的不斷發(fā)展,使得單片機在日用生活用品中的應(yīng)用越來越廣泛。本文利用at89s52單片機,設(shè)計了一種玩具電子琴,該電子琴除了可以演奏1-8八個音符以外,還可以自動播放兩首歌曲,是單片機的又一擴展應(yīng)用。本文詳細介紹了電子琴的工作原理及硬件軟件設(shè)計,并制作了實物,測試結(jié)果顯示,系統(tǒng)運行良好。關(guān)鍵詞:單片機

2、蜂鳴器 音樂abstract:with the development of electronic technology, digital system is moving fast, large capacity, the volume and the weight of the light direction. under its impetus, the modern electronic products penetrated almost every field of the society, a strong impetus to the development of social

3、 productivity and the improvement of social information-based degree, simultaneously also makes the modern electronic products to further improve the performance, product upgrading are increasingly fast pace. development especially computer technology, the microcomputer applications in daily life su

4、pplies more and more widely in the. in this paper, using at89s52 microcontroller, design a toy electronic organ, the organ, in addition to playing eight notes, can also automatically play two songs, is an extended application of mcu. this paper introduces the working principle and hardware and softw

5、are design of the electronic organ, and create a physical, test results show that, the system runs wellkeyword: mcu buzzer music目 錄第1章 緒論1 1.1 概述1 1.2 研究內(nèi)容3 1.3 理論基礎(chǔ)5第2章 硬件設(shè)計1 2.1 方案論證及系統(tǒng)設(shè)計1 2.2 系統(tǒng)硬件分析1 2.2.1 單片機小系統(tǒng)25 2.2.2 供電模塊25第3章 軟件設(shè)計1 3.1 keil軟件介紹1 3.2 系統(tǒng)流程1 3.2.1 系統(tǒng)主流程25 3.2.2 中斷初始化流程25第4章 仿真測

6、試25 4.1 proteus軟件介紹25 4.2 系統(tǒng)主要仿真圖25 4.3 測試25致謝59參考文獻60附錄 代碼63(章的名稱、結(jié)論、參考文獻、致謝及附錄小4號黑體,其余小4號宋體) 第1章 緒論1.1 概述 目前單片機的應(yīng)用滲透到我們生活的各個領(lǐng)域,幾乎很難找到哪個領(lǐng)域沒有單片機的蹤跡。導(dǎo)彈的導(dǎo)航裝置、飛機上各種儀表的控制、計算機的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸、工業(yè)自動化過程的實時控制和數(shù)據(jù)處理、廣泛使用的各種智能ic卡、民用豪華轎車的安全保障系統(tǒng)、錄像機、攝像機、全自動洗衣機的控制、以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領(lǐng)域的機器人、智能儀表、醫(yī)療器械了。我們所熟知的

7、是單片機在測試控制領(lǐng)域中的廣泛應(yīng)用,但是除了這些之外,單片機還有一些有趣的應(yīng)用。比如,使用單片機可以驅(qū)動蜂鳴器或者揚聲器發(fā)出聲音并且還可以控制其發(fā)出不同的聲調(diào),從而連接起來構(gòu)成一個歌曲。 目前市場上有很多種音樂模塊或者音樂芯片,可以直接產(chǎn)生各種曲子。但是這種模塊價格比較昂貴,電路結(jié)構(gòu)也相對比較復(fù)雜。如果系統(tǒng)中僅需要產(chǎn)生簡單的音符或者簡短的曲子,可以使用單片機配合簡單的揚聲器而產(chǎn)生所需要的音樂效果。 一般說來,單片機不像其他專業(yè)樂器那樣能奏出多種音色的聲音,即不包含相應(yīng)幅度的諧波頻率。單片機演奏的音樂基本都是單音頻率。因此單片機演奏音樂比較簡單,只需要清楚“音調(diào)”和“節(jié)拍”就可以。 本文使用at

8、89s52單片機設(shè)計了一個音樂播放器,能夠演奏八個音符跟自動演奏兩首歌曲,該設(shè)計能使我們能夠掌握用定時器的控制播放樂曲原理和設(shè)計方法,對大學(xué)期間所學(xué)習(xí)的一些理論進行了實踐,使我們對所學(xué)過的理論知識有了新的認識。并且通過該設(shè)計課題掌握了mc-51單片機的的軟硬件開發(fā)工具的使用方法,為以后從事相關(guān)行業(yè)的工作積累了實際工作經(jīng)驗。目前我國的信息行業(yè)發(fā)展迅速,因此此課題對自己的就業(yè)有非?,F(xiàn)實與積極的意義。1.2 研究內(nèi)容 電子琴有著漂亮的外觀,清澈洪亮的聲音,它是現(xiàn)代電子科技與音樂的產(chǎn)物,在現(xiàn)代音樂中扮演著重要的角色,單片機對于電子琴的設(shè)計具有強大的控制功能。本文主要任務(wù)是,基于at89s52單片機設(shè)計

9、一個能夠播放八個音符跟自動播放兩首歌曲的電子琴。1、利用protel99 設(shè)計玩具電子琴的原理圖 2、基于keil軟件編寫音樂播放器程序代碼 3、制作實物4、對所做設(shè)計進行測試1.3理論基礎(chǔ) 單片機音樂播放器是利用單片機產(chǎn)生樂曲音符,再把樂曲音符翻譯成計算機音樂語言,用單片機進行信息處理,再通過蜂鳴器或喇叭放出音樂。音樂的產(chǎn)生主要是通過單片機的i/o口輸出高低不同的脈沖信號來控制蜂鳴器發(fā)音。要想產(chǎn)生音頻脈沖信號,需要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時間。利用單片機定時器計時這個半個周期時間,每當(dāng)計時到后就將輸出脈沖的i/o口反相,然后重復(fù)計時此半周期時間再對i/

10、o口反相這樣就能在此i/o口上得到此頻率的脈沖。 通常,利用單片機的內(nèi)部定時器t0工作在方式0下改變計數(shù)初值th0和tl0來產(chǎn)生不同頻率。 對于音樂的節(jié)拍,每個音符使用1個字節(jié),字節(jié)的高4位代表音符的高低低4位代表音符的節(jié)拍。如果1拍為0.4s,1/4拍為0.1s,只要設(shè)定延遲時間就可求得節(jié)拍的時間。假設(shè)1/4拍為1delay,那么1拍應(yīng)為4delay,以此類推,所以只要求得1/4拍的delay,其余的節(jié)拍就是它的倍數(shù)。 總而言之,一首樂曲是由音階和節(jié)拍兩大要素構(gòu)成。一首樂曲演奏的原理是,不同音階分別對應(yīng)不同的頻率,發(fā)出不同的音調(diào),而節(jié)拍則控制發(fā)出音調(diào)時間的長短,若將樂曲的音調(diào)連續(xù)發(fā)出,并使其

11、按相應(yīng)的節(jié)拍變化,即可演奏一首樂曲。根據(jù)這一特點我們采用單片機輔以相應(yīng)的接口來設(shè)計音樂播放器。 第二章 硬件設(shè)計2.1 方案論證及系統(tǒng)設(shè)計本系統(tǒng)分為兩個部分,一個是音樂播放,另一個就是電子琴彈奏。關(guān)于聲音的處理,使用單片機c語言,利用定時器來控制頻率,而每個音符的符號只是存在我自己定義的表中。具體要求如下:1.要求達到電子琴的基本功能,可以用彈奏出簡單的樂曲。2.用鍵盤作出電子琴的按鍵,每鍵代表一個音符。3.各音符按一定的順序排列,必須符合電子琴的按鍵排列順序。4.彈奏電子琴時能播放出準確的聲音,不彈奏時可以播放內(nèi)置音樂。方案一:采用cpld外接揚聲器、鍵盤、數(shù)碼管等。主系統(tǒng)可由兩個模塊組成:

12、當(dāng)系統(tǒng)檢測到有按鍵按下時,對應(yīng)音符的頻率由模塊1獲得,這是一個數(shù)控分頻器。由其clk端輸入一具有較高頻率的信號,分頻后輸出。音符的持續(xù)時間須根據(jù)樂曲的速度及每個音符的節(jié)拍數(shù)決定,模塊2的功能是為模塊1提供決定所發(fā)音的分頻預(yù)置值,而此數(shù)在模塊1輸入口停留的時間即為此音符的節(jié)拍值。方案二:采用單片機外接揚聲器、鍵盤、數(shù)碼管等。具體過程:當(dāng)系統(tǒng)掃描到鍵盤上有鍵子被按下,則快速檢測出是那一個鍵子,然后單片機的定時器被啟動,發(fā)出一定頻率的脈沖,該頻率的脈沖經(jīng)喇叭驅(qū)動電路放大濾波后,就會發(fā)出相應(yīng)的音調(diào)。如果在前一個按下的鍵發(fā)聲的同時有另一個鍵被按下,則啟用中斷系統(tǒng),前面鍵的發(fā)音停止,轉(zhuǎn)到后按的鍵的發(fā)音程序

13、,發(fā)出后按的鍵的音對比兩套方案各有優(yōu)缺點,方案一采用cpld,工作速度快,系統(tǒng)穩(wěn)定,效果好,但是其價格昂貴;而方案二在設(shè)計這樣小型電子系統(tǒng)方面,無論是效果還是工作速度與方案一都相差不大,而且價格較為便宜。因此,選擇方案二即單片機加外設(shè)的方式設(shè)計該系統(tǒng)較好。本系統(tǒng)以at89s52單片機為主控制器,通過三極管驅(qū)動蜂鳴器發(fā)出聲音。首先,一方面,通過變壓、整流、濾波、穩(wěn)壓四部產(chǎn)生可供單片機使用的5v電。另一方面,單片機利用定時、計數(shù)器實時驅(qū)動喇叭演奏音樂。整個系統(tǒng)由單片機模塊、電源模塊、三極管驅(qū)動、喇叭組成。系統(tǒng)整體框圖如圖2-1所示 單片機復(fù)位電路喇叭晶振復(fù)位鍵盤 圖2-1 系統(tǒng)整體框圖由prote

14、l設(shè)計的原理圖如圖2-2所示 圖2-2 系統(tǒng)整體原理圖2.2 系統(tǒng)硬件分析2.2.1 單片機小系統(tǒng) 單片機是大規(guī)模集成電路結(jié)束發(fā)展的產(chǎn)物,常見的單片機有8051系列的單片機、8096系列的單片機、pic系列、avr系列、spce061a的凌陽單片機。他將中央處理器(cpu)、存儲器(rom/ram)、輸入輸出接口、定時器/記數(shù)器等主要計算機部件集成在一片芯片上,因此單片機被稱為單片機微型計算機(single chip microcomputer).單片機配上適當(dāng)?shù)耐鈬O(shè)備和軟件,便可構(gòu)成一個單片機應(yīng)用系統(tǒng)。本次設(shè)計對單片機的要求:只要能夠驅(qū)動蜂鳴器即可,其他并無特殊要求。故選擇常見的美國int

15、er公司生產(chǎn)的mcs-51系列單片機,它具有可高性高、功能強、體積小、價格低、和抗干擾能力強等特點,被廣泛應(yīng)用于工農(nóng)業(yè)生產(chǎn)、國防、科研及日常生活等各個領(lǐng)域。而且本組同學(xué)也比較熟悉。 我們選擇的atmel公司的at89s52單片機,他是一種低功耗、高性能cmos8位微控制器,具有8k isp(在系統(tǒng)可編程)flash 存儲器。使用atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效

16、的解決方案。at89s52具有如下特點: 兼容mcs-51指令系統(tǒng) 32個雙向i/o口 3個16位可編程定時/計數(shù)器 全雙工uart串行中斷口線 2個外部中斷源 中斷喚醒省電模式 看門狗(wdt)電路 靈活的isp字節(jié)和分頁編程 4.5-5.5v工作電壓 時鐘頻率0-33mhz 2568bit內(nèi)部ram低功耗空閑和省電模式 3級加密位 軟件設(shè)置空閑和省電功能 雙數(shù)據(jù)寄存器指針 8k可反復(fù)擦寫(1000次)isp flash rom at89s52主要引腳的主要功能: vcc:接+5v電源。 gnd:接地p0口:p0口為一個8位漏極開路雙向i/o口,作為輸出口,每位能驅(qū)動8個ttl邏輯電平。對p

17、0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,p0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,p0口具有內(nèi)部上拉電阻。在flash編程時,p0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。 p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口輸出緩沖器能驅(qū)動4個ttl邏輯電平。對p1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。此外,p1.0和p1.1分別作定時器/記數(shù)器2的外部記數(shù)輸入(p1.0/t2)和定時器/記數(shù)器2的觸發(fā)輸入(p

18、1.1/t2ex)。p2口:p2口是一個具有內(nèi)部上拉電阻的8位雙向i/o口,p2輸出緩沖器能驅(qū)動4個ttl邏輯電平。對p2口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如movx dptr)時,p2口送出高八位地址。在這種應(yīng)用中,p2口p2 口使用很強的內(nèi)部上拉發(fā)送1。p3口:p3 口是一個具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動4 個 ttl 邏輯電平。對p3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作

19、為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil) rst:復(fù)位輸入。晶振工作時,rst腳持續(xù)2 個機器周期高電平將使單片機復(fù)位。看門狗計時完成后,rst 腳輸出96 個晶振周期的高電平。特殊寄存器auxr(地址8eh)上的disrto位可以使此功能無效。disrto默認狀態(tài)下,復(fù)位高電平有效。 ale/ prog:地址鎖存控制信號(ale)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(prog)也用作編程輸入脈沖。在一般情況下,ale以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器

20、時,ale脈沖將會跳過。如果需要,通過將地址為8eh的sfr的第0位置 “1”,ale操作將無效。這一位置 “1”,ale僅在執(zhí)行movx 或movc指令時有效。否則,ale將被微弱拉高。這個ale使能標志位(地址為8eh的sfr的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。 psen:外部程序存儲器選通信號。 當(dāng)at89s52從外部程序存儲器執(zhí)行外部代碼時,psem在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,psen將不被激活。 ea/vpp:訪問外部程序存儲器控制信號。為使能從0000h 到ffffh的外部程序存儲器讀取指令,ea必須接gnd。 為了執(zhí)行內(nèi)部程序指令,ea應(yīng)該接

21、vcc。 在flash編程期間,ea也接收12伏vpp電壓 xtal1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。 xtal2:振蕩器反相放大器的輸出端。單片機小系統(tǒng)是整個數(shù)控系統(tǒng)的核心部分。主要包括at89s52單片機、振蕩電路、復(fù)位電路等。系統(tǒng)整體原理圖如圖2-3所示 圖2-3 單片機小系統(tǒng)at89s52單片機的p0口是個雙向口,可以作輸出輸入口,在本系統(tǒng)中用作顯示部分,用來給數(shù)碼管傳送位碼,p1口也是個雙向口,主要接dac0832、 p3口用來接收pc來的串口數(shù)據(jù)。而p3口主要用于中斷。復(fù)位電路 復(fù)位是單片機初始化操作。復(fù)位將單片機復(fù)到初始化狀態(tài),目的是使cpu及個專用寄存器處于一個確

22、定的初始狀態(tài)。如前面介紹,在單片機的復(fù)位信號rst上保持2個機器周期以上的高電平,單片機就會復(fù)位。本次設(shè)計采用的是手動復(fù)位方式,利用按鍵閉合是單片機復(fù)位端上保持接通高電平狀態(tài)兩個機器周期以上。 振蕩電路 該電路是由內(nèi)部反相放大器通過引腳xtal1和引腳xtal2與外接的晶體以及電容c6和c7構(gòu)成,產(chǎn)生出晶體振蕩信號。此晶振信號接至內(nèi)部的時鐘電路。圖中的晶振頻率為11.0592mhz,外接晶體時,電容c6和c7通常選30pf。雖然對外接電容沒有嚴格要求,但電容的大小會影響振蕩頻率、振蕩器的穩(wěn)定性和起振的速度。振蕩器的這些特性對彈片機的應(yīng)用影響很大,因此在設(shè)計印刷電路板時,應(yīng)使晶體和電容盡可能與單

23、片機靠近,以保證穩(wěn)定可靠。 2.2.2 供電模塊 當(dāng)今社會人們極大的享受著電子設(shè)備帶來的便利,但是任何電子設(shè)備都有一個共同的電路-電源電路。大到超級計算機、小到袖珍計算器,所有的電子設(shè)備都必須在電源電路的支持下才能正常工作。當(dāng)然這些電源電路的樣式、復(fù)雜程度千差萬別。超級計算機的電源電路本身就是一套復(fù)雜的電源系統(tǒng)。通過這套電源系統(tǒng),超級計算機各部分都能夠得到持續(xù)穩(wěn)定、符合各種復(fù)雜規(guī)范的電源供應(yīng)。袖珍計算器則是簡單多的電池電源電路。不過你可不要小看了這個電池電源電路,比較新型的電路完全具備電池能量提醒、掉電保護等高級功能??梢哉f電源電路是一切電子設(shè)備的基礎(chǔ),沒有電源電路就不會有如此種類繁多的電子設(shè)

24、備。由于電子技術(shù)的特性,電子設(shè)備對電源電路的要求就是能夠提供持續(xù)穩(wěn)定、滿足負載要求的電能,而且通常情況下都要求提供穩(wěn)定的直流電能。提供這種穩(wěn)定的直流電能的電源就是直流穩(wěn)壓電源。直流穩(wěn)壓電源在電源技術(shù)中占有十分重要的地位。方案一:本系統(tǒng)供電采用傳統(tǒng)的變壓、整流、濾波、穩(wěn)壓四部分組成。供電模塊如圖2-4所示 交流220v從插頭con2輸入,經(jīng)過變壓器t1變壓后大約將至十幾伏,此時仍為交流電,經(jīng)過橋式整流后變?yōu)橹绷?,?jīng)過電容c4濾波后,進入三端穩(wěn)壓器7805進行穩(wěn)壓后輸出+5v。方案二開關(guān)電源是利用現(xiàn)代電力電子技術(shù)控制開關(guān)晶體管開通和關(guān)斷的時間比率維持穩(wěn)定輸出電壓的一種電源開關(guān)電源一般由脈沖寬度調(diào)制

25、pwm控制ic和開關(guān)器件mosfet、bjt等構(gòu)成。開關(guān)電源和線性電源相比二者的成本都隨著輸出功率的增加而增長但二者增長速率各異。線性電源成本在某一輸出功率點上反而高于開關(guān)電源。隨著電力電子技術(shù)的發(fā)展和創(chuàng)新使得開關(guān)電源技術(shù)在不斷地創(chuàng)新這一成本反轉(zhuǎn)點日益向低輸出電力端移動這為開關(guān)電源提供了廣泛的發(fā)展空間。 開關(guān)電源高頻化是其發(fā)展的方向高頻化使開關(guān)電源小型化并使開關(guān)電源進入更廣泛的應(yīng)用領(lǐng)域特別是在高新技術(shù)領(lǐng)域的應(yīng)用推動了高新技術(shù)產(chǎn)品的小型化、輕便化。另外開關(guān)電源的發(fā)展與應(yīng)用在節(jié)約能源、節(jié)約資源及保護環(huán)境方面都具有重要的意義。開關(guān)電源的工作過程相當(dāng)容易理解,在線性電源中,讓功率晶體管工作在線性模式,

26、與線性電源不同的是,pwm開關(guān)電源是讓功率晶體管工作在導(dǎo)通和關(guān)斷的狀態(tài),在這兩種狀態(tài)中,加在功率晶體管上的伏-安乘積是很小的,在導(dǎo)通時,電壓低,電流大,關(guān)斷時,電壓高電流小,功率器件上的伏安乘積就是功率半導(dǎo)體器件上所產(chǎn)生的損耗。與線性電源相比,pwm開關(guān)電源更為有效的工作過程是通過“斬波”,即把輸入的直流電壓斬成幅值等于輸入電壓幅值的脈沖電壓來實現(xiàn)的。脈沖的占空比由開關(guān)電源的控制器來調(diào)節(jié)。一旦輸入電壓被斬成交流方波,其幅值就可以通過變壓器來升高或降低。通過增加變壓器的二次繞組數(shù)就可以增加輸出的電壓組數(shù)。最后這些交流波形經(jīng)過整流濾波后就得到直流輸出電壓??刂破鞯闹饕康氖潜3州敵鲭妷悍€(wěn)定,其工作

27、過程與線性形式的控制器很類似。也就是說控制器的功能塊、電壓參考和誤差放大器,可以設(shè)計成與線性調(diào)節(jié)器相同。他們的不同之處在于,誤差放大器的輸出,誤差電壓,在驅(qū)動功率管之前要經(jīng)過一個電壓/脈沖寬度轉(zhuǎn)換單元。 開關(guān)電源有兩種主要的工作方式,正激式變換和升壓式變換。盡管它們各部分的布置差別很小但是工作過程相差很大,在特定的應(yīng)用場合下各有優(yōu)點。 綜合比較,方案一簡單但是不穩(wěn)定,方案二穩(wěn)定但復(fù)雜,經(jīng)綜合考慮,我們選用方案二。 第三章 軟件設(shè)計 本軟件要實現(xiàn)的功能是:單片機實現(xiàn)玩具電子琴功能。要讓蜂鳴器發(fā)出某音調(diào)的聲音,只要給蜂鳴器輸送該音調(diào)頻率的電平信號就可以了。由于單片機i/o口的輸出只有高電平“1”和

28、低電平“0”兩種狀態(tài),因此向蜂鳴器輸送的電平信號實際上就是該音頻的方波。例如中音“1”的頻率為532hz,它的周期為1/532s,即1.91ms。因此,只要向蜂鳴器輸送周期為1.91ms的脈沖方波電平信號就能發(fā)出532hz的音調(diào),該方波的半周期為1.91/2=0.955ms。為此,需要利用定時器的中斷,讓輸送給蜂鳴器的電平信號每0.955ms取反一次即可。因為所選的單片機的晶振為11.0592mhz,它的一個機器周期為12(1/11.0592)s=1.058s,因此需要的機器周期總數(shù)為 955s/1.085s=880 即定時器的定時常數(shù)就應(yīng)取為880。根據(jù)上述分析,發(fā)出頻率為f的音頻時,定時常

29、數(shù)c計算公式為(106/2f)s/1.085s=460 830/f=c t0工作于方式0,最大計數(shù)為8192,完全可以滿足各音頻定時常數(shù)設(shè)置的需要。可以證明,在已知定時常數(shù)為c的條件下,13位計數(shù)器的高8位和低5位的初值可由以下公式設(shè)定: 證明這是13位計數(shù)器th0高8位的賦值方法 tl0=(8192-c)%32; 2、節(jié)拍控制因為假設(shè)節(jié)拍為每分鐘72拍,則每個節(jié)拍需時間: 100060ms/72=833ms 根據(jù)樂譜知識,選擇相應(yīng)的延時即可程序采用keil軟件c語言編寫 3.1 keil軟件介紹 keil usioil2軟件是keil公司的產(chǎn)品。keil公司是一家業(yè)界領(lǐng)先的微控制器(mcu)

30、軟件開發(fā)工具的獨立供應(yīng)商。keil c51標準c編譯器為8051微控制器的軟件開發(fā)提供了c語言環(huán)境,同時保留了匯編代碼高效,快速的特點。c5l編譯器的功能不斷增強,使用戶可以更加貼近cpu本身,及其它的衍生產(chǎn)品。c51已被完全集成到usion2的集成開發(fā)環(huán)境中,這個集成開發(fā)環(huán)境包含:編譯器,匯編器,實時操作系統(tǒng),項目管理器,調(diào)試器。uvisioll2 de可為它們提供單一而靈活的開發(fā)環(huán)境。 3.2系統(tǒng)流程 3.2.1 系統(tǒng)主流程單片機上電后,首先做系統(tǒng)初始化,然后對定時/計數(shù)器進行初始化,在初始化后,通過定時/計數(shù)器中斷輸出不同的頻率,然后調(diào)用不同的延時單位來實現(xiàn)節(jié)拍。如圖3-1所示開 始中斷

31、初始化掃描按鍵是否按下否判斷是播放歌曲播放音調(diào) 3-1 系統(tǒng)整體流程圖3.2.2 中斷初始化流程 中斷初始化主要包括設(shè)置定時計數(shù)器工作方式、開中斷、賦初值等一系列操作,中斷初始化主要流程圖如圖3-2所示 開 始設(shè)置定時器工作方式設(shè)置初值開中斷 圖3-2 串口初始化主要流程圖 第四章 仿真測試 4.1 proteus 軟件介紹 proteus軟件如圖4-1所示圖4-1 proteus軟件proteus軟件是英國labcenter electronics公司出版的eda工具軟件。它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)

32、推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。 其功能特點如下: proteus軟件具有其它工具軟件(例:multisim)的功能。這些功能是:原理布圖,pcb自動或人工布線,spice電路仿真。革命性的特點:(1)互動的電路仿真,用戶甚至可以實時采用諸如led/lcd、鍵盤、rs232終端等動態(tài)外設(shè)模型來對設(shè)計進行交互仿真。(2)仿真處理器及其外圍電路,可以仿真51系列、avr、pic等常用主流單片機。還可以直接在基于原理圖的虛擬原型上編程,再配合顯示及輸出,能看到運行后輸入輸出的效果。配合系統(tǒng)配置的虛擬邏輯分析儀、示波器等,proteus建

33、立了完備的電子設(shè)計開發(fā)環(huán)境。 具有3大功能模塊:(1)個易用而又功能強大的isis原理布圖工具;(2)prospice混合模型spice仿真;(3) ares pcb設(shè)計. protues提供了豐富的資源: (1)proteus可提供的仿真元器件資源:仿真數(shù)字和模擬、交流和直流等數(shù)千種元器件,有30多個元件庫。(2)proteus可提供的仿真儀表資源 :示波器、邏輯分析儀、虛擬終端、spi調(diào)試器、i2c調(diào)試器、信號發(fā)生器、模式發(fā)生器、交直流電壓表、交直流電流表。理論上同一種儀器可以在一個電路中隨意的調(diào)用。(3)除了現(xiàn)實存在的儀器外,proteus還提供了一個圖形顯示功能,可以將線路上變化的信號

34、,以圖形的方式實時地顯示出來,其作用與示波器相似,但功能更多。這些虛擬儀器儀表具有理想的參數(shù)指標,例如極高的輸入阻抗、極低的輸出阻抗。這些都盡可能減少了儀器對測量結(jié)果的影響。 (4)proteus可提供的調(diào)試手段 proteus提供了比較豐富的測試信號用于電路的測試。這些測試信號包括模擬信號和數(shù)字信號。 軟件仿真:支持當(dāng)前的主流單片機,如51系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列、68000系列等。(1)提供軟件調(diào)試功能(2)提供豐富的外圍接口器件及其仿真ram,rom,鍵盤,馬達,led,lcd,ad/,部分spi器件,部分iic器件。這樣

35、很接近實際。在訓(xùn)練學(xué)生時,可以選擇不同的方案,這樣更利于培養(yǎng)學(xué)生。(3) 提供豐富的虛擬儀器利用虛擬儀器在仿真過程中可以測量外圍電路的特性,培養(yǎng)學(xué)生實際硬件的調(diào)試能力。(4) 具有強大的原理圖繪制功能電路功能仿真:在protues繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.hex,可以在proteus的原理圖中看到模擬的實物運行狀態(tài)和過程。 proteus不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當(dāng)程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。 它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應(yīng)。這在相當(dāng)程度上替代了傳統(tǒng)的單片機

36、實驗教學(xué)的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。 軟件缺點:器件庫潰乏,庫中缺少很多重要芯片,嚴重影響電路仿真軟件出錯或亂碼,此時仿真效果不及硬件仿真。4.2 系統(tǒng)主要仿真圖系統(tǒng)主要仿真圖如圖4-2所示 圖4-2 proteus系統(tǒng)仿真4.3 測試 本文在仿真的基礎(chǔ)上制作了實物,并進行了測試 測試步驟: 1、接通電源 2、選擇不同的按鍵 3、聽單片機的演奏實物圖測試圖測試結(jié)果:系統(tǒng)運轉(zhuǎn)正常基于單片機的音玩具電子琴能夠正確播放音樂。本文完成了基于單片機的玩具電子琴的設(shè)計與模擬。包括方案設(shè)計,系統(tǒng)的硬件開發(fā)、軟件編程與調(diào)試等。在論文完成過程中,主要做的工作有:(

37、1)基于portel畫了原理圖。(2)利用了proteus做了仿真(3)撰寫了畢業(yè)論文 本文所用的單片機為at89s52,未來在不考慮性價比的情況下,可采用stc或者430低功耗單片機。 第五章 致謝畢業(yè)設(shè)計時間雖說不是很長,但卻獲益良多。這要歸功*老師及我院老師的輔導(dǎo)。在此特別感謝*老師在百忙中抽出時間為我們輔導(dǎo),從選題到內(nèi)容章節(jié)的安排都傾注了他大量的心血,如果沒有他的耐心指導(dǎo)和精心點撥,是不可能順利完成這篇論文的。在此,謹祝*老師身體健康,萬事順意!同時,我還要感謝我校論文輔導(dǎo)老師,他在論文寫作期間給予我許多的建議和幫助。此外,在學(xué)習(xí)和論文寫作期間,以及我周圍的同學(xué)、朋友,都給予我許多的關(guān)

38、心與幫助、理解與支持,在此一并致謝!經(jīng)過了兩個多月的學(xué)習(xí)和工作,我終于完成了.的論文。從開始接到論文題目,到論文文章的完成,每走一步對我來說都是新的嘗試與挑戰(zhàn),這也是我在大學(xué)期間獨立完成的最大的項目。在這段時間里,我學(xué)到了很多知識也有很多感受,從對恒流源一無所知的狀態(tài),我開始了獨立的學(xué)習(xí),查看相關(guān)的資料和書籍,讓自己頭腦中模糊的概念逐漸清晰,使自己非常稚嫩作品一步步完善起來,每一次改進都是我學(xué)習(xí)的收獲,每一次試驗的成功都會讓我興奮好一段時間。雖然我的論文作品不是很成熟,還有很多不足之處,但我可以自豪的說,這里面的每一內(nèi)容,都有我的勞動。當(dāng)看著自己的論文,真是莫大的幸福和欣慰。我相信其中的酸甜苦

39、辣最終都會化為甜美的甘泉。這次做論文的經(jīng)歷也會使我終身受益,我感受到做論文是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會有所突破,那也就不叫論文了。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵我繼續(xù)進步。 參考文獻1 常斗南. 可編程序控制器原理應(yīng)用實驗m. 北京:機械工業(yè)出版社,1998.7 2 何立民單片機技術(shù)的現(xiàn)狀與未來j中國計算機報1995 3 曹明揚單片機發(fā)展動向及市場預(yù)測j計算機世界1996 4 宋浩,田豐單片機原理及應(yīng)用m清華大學(xué)出版社 5 張洪潤,易濤單片機應(yīng)用技術(shù)教程m清華大學(xué)出版社 6 王宗和,童一帆單片機實

40、驗與綜合訓(xùn)練m高等教育出版社2005.12 7 陳文輝單片機在音樂噴泉中的應(yīng)用職教與成教j福建省僑興輕工學(xué)校2007.2 8 叢福建,吳軍輝,田夢倩用mcs51單片機制作的音樂噴泉控制器j南京農(nóng)專學(xué)報(第17卷第4期)2001.2 9 袁啟昌,王宏宇單片機應(yīng)用實訓(xùn)教程m科學(xué)出版社2006.210 張筱云 單片機原理及應(yīng)用msipivt課本教材2009.8 11 胡鍵,劉玉賓,朱煥立單片機原理及接口技術(shù)實踐教程m機械工業(yè)出版社 12 intel corporation mcs-51 microcontroller family users manulmusa1994.2 23 atmel at8

41、9c51 microcontroller family users manulmusa1995.4 附錄 程序/* 文件名 : 蜂鳴器唱歌.c* 描述 : 該程序?qū)崿F(xiàn)控制蜂鳴器演奏音樂。 * 版本號 : 2.0*/#include#define uchar unsigned char#define uint unsigned intuchar count;uchar zzz;sbit speak =p30; /蜂鳴器器控制腳sbit key1=p20;sbit key2=p21;sbit key3=p22;sbit key4=p23;sbit key5=p24;sbit key6=p25;sb

42、it key7=p26;sbit key8=p27;sbit key9=p36;sbit key10=p37;sbit p1_0=p10;sbit p1_1=p11;sbit p1_2=p12;sbit p1_3=p13;uchar code table16 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;unsigned char code song = /祝你平安0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x

43、80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x80,0x2b,0x20,0x26,0x20,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x10,0x26,0x60,0x40,0x10,0x39,0x10,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x26,0x

44、10,0x26,0x80,0x26,0x20,0x2b,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x39,0x10,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x20,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x40,0x26,0x20,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x1c,0x

45、20,0x1c,0x20,0x1c,0x20,0x30,0x20,0x30,0x60,0x39,0x10,0x30,0x10,0x20,0x20,0x2b,0x10,0x26,0x10,0x2b,0x10,0x26,0x10,0x26,0x10,0x2b,0x10,0x2b,0x80,0x18,0x20,0x18,0x20,0x26,0x20,0x20,0x20,0x20,0x60,0x26,0x10,0x2b,0x20,0x30,0x20,0x30,0x20,0x1c,0x20,0x20,0x20,0x20,0x80,0x26,0x20,0x30,0x10,0x30,0x10,0x30,0x

46、20,0x39,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x40,0x40,0x10,0x40,0x10,0x20,0x10,0x20,0x10,0x2b,0x10,0x26,0x30,0x30,0x80,0x00, /路邊的野華不要采0x30,0x1c,0x10,0x20,0x40,0x1c,0x10,0x18,0x10,0x20,0x10,0x1c,0x10,0x18,0x40,0x1c,0x20,0x20,0x20,0x1c,0x20,0x18,0x20,0x20,0x80,0xff,0x20,0x30,0x1c,0x10,0x18,0x20,0x

47、15,0x20,0x1c,0x20,0x20,0x20,0x26,0x40,0x20,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0xff,0x20,0x20,0x1c,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40,0x20,0x20,0x1c,0x10,0x18,0x10,0x20,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40,0x20,0x30,0x1c,0x10,0x18,0x20,0x15,0x20,0x1c,0x

48、20,0x20,0x20,0x26,0x40,0x20,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x30,0x80,0x20,0x30,0x1c,0x10,0x20,0x10,0x1c,0x10,0x20,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40,0x20,0x15,0x1f,0x05,0x20,0x10,0x1c,0x10,0x20,0x20,0x26,0x20,0x2b,0x20,0x30,0x20,0x2b,0x40,0x20,0x30,0x1c,0x10,0x18,0x20,0x15,0x20,0x1c,0x

49、20,0x20,0x20,0x26,0x40,0x20,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x30,0x30,0x20,0x30,0x1c,0x10,0x18,0x40,0x1c,0x20,0x20,0x20,0x26,0x40,0x13,0x60,0x18,0x20,0x15,0x40,0x13,0x40,0x18,0x80,0x00,;/* 名稱 : time0_init()* 功能 : 定時器的初始化,定時時間可用光碟中軟件計算,11.0592mz晶振,10ms* 輸入 : 無* 輸出 : 無*/void time0_init()tmod = 0x01;ie = 0x82;th0 = 0xdc;tl0 = 0x00;void time1_init()tmod = 0x11;ie = 0x8a;tr1=0;/* 名稱 : time0_int()* 功能 : 定時器中斷,中斷中實現(xiàn) count 加一* 輸入 : 無* 輸出 : 無*/v

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論