基于51單片機(jī)電子琴八音盒設(shè)計(jì)-電氣工程及其自動(dòng)化畢業(yè)設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)電子琴八音盒設(shè)計(jì)-電氣工程及其自動(dòng)化畢業(yè)設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)電子琴八音盒設(shè)計(jì)-電氣工程及其自動(dòng)化畢業(yè)設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)電子琴八音盒設(shè)計(jì)-電氣工程及其自動(dòng)化畢業(yè)設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)電子琴八音盒設(shè)計(jì)-電氣工程及其自動(dòng)化畢業(yè)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于51單片機(jī)電子琴八音盒設(shè)計(jì)-電氣工程及其自動(dòng)化畢業(yè)設(shè)計(jì)編號(hào)2011301243畢業(yè)設(shè)計(jì)(2015屆本科)設(shè)計(jì)題目:基于51單片機(jī)電子琴八音盒設(shè)計(jì)學(xué)院:電氣工程學(xué)院專(zhuān)業(yè):電氣工程及其自動(dòng)化班級(jí):電氣工程及其自動(dòng)化2班作者姓名:xxxx指導(dǎo)教師:xxx職稱(chēng):研究生完成日期:2015年5月15日目錄誠(chéng)信聲明(1)基于51單片機(jī)電子琴八音盒設(shè)計(jì)(2)中文摘要(2)英文摘要(2)1引言(2)2方案總體設(shè)計(jì)(2)2.1方案對(duì)比(3)2.2系統(tǒng)工作原理(4)3硬件設(shè)計(jì)(4)3.1STC89C52芯片(4)3.2單片機(jī)復(fù)位部分(5)3.3單片機(jī)晶振部分(6)3.4數(shù)碼管顯示部分(6)3.5蜂鳴器部分(8)

2、3.6按鍵部分(8)4軟件設(shè)計(jì)(10)4.1系統(tǒng)流程(10)4.2延時(shí)源代碼(11)4.3發(fā)音源代碼(11)4.4單個(gè)按鍵源代碼(11)5系統(tǒng)仿真與調(diào)試(12)5.1仿真軟件簡(jiǎn)介(12)5.2硬件調(diào)試(12)5.3軟件調(diào)試(12)5.4使用說(shuō)明(15)6設(shè)計(jì)總結(jié)(15)參考文獻(xiàn)(16)致謝(17)附錄原理圖(18)附錄實(shí)物圖(19)附錄軟件設(shè)計(jì)(20)xxx學(xué)院本科生畢業(yè)設(shè)計(jì)誠(chéng)信聲明本人鄭重聲明:所呈交的本科畢業(yè)設(shè)計(jì),是本人在指導(dǎo)老師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,成果不存在知識(shí)產(chǎn)權(quán)爭(zhēng)議,除文中已經(jīng)注明引用的內(nèi)容外,本設(shè)計(jì)不含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫(xiě)過(guò)的作品成果。對(duì)本文的研究做

3、出重要貢獻(xiàn)的個(gè)人和集體均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。作者簽名:二O一年月日1基于51單片機(jī)電子琴八音盒設(shè)計(jì)xxx,xxx(xxx學(xué)院電氣工程學(xué)院,xxxxxxxxxxx)摘要:本文的主要內(nèi)容是用AT89C52單片機(jī)為核心控制元件,設(shè)計(jì)一個(gè)八音盒。利用單片機(jī)產(chǎn)生不同的頻率來(lái)獲得我要求的音階,最終可隨意彈奏出要表達(dá)的音符。只要把一首歌曲的音階對(duì)應(yīng)頻率關(guān)系,編寫(xiě)程序就可以達(dá)到我想要的曲目。經(jīng)此調(diào)試,所做的八音盒得到了應(yīng)有的按鍵發(fā)音效果。關(guān)鍵詞:AT89C52;八音盒;音階Keyboardmusicboxdesignbasedon51singlechipmicro

4、computerYINFugui,WUZhiRong(ElectricalEngineeringCollege,LongdongUniversity,Qingyang745000,Gansu,)Abstract:ThemaincontentofthispaperistouseAT89C52microcontrollerasthecorecontrolelement,thedesignofamusicbox.Producedifferentfrequenciesobtainthescalewerequirethe2useofsingle-chip,finallyfreetoplaywanttoe

5、xpress.thecorrectcorrespondingfrequencycanachievewhatwewantmusic.Onthisbasis,theelectronicorganbepronunciationkeyeffect.Keywords:AT89C52;musicbox;scale1引言單片機(jī)因其體積小,功能強(qiáng),價(jià)格低廉而得到廣泛應(yīng)用,同時(shí)隨著我國(guó)經(jīng)濟(jì)的飛速發(fā)展,單片機(jī)在越來(lái)越多的領(lǐng)域得到了廣泛的應(yīng)用,現(xiàn)在國(guó)內(nèi)的單片機(jī)多用于電話(huà),玩具和LCD等產(chǎn)品,預(yù)計(jì)在未來(lái),利用單片機(jī)發(fā)明的產(chǎn)品會(huì)越來(lái)越多,理解和掌握單片機(jī)的工作原理和使用技巧是必備的技能。我所設(shè)計(jì)該產(chǎn)品時(shí)根據(jù)自身的興趣和

6、愛(ài)好設(shè)計(jì)的,通過(guò)對(duì)傳統(tǒng)電子琴的認(rèn)識(shí)和了解,知道了傳統(tǒng)的電子琴是利用單片機(jī)匯編語(yǔ)言的編程來(lái)實(shí)現(xiàn)的,而且功能單一,只能彈奏而不能隨意的播放音樂(lè),我所設(shè)計(jì)的產(chǎn)品是基于對(duì)89C52單片機(jī)的深入理解,然后對(duì)傳統(tǒng)電子琴小小的改革和創(chuàng)新,并且以簡(jiǎn)單的C語(yǔ)言程序替代了復(fù)雜的匯編語(yǔ)言程序。我相信在電子琴的不斷革新達(dá)3到人們娛樂(lè)設(shè)備標(biāo)準(zhǔn)的時(shí)候,電子琴會(huì)被投入到批量生產(chǎn)之中。2方案總體設(shè)計(jì)本次設(shè)計(jì)的課題是基于51單片機(jī)的電子琴的設(shè)計(jì),指標(biāo)如下:1)利用蜂鳴器作為發(fā)聲部件。2)一個(gè)數(shù)碼管作為顯示部件。3)設(shè)置8個(gè)按鍵,實(shí)現(xiàn)高音、中音、低音的1、2、3、4、5、6、7、1的發(fā)音??傮w設(shè)計(jì)框架如圖2-1所示按鍵模塊顯示模

7、塊STC89C5復(fù)位電路時(shí)鐘電路發(fā)音單元圖2-1總體框架圖2.1方案對(duì)比方案一:采用單個(gè)的邏輯器件組合我們知道計(jì)數(shù)器8253可以產(chǎn)生任意頻率的方波頻率信號(hào),因此,我們只要把一首歌曲的音階對(duì)應(yīng)頻率與計(jì)數(shù)器的頻率對(duì)應(yīng)起來(lái)就可通過(guò)4計(jì)數(shù)器產(chǎn)生音樂(lè)了。根據(jù)本實(shí)驗(yàn)要求,采用8279將鍵掃描得到的鍵值通過(guò)查表得到相應(yīng)的8253的頻率值,將從8253得到相對(duì)應(yīng)的按鍵彈奏信號(hào)經(jīng)過(guò)LM386進(jìn)行放大,再用喇叭輸出,就實(shí)現(xiàn)了簡(jiǎn)易電子琴的基本功能,也就完成了實(shí)驗(yàn)的要求方案二:用VHDL語(yǔ)言編程來(lái)實(shí)現(xiàn)利用我們實(shí)驗(yàn)室先進(jìn)的數(shù)字電路實(shí)驗(yàn)設(shè)備,我們可以采用VHDL語(yǔ)言編程來(lái)實(shí)現(xiàn)。我們可以通過(guò)VDHL語(yǔ)言,對(duì)實(shí)驗(yàn)原理圖的各個(gè)

8、部分進(jìn)行設(shè)計(jì),通過(guò)編譯,可以在計(jì)算機(jī)上下載此實(shí)驗(yàn)原理圖,利用電路學(xué)習(xí)機(jī)上的芯片。我們很快就可以設(shè)計(jì)出一個(gè)簡(jiǎn)單的電子琴。并實(shí)現(xiàn)其功能1。方案三:采用STC89C52單片機(jī)采用STC89C52單片機(jī)作為主控芯片,設(shè)置鍵盤(pán)、蜂鳴器等外圍器件,另外還用到一些簡(jiǎn)單器件如:一位數(shù)碼管,和PNP型三極管等。利用按鍵實(shí)現(xiàn)音符和音調(diào)的輸入;一位的數(shù)碼管進(jìn)行被操作的按鍵顯示:用PNP型三極管實(shí)現(xiàn)低音頻功率放大;最后用蜂鳴器發(fā)音。5方案比較:方案一采用單個(gè)的邏輯器件組合實(shí)現(xiàn)。這樣雖然比較直觀,邏輯器件分工鮮明,思路也比清晰,一目了然,但是由于元器件種類(lèi)、個(gè)數(shù)繁多,而過(guò)于復(fù)雜的硬件電路也容易引起系統(tǒng)的精度不高、體積過(guò)

9、大等不利因素。方案二采用VHDL語(yǔ)言編程來(lái)實(shí)現(xiàn)電子琴的各項(xiàng)功能。系統(tǒng)主要由電子琴發(fā)聲模塊、選擇控制模塊和儲(chǔ)存器模塊組成。和方案一相比較,方案二就顯得比較籠統(tǒng),雖然我們可以看到用超高速硬件描述語(yǔ)言VHDL的優(yōu)勢(shì),但本質(zhì)上它只是把整個(gè)系統(tǒng)分為了若干個(gè)模塊,而不牽涉到具體的硬件電路。方案三與前兩種方案相比,主控芯片采用STC89C52單片機(jī),它是大規(guī)模集成電路技術(shù)發(fā)展的產(chǎn)物,具有高性能、高速度、體積小、價(jià)格低廉、穩(wěn)定可靠、應(yīng)用廣泛的特點(diǎn)。同時(shí)具有強(qiáng)大控制功能和靈活的編程實(shí)現(xiàn)特性,由于本設(shè)計(jì)主要用于人們娛樂(lè)方面,因此在設(shè)計(jì)上盡量使其安全以及簡(jiǎn)單易操作。而第三種方案具有經(jīng)濟(jì)可行性、技術(shù)可行性、實(shí)物應(yīng)用性

10、。所以我們選擇第三種方案2。2.2系統(tǒng)工作原理6由STC89C52的P1口8個(gè)按鍵控制DO,RE,MI,F(xiàn)A,SO,LA,XI,DO的各個(gè)音符,在由位于P0口的一位數(shù)碼管顯示出來(lái),同時(shí)位于P37口的蜂鳴器發(fā)出聲音。發(fā)音原理:其動(dòng)力和時(shí)鐘相同。發(fā)條輪上帶個(gè)較大的圓柱輪。這柱面上按需要做了些凸點(diǎn),對(duì)應(yīng)的地方有一組發(fā)音的簧片,圓柱輪轉(zhuǎn)動(dòng)時(shí)就會(huì)刮上這些簧片。每點(diǎn)一個(gè)音。圓柱輪轉(zhuǎn)動(dòng)基本是恒速的,節(jié)拍就靠點(diǎn)的距離。八音盒主要部分由滾筒和簧片兩部分組成。若要產(chǎn)生音頻脈沖,只要算出某一音頻的周期,再將周期除以2,即為半周期的時(shí)間。利用定時(shí)器記時(shí)半周期時(shí)間,每當(dāng)記時(shí)終止后就將P37反相,然后記時(shí)再反相。就可在P

11、37上得到此頻率的脈沖。利用STC89C52的內(nèi)部定時(shí)器使其工作計(jì)數(shù)器模式下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法產(chǎn)生不同音階。3硬件設(shè)計(jì)3.1STC89C52芯片STC89C52是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含具有如下特點(diǎn):40個(gè)引腳(引腳圖如圖3-1所示),4kBytesFlash片內(nèi)程序存7儲(chǔ)器,128bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),32個(gè)外部雙向輸入/輸出(I/O)口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,看門(mén)狗(WDTC)電路,片內(nèi)時(shí)鐘振蕩器3。此外,STC89C52設(shè)計(jì)和配置了振蕩頻率可為0HZ并可通過(guò)軟件

12、設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。單片機(jī)引腳圖如圖3-1所示:圖3-1單片機(jī)引腳圖本系統(tǒng)采用單片機(jī)STC89C52為電子琴的8控制核心,系統(tǒng)主要包括播放模塊、安鍵控制模塊。下面對(duì)各模塊的設(shè)計(jì)逐一進(jìn)行論證比較。3.2單片機(jī)復(fù)位部分1)復(fù)位功能:?jiǎn)纹瑱C(jī)復(fù)位電路就好比電腦的重啟部分,當(dāng)電腦在使用中出現(xiàn)死機(jī),按下重啟按鈕電腦內(nèi)部的程序從頭開(kāi)始執(zhí)行。單片機(jī)也一樣,當(dāng)單片機(jī)系統(tǒng)在運(yùn)行中,受

13、到環(huán)境干擾出現(xiàn)程序跑飛的時(shí)候,按下復(fù)位按鈕內(nèi)部的程序自動(dòng)從頭開(kāi)始4。2)復(fù)位原理:?jiǎn)纹瑱C(jī)復(fù)位時(shí)只要保持RST引腳接2us的高電平即可。在單片機(jī)啟動(dòng)0.1S后,電容C兩端的電壓持續(xù)充電為5V,這是時(shí)候10K電阻兩端的電壓接近于0V,RST處于低電平所以系統(tǒng)正常工作。當(dāng)按鍵按下的時(shí)候,開(kāi)關(guān)導(dǎo)通,這個(gè)時(shí)候電容兩端形成了一個(gè)回路,電容被短路,所以在按鍵按下的這個(gè)過(guò)程中,電容開(kāi)始釋放之前充的電量。隨著時(shí)間的推移,電容的電壓在0.1S內(nèi),從5V釋放到變?yōu)榱?.5V,甚至更小。根據(jù)串聯(lián)電路電壓為各處之和,這個(gè)時(shí)候10K電阻兩端的電壓為3.5V,甚至更大,所以RST引腳又接收到高電平。單片機(jī)系統(tǒng)自動(dòng)復(fù)位5。3

14、.3單片機(jī)晶振部分9外接晶振引腳XTAL1和TXAL2接外部晶振和微調(diào)電容的一端。振蕩電路的頻率就是晶體的固有頻率。晶振電路結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率。晶振提高頻率越高,單片機(jī)運(yùn)行速度越快。單片機(jī)一切指令的執(zhí)行都是建立在晶振提供的時(shí)鐘頻率上。晶振電路原理圖如圖3-2所示:圖3-2晶振電路原理圖3.4數(shù)碼管部分1)數(shù)碼管的分類(lèi):數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比七段數(shù)碼管多一個(gè)發(fā)光二極管單元(即多一個(gè)小數(shù)點(diǎn)顯示);按能顯示多少個(gè)“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽(yáng)極10數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將所有發(fā)光二極管的陽(yáng)極

15、接到一起形成公共陽(yáng)極(COM)的數(shù)碼管。共陽(yáng)數(shù)碼管在應(yīng)用時(shí)應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管。數(shù)碼管LED對(duì)應(yīng)字母圖如圖3-3所示:圖3-3數(shù)碼管LED燈對(duì)應(yīng)字母圖2)共陰極數(shù)碼管:陰極數(shù)碼管是把所有LED的陰極連接到共同接點(diǎn)COM,而每個(gè)LED的陽(yáng)極分別為a、b、c、d、e、f、g及dp(小數(shù)點(diǎn)),如下圖所示。圖中的8個(gè)LED分別和上面那個(gè)圖中的ADP各段相對(duì)應(yīng),通過(guò)控制各個(gè)LED的亮滅來(lái)顯示數(shù)字。當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電

16、平時(shí),相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。11數(shù)碼管引腳圖如圖3-4所示:圖3-4數(shù)碼管所接引腳圖3)數(shù)碼管顯示部分的實(shí)現(xiàn):數(shù)碼管通過(guò)PO口輸入高低電平控制每個(gè)LED燈的亮滅,公共端接地線(xiàn)P0口接1K的上拉電阻。數(shù)碼管電路如圖3-5所示:圖3-5數(shù)碼管電路以下為數(shù)碼管顯示字型對(duì)應(yīng)的字符碼表:12表3-1數(shù)碼管顯示數(shù)字的實(shí)現(xiàn)顯示字型012345678Dp,g,f,e,d,c,b,a101111111000011011011011110011111110011011101101111111011000011111111111字符碼0 xbf0 x860 xdb0 xcf0

17、xe60 xed0 xfd0 x870 xff3.5蜂鳴器部分有源蜂鳴器與無(wú)源蜂鳴器的區(qū)別:1)內(nèi)部區(qū)別:需要注意的是這里的“源”不是指電源,而是指震蕩源。也就是說(shuō),有源蜂鳴器內(nèi)部帶震蕩源,所以只要一通電就會(huì)發(fā)聲。而無(wú)源內(nèi)部不帶震蕩源,所以如果用直流信號(hào)無(wú)法令其發(fā)聲。有源蜂鳴器往往比無(wú)源的貴,就是因?yàn)槔锩娑鄠€(gè)震蕩電路6。2)外觀區(qū)別:兩者的高度略有區(qū)別,有源蜂鳴器,高度為9mm,而無(wú)源蜂鳴器的高度為8mm。如將兩種蜂鳴器的引腳都朝上放置時(shí),可13以看出有綠色電路板的一種是無(wú)源蜂鳴器,沒(méi)有電路板而用黑膠封閉的一種是有源蜂鳴器7。3)辨別方式:除了從外觀上來(lái)看,進(jìn)一步判斷有源蜂鳴器和無(wú)源蜂鳴器,還

18、可以用萬(wàn)用表電阻檔Rxl檔測(cè)試:用黑表筆接蜂鳴器-引腳,紅表筆在另一引腳上來(lái)回碰觸,如果觸發(fā)出咔、咔聲的且電阻只有8(或16)的是無(wú)源蜂鳴器;如果能發(fā)出持續(xù)聲音的,且電阻在幾百歐以上的,是有源蜂鳴器8。有源蜂鳴器直接接上額定電源(新的蜂鳴器在標(biāo)簽上都有注明)就可連續(xù)發(fā)聲;而無(wú)源蜂鳴器則和電磁揚(yáng)聲器一樣,需要接在音頻輸出電路中才能發(fā)聲。最終我選擇無(wú)源蜂鳴器。無(wú)源蜂鳴器的優(yōu)點(diǎn)是:1)便宜。2)聲音頻率可控,可以做出“多來(lái)米發(fā)索拉西”的效果。3)在一些特例中,可以和LED復(fù)用一個(gè)控制口有源蜂鳴器的優(yōu)點(diǎn)是程序控制方便。3.6按鍵部分1)操作鍵設(shè)計(jì):常用的按鍵有三種:機(jī)械14觸點(diǎn)式按鍵、導(dǎo)電橡膠式和柔性

19、按鍵(又稱(chēng)觸摸式鍵盤(pán))。機(jī)械觸點(diǎn)式按鍵是利用機(jī)械彈性使鍵復(fù)位,手感明顯,連線(xiàn)清晰,工藝簡(jiǎn)單,適合單件制造。但是觸點(diǎn)處易侵入灰塵而導(dǎo)致接觸不良,體積相對(duì)較大。導(dǎo)電橡膠按鍵是利用橡膠的彈性來(lái)復(fù)位,通過(guò)壓制的方法把面板上所有的按鍵制成一塊,體積小,裝配方便,適合批量生產(chǎn)。但是時(shí)間長(zhǎng)了,橡膠老化而使彈力下降,同時(shí)易侵入灰塵9。柔性按鍵是近年來(lái)迅速發(fā)展的一種新型按鍵,可以分為凸球型和平面型兩種。柔性按鍵最大特點(diǎn)是防塵、防潮、耐蝕,外形美觀,裝嵌方便。而且外形和面板的布局、色彩、鍵距可按照整機(jī)的要求來(lái)設(shè)計(jì)10。但是由于客觀條件與經(jīng)濟(jì)能力有限,本系統(tǒng)采用機(jī)械觸點(diǎn)式按鍵。152)鍵盤(pán)設(shè)計(jì):鍵盤(pán)在單片機(jī)應(yīng)用系統(tǒng)

20、中是一個(gè)關(guān)鍵的部件,它能實(shí)現(xiàn)向計(jì)算機(jī)輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)計(jì)算機(jī)的主要手段。鍵盤(pán)可以分為2類(lèi):獨(dú)立連接式鍵盤(pán)和矩陣式鍵盤(pán)。矩陣式鍵盤(pán)單片機(jī)系統(tǒng)中,若按鍵較多時(shí),通常采用矩陣式(也稱(chēng)行列式)鍵盤(pán)。矩陣式鍵盤(pán)由行線(xiàn)和列線(xiàn)組成,按鍵位于行、列線(xiàn)的交叉點(diǎn)上。顯然,在按鍵數(shù)量較多時(shí),矩陣式鍵盤(pán)較之獨(dú)立式按鍵鍵盤(pán)要節(jié)省很多I/O口。矩陣式鍵盤(pán)中,行、列線(xiàn)分別連接到按鍵開(kāi)關(guān)的兩端,行線(xiàn)通過(guò)上拉電阻接到+5V上當(dāng)無(wú)鍵按下時(shí),行線(xiàn)處于高電平狀態(tài);當(dāng)有鍵按下時(shí),行、列線(xiàn)將導(dǎo)通,此時(shí),行線(xiàn)電平將由與此行線(xiàn)相連的列線(xiàn)電平?jīng)Q定。這是識(shí)別按鍵是否按下的關(guān)鍵。16獨(dú)立連接式鍵盤(pán)獨(dú)立式按鍵是直接用I/O口線(xiàn)構(gòu)成

21、的單個(gè)按鍵電路,其特點(diǎn)是每個(gè)按鍵單獨(dú)占用一根I/O口線(xiàn),每個(gè)按鍵的工作不會(huì)影響其它I/O口線(xiàn)的狀態(tài)。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O口線(xiàn),然而,在按鍵較多時(shí),I/O口線(xiàn)浪費(fèi)較大,不宜采用。按鍵電路圖如圖3-6所示:圖3-6按鍵電路圖3)去抖動(dòng)鍵盤(pán)編程中主要考慮去抖動(dòng)的問(wèn)題。當(dāng)測(cè)試17表明有鍵被按下之后,緊接著就進(jìn)行去抖動(dòng)處理。因?yàn)殒I是機(jī)械開(kāi)關(guān)結(jié)構(gòu),由于機(jī)械觸點(diǎn)的彈性及電壓突跳等原因,在觸點(diǎn)閉合或斷開(kāi)的瞬間會(huì)出現(xiàn)電壓抖動(dòng)。為保證鍵識(shí)別的準(zhǔn)確,在電壓信號(hào)抖動(dòng)的情況下不能進(jìn)行行狀態(tài)輸入。硬件方法就是加去抖動(dòng)電路,從根本上避免抖動(dòng)的產(chǎn)生。軟件消抖,在第一次檢測(cè)到有鍵按

22、下時(shí),執(zhí)行一段延時(shí)程序之后,再檢測(cè)此按鍵,如果第二次檢測(cè)結(jié)果仍為按下?tīng)顟B(tài),CPU便確認(rèn)此按鍵己按下,消除了抖動(dòng)。4軟件設(shè)計(jì)4.1系統(tǒng)流程在繪制傳統(tǒng)流程圖時(shí)注意幾點(diǎn):1)熟練繪制傳統(tǒng)流程圖的基本元素,三種基本結(jié)構(gòu)的流程圖標(biāo)準(zhǔn)畫(huà)法。2)將復(fù)合條件轉(zhuǎn)為多個(gè)單一條件。3)循環(huán)注意初值、變化和終止。4)算法的重點(diǎn)實(shí)現(xiàn)一定體現(xiàn)出來(lái)。18程序流程如圖4-1所示:開(kāi)定義NuKN=P0=tab蜂鳴器結(jié)Numnum+圖4-1流程圖4.2延時(shí)源代碼voidDelayMS(uintx)uchart;while(x-)for(t=0;t120;t+);194.3發(fā)音源代碼voidPlay(uchary)uchari;f

23、or(i=0;i100;i+)BEEP=BEEP;/對(duì)蜂鳴器電平求反DelayMS(y);BEEP=1;/給蜂鳴器一個(gè)高電平4.4單個(gè)按鍵源代碼:if(K1=0)DelayMS(10);/按鍵去抖動(dòng)if(K1=0)num=1;P0=tablenum;Play(1);while(!K1);205系統(tǒng)仿真與調(diào)試5.1仿真軟件簡(jiǎn)介Proteus是由LabcenterElectronics開(kāi)發(fā)的功能強(qiáng)大的單片機(jī)仿真軟件,現(xiàn)在最新版本6.9SP5。Proteus與其他的仿真軟件相比較,在下面的優(yōu)點(diǎn):1)能仿真模擬電路、數(shù)字電路、數(shù)?;旌想娐?;2)能繪制原理圖、PCB圖;3)幾乎包括實(shí)際中所有使用的儀器;

24、4)其最大的亮點(diǎn)在于能夠?qū)纹瑱C(jī)進(jìn)行實(shí)物級(jí)的仿真。從程序的編寫(xiě),編譯到調(diào)試,目標(biāo)版的仿真一應(yīng)俱全。支持匯編語(yǔ)言和C語(yǔ)言的編程。還可配合KeilC實(shí)現(xiàn)程序的聯(lián)合調(diào)試,將Proteus中繪制的原理圖作為實(shí)際中的目標(biāo)板,而用KeilC集成環(huán)境實(shí)現(xiàn)對(duì)目標(biāo)板的控制,21與實(shí)際中通過(guò)硬件仿真器對(duì)目標(biāo)板的調(diào)試幾乎完全相同,并且支持多顯示器的調(diào)試,即Proteus運(yùn)行在一臺(tái)計(jì)算機(jī)上,而KeilC運(yùn)行在另一臺(tái)計(jì)算機(jī)上,通過(guò)網(wǎng)絡(luò)連接實(shí)現(xiàn)遠(yuǎn)程的調(diào)試。5.2硬件調(diào)試硬件調(diào)試是針對(duì)單片機(jī)部分進(jìn)行的調(diào)試。在上電之前,先確保電路中不存在斷路或短路情況,這一工作是整個(gè)調(diào)試工作的第一步,也是非常重要的一個(gè)步驟。在這部分調(diào)試中主

25、要使用的工具是萬(wàn)用表,用來(lái)完成檢測(cè)電路中是否存在斷路或者短路情況的任務(wù)。注意焊點(diǎn)之間,確保焊點(diǎn)沒(méi)有短接在一起,同時(shí)注意焊點(diǎn)的美觀,確保沒(méi)有開(kāi)路以及短路的現(xiàn)象出現(xiàn)。在確保硬件電路正常且無(wú)異常情況(短路或斷路)的情況下方可上電調(diào)試,上電調(diào)試的口的是檢測(cè)單片機(jī)控制部分、數(shù)碼管點(diǎn)亮部分、和音頻轉(zhuǎn)換電路硬件調(diào)試。1)數(shù)碼管LED電路調(diào)試:接通電源,隨機(jī)按下按鈕可以看到數(shù)碼福安顯示數(shù)字。2)鍵盤(pán)單片機(jī)控制部分調(diào)試:上電后,隨機(jī)按動(dòng)鍵盤(pán)可以發(fā)現(xiàn)各個(gè)按鍵對(duì)應(yīng)的音正確。5.3軟件調(diào)試22調(diào)試主要方法和技巧:通常一個(gè)調(diào)試程序應(yīng)該具有至少四種性能:跟蹤、斷點(diǎn)、查看變量、更改數(shù)值。整個(gè)程序是一個(gè)主程序調(diào)用各個(gè)子程序?qū)?/p>

26、現(xiàn)功能的過(guò)程,要使主程序和整個(gè)程序都能平穩(wěn)運(yùn)行,各個(gè)模塊的子程序的正確與平穩(wěn)運(yùn)行必不可少,所以在軟件調(diào)試的最初階段就是把各個(gè)子程序進(jìn)行分別調(diào)試。Keil軟件中生成程序的HEX軟件圖如圖5-1所示:圖5-1生成相應(yīng)程序的HEX軟件keil程序下載到仿真圖如圖5-2所示:23圖5-2將keil程序下到仿真中仿真電路圖圖5-3所示:24圖5-3仿真圖另附實(shí)物圖如圖5-4所示:圖5-4實(shí)物255.4使用說(shuō)明1)單片機(jī)分別接VCC和GND使單片機(jī)處于供電狀態(tài)。2)接上TXD和RXD將程序?qū)雴纹瑱C(jī)中。3)按下六角開(kāi)關(guān),可到指示燈亮后,即可通過(guò)按鍵控制發(fā)音了,數(shù)碼管會(huì)隨按鍵變化顯示出相應(yīng)的數(shù)字。6設(shè)計(jì)總結(jié)

27、總體來(lái)說(shuō),此次單片機(jī)課程設(shè)計(jì)使我收獲良多,雖然課程設(shè)計(jì)的過(guò)程中遇到了很多困難與問(wèn)題,但我最終還是完成了設(shè)計(jì)的任務(wù)及要求。具體來(lái)說(shuō)可以分為以下幾點(diǎn):第一,不夠細(xì)心,不夠嚴(yán)謹(jǐn)(如因?yàn)榇中拇笠舛稿e(cuò)線(xiàn));第二,因?qū)φn本理論的掌握度不夠?qū)е戮幊坛霈F(xiàn)錯(cuò)誤;第三,硬件方面,剛開(kāi)始有的程序模塊不能實(shí)現(xiàn)預(yù)期的效果,對(duì)于有的硬件,在實(shí)物制作過(guò)程中焊了比較多的排線(xiàn),同時(shí)對(duì)于整體各元器件的布局都有很高的要求。不過(guò)在向同學(xué)請(qǐng)教,各方面都有了不同程度的改善;26第四,在做人方面,我認(rèn)識(shí)到,無(wú)論做什么事情,只要你足夠堅(jiān)強(qiáng),有足夠的毅力和決心,有足夠的挑戰(zhàn)困難的勇氣,就沒(méi)有什么辦不到的。這次課程設(shè)計(jì)中,經(jīng)過(guò)我的努力,在仿真

28、軟件和實(shí)物上都實(shí)現(xiàn)了7個(gè)音符的發(fā)聲,使我有了一定的成就感,也使我進(jìn)一步熟悉和掌握了單片機(jī)的內(nèi)部結(jié)構(gòu)和工作原理,了解了單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)的基本方法和步驟,掌握了單片機(jī)仿真軟件Proteus的使用方法和鍵盤(pán)、顯示器在的單片機(jī)控制系統(tǒng)中的應(yīng)用,同時(shí)也掌握了撰寫(xiě)課程設(shè)計(jì)報(bào)告的方法??傊?,通過(guò)這次課程設(shè)計(jì),我都清楚明白了自己的能力有多深,想提高還得歸于多鍛煉,多動(dòng)手,多向別人學(xué)習(xí)。尤其在做各種東西時(shí)應(yīng)該要特別的仔細(xì)小心,比如我在進(jìn)行電路焊接時(shí)就將數(shù)碼管搞錯(cuò)了,本應(yīng)使用的共陰數(shù)碼管被拿成了共陽(yáng)數(shù)碼管,然后發(fā)光二極管的極性焊反了,焊接的鐵絲沒(méi)有完全焊牢等問(wèn)題,給自己和老師造成了許多不必要的麻煩,大大的浪費(fèi)掉

29、了寶貴的時(shí)間,這都是不應(yīng)該出現(xiàn)的。而對(duì)于一些軟件來(lái)說(shuō),就必須了解軟件各個(gè)方面的性質(zhì),不然,在一些小問(wèn)27題中也有可能造成不必要的錯(cuò)誤。另外,自己在理解老師所說(shuō)的很多東西方面還不是很成熟,經(jīng)常會(huì)反復(fù)去問(wèn)老師一些同樣的問(wèn)題,其原因都是自己不仔細(xì)去揣摩老師所說(shuō)的話(huà)的意思,導(dǎo)致自己無(wú)法按老師所要求的方面去做,而要反復(fù)去問(wèn)老師反復(fù)強(qiáng)調(diào)的問(wèn)題。終上所述,這都是應(yīng)該值得去注意和深思的,在做任何意見(jiàn)事情時(shí),都要用百分百的態(tài)度去完成它,不能粗心大意了,不然有可能會(huì)浪費(fèi)無(wú)比多的時(shí)間在一些不該出現(xiàn)的小問(wèn)題上,比如虛焊。從這次課程設(shè)計(jì)中不僅學(xué)到了很多做事的方法也學(xué)到了許多對(duì)人生應(yīng)有的態(tài)度。受益匪淺。28參考文獻(xiàn)1彭偉

30、.單片機(jī)C語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn)100例:基于8051+Proteus仿真M,出版時(shí)間:2009(6):28-30.2康華光.電子技術(shù)基礎(chǔ)(模擬部分)M,高等教育出版社,2006(1):60-80.3求是科技.單片機(jī)典型模塊設(shè)計(jì)實(shí)例導(dǎo)航M.人民郵電出版社,2004(5):102-122.4AdelSSedra,kennethCSmith.MicroelectronicCircuits(6thed)M.2010(3):96-101.5UTietze,Chschenk.ElectronicCircuits-DesignandApplicationM.2004(8):89102.6Intel.Mcs-51

31、FamilyofsingleChipMicrocomputersUsersManualM.1990(4):58162.7張齊,顯示技術(shù)及單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)M.北京:電子工業(yè)出版社,2004(2):284-285.8郭振民,丁紅.電子設(shè)計(jì)自動(dòng)化EDAM.上海:中國(guó)水利水電出版社,2009(6):58-62.9閻煥忠,王長(zhǎng)濤,馬斌.單片機(jī)控制里程轉(zhuǎn)速表的設(shè)計(jì)J.2002(3):145-148.10肖金球,單片機(jī)原理與接口技術(shù)M.北京:清華大學(xué)出版社,2004(6):1-323.29致謝本次設(shè)計(jì)得到吳老師的熱心指導(dǎo),在這里對(duì)吳老師表示最衷心的感謝。在畢業(yè)設(shè)計(jì)的前期,首先給我介紹了不少有用的資料和書(shū)籍

32、;在硬件設(shè)計(jì)等方面給予悉心的指導(dǎo);在調(diào)試的過(guò)程中吳老師給每個(gè)出現(xiàn)的問(wèn)題給予及時(shí)的指導(dǎo)。在寫(xiě)畢業(yè)設(shè)計(jì)論文的階段,不論是內(nèi)容字體,還是格式上的問(wèn)題都一一指出。待人平和、工作認(rèn)真、治學(xué)嚴(yán)謹(jǐn)他的給我留下很深刻的印象。更重要的是,他善于與學(xué)生溝通,不僅在畢業(yè)設(shè)計(jì)上給我及時(shí)的指導(dǎo),更為我大學(xué)最后階段的學(xué)習(xí)提出了許多寶貴的意見(jiàn)。這一切都在潛移默化地影響著我,為我以后進(jìn)入工作崗位樹(shù)立了良好的榜樣。除了老師之外,很多同學(xué)也給予了我許多幫助,在這里一并表示感謝!30附錄3132附錄33附錄#include/調(diào)用單片機(jī)頭文件#defineucharunsignedchar/無(wú)符號(hào)字符型34宏定義變量范圍0255#d

33、efineuintunsignedint/無(wú)符號(hào)整型宏定義變量范圍065535sbitbeep=P25;/蜂鳴器定義sbitK1=P10;/給P10定義,控制DO的發(fā)音sbitK2=P11;/給P11定義,控制XI的發(fā)音sbitK3=P12;/給P12定義,控制LA的發(fā)音sbitK4=P13;/給P13定義,控制SO的發(fā)音sbitK5=P34;/給P34定義,控制FA的發(fā)音sbitK6=P35;/給P35定義,控制MI的發(fā)音sbitK7=P36;/給P36定義,控制RE的發(fā)音sbitK8=P37;/給P37定義,控制DO的發(fā)音sbitK9=P20;/音樂(lè)播放按鍵ucharflag_en=0;/

34、開(kāi)始放歌ucharflag_i=0;/數(shù)碼管段選定義0123456789ucharcodesmg_du=0 xde,0 x90,0 xcd,0 xd9,0 x93,0 x5b,0 x5f,0 xd0,0 xdf,0 xdb/ABCDEF不顯示35;/斷碼ucharm,n;ucharcodeT492=0,0,0 xF8,0 x8B,0 xF8,0 xF2,0 xF9,0 x5B,0 xF9,0 xB7,0 xFA,0 x14,0 xFA,0 x66,0 xFA,0 xB9,0 xFB,0 x03,0 xFB,0 x4A,0 xFB,0 x8F,0 xFB,0 xCF,0 xFC,0 x0B,0

35、xFC,0 x43,0 xFC,0 x78,0 xFC,0 xAB,0 xFC,0 xDB,0 xFD,0 x08,0 xFD,0 x33,0 xFD,0 x5B,0 xFD,0 x81,0 xFD,0 xA5,0 xFD,0 xC7,0 xFD,0 xE7,0 xFE,0 x05,0 xFE,0 x21,0 xFE,0 x3C,0 xFE,0 x55,0 xFE,0 x6D,0 xFE,0 x84,0 xFE,0 x99,0 xFE,0 xAD,0 xFE,0 xC0,0 xFE,0 x02,0 xFE,0 xE3,0 xFE,0 xF3,0 xFF,0 x02,0 xFF,0 x10,0

36、xFF,0 x1D,0 xFF,0 x2A,0 xFF,0 x36,0 xFF,0 x42,0 xFF,0 x4C,0 xFF,0 x56,0 xFF,0 x60,0 xFF,0 x69,0 xFF,0 x71,0 xFF,0 x79,0 xFF,0 x81;ucharcodemusic12=0,4,/青花瓷0,4,24,4,24,4,21,4,19,4,21,4,14,8,19,364,21,4,24,4,21,4,19,16,0,4,24,4,24,4,21,4,19,4,21,4,12,8,19,4,21,4,24,4,19,4,17,16,0,4,17,4,19,4,21,4,24,4

37、,26,4,24,4,22,4,24,4,21,4,21,4,19,4,19,16,0,4,17,4,19,4,17,4,17,4,19,4,17,4,19,4,19,4,21,8,24,4,21,4,21,12,0,4,24,4,24,4,21,4,19,4,21,4,14,8,19,4,21,4,24,4,21,4,19,16,0,4,24,4,24,4,21,4,19,4,21,4,12,8,19,4,21,4,24,4,19,4,17,16,0,4,17,4,19,4,21,4,24,4,26,4,24,4,22,4,24,4,21,4,21,4,19,4,19,12,12,4,21,

38、8,19,4,19,8,17,16,0 xFF,0 xFF;ucharcodemusic22=0,4,/生日快樂(lè)17,6,17,2,19,8,17,8,22,8,21,16,17,6,17,2,19,8,17,8,24,8,22,16,17,6,17,2,29,8,26,8,22,8,21,8,19,8,27,6,27,2,26,8,22,8,24,8,22,16,0 xFF,0 xFF;ucharcodemusic32=0,4,/愛(ài)情買(mǎi)賣(mài)3722,4,22,4,17,4,15,4,15,4,17,12,15,4,15,2,17,2,15,4,13,4,13,4,15,12,0,4,20,4,

39、20,4,20,4,17,4,20,4,20,4,20,4,17,4,22,4,17,4,17,4,15,4,15,4,17,12,22,4,22,4,17,4,15,4,15,4,17,12,15,4,15,2,17,2,15,4,13,4,13,4,15,12,20,4,20,4,20,2,17,2,17,4,20,4,20,4,20,2,17,2,17,2,17,2,24,4,20,4,20,2,17,2,17,4,20,4,22,12,17,4,22,4,25,4,25,4,17,4,22,4,25,8,24,4,22,2,24,2,22,4,20,4,15,4,17,12,15,4,15,4,15,4,10,4,15,4,17,4,20,8,17,4,24,4,24,4,20,4,15,4,17,12,17,4,22,4,25,4,25,4,17,4,22,4,25,8,29,4,27,2,29,2,27,4,25,4,2

溫馨提示

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

評(píng)論

0/150

提交評(píng)論