




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 2012年電創(chuàng)“十年杯”電子設(shè)計(jì) 競(jìng) 賽 論 文 觸摸你心愛的旋律 -電子琴設(shè)計(jì) 組員:周艷文 田宏超陳丹丹李平2012年12月10日目 錄摘要-3引言-4一概述-5系統(tǒng)開發(fā)意義-5設(shè)計(jì)目標(biāo)-5系統(tǒng)組成及總框圖-6二、硬件設(shè)計(jì)-7系統(tǒng)的硬件電路設(shè)計(jì)72.1AT89C5172.2單片機(jī)的時(shí)鐘振蕩電路72.3.復(fù)位狀態(tài)82.3.復(fù)位電路82.4 單片機(jī)最小系統(tǒng)92.5 鍵盤輸入部分92.6音頻功放電路10 TDA2030A放大電路-112.8揚(yáng)聲器11三、軟件設(shè)計(jì)123.1如何用單片機(jī)實(shí)現(xiàn)音樂的節(jié)-13 音樂相關(guān)知識(shí)-133.1.1定時(shí)/計(jì)數(shù)器的設(shè)計(jì)和狀態(tài)字定義:143.2音調(diào)數(shù)據(jù)表163.3
2、軟件流程錯(cuò)誤!未定義書簽。3.3.1系統(tǒng)流程圖錯(cuò)誤!未定義書簽。3.4軟件程序17四、電路的仿真184.1仿真運(yùn)行直接播放音樂184.2電子琴功能錯(cuò)誤!未定義書簽。4.3電子琴音階功能錯(cuò)誤!未定義書簽。五、系統(tǒng)調(diào)試195.1硬件調(diào)試195.2軟件調(diào)試19六、課程設(shè)計(jì)體會(huì)20參考文獻(xiàn)21附錄 A(單片機(jī)簡(jiǎn)介,C程序)22附錄 B(C程序)23附錄 C(元件清單)31附錄 D(實(shí)物圖)32附錄E(電源電路)-33摘要電子琴的設(shè)計(jì)以AT89S52單片機(jī)作為系統(tǒng)的核心控制部分,通過制作硬件電路和軟件的設(shè)計(jì)編寫,然后進(jìn)行軟硬件的調(diào)試運(yùn)行,最終達(dá)到設(shè)計(jì)電路的樂器演奏。設(shè)計(jì)中應(yīng)用中斷系統(tǒng)和定時(shí)/計(jì)數(shù)原理控制
3、演奏器發(fā)聲,對(duì)音樂發(fā)生所必須確定的音符和節(jié)拍分別用程序語言實(shí)現(xiàn)。可以用它來彈奏。特點(diǎn)是設(shè)計(jì)思路簡(jiǎn)單、清晰,成本低。關(guān)鍵詞:AT89S52,電子琴,單片機(jī),音樂發(fā)生器引言單片微型計(jì)算機(jī)是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,屬第四代電子計(jì)算機(jī),它具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。它的應(yīng)用必定導(dǎo)致傳統(tǒng)的控制技術(shù)從根本上發(fā)生變革。因此,單片機(jī)的開發(fā)應(yīng)用已成為高科技和工程領(lǐng)域的一項(xiàng)重大課題。 電子琴是現(xiàn)代電子科技與音樂結(jié)合的產(chǎn)物,是一種新型的鍵盤樂器。它在現(xiàn)代音樂扮演著重要的角色,單片機(jī)具有強(qiáng)大的控制功能和靈活的編程實(shí)現(xiàn)特性,它已經(jīng)溶入現(xiàn)代人們的生活中,成為不可替代的一部分。本文
4、的主要內(nèi)容是用AT89S52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)電子琴和音樂發(fā)生器雙功能。以單片機(jī)作為主控核心,與鍵盤、揚(yáng)聲器等模塊組成核心主控制模塊,在主控模塊上設(shè)有25個(gè)按鍵和揚(yáng)聲器。 本文主要對(duì)使用單片機(jī)設(shè)計(jì)簡(jiǎn)易電子琴進(jìn)行了分析,并介紹了基于單片機(jī)電子琴統(tǒng)硬件組成。利用單片機(jī)產(chǎn)生不同頻率來獲得我們要求的音階,最終可隨意彈奏想要表達(dá)的音樂。并且本文分別從原理圖,主要芯片,各模塊原理及各模塊的程序的調(diào)試來詳細(xì)闡述。 一首音樂是許多不同的音階組成的,而每個(gè)音階對(duì)應(yīng)著不同的頻率,這樣我們就可以利用不同的頻率的組合,即可構(gòu)成我們所想要的音樂了,當(dāng)然對(duì)于單片機(jī)來產(chǎn)生不同的頻率非常方便,我們可以利用單片機(jī)的
5、定時(shí)/計(jì)數(shù)器T0來產(chǎn)生這樣方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系弄正確即可。一 概述1.1 系統(tǒng)開發(fā)意義該設(shè)計(jì)具有以下優(yōu)點(diǎn):可以隨意彈奏想要表達(dá)的音樂。比傳統(tǒng)電子琴功能更完善。制作簡(jiǎn)單,成本低。1.2 設(shè)計(jì)目標(biāo)由于本設(shè)計(jì)主要用于人們娛樂方面,因此在設(shè)計(jì)上盡量使其安全以及簡(jiǎn)單易操作。其次,在這次設(shè)計(jì)可行性上進(jìn)行分析如下:1、經(jīng)濟(jì)可行性:所謂經(jīng)濟(jì)可行性,即在這次設(shè)計(jì)上需要投入資金的多少,由于畢業(yè)設(shè)計(jì)是沒有項(xiàng)目資金,沒有開發(fā)經(jīng)費(fèi),因此在經(jīng)濟(jì)上必須能夠承受,比較理想化的項(xiàng)目對(duì)于我們畢業(yè)設(shè)計(jì)來說是不可行的。通過分析后,無論是在器件價(jià)格或是常見度上均是可行的。2、技術(shù)可行性:技術(shù)可行性主
6、要是分析技術(shù)條件上是否能夠順利開展并完成開發(fā)工作,硬件、軟件能否滿足設(shè)計(jì)者的需要等。通過分析各種軟件環(huán)境,硬件仿真環(huán)境等均已經(jīng)具備。綜上所述,本系統(tǒng)設(shè)計(jì)目標(biāo)已經(jīng)明確,在經(jīng)濟(jì)與技術(shù)上均可行,因此本系統(tǒng)的開發(fā)是完全可行的。1.3系統(tǒng)組成及總框圖硬件設(shè)計(jì)的任務(wù)是根據(jù)總體設(shè)計(jì)要求,在選擇的機(jī)型的基礎(chǔ)上,具體確定系統(tǒng)中所要使用的元器件,設(shè)計(jì)出系統(tǒng)的原理框圖、電路原理圖。單片機(jī)AT89S52該設(shè)計(jì)要實(shí)現(xiàn)一種由單片機(jī)控制的電子琴,單片機(jī)工作于12MHZ時(shí)鐘頻率,使用其定時(shí)/計(jì)數(shù)器T0,工作模式為1,改變計(jì)數(shù)值TH0和TL0可以產(chǎn)生不同頻率的脈沖信號(hào)。該設(shè)計(jì)具有25個(gè)音節(jié)的鍵盤,用戶可以根據(jù)樂譜在鍵盤上進(jìn)行演
7、奏,音樂發(fā)生器會(huì)根據(jù)用戶的彈奏,通過揚(yáng)聲器將音樂播放出來。由于本例實(shí)現(xiàn)的音樂發(fā)生器是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。用單片機(jī)產(chǎn)生的音頻脈沖直接驅(qū)動(dòng)揚(yáng)聲器并不能產(chǎn)生所要實(shí)現(xiàn)的音樂,因?yàn)樗鼪]有足夠的驅(qū)動(dòng)能力,這就需要音頻功率放大電路。按鍵輸入音頻功放電路功能選擇(彈奏/播放)晶振復(fù)位電路揚(yáng)聲器圖4.總體設(shè)計(jì)框圖二、硬件設(shè)計(jì)系統(tǒng)的硬件電路設(shè)計(jì)2.1 AT89C51AT89S52是一種低功耗、高性能CMOS8位微控制器,具有 8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完 全兼容。片上Flas
8、h允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于 常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng) 可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 AT89S52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM, 32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位 定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏 輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU 停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振
9、蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8K 字節(jié)在系統(tǒng)可編程 Flash AT89S52。主要性能:與MCS-51單片機(jī)產(chǎn)品兼容、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器、1000次擦寫周期、全靜態(tài)操作:0Hz33Hz、三級(jí)加密程序存儲(chǔ)器、32個(gè)可編程I/O口線、三個(gè)16位定時(shí)器/計(jì)數(shù)器八個(gè)中斷源、全雙工UART串行通道、低功耗空閑和掉電模式、掉電后中斷可喚醒、看門狗定時(shí)器、雙數(shù)據(jù)指針、掉電標(biāo)識(shí)符。2.2時(shí)鐘振蕩電路AT89C52中有一個(gè)用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的
10、片外石英晶體或者陶瓷諧振器一起構(gòu)成自然振蕩器。外接石英晶體及電容C1、C2接在放大器的反饋回路中構(gòu)成并聯(lián)振蕩電路。對(duì)外接電容C1,C2雖然沒有什么嚴(yán)格的要求,但電容容量的大小會(huì)輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30PF10PF。在此設(shè)計(jì)中選?。?2MHZ時(shí)鐘頻率。圖5.單片機(jī)振蕩電路 2.3單片機(jī)的復(fù)位及復(fù)位電路2.3.1復(fù)位狀態(tài)計(jì)算機(jī)在啟動(dòng)運(yùn)行時(shí)都需要復(fù)位,復(fù)位使中央處理器CPU和系統(tǒng)中的其他器件都處于一種初始狀態(tài),并從這個(gè)初始狀態(tài)工作。MCS-51系列單片機(jī)有一個(gè)復(fù)位引腳RST。在MCS-51系列單片機(jī)的RST引腳上輸
11、入一個(gè)高電平信號(hào),該高電平信號(hào)至少要維持兩個(gè)機(jī)器周期以上的時(shí)間,單片機(jī)被復(fù)位。2.3.2復(fù)位電路與其他計(jì)算機(jī)一樣,MCS-51單片機(jī)系統(tǒng)的復(fù)位方法有上電自動(dòng)復(fù)位、手動(dòng)復(fù)位以及“看門狗”復(fù)位等。此最小系統(tǒng)采用手動(dòng)復(fù)位電路。在系統(tǒng)運(yùn)行過程中,有時(shí)可能對(duì)系統(tǒng)需要進(jìn)行復(fù)位,為避免對(duì)硬件經(jīng)常加電和斷電造成的損害,我們可以采用手動(dòng)復(fù)位。這種方法是將一個(gè)開關(guān)串聯(lián)一只電阻后,再并聯(lián)于電容C的兩端,在系統(tǒng)運(yùn)行過程中需要復(fù)位時(shí)只要使開關(guān)閉合,在RST引腳上就會(huì)出現(xiàn)一定時(shí)間的高電平信號(hào),從而使單片機(jī)實(shí)現(xiàn)復(fù)位。圖6.復(fù)位電路2.4 單片機(jī)最小系統(tǒng)由時(shí)鐘振蕩電路加復(fù)位電路構(gòu)成單片機(jī)AT89S52的最小系統(tǒng):圖7. 單片
12、機(jī)最小系統(tǒng)2.5 鍵盤輸入部分本系統(tǒng)中用到25個(gè)按鍵,用P0,P1,P2,P3I/O口接獨(dú)立鍵盤即可滿足需要,軟件消除抖動(dòng)處理,并能準(zhǔn)確判斷所需執(zhí)行的相應(yīng)程序。電子琴設(shè)25個(gè)按鍵,分別代表一些音符,包括中音段的全部音符。其電路圖如下:圖9.鍵盤模塊音頻功放電路2.6 TDA2030ATDA2030A是德律風(fēng)根生產(chǎn)的音頻功放電路,采用V型5 腳單列直插式塑料封裝結(jié)構(gòu)。如圖1所示,按引腳的形狀引可分為H型和V型。該集成電路廣泛應(yīng)用于汽車立體聲收錄音機(jī)、中功率音響設(shè)備,具有體積小、輸出功率大、失真小等特點(diǎn)。TDA2030A能在最低6V最高22V的電壓下工作在19V、8阻抗時(shí)能夠輸出16W的有效功率,
13、THD0.1%。無疑,用它來做電腦有源音箱的功率放大部分或小型功放再合適不過了。采用TDA2030音頻功率放大芯片。此芯片是高保真集成功率放大器芯片,輸出功率大于10W,頻率響應(yīng)為1014000Hz,輸出電流峰值最大可達(dá)3.5A,其內(nèi)部電路包含輸入級(jí)、中間級(jí)、輸出級(jí),具有短路保護(hù)和過熱保護(hù),可以確保電路工作的安全可靠性。TDA2030A芯片TDA2030A引腳情況1腳是正相輸入端;2腳是反向輸入端 ;3腳是負(fù)電源輸入端;4腳是功率輸出端;5腳是正電源輸入端。 圖2.TDA2030A實(shí)物圖和引腳圖2.7揚(yáng)聲器 揚(yáng)聲器是一種把電平轉(zhuǎn)變?yōu)槁曅盘?hào)的換能器件,揚(yáng)聲器和性能對(duì)音質(zhì)的高低音響很大。 揚(yáng)聲器的
14、種類很多,按其換能原理可分為電動(dòng)式、靜電式、電磁式、壓電式等幾種,后兩種多用于農(nóng)村有線廣播網(wǎng)中,按頻率范圍可分為低音揚(yáng)聲器、中音揚(yáng)聲器,這些常在音箱中作為組合揚(yáng)聲器使用。在本次試驗(yàn)作品中使用電磁式揚(yáng)聲器。圖10.音頻功放機(jī)電路圖11.揚(yáng)聲器實(shí)物圖三 、軟件設(shè)計(jì)軟件是該電子琴控制系統(tǒng)的重要組成部分,在系統(tǒng)的軟件設(shè)計(jì)中我們也才用了模塊化設(shè)計(jì),將系統(tǒng)的各部分功能編寫成子模塊的形式,這樣增強(qiáng)了系統(tǒng)軟件的可讀性和可移植性。3.1如何用單片機(jī)實(shí)現(xiàn)音樂的節(jié)拍音樂相關(guān)知識(shí)在人類還沒有產(chǎn)生語言時(shí),就已經(jīng)知道利用聲音的高低、強(qiáng)弱等來表達(dá)自己的思想和感情。聲帶、琴弦等物體振動(dòng)時(shí)會(huì)發(fā)出聲波,聲波通過空氣傳播進(jìn)入人耳,
15、人們就聽到了聲音。聲音有噪音和樂音之分振動(dòng)有規(guī)律的聲音是樂音,音樂中所用的聲音主要是樂音。 樂音聽起來有的高、有的低,這就叫做音高。音高是由發(fā)聲物體振動(dòng)頻率的高低決定的,頻率高聲音就高,頻率低聲音就低。音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同的頻率,這樣就可以利用不同的頻率組合,加以拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂。如果單片機(jī)要自己播放音樂就必須考慮到節(jié)拍的設(shè)置。對(duì)于AT80C51而言要產(chǎn)生一定頻率的方波一般是先將某口線輸出高電平,延遲一段時(shí)間后再輸出低電平。通過改變延遲時(shí)間可以改變單片機(jī)的輸出頻率。單片機(jī)的延時(shí)主要有兩種方式,
16、即軟件延時(shí)和使用定時(shí)/計(jì)數(shù)器延時(shí)。其中軟件延時(shí)不是很精確,而電子琴電路由于每個(gè)音符的頻率值要求比較嚴(yán)格,因此我們選用定時(shí)/計(jì)數(shù)器延時(shí)。由于本課程設(shè)計(jì)是由用戶通過鍵盤輸入彈奏樂曲的,所以節(jié)拍由用戶掌握,不由程序控制。因此,我們只需弄清楚音樂中的音符和對(duì)應(yīng)的頻率,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來產(chǎn)生方波頻率信號(hào)即可。要產(chǎn)生相應(yīng)的音頻脈沖,只需要計(jì)算出某音頻的周期,再除以2。利用計(jì)數(shù)器計(jì)時(shí)半周期,計(jì)滿時(shí)使P2.0反向,然后重復(fù)計(jì)時(shí)再反向。本例中,單片機(jī)工作在12MHz時(shí)鐘,使用定時(shí)器/計(jì)數(shù)器T0,工作模式為1,改變計(jì)數(shù)初值TH0、TL0就可產(chǎn)生不同頻率的脈沖信號(hào)。例如低3MI音,頻率為330Hz,其周期T
17、=1/f=1/330=3030us,計(jì)數(shù)值N=3030/2=1515,所以每計(jì)數(shù)1515次P2.0反向。計(jì)數(shù)初值T=65536-N=64021。C調(diào)的各音符頻率與計(jì)數(shù)值T的對(duì)照表如表1所示。表1 C調(diào)各音符頻率與計(jì)數(shù)值T對(duì)照表音符頻率(HZ)簡(jiǎn)譜碼(T值)音符頻率(HZ)簡(jiǎn)譜碼(T值)低 1 DO26263628# 4 FA#74064860# 1 DO#27763731中 5 SO78464898低 2 RE29463853# 5 SO#83164934# 2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7
18、 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA17606
19、5252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI1967652833.2定時(shí)/計(jì)數(shù)器的設(shè)計(jì)和狀態(tài)字定義:若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),再將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)半周期時(shí)間,每當(dāng)計(jì)時(shí)終止后就將P1.0反相,然后重復(fù)計(jì)時(shí)再反相。就可在P1.0引腳上得到此頻率的脈沖。利用AT89C51的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式(MODE1)下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階,例如,頻率為523Hz,其周期T1/5231912s,因此只要令計(jì)數(shù)器計(jì)時(shí)956s/1s956,每計(jì)數(shù)956次時(shí)將I
20、/O反相,就可得到中音DO(523Hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系式是:Nfi2fr,式中,N是計(jì)數(shù)值;fi是機(jī)器頻率(晶體振蕩器為12MHz時(shí),其頻率為1MHz);fr是想要產(chǎn)生的頻率。其計(jì)數(shù)初值T的求法如下:T65536N65536fi2fr例如:設(shè)K65536,fi1MHz,求中音DO(261Hz)。T65536N65536fi2fr6553610000002fr65536500000/fr,中音DO的T65536500000/52364580。單片機(jī)12MHZ晶振,中音符與計(jì)數(shù)T0相關(guān)的計(jì)數(shù)值如表所示:表2 音符表音符頻率(HZ)簡(jiǎn)譜碼(T值)音符頻率(HZ)簡(jiǎn)譜碼(T值)低1DO262
21、63628# 4 FA#74064860#1DO#27763731中 5 SO78464898低2RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低
22、 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283采用查表程序進(jìn)行查表時(shí),可以為這個(gè)音符建立一個(gè)表格,有助于單片機(jī)通過查表的方式來獲得相應(yīng)的數(shù)據(jù):低音019之間,中音在2039之間,高音在4059之間用單片機(jī)播放音樂,或者彈奏電子琴,實(shí)際上是按照
23、特定的頻率,輸出一連串的方波。為了輸出合適的方波,首先應(yīng)該知道音符與頻率的關(guān)系。3.3音調(diào)數(shù)據(jù)表單片機(jī)發(fā)出不同頻率的方波,人聽起來,就是不同的音調(diào)。上表中的頻率數(shù)值,有些過多,去掉不常用的黑鍵頻率,只是把白鍵對(duì)應(yīng)的數(shù)據(jù)存放在單片機(jī)中,即可滿足絕大部分的應(yīng)用需求。定義音調(diào)數(shù)據(jù)表的程序如下: DW 63628,63835,64021,64103,64260,64400,64524 ;64580,低音區(qū):1 2 3 4 5 6 7 DW 64580,64671,64777,64820,64898,64968,65030 65058中音區(qū):1 2 3 4 5 6 7 DW 65058,65110,65
24、157,65178,65217,65252,65283 65312高音區(qū):1 2 3 4 5 6 7把這個(gè)數(shù)據(jù)表,放在程序中,需要播音的時(shí)候,就從表中取出一個(gè)數(shù)據(jù)送到定時(shí)器,當(dāng)定時(shí)器溢出中斷的時(shí)候,再對(duì)輸出引腳取反,那么,在揚(yáng)聲器中,即可聽到上表中頻率的聲音。音樂的音拍,一個(gè)節(jié)拍為單位(C調(diào)):表3 節(jié)奏表曲調(diào)值DELAY 曲調(diào)值DELAY調(diào)4/4125ms 調(diào)4/462ms調(diào)3/4187ms 調(diào)3/494ms調(diào)2/4250ms 調(diào)2/4125ms圖12.軟件設(shè)計(jì)系統(tǒng)流程圖3.4軟件程序本系統(tǒng)單片機(jī)軟件在設(shè)計(jì)中是用C語言編寫。電子琴控制系統(tǒng)控制和播放內(nèi)容的程序。見附錄。四、電路的仿真Prote
25、us的ISIS事一款Labcenter出品的電路分析實(shí)物仿真系統(tǒng),可仿真各種電路和IC,并支持單片機(jī),元件庫齊全,使用方便,可以給我們做電路設(shè)計(jì)提供方便快捷的仿真效果,讓我們事半功倍。 目前支持的單片機(jī)類型有:680以及各種外圍芯片0系列、8051系列、AVR系列、PIC12系列、HC11系列。4.1仿真運(yùn)行直接播放音樂:五、系統(tǒng)調(diào)試 電路調(diào)試是整個(gè)系統(tǒng)功能否實(shí)現(xiàn)的關(guān)鍵步驟,我們將整個(gè)調(diào)試過程分為三大部分:硬件調(diào)試、軟件調(diào)試和綜合調(diào)試。5.1硬件調(diào)試硬件調(diào)試主要是針對(duì)單片機(jī)部分進(jìn)行調(diào)試。在上電前,先確保電路中不在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)
26、試中主要使用的工具是萬用表,用來完成檢測(cè)電路中是否存在斷路或者短路情況等。注意焊點(diǎn)之間,確保焊點(diǎn)沒有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒有開路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常,無異常情況(斷路或短路)方可上電調(diào)試,上電調(diào)試的目的是檢驗(yàn)電路是否接錯(cuò),同時(shí)還要檢驗(yàn)原理是否正確,在本次設(shè)計(jì)中,上電調(diào)試主要鍵盤單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。1、數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼管顯示數(shù)字。2、鍵盤單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。5.2軟件調(diào)試調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具備至少四種性能:跟蹤、斷點(diǎn)
27、、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)崿F(xiàn)功能的過程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序模塊進(jìn)行分別調(diào)試。六、課程設(shè)計(jì)體會(huì)通過本次的設(shè)計(jì),讓我大大提高了對(duì)電子產(chǎn)品的興趣。也讓我的動(dòng)手能力再次的提高。在設(shè)計(jì)前,我大量的參考了很多參考資料,這些參考資料對(duì)我的幫助很大,所以在設(shè)計(jì)前,做大量的功課是很有必要的。在設(shè)計(jì)中不管是軟件調(diào)試還是硬件調(diào)試都讓我受益匪淺,對(duì)Professional、MedWin V3.0、Protel 99se這些軟件的使用也越來越熟練。這次設(shè)計(jì)把所學(xué)過的知識(shí)都結(jié)合起來了,不僅用到
28、單片機(jī)應(yīng)用技術(shù)的知識(shí),還有模擬電子、數(shù)字電子的知識(shí)也運(yùn)用到了,讓我再復(fù)習(xí)了一遍這幾門課程。也讓我的知識(shí)鞏固了一遍。總的來說,在這次的單片機(jī)課程設(shè)計(jì)里,讓我對(duì)單片機(jī)的了解更加的深刻。在遇到問題的時(shí)候,要冷靜,然后努力搜集資料,盡自己最到的努力解決問題!這次課程設(shè)計(jì)也讓我清楚的認(rèn)識(shí)了自己在單片機(jī)學(xué)習(xí)中存在的不足,這些不足需要我去不斷的的努力改善。參考文獻(xiàn)1王靜霞. 單片機(jī)應(yīng)用技術(shù)(C語言版). 北京:電子工業(yè)出版社. 2009.5 2韓志軍 、沈晉源 、王振波 .單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)-入門向?qū)c設(shè)計(jì)實(shí)例.北京:機(jī)械工業(yè)出版社.2005.3 張毅剛,MCS-51單片機(jī)應(yīng)用設(shè)計(jì)M哈爾濱工業(yè)大學(xué)出版社,2
29、0044 鄧紅. 單片機(jī)實(shí)驗(yàn)與應(yīng)用設(shè)計(jì)教程 出版日期:2004年05月第1版5 以及其他的網(wǎng)上資源附錄 A單片機(jī)89C51的簡(jiǎn)介AT89C51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案。AT89S51具有如下特點(diǎn):40個(gè)引腳
30、,4k Bytes Flash片內(nèi)程序存儲(chǔ)器,128 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時(shí)鐘振蕩器。 此外,AT89S51設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。該系列單片機(jī)引腳與封裝如下圖
31、所示:主要引腳功能: 1、 RST(9):復(fù)位輸入。當(dāng)振蕩器復(fù)位時(shí),要保持RST引腳2個(gè)機(jī)器周期的高電平時(shí)間;2、 XTAL1(19):反向振蕩器放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入; 3、 XTAL2(18):來自反向振蕩器的輸出;4、 P1口(18):P1口是從內(nèi)部提供上拉電阻器的8位雙向I/O口,P1口緩沖器能接收和輸出4個(gè)TTL門電流;5、 /:當(dāng)保持低電平時(shí),單片機(jī)只訪問外部程序存儲(chǔ)器。為高電平時(shí),單片機(jī)只訪問內(nèi)部程序存儲(chǔ)器。附錄 BC語言程序#include reg51.h/sbit P2_0=P20;sbit S1 = P00;sbit S2 = P01;sbit S3 = P0
32、2;sbit S4 = P03;sbit S5 = P04;sbit S6 = P05;sbit S7 = P06;sbit S1_0=P10;sbit S2_1=P11;sbit S3_2=P12;sbit S4_3=P13;sbit S5_4=P14;sbit S6_5=P15;sbit S7_6=P16;sbit S10=P21;sbit S20=P22;sbit S30=P23;sbit S40=P24;sbit S50=P25;sbit S60=P26;sbit S70=P27;sbit f1=P30;sbit f2=P31;sbit f3=P32;sbit f4=P33;sbit
33、f5=P34;sbit OUTPUT=P20;unsigned char cz_1,cz_2,rfdata,key;/延時(shí)函數(shù)*/void delay_10ms()unsigned int d=1000; while(-d);void delay_x10ms(unsigned char x)unsigned int i;for(i=0;ix;i+)delay_10ms(); void delay_1us() /1us延時(shí)函數(shù)_Nop();void delay_nus(unsigned int n) /N us延時(shí)函數(shù)unsigned int i=0;for (i=0;in;i+)delay_1
34、us();void delay_1ms()unsigned int d=100; while(-d);void delay_x1ms(unsigned int x)unsigned int i;for(i=0;ix;i+)delay_1ms(); void delay_100us()unsigned int d=10; while(-d);void delay_x100us(unsigned int x)unsigned int i;for(i=0;ix;i+) delay_100us(); void delay_100us_i()unsigned int d=10; while(-d);vo
35、id delay_x100us_i(unsigned int x)unsigned int i;for(i=0;ix;i+) delay_100us_i(); /-/void anjian() if(S1=0) delay_x1ms(3);if(S1=0)EA=1;cz_1=0xf8; cz_2=0x94; while(S1=0);delay_x1ms(3);if(S1) EA=0; if(S2=0) delay_x1ms(3);if(S2=0)EA=1;cz_1=0xf9; cz_2=0x5c; while(S2=0);delay_x1ms(3);if(S2) EA=0; if(S3=0)
36、delay_x1ms(3);if(S3=0)EA=1;cz_1=0xfa; cz_2=0x1a; while(S3=0);delay_x1ms(3);if(S3) EA=0; if(S4=0) delay_x1ms(3);if(S4=0)EA=1;cz_1=0xfa; cz_2=0x6a; while(S4=0);delay_x1ms(3);if(S4) EA=0; if(S5=0) delay_x1ms(3);if(S5=0)EA=1;cz_1=0xfb; cz_2=0x00; while(S5=0);delay_x1ms(3);if(S5) EA=0; if(S6=0) delay_x1m
37、s(3);if(S6=0)EA=1;cz_1=0xfb; cz_2=0x8c; while(S6=0);delay_x1ms(3);if(S6) EA=0; if(S7=0) delay_x1ms(3);if(S7=0)EA=1;cz_1=0xfc; cz_2=0x0e; while(S7=0);delay_x1ms(3);if(S7) EA=0; if(S1_0=0) delay_x1ms(3);if(S1_0=0)EA=1;cz_1=0xfc; cz_2=0x4a; while(S1_0=0);delay_x1ms(3);if(S1_0) EA=0; if(S2_1=0) delay_x1
38、ms(3);if(S2_1=0)EA=1;cz_1=0xfc; cz_2=0xae; while(S2_1=0);delay_x1ms(3);if(S2_1) EA=0; if(S3_2=0) delay_x1ms(3);if(S3_2=0)EA=1;cz_1=0xfd; cz_2=0x08; while(S3_2=0);delay_x1ms(3);if(S3_2) EA=0; if(S4_3=0) delay_x1ms(3);if(S4_3=0)EA=1;cz_1=0xfd; cz_2=0x30; while(S4_3=0);delay_x1ms(3);if(S4_3) EA=0; if(S
39、5_4=0) delay_x1ms(3);if(S5_4=0)EA=1;cz_1=0xfd; cz_2=0x80; while(S5_4=0);delay_x1ms(3);if(S5_4) EA=0; if(S6_5=0) delay_x1ms(3);if(S6_5=0)EA=1;cz_1=0xfd; cz_2=0xc6; while(S6_5=0);delay_x1ms(3);if(S6_5) EA=0; if(S7_6=0) delay_x1ms(3);if(S7_6=0)EA=1;cz_1=0xfe; cz_2=0x02; while(S7_6=0);delay_x1ms(3);if(S7_6) EA=0; if(S10=0) delay_x1ms(3);if(S10=0)EA=1;cz_1=0xfe; cz_2=0x2a; while(S10=0);delay_x1ms(3);if(S10) EA=0; if(S20=0) delay_x1ms(3);if(S20=0)EA=1;cz_1=0xfe; cz_2=0x5c; while(S20=0);delay_x1ms(3);if(S20) EA=0; if(S30=0) delay_x1ms(3);if(S30=0)EA=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.2《密度》說課稿 2025年初中人教版八年級(jí)物理上冊(cè)
- 2025年黨章黨史國史國情知識(shí)競(jìng)賽題庫及答案(共170題)
- 裝修人工費(fèi)報(bào)價(jià)及結(jié)算合同
- 個(gè)人品牌打造與傳播手冊(cè)
- 深基坑工程專項(xiàng)施工方案
- 購買設(shè)備可行性研究報(bào)告
- 建筑垃圾再生利用項(xiàng)目可行性研究報(bào)告
- 健身行業(yè)運(yùn)營管理策略手冊(cè)
- 2025年度北京市智能家居與暖通裝潢合同
- 商業(yè)秘密保護(hù)措施與合規(guī)性分析
- 2025年日語n2考前試題及答案
- 2025年山西同文職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫帶答案
- 防洪防澇知識(shí)培訓(xùn)課件
- 2025年安徽衛(wèi)生健康職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫審定版
- 2025年01月中國疾控中心信息中心公開招聘1人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 安徽2025年安徽汽車職業(yè)技術(shù)學(xué)院教職工校園招聘筆試歷年參考題庫附帶答案詳解
- 臨床基于高級(jí)健康評(píng)估的高血壓Ⅲ級(jí)合并腦梗死患者康復(fù)個(gè)案護(hù)理
- 2024年全國統(tǒng)一高考英語試卷(新課標(biāo)Ⅰ卷)含答案
- 第5課《小心“馬路殺手”》課件
- 2023年06月上海市浦東新區(qū)臨港新片區(qū)文員招考聘用筆試題庫含答案解析
- 藥品企業(yè)(制藥廠)全套安全生產(chǎn)管理制度
評(píng)論
0/150
提交評(píng)論