freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

本科畢業(yè)設(shè)計(jì)(基于單片機(jī)的音樂盒的設(shè)計(jì))-在線瀏覽

2024-08-08 09:57本頁面
  

【正文】 按鍵模塊時(shí)在調(diào)用其他的功能模塊),每當(dāng)按下一次按鍵,利用掃描按鍵的功能計(jì)算出鍵盤的鍵值,并將鍵值存儲(chǔ)起來,跳轉(zhuǎn)到相應(yīng)的標(biāo)號(hào)執(zhí)行程序,并將鍵值調(diào)用液晶顯示器子程序顯示在制定的位置上,在檢測(cè)到復(fù)位鍵按下時(shí),就會(huì)恢復(fù)帶開機(jī)畫面。第3章 系統(tǒng)硬件設(shè)計(jì) 單片機(jī)最小系統(tǒng) AT89C52單片機(jī)介紹單片機(jī)事實(shí)上是一種集成的電路芯片(實(shí)際上就是一塊硅片),也被稱為微型計(jì)算機(jī)系統(tǒng),它的主要技術(shù)是超大規(guī)模集成電路技術(shù),主要的組成部分有中央處理器CPU(具有數(shù)據(jù)處理能力)、隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)和定時(shí)器/計(jì)數(shù)器等(其他的還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路模塊),這種集成電路不僅體積小,而且功能完善,所以在工業(yè)控制領(lǐng)域得到廣泛應(yīng)用[10]。本次設(shè)計(jì)中用的是AT89C52 單片機(jī),AT89C52的主要功能是控制會(huì)聚調(diào)整時(shí)的功能,它用的內(nèi)核是工業(yè)上標(biāo)準(zhǔn)的C51內(nèi)核,是一種8位的通用微處理器,所以它的內(nèi)部功能和管腳排布和正常使用的8xc52 沒什么差別[11]。AT89C52單片機(jī)中的XTAL1(19 腳)在振蕩器中是被當(dāng)做輸入腳,而XTAL2(18 腳)在振蕩器中是當(dāng)做輸出腳,另外它的外借晶振可以接到12MHz。單片機(jī)的工作需要電源供電,而在52單片機(jī)中的供電端口有VCC(40腳)接+5V電源的正極,VSS(20腳)接電源的負(fù)極,運(yùn)行單片機(jī)需要軟件編程來實(shí)現(xiàn),依靠軟件來定義單片機(jī)的功能用途,可以通過P0P3口的通用I/O腳來實(shí)現(xiàn)軟件程序的導(dǎo)入,此次設(shè)計(jì)過程中,我們把P0 端的3239 腳分別和N1的對(duì)應(yīng)的功能管腳相連,如此就可以將N1 功能控制端口用P0端的3239腳來定義,其他的連接在N1的SDAS(18腳)與SCLS(19腳)端口上的10腳與11腳,就可以將這兩個(gè)引腳定義成I2C總線上的控制端口,另外一些相應(yīng)的功能端是連接主板CPU上的,主要功能是把目前制式的檢測(cè)和匯聚進(jìn)行狀態(tài)調(diào)整,并進(jìn)入控制功能,而這些連接到主板CPU的引腳就定義為握手信號(hào)功能端口,而52單片機(jī)中的12腳,27腳以及28腳都可以實(shí)現(xiàn)此功能[13]。而隨著Microchip公司的PIC精簡(jiǎn)指令集合(RISC)發(fā)展勢(shì)頭強(qiáng)勁,中國臺(tái)灣的HOLTEX公司單片機(jī)的產(chǎn)量也日漸增加,而且其質(zhì)量高,價(jià)格廉,所以占據(jù)一定的市場(chǎng)份額。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ)、相輔相成、共同發(fā)展的道路。芯片向高度集成化、低功耗方向的發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級(jí)通信系統(tǒng)、數(shù)字信號(hào)處理、復(fù)雜工業(yè)過程控制、高級(jí)機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用[8]。此次設(shè)計(jì)之所以選用52單片機(jī)是因?yàn)锳T89C52比AT89C51多個(gè)定時(shí)器,而RAM 大小也不一樣,51的大小只有128,52的卻有256。而在外接晶振上C52可以擁有最高能達(dá)到33MHz,而C51的極限也只能達(dá)到24MHz。我們考慮52單片機(jī)中的結(jié)構(gòu),可以看出最小系統(tǒng)正常是由單片機(jī)芯片、晶振電路、復(fù)位電路構(gòu)成的。圖31 單片機(jī)最小系統(tǒng) 復(fù)位電路介紹復(fù)位電路是由電容串聯(lián)電阻構(gòu)成的。圖32 復(fù)位電路原理圖電源通電后,就會(huì)在RST引腳上顯示出高電平,而高電平的可持續(xù)時(shí)間是由電路的RC值來決定的。本次設(shè)計(jì)中C取用的是22uf,R取10K。在復(fù)位電路中復(fù)位信號(hào)是在系統(tǒng)供電時(shí)就會(huì)提供,而想要撤消復(fù)位信號(hào),只需等到系統(tǒng)中的電源穩(wěn)定了即可。復(fù)位電路復(fù)位的過程中有兩種,一種是通電自動(dòng)復(fù)位,另一種是按鍵手動(dòng)復(fù)位,根據(jù)電路原理圖可知,復(fù)位電路的復(fù)位信號(hào)的輸入端是RST引腳,而且復(fù)位必須在高電平的情況下才有效。 52單片機(jī)中的引腳XTAL1和的引腳XTAL2都是在片內(nèi)一個(gè)反相放大器(高增益)中的,它的作用是用來組成穩(wěn)定的自激振蕩器,組成自激振蕩器的電路是由有石英晶體的振蕩器和微調(diào)電容進(jìn)行外接,而能直接進(jìn)入系統(tǒng)內(nèi)部時(shí)鐘電路的信號(hào)就是這個(gè)振蕩器發(fā)出的脈沖信號(hào)?!?2MHz,一般情況下,選用振蕩頻率為12MHz的石英晶體。單片機(jī)工作狀態(tài)下要想從先取指令,再進(jìn)行譯碼,最后再微操做的過程能有序的進(jìn)行,就必須通過時(shí)鐘信號(hào)來控制,由此可知單片機(jī)在工作狀態(tài)下提供基本時(shí)鐘的電路就是時(shí)鐘電路。晶振電路就是在單片機(jī)內(nèi)組成一個(gè)自激振蕩器,而這個(gè)穩(wěn)定的自激振蕩器是將一個(gè)晶振和兩個(gè)穩(wěn)頻電容外接到單片機(jī)的XALT1與XLAT2兩個(gè)引腳上構(gòu)成的。晶振電路原理圖如圖33所示。1602的控制信號(hào)RS、RW、。顯示電路原理圖如圖34所示。而現(xiàn)今使用的鍵盤在功能應(yīng)用方面主要有兩種基本類型,一種是編碼鍵盤,另一種是非編碼鍵盤,編碼鍵盤的鍵盤本身就有一個(gè)硬件電路,而這些硬件電路就能夠?qū)崿F(xiàn)接口處在按鍵被自動(dòng)檢測(cè)到時(shí),實(shí)現(xiàn)一些比如去抖動(dòng)和防串鍵等功能,而且這些與按鍵功能相對(duì)應(yīng)的鍵碼也會(huì)被送往CPU中。而非編碼鍵盤雖然僅提供簡(jiǎn)單的行列矩陣式的按鍵開關(guān),但在實(shí)現(xiàn)功能過程中可以通過軟件編程來實(shí)現(xiàn)識(shí)別按鍵,確定與輸入鍵碼,以及去抖動(dòng)等一些功能。無論選什么按鍵,在鍵盤的接口處的四個(gè)基本功能是必不可少的,分別是:去抖動(dòng),防串鍵識(shí)別按鍵以及生成鍵碼。輸出端是由行線連接到單片機(jī)的I/O口上,而輸入端是由列線連接到I/O口上。我們判斷按鍵是否被按下,可以根據(jù)讀取當(dāng)前輸入線的狀態(tài),因?yàn)楫?dāng)按鍵按下時(shí),表示有低電平從行線輸出來,而且會(huì)把輸入線電平拉低,而這個(gè)狀態(tài)就能判斷按鍵按下了沒。鍵盤電路原理圖如圖35所示。 獲取y的方法與獲取x的方法相似,具體的操作可以參考附錄的相關(guān)總程序。 聲音電路本次設(shè)計(jì)使用的發(fā)聲元件是揚(yáng)聲器,圖36是的揚(yáng)聲器原理圖。實(shí)現(xiàn)功能時(shí),直接從AT89C52中獲取的高電平控制信號(hào),然后再通過這個(gè)三極管把這個(gè)控制信號(hào)放大,再驅(qū)動(dòng)揚(yáng)聲器放出聲音。在單片機(jī)中的P2口就是實(shí)現(xiàn)音樂的播放功能的接口。第4章 軟件設(shè)計(jì)一個(gè)系統(tǒng)想要正常運(yùn)行不僅僅依靠硬件系統(tǒng)的支持,而且要依靠軟件系統(tǒng)的支持。在設(shè)計(jì)中依靠軟件的可編程性,能精簡(jiǎn)硬件系統(tǒng)的組成,同時(shí)依靠著軟件編程的靈活性,可以省略通過對(duì)硬件系統(tǒng)進(jìn)行修改而實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)功能的修改。軟件設(shè)計(jì)的重要特性是具有一定的針對(duì)性,針對(duì)硬件系統(tǒng)的不同,就要編寫不同的軟件程序。 Proteus仿真軟件與Keil編譯介紹軟件的編程需要依靠?jī)?yōu)良的平臺(tái),此次設(shè)計(jì)用的EDA操作系統(tǒng)就是一款由英國LCE公司所刊行的,而此操作系統(tǒng)中的Proteus操作平臺(tái)就是一個(gè)優(yōu)良的軟件。目前在國內(nèi)Proteus軟件推廣剛起步,就已經(jīng)受到單片機(jī)愛好者、從事單片機(jī)教學(xué)的教師、致力于研究單片機(jī)開發(fā)應(yīng)用的科技工作者的青睞[18]。這款系統(tǒng)的處理器模型功能強(qiáng)大,它支持805HC11和PIC系列中的111230以及DsPIC33,另外還支持AVR、ARM、8086以及MSP430等,后來還支持Cortex與DSP等處理器,不僅如此,該設(shè)計(jì)平臺(tái)還在不斷增加其他的處理器模型[16]。在軟件編程的過程中,我們用匯編軟件把源程序該成機(jī)器碼,這樣CPU才能對(duì)其執(zhí)行命令,過去在MCS51單片機(jī)上進(jìn)行匯編,所使用的軟件是A51,而現(xiàn)在單片機(jī)發(fā)展迅速,開發(fā)所用的語言大多是高級(jí)語言,現(xiàn)如今大多研究人員在單片機(jī)上用的是最流行的Keil軟件,所用最近一段時(shí)間的廠商在制作仿真機(jī)的過程中都表示會(huì)對(duì)Keil軟件給予全面的支持。Keil軟件具有完整性,擁有完整的開發(fā)方案,我們可以將一些功能和方案集中到一個(gè)集成開發(fā)環(huán)境(Vision)中,其中的功能方案有C編譯器,有宏匯編,有連接器與庫管理,還有一個(gè)功能強(qiáng)大的仿真調(diào)試器。不管你用的開發(fā)語言是C語言還是匯編語言,它集成環(huán)境方便,軟件仿真調(diào)試效率高,能使你的工作也會(huì)事半功倍。 音調(diào)與節(jié)拍 發(fā)聲原理物理學(xué)中聲波的頻譜范圍一般在幾十赫茲到幾千赫茲。音調(diào)和音符就是音樂能順利播放的必要元素。純音達(dá)到一定的強(qiáng)度時(shí),頻率的升降也直接會(huì)決定音調(diào)的升降;而純音的頻率中,低頻純音的音調(diào)會(huì)隨著聲音強(qiáng)度的增高而有所下降,相對(duì)的高頻純音的音調(diào)卻會(huì)隨著聲音強(qiáng)度的增高而上升[17]。現(xiàn)在來了解節(jié)拍,設(shè)計(jì)軟件時(shí)想要控制音符的節(jié)拍,只需用定時(shí)器T0就可以了,而不同定時(shí)時(shí)間的產(chǎn)生只要有不同的初值輸入就行了。在播放音樂時(shí)產(chǎn)生的音符和控制節(jié)奏,都是通過查表的程序依次讀取的,而這個(gè)表是由曲譜中全部的常數(shù)構(gòu)成的,一組常數(shù)又是由一個(gè)音符中時(shí)間常數(shù)與相對(duì)應(yīng)的節(jié)拍常數(shù)組成,這樣就可以實(shí)現(xiàn)發(fā)聲效果。單片機(jī)播放出的音樂沒有電子琴可以演奏不同音調(diào)聲音的功能,因?yàn)榉懦龅囊魳坊臼菃我纛l率,沒有一定幅度的諧波頻率,這樣,對(duì)單片機(jī)放音只要知道音調(diào)和節(jié)拍的知識(shí)就可以了。表41:音符頻率對(duì)照表 音調(diào)的確定 唱歌時(shí)會(huì)正常有DO、RE、MI、FA、SO、LA、SI這7個(gè)音調(diào),音調(diào)名就是大寫的英文字母C、D、E、F、G、A、B來表示的,唱成簡(jiǎn)譜的7,相當(dāng)于漢字“哆唻咪發(fā)唆啦西”的讀音,這是唱曲時(shí)聲樂的發(fā)音,所以叫“音調(diào)”,即Tone[19]。我們通常唱成7的音叫自然音,那些在它們的左上角加上﹟號(hào)或者b號(hào)的叫變化音。例如,高頻率(1046hz做)只是中間做頻率(523hz)翻了一番,阿爾托做頻率(523hz)只是低音頻率(266赫茲)的兩倍;同樣,高重復(fù)頻率(1175hz)只是中間再頻率(587hz)翻了一番,阿爾托重新頻率(587hz)只是低音重復(fù)頻率(294赫茲)的兩倍。利用定時(shí)器計(jì)使用這個(gè)半周期的時(shí)間,我們可以重復(fù)計(jì)時(shí)此半周期時(shí)間,在計(jì)時(shí)結(jié)束后再將I/O口進(jìn)行反相,直接就能在I/O腳上獲得這個(gè)頻率的脈沖信號(hào)。 特別的,音樂的結(jié)束由結(jié)束符(00H)表示,音樂的停頓效果則是由休止符(FFH)表示。(3)如中音D0,頻率為523HZ,其周期T=1/523=1912微秒,要想獲得中音D0(523HZ),就將令計(jì)數(shù)器直接定時(shí)為1912/2=956,這樣每當(dāng)計(jì)數(shù)956次后,就將I/O口反相就可以了。表42:C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表 節(jié)拍的確定音樂是要有旋律的,所以音樂不僅僅只靠音調(diào),節(jié)拍也是必不可少的,這樣音樂才有旋律,音樂的快慢也可以控制。實(shí)際上1拍是多少秒,并無嚴(yán)格的規(guī)定,就和人的心跳差不多,人的心跳大多是每分鐘72左右,但有些人會(huì)快一些,而有些人會(huì)慢一些,只要音樂聽的動(dòng)聽就好。形成音樂的過程是將不同頻率相互結(jié)合,再通過與節(jié)拍數(shù)相對(duì)應(yīng)的延時(shí)過程就行了,通過理解音樂的一些基本常識(shí),可以知道將很多不一樣的音符結(jié)合可以產(chǎn)生音樂,而不同的音符還對(duì)應(yīng)不一樣的頻率,這樣生成不同頻率的音頻脈沖就可以形成音樂。所以,能播放出如此悅耳動(dòng)聽的聲音,只要能搞明白音符和相對(duì)應(yīng)的頻率就行了。在音調(diào)字節(jié)中,高四位意味著低中高音,0表示低音,1表示中音,2表示高音;音調(diào)就是其中的低四位。節(jié)拍字節(jié)中,數(shù)值i的意思是延遲i個(gè)十六分音符。而0x04還可以來代表其的延時(shí),就是在下邊無橫線,右邊無橫線和數(shù)字的情況。右邊有兩橫就用0x0c表示。因?yàn)槊總€(gè)歌曲的播放速率各不相同,單位就可以用曲速(單位——拍每分鐘)表示。這樣就能根據(jù)以上的規(guī)律在不同歌曲的簡(jiǎn)譜圖上編寫出單片機(jī)辨別的簡(jiǎn)譜表。在設(shè)計(jì)過程中通常會(huì)設(shè)計(jì)一個(gè)按鍵掃描的子程序,這樣其他的功能就可以更方便的調(diào)用這個(gè)程序。YY N 開 始是否有鍵按下?延時(shí)去抖NN 有否鍵按下?Y計(jì)算并保存鍵值按鍵是否釋放?恢復(fù)鍵值返回圖43 按鍵掃描流程圖 延時(shí)子程序流程圖延時(shí)程序通常是經(jīng)過一層或多層循環(huán)來實(shí)現(xiàn)的,整個(gè)系統(tǒng)延時(shí)的時(shí)間是程序執(zhí)行的指令總條數(shù)和執(zhí)行每條指令所用的時(shí)間進(jìn)行相乘。程序執(zhí)行流程圖如圖44所示。由于整個(gè)程序要用到定時(shí)器0和定時(shí)器1,所以初始化程序主要是對(duì)定時(shí)器相關(guān)內(nèi)容作說明。這次的課程設(shè)計(jì),我做的是一個(gè)電子琴音樂播放器,原本的心中理想作品是可以自由選擇歌曲的音樂盒。前期準(zhǔn)備的時(shí)候搜集了很多東西,并分析了一些可以借鑒的文檔,然后綜合并總結(jié)了多個(gè)文檔確定了我這次的設(shè)計(jì)方案。一開始我對(duì)按鍵模塊進(jìn)行了選擇。在做放大電路時(shí)我們選用的是NPN型三極管,因?yàn)橛X得三極管的能力就已經(jīng)能達(dá)到要求,不需要放大器。差不多三天的時(shí)間焊接好硬件電路,并開始調(diào)試,首先編輯一個(gè)簡(jiǎn)單的方波信號(hào)來檢測(cè)揚(yáng)聲器的好壞,經(jīng)過多次調(diào)試和改件最終能工作,然后利用C語言編寫了一個(gè)按鍵的發(fā)音,經(jīng)過調(diào)試成功后,在開始編寫多個(gè)按鍵的發(fā)音,最后我都把子程序?qū)懞?,調(diào)試成功,然后組合成一個(gè)總程序,達(dá)到設(shè)計(jì)的要求。在碰到問題的時(shí)候有時(shí)候一天都調(diào)不出來,但是最后反復(fù)檢查分析錯(cuò)誤原因,才解決了這些問題。致謝六月份的到來,代表新的畢業(yè)季的降臨,也預(yù)示著我大學(xué)四年的學(xué)習(xí)生活走向尾聲。在四年的時(shí)間里,我在學(xué)習(xí)上有了很大的進(jìn)步,思想上得到較高的提升。完成一篇好的論文是枯燥艱辛而又具有很大挑戰(zhàn)的。在此,我特別要感謝我的導(dǎo)師。要是沒有老師的不知疲倦的指導(dǎo),我就不能夠順利完成論文。最后要感謝一直給我理解與支持,鼓勵(lì)與幫助的家人,有了他們的這些正能量,讓我在做事情時(shí)更有動(dòng)力,更有信心,讓我所做的一切更加有意義。懇請(qǐng)老師能多予指正,讓我大學(xué)最后的階段更加圓滿,不留遺憾。 //蜂鳴器引腳sbit K2 =P1^0。 //定時(shí)器0初始化void Time1_init()。 //按鍵掃描函數(shù)unsigned char Count。 //定義各種變量 void Play_music(unsigned char i)。//1~7的頻率表unsigned char xianshi1[16] = Dian Zi Qin 。unsigned char xianshi3[16] = bi yi She Ji 。unsigned char code SONG[] ={ 0x26,0x20,0x20,0x20,0x20,0x20,0x26,0x10,0x20,0x10,0x20,0x80,0x26,0x20,0x30,0x20,0x30,0x20,0x39,0x10,0x30,0x10,0x30,0x80,0x26,0x
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1