【正文】
設(shè)置按鍵功能按下按鍵鍵盤掃描單音節(jié)發(fā)音 開始錄音播放錄入的音樂暫停鍵盤掃描播放剛才的錄音音節(jié)鍵錄音鍵音樂鍵放音鍵音節(jié)鍵音樂鍵開 始 NY按下按鍵無操作NY結(jié)束圖 41 主程序流程圖18 / 52 錄音模塊設(shè)計(jì)首先是對 SS、MOSI、SCLK、MISO 設(shè)定為低電平有效,且串行時鐘指令 SCLK 為下降沿觸發(fā)。然后將上電指令發(fā)送給主控芯片,當(dāng)主控芯片存儲了本條指令,而系統(tǒng)再次調(diào)用它的時候,即可實(shí)現(xiàn)對 ISD4004 語音芯片通電。往芯片內(nèi)燒錄音節(jié)和音樂的流程圖如圖 42 所示:系統(tǒng)初始化將 I S D 4 0 0 4 芯片指令傳送給 S T C 8 9 C 5 2設(shè)置按鍵功能按下錄音鍵開始錄音開 始 錄入一個音節(jié)錄入一段音樂暫停判斷錄音次數(shù)結(jié)束Y小于 8 次大于 8 次N圖 42 錄音模塊程序流程圖 放音模塊設(shè)計(jì)以上已對 SS、MOSI、MISO、SCLK 進(jìn)行了設(shè)定,故我們需要將上電指令發(fā)送給主控芯片,當(dāng)主控芯片存儲了本條指令,而系統(tǒng)再次調(diào)用它的時候,即可實(shí)現(xiàn)對ISD4004 語音芯片通電。然后我們將從指定地址開始的放音指令 0XE0 和從當(dāng)前地址19 / 52開始放音指令 0XF0 傳送給主控芯片,當(dāng)芯片調(diào)用該指令的時候,語音執(zhí)行相應(yīng)的操作。執(zhí)行過程如圖 43 所示。系統(tǒng)初始化將 I S D 4 0 0 4 芯片指令傳送給 S T C 8 9 C 5 2設(shè)置按鍵功能按下放音鍵開始放音開 始 播放一個音節(jié) 播放一段音樂Y無操作N鍵盤掃描音樂鍵音節(jié)鍵結(jié)束圖 43 放音模塊流程圖 鍵盤掃描模塊設(shè)計(jì)鍵盤掃描采用的是行列反轉(zhuǎn)掃描法,先設(shè)置列線值全部為 0,將其讀入,再判讀行線是否有 0,確定有無按鍵按下并判斷是哪一個按鍵。當(dāng)檢測到有鍵按下后,需要去除鍵抖動,延時一段時間再做下一步的檢測判斷,識別出是哪一個鍵閉合。掃描過程如圖 43 所示。系統(tǒng)初始化開 始 Y使用行列反轉(zhuǎn)法進(jìn)行掃描確定行值 確定列值確定按鍵鍵值按下按鍵無操作N圖 44 鍵盤掃描流程圖20 / 52第 5 章 系統(tǒng)分析與調(diào)試本設(shè)計(jì)是在 Keil C 環(huán)境下開發(fā)的,Keil C 軟件支持 C 語言的編程及調(diào)試,運(yùn)用方便,是做 C 語言畢業(yè)設(shè)計(jì)者的首選。設(shè)計(jì)的首要任務(wù)是安裝和學(xué)習(xí)使用這個軟件,在簡單的學(xué)習(xí)和了解 Keil C 后,我們便可在此環(huán)境下開始了對帶錄音功能的電子琴的設(shè)計(jì)工作。在編譯完 Keil C 后,再運(yùn)用 STC_ISP_V480 軟件燒錄到開發(fā)板上,實(shí)現(xiàn)實(shí)物與程序的連接。在燒錄前要對 STC_ISP_V480 進(jìn)行一些必要的設(shè)置。第一步:設(shè)置 MCU Type 為 STC89C52RC;第二步:打開編寫好并編譯的程序文件,它是以.hex 為后綴的文件;第三步:選擇對應(yīng)的 COM 端口, (可在我的電腦的設(shè)備管理處查看 COM 選項(xiàng)) ;第四步:點(diǎn)擊 Download/下載,等提示請給 MCU 上電時,打開開發(fā)板上的開關(guān),它就自行燒錄了。Keil C 程序運(yùn)行如圖 51 所示圖 51 keil C 運(yùn)行圖21 / 52圖 52 程序燒錄運(yùn)行圖在完成對程序的調(diào)試及燒錄之后,還需要對其進(jìn)行演示,把開發(fā)板與電腦連上,設(shè)置好對應(yīng)的接口,完成供電及下載。按下按鍵,判斷是否為抖動,若不為抖動,則執(zhí)行按鍵按下的功能,再判斷是為何種按鍵,是音節(jié)鍵、錄音鍵、播放鍵還是暫停當(dāng)判斷完成后,對其程序進(jìn)行執(zhí)行。當(dāng)按下錄音鍵則開始錄音,按下暫停鍵則停止錄音,按下播放鍵播放剛才的錄音,按下音節(jié)鍵播放已經(jīng)存儲的錄好的音節(jié),發(fā)出對應(yīng)的音節(jié)聲音。22 / 52第 6 章 結(jié)論與展望本系統(tǒng)以單片機(jī)為核心部件的控制系統(tǒng),利用軟件編程,最終基本上實(shí)現(xiàn)了各項(xiàng)要求。雖然系統(tǒng)還存在一些不足,比如放音時侯噪聲比較大等問題,我們嘗試了很多改進(jìn)的方法,雖然效果不理想,但是,我們還是從中學(xué)到了很多的解決問題的方法。經(jīng)過近兩個月的奮斗,從確定題目,到后來查找資料,理論學(xué)習(xí),實(shí)驗(yàn)編程調(diào)試,這一切都使我的理論知識和動手能力有了很大的提高。了解了單片機(jī)的硬件結(jié)構(gòu)和軟件編程方法,對單片機(jī)的工作方式有了很大的認(rèn)知。同時,對一些外圍設(shè)備比如 ISD4004 芯片、LM386 放大器、鍵盤等有了一定的了解!學(xué)會了對一項(xiàng)工程如何設(shè)計(jì):首先,要分析需要設(shè)計(jì)的系統(tǒng)要實(shí)現(xiàn)什么功能,需要什么器件;然后,針對設(shè)計(jì)購買相應(yīng)的硬件,選用硬件時不僅要選用經(jīng)濟(jì)的,更重要的是如何能更精確更方便的完成系統(tǒng)的要求;再次,對各個硬件的軟件實(shí)現(xiàn)要弄清楚,如何更好的實(shí)現(xiàn)各個硬件的協(xié)調(diào),更好的通過主控制器件實(shí)現(xiàn)硬件的功能。最后,通過各種測試與調(diào)試,讓設(shè)計(jì)更好的完成系統(tǒng)要求。 但因?yàn)槲覀兊乃接邢?,此設(shè)計(jì)中也存在一定的瑕疵。譬如說按鍵時人體熱噪聲會對發(fā)聲效果產(chǎn)生影響,系統(tǒng)內(nèi)部的濾波設(shè)計(jì)不夠完善,使得發(fā)聲變得模糊、嘈雜,模仿的聲音不夠逼真。這也是設(shè)計(jì)中用到揚(yáng)聲設(shè)備的同學(xué)所遇到的普遍問題,有待于我們?nèi)ジ纳啤S捎谑褂玫氖菃纹瑱C(jī)作為核心的控制元件,配合其它器件,使本控制系統(tǒng)具有性能良好、電路簡單、成本低的特點(diǎn),如果能加上濾波裝置,其效果會更加的良好。電子琴是現(xiàn)在最為常見的電子樂器之一,也是很容易演奏的一種樂器,電子琴已經(jīng)融入到人們的生活當(dāng)中。隨著嵌入式系統(tǒng)開發(fā)技術(shù)的快速發(fā)展及其在各個領(lǐng)域的廣泛應(yīng)用,人們對電子產(chǎn)品的小型化和智能化要求越來越高,作為高新技術(shù)之一的單片機(jī)以其體積小、價(jià)格低、可靠性高、適用范圍大以及本身的指令系統(tǒng)等諸多優(yōu)勢,在各個領(lǐng)域、各個行業(yè)都得到了廣泛應(yīng)用。所以,在以后的發(fā)展中電子琴會更加智能化,人性化,也會融入到其他當(dāng)中。23 / 52參考文獻(xiàn)[1] 單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材[M]. 北京:清華大學(xué)出版社,2022.[2] 、應(yīng)用與實(shí)踐[M]. 北京:高等教育出版社,2022.[3] 吳金戌,沈慶陽, 單片機(jī)實(shí)踐與應(yīng)用[M]. 北京:清華大學(xué)出版社,2022.[4] [M]. 電子工業(yè)出版社,2022.[5] [M]. 北京:清華大學(xué)出版社,2022.[6] 單片機(jī)應(yīng)用設(shè)計(jì)[M]. 哈爾濱工業(yè)大學(xué)出版社,2022.[7] 張淑清,[M]. 國防工業(yè)出版社,2022.[8] 吳金戌,沈慶陽, 單片機(jī)實(shí)踐與應(yīng)用[M]. 北京:清華大學(xué)出版社,2022.[9] [M]. 清華大學(xué)出版社,2022.[10] 單片機(jī)應(yīng)用設(shè)計(jì)[M]. 哈爾濱工業(yè)大學(xué)出版社,2022.[11] 趙亮, C 語言編程與實(shí)例[M]. 北京:人民郵電出版社,2022.[12] 王振紅,李洋, 語音芯片的工作原理及其在智能控制系統(tǒng)中的應(yīng)用[J]. 電子器件 2022 年 3 月第 25 卷第 1 期.[13] , Techniques for Analog And Digitial Ciruits,McGrawHill . [14] ANALOG technology of AT89C51[EB/OL].White Paper,.24 / 52致 謝 這次畢業(yè)論文能夠得以順利完成,是所有曾經(jīng)指導(dǎo)過我的老師,幫助過我的同學(xué)對我的教誨、幫助和鼓勵的結(jié)果。我要在這里對他們表示深深的謝意!首先,要特別感謝我的指導(dǎo)老師—— 尚燕老師。尚老師在我畢業(yè)論文的撰寫過程中,給我提供了極大的幫助和指導(dǎo)。從開始選題到中期修正,再到最終定稿,尚老師給我提供了許多寶貴建議。還有就是在實(shí)習(xí)階段,各位實(shí)習(xí)老師對我的大力幫助,他們?yōu)槲业漠厴I(yè)設(shè)計(jì)盡心盡職。老師淵博的專業(yè)知識,嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,精益求精的工作作風(fēng),誨人不倦的高尚師德,樸實(shí)無華、平易近人的人格魅力對我影響深遠(yuǎn)。不僅使我樹立了遠(yuǎn)大的學(xué)術(shù)目標(biāo)、掌握了基本的研究方法,還使我明白了許多待人接物與為人處世的道理。其次,要感謝所有曾經(jīng)教我們電子信息的任課老師,老師們教會我的不僅僅是專業(yè)知識,更多的是對待學(xué)習(xí)、對待生活的態(tài)度。再次,感謝我的室友及其他好友,因?yàn)橛心銈兊膸椭?,我的論文得以順利完成。感謝你們,大學(xué)四年給我了那么多的幫助與鼓勵,在我不開心的時候,總能讓我開心起來。不會忘記,大學(xué)四年里我們一起度過的歡樂時光,那些開心的日子,總是那么令人難以忘懷。最后對老師,同學(xué)再次致以我最衷心的感謝!教導(dǎo)過我的老師,你們的人格魅力永記我心間。身邊的同學(xué)和朋友,有你們,我的大學(xué)才算完整。寢室的好友,你們的天賦猶如上天恩賜,有了你們我的生活更加精彩。25 / 52附 錄附錄 A 外文資料Introduction to STC89C52General DescriptionThe STC 89C52 is a lowpower, highperformance CMOS 8bit microputer with 4K bytes of Flash Programmable and Erasable Read Only Memory (PEROM). The device is manufactured using Atmel’s high density nonvolatile memory technology and is patible with the industry standard MCS51? instructionset and pinout. The onchip Flash allows the program memory to be reprogrammed insystem or by a conventional nonvolatile memory programmer. By bining a versatile 8bit CPU with Flash on a monolithic chip, the Atmel STC89C52 is a powerful microputer which provides a highly flexible and cost effective solution to many embedded control applications.STC89C52 has the following features: 40pin, 4k Bytes Flash chip program memory, 128 bytes of random access data memory (RAM), 32 external bidirectional input / output (I / O) ports, interrupt priority level 2 5 Interrupt nesting level interrupts, two 16bit programmable timer counters, two full duplex serial port, watchdog (WDT) circuit, the onchip clock oscillator. In addition, STC89C52 design and configuration of the oscillation frequency can be set to 0Hz and through the software powersaving mode. Idle mode, CPU to suspend work, and RAM timing counters, serial port, and interrupt system to continue, but freezes the oscillator powerdown mode save RAM, disabling all other chip functions until the next interrupt or hardware reset. Meanwhile, the chip also has PDIP, TQFP and PLCC packages such as three, to acmodate different productsFeatures OverviewThe STC89C52 provides the following standard features: 4K bytes of Flash,128 bytes of RAM, 32 I/O lines, two 16bit timer/counters, a five vector twolevel interrupt architecture, a full duplex serial port, onchip oscillator and clock circuitry. In addition, the STC89C52 is designed with static logic for operation down to zero frequency and supports 26 / 52two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port and interrupt system to continue functioning. The Powerdown Mode saves the RAM contents but freezes the oscillato