【基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)18000字(論文)】_第1頁(yè)
【基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)18000字(論文)】_第2頁(yè)
【基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)18000字(論文)】_第3頁(yè)
【基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)18000字(論文)】_第4頁(yè)
【基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)18000字(論文)】_第5頁(yè)
已閱讀5頁(yè),還剩35頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于單片機(jī)的簡(jiǎn)易電子琴設(shè)計(jì)目錄TOC\o"1-3"\h\u32532第一章緒論 PAGEPAGE37緒論1.1研究背景從古至今,音樂(lè)是一種文化,是人類情感的寄托。樂(lè)器在世界音樂(lè)發(fā)展歷程中的產(chǎn)生是具有著重大意義的。用了表達(dá)音樂(lè)的形式也隨著社會(huì)的用難以預(yù)計(jì)的速度變得越來(lái)越多元化。從1840年到1949年以來(lái),伴隨著工業(yè)革命的影響、高新科技和計(jì)算機(jī)和通訊設(shè)備行業(yè)的飛快發(fā)展,人們的生活方式也跟著不斷地變化。人們?cè)诓粩嗟奶剿骱蛣?chuàng)新出新的表達(dá)音樂(lè)的方法。電子琴是高科技在音樂(lè)領(lǐng)域的一個(gè)代表,正順應(yīng)著發(fā)展的潮流遍布各行各業(yè)中。電子琴作為音樂(lè)和科技的一個(gè)融合體,不僅有助于音樂(lè)老師給學(xué)生傳授通俗的音樂(lè),它還可以用來(lái)教學(xué)流行音樂(lè),尤其是它多變的音色、音調(diào)、節(jié)奏、旋律。豐富了我們的課堂教學(xué),使得老師的教學(xué)過(guò)程更加方便,在生活中,歡快的、悲傷的等等的音樂(lè)能帶給我們不同的情感響應(yīng)。近年來(lái),正是由于計(jì)算機(jī)技術(shù)的發(fā)展加之計(jì)算機(jī)多媒體技術(shù)及多媒體制作軟件的廣泛應(yīng)用,使模擬電子琴技術(shù)也緊隨時(shí)代的潮流加速發(fā)展,比如現(xiàn)在從互聯(lián)網(wǎng)上就可以隨意免費(fèi)下載許多計(jì)算機(jī)軟件開(kāi)發(fā)出來(lái)的模擬電子琴軟件,比如大名鼎鼎的悠悠電子琴,nbPiano模擬電子琴,順風(fēng)雷電子琴等,不僅以其完美的界面爭(zhēng)得了廣大電子琴愛(ài)好者地喜愛(ài),而且其功能已經(jīng)基本接近于真正的電子琴。相信計(jì)算機(jī)模擬電子琴的發(fā)展會(huì)越來(lái)越好。在最近的二十年,電腦或者是手機(jī)上關(guān)于模擬的電子琴軟件發(fā)展的迅猛,軟件程序也是不斷地創(chuàng)新,從可以簡(jiǎn)單的彈奏不斷發(fā)展出很多新的功能。在音樂(lè)的發(fā)展歷程中,其他的樂(lè)器在軟件模擬方面的發(fā)展是無(wú)法和電子琴相比的。這無(wú)論是對(duì)提高人們整體的音樂(lè)素質(zhì),還是對(duì)音樂(lè)的發(fā)展都是功德無(wú)量的事。本課題就是基于電子琴的上述諸多優(yōu)點(diǎn)而提出來(lái)的。雖然現(xiàn)在電子琴的價(jià)格也比較低廉,但是低端的電子琴功能還是比較單一的,它不能滿足人們對(duì)多種樂(lè)器樂(lè)感的要求。而計(jì)算機(jī)模擬電子琴,功能豐富,在網(wǎng)上又可以下載各種各樣的模擬電子琴軟件。一個(gè)普通家庭,只要家里有一臺(tái)個(gè)人電腦或筆記本,就可以隨意下載這樣的軟件,使用電腦鍵盤(pán)就可以練習(xí)各種電子琴指法,對(duì)電子琴的學(xué)習(xí)非常有幫助;一名大學(xué)生,在閑暇之余,也可以下載一個(gè)模擬電子琴軟件,它既陶冶了一個(gè)人的情操,有豐富了我們大學(xué)生的課余生活,它比起那些千奇百怪的網(wǎng)絡(luò)游戲來(lái),是有百利而無(wú)一害的,而目前,個(gè)人計(jì)算機(jī)在中國(guó)高校大學(xué)生的普及率還是很高的。

電子琴是高科技技術(shù)在音樂(lè)領(lǐng)域?qū)崿F(xiàn)的一個(gè)典型代表,可視為現(xiàn)代文明和古典文化的一個(gè)濃縮體,是音樂(lè)與當(dāng)今電子科學(xué)技術(shù)聯(lián)合的產(chǎn)物,是全新的鍵盤(pán)類樂(lè)器,它不僅讓我們?cè)谝魳?lè)教室內(nèi)進(jìn)行傳統(tǒng)意義上的音樂(lè)文化的教學(xué)工作收益良多,還可以更加直接、簡(jiǎn)便進(jìn)行電子音樂(lè)、現(xiàn)代音樂(lè)、電腦音樂(lè)的教學(xué),在當(dāng)今音樂(lè)中擔(dān)當(dāng)?shù)慕巧矘O其重要?,F(xiàn)代人們的日常生活中已經(jīng)與電子琴緊密相連,成為了不可或缺的一部分。近年,隨著大規(guī)模的集成電路的發(fā)展單片機(jī)設(shè)計(jì)正在深入到社會(huì)各個(gè)行業(yè),同時(shí)也帶動(dòng)諸如工業(yè)、農(nóng)業(yè)、商業(yè)等的日新月異。單片機(jī)的特點(diǎn)很多,如功能強(qiáng)、體積小,而且功耗相對(duì)較低,穩(wěn)定性和可靠性都很高,特別適合在自動(dòng)控制行業(yè),也廣泛應(yīng)用與儀器儀表、數(shù)據(jù)采集、家用電器等。單片機(jī)是作為系統(tǒng)的核心部件來(lái)設(shè)計(jì)系統(tǒng)的,可以根據(jù)硬件設(shè)計(jì)的需求,合理地對(duì)軟件進(jìn)行設(shè)計(jì),這樣就能高效地提高電子電路設(shè)計(jì)的質(zhì)量。1.2國(guó)內(nèi)外電子琴發(fā)展及研究世界上首臺(tái)立體式電子琴是在1959年被雅馬哈株式會(huì)社而生產(chǎn),命名為“伊萊克通”。目前市場(chǎng)上的電子琴產(chǎn)品林林總總,五花八門(mén),從技術(shù)角度來(lái)看,國(guó)外產(chǎn)品還是稍微處于領(lǐng)先地位。YAMAHA是當(dāng)今國(guó)內(nèi)電子琴市場(chǎng)的第一品牌,而CASIO、KAWAI、JVC等品牌始終處于配角地位。究其原因,YAMAHA的技術(shù)始終處于世界領(lǐng)先水平。中國(guó)市場(chǎng)上最初使用的電子琴技術(shù)是基于調(diào)頻(FrequencyModulation,F(xiàn)M)音頻技術(shù),主要是通過(guò)對(duì)音色的頻譜進(jìn)行分析和運(yùn)算,這樣就可以避免在芯片中儲(chǔ)存大量的采樣數(shù)據(jù)。這種設(shè)計(jì)方式產(chǎn)生的音色比較純凈、清澈,沒(méi)有真實(shí)樂(lè)器演奏的機(jī)械噪聲,甚至能夠創(chuàng)造出一些不存在的天籟之音。然而這也暴露了其明顯缺陷,音色過(guò)于干凈,導(dǎo)致聽(tīng)者對(duì)這樣音色聽(tīng)感不佳,容易造成聽(tīng)覺(jué)疲勞。隨著科技的發(fā)展,這種技術(shù)逐漸被脈沖編碼調(diào)制(PulseCodeModulation,PCM)和FM雙調(diào)制音源技術(shù)代替,但是這也是音源的過(guò)渡技術(shù)。在大規(guī)模集成電路和芯片技術(shù)開(kāi)始實(shí)際應(yīng)用于生產(chǎn)后,PCM音源技術(shù)逐漸成為了當(dāng)今的主流音源技術(shù)。PCM音源技術(shù)實(shí)質(zhì)上是對(duì)真實(shí)音色樣本的一種壓縮算法技術(shù),不過(guò)并不是簡(jiǎn)單意義上的壓縮。在壓縮過(guò)程中對(duì)原始音色進(jìn)行了創(chuàng)造性的改造,從而可以產(chǎn)生全新的音源。由于PCM的壓縮算法技術(shù)各不相同,因此各個(gè)公司在電子琴效果上顯示出了不同的特色。中國(guó)首自研制出的電子管單音電子琴是在1958年由北郵學(xué)院研制的。因?yàn)楦鞣N因素,到了1977年以后中國(guó)才開(kāi)始大規(guī)模的生產(chǎn)電子琴。在1989年中國(guó)電子琴事業(yè)才開(kāi)始逐步發(fā)展起來(lái),有200萬(wàn)臺(tái)兒童電子琴在當(dāng)年生產(chǎn),并有39萬(wàn)臺(tái)出口到國(guó)外。國(guó)內(nèi)電子琴生產(chǎn)廠家在上世紀(jì)80年代就已經(jīng)超過(guò)了上百家。最初的產(chǎn)品叫做簧片琴,鍵盤(pán)都是以簧片開(kāi)關(guān)為主,音色則是用模擬濾波器的方式來(lái)產(chǎn)生,當(dāng)自動(dòng)伴奏時(shí)可以使用簡(jiǎn)單的脈沖信號(hào)來(lái)觸發(fā)鼓的發(fā)生器實(shí)現(xiàn)。后來(lái)隨著眾多國(guó)外產(chǎn)品的侵入,國(guó)內(nèi)電子琴受到了極大地沖擊,國(guó)產(chǎn)電子琴由于沒(méi)有對(duì)關(guān)鍵技術(shù)進(jìn)行改進(jìn)和研究,很多產(chǎn)權(quán)都掌握在供片商中,國(guó)產(chǎn)電子琴?zèng)]有實(shí)現(xiàn)全自主生產(chǎn),對(duì)音源的壓縮算法也一無(wú)所知,更談不上產(chǎn)品的創(chuàng)新,因此這個(gè)時(shí)期的國(guó)產(chǎn)電子琴逐漸走向了沒(méi)落。電子琴在我國(guó)已經(jīng)已經(jīng)有很多的探究,用于設(shè)計(jì)電子琴的方法也有很多,比如運(yùn)用單片機(jī)的控制編程、ElectronicDesignAutomation技術(shù)、ProgrammableLogicController等技術(shù)。由于音樂(lè)的發(fā)展、音樂(lè)教學(xué)的需要以及孩子們的藝術(shù)培養(yǎng)電子琴發(fā)展的非常迅速,其各項(xiàng)各項(xiàng)功能的不斷的完善。音色和節(jié)奏從單一化向多元化發(fā)展。電子琴可以選擇音色、選擇節(jié)奏、自動(dòng)伴奏外,還可以外接耳機(jī)來(lái)斷開(kāi)揚(yáng)聲器以及外接音響增加輸出功率使音色更加優(yōu)美。實(shí)際上,現(xiàn)代高新科技的發(fā)展和進(jìn)步使得電子音樂(lè)步入了新的發(fā)展時(shí)代。在單排鍵電子琴的基礎(chǔ)上延伸出了雙排鍵電子琴,而且這種電子琴也在音樂(lè)學(xué)院使用和教學(xué)。據(jù)根據(jù),中國(guó)的好多音樂(lè)學(xué)院先后成立了雙排鍵電子琴專業(yè)。在現(xiàn)代音樂(lè)領(lǐng)域,比如唱片、MV等的制作中,電子琴的作用遠(yuǎn)勝于鋼琴。一臺(tái)雙排鍵電子琴以其豐富多彩的音域、音色、節(jié)奏和其展現(xiàn)出的很多自然界的獨(dú)特音響完勝一支管弦樂(lè)隊(duì)。電子琴因?yàn)樗哂械木C合性的優(yōu)點(diǎn)受到越來(lái)越多人的喜愛(ài),電子琴的教學(xué)也以很快的速度在普及和發(fā)展。電子琴是現(xiàn)代電子科技高速發(fā)展的產(chǎn)物,它屬于鍵盤(pán)樂(lè)器,但又區(qū)別于鋼琴、手風(fēng)琴,它不僅僅知識(shí)有鍵盤(pán),更設(shè)有功能齊全的按鈕供演奏者使用,電子琴可以選擇音色、選擇節(jié)奏、自動(dòng)伴奏外,還可以外接耳機(jī)來(lái)斷開(kāi)揚(yáng)聲器以及外接音響增加輸出功率使音色更加優(yōu)美?,F(xiàn)在學(xué)習(xí)電子琴的人越來(lái)越多,有很多因素:價(jià)格低廉易于接受;有著豐富且多變的音色,生動(dòng)且活潑的節(jié)奏;用于藝術(shù)教學(xué)。1.3研究目的及意義在如今追求物質(zhì)文化水平的社會(huì),音樂(lè)已成為人類生活必不可少的一部分,作為用來(lái)將音樂(lè)表達(dá)出來(lái)的一種方式,音樂(lè)可以分為聲樂(lè)和器樂(lè)。那么器樂(lè)包括了太多種樂(lè)器,比如:琴、鼓、號(hào)等等。而電子琴就是其中的一種?;诂F(xiàn)在人們對(duì)樂(lè)器的需求,電子琴價(jià)格低廉而且學(xué)習(xí)容易,獲得廣大群眾的認(rèn)可。鍵盤(pán)式的電子琴有著豐富多彩的音域、音色、節(jié)奏,方便移動(dòng)等優(yōu)點(diǎn),從而可以代替笨重的鋼琴進(jìn)行音樂(lè)教學(xué)。隨著電子科學(xué)技術(shù)的飛速發(fā)展,電子技術(shù)正在逐漸改善著人們的學(xué)習(xí)、生活、工作,如今市場(chǎng)上的玩具是供不應(yīng)求,電子琴在文化學(xué)習(xí)和業(yè)余娛樂(lè)方面都體現(xiàn)了它的實(shí)用性。單片機(jī)技術(shù)使我們可以利用硬件的簡(jiǎn)單電路和軟件編程來(lái)實(shí)現(xiàn)電子琴的基本功能,從而可以使電子琴微型化,將其進(jìn)行一定的功能擴(kuò)展。比如兒童玩具電子琴,這種電子琴成本低,工藝簡(jiǎn)單。單片機(jī)的控制功能強(qiáng)、可靠性好。非常易于根據(jù)應(yīng)用系統(tǒng)要求進(jìn)行擴(kuò)展,功耗小,體積小,適用于各行各業(yè)。單片機(jī)主要應(yīng)用于工業(yè)控制領(lǐng)域,除了工業(yè)控制領(lǐng)域沒(méi)單片機(jī)在家電、電子玩具、通信、高級(jí)音響、圖形處理、語(yǔ)言設(shè)備、機(jī)器人、計(jì)算機(jī)、汽車等各領(lǐng)域迅速發(fā)展。本設(shè)計(jì)利用單片機(jī)及附加電子元器件實(shí)現(xiàn)電子琴的彈奏和演奏,學(xué)會(huì)運(yùn)用Proteus仿真來(lái)了解單片機(jī)電路設(shè)計(jì),從而學(xué)習(xí)電路板的焊接和調(diào)試。所以我們不能只學(xué)習(xí)單片機(jī)的書(shū)本知識(shí),還要了解基于單片機(jī)設(shè)計(jì)所涉及的硬件知識(shí),還要在實(shí)踐操作中學(xué)會(huì)如何去解決實(shí)際問(wèn)題,通過(guò)不斷地調(diào)試得到想要的結(jié)果。聲音是周圍空氣的震動(dòng),音調(diào)表示聲音震動(dòng)頻率的快慢,音調(diào)是和頻率成正比的。音樂(lè)的頻率是不同的音樂(lè)脈沖產(chǎn)生的,而不同的音樂(lè)頻率脈沖是非常容易得到的,可以通過(guò)單片機(jī)內(nèi)部的定時(shí)器和計(jì)數(shù)器來(lái)產(chǎn)生不同的方波信號(hào)。音節(jié)有不同頻率的方波產(chǎn)生,單片機(jī)電子琴通過(guò)單片機(jī)的內(nèi)部定時(shí)計(jì)數(shù)器來(lái)生成不同頻率的脈沖,定時(shí)器記數(shù)溢出后,產(chǎn)生中斷,將P口取反即得周期方波。音的節(jié)拍有延時(shí)子程序來(lái)實(shí)現(xiàn)。延時(shí)子程序?qū)崿F(xiàn)基本延時(shí)時(shí)間。節(jié)拍值只是它的整數(shù)倍。本設(shè)計(jì)主要是通過(guò)對(duì)電子琴主體部分的電路進(jìn)行模仿設(shè)計(jì),利用LM386和中斷決定輸出音調(diào),達(dá)到電子琴固有的基本功能。電子琴的不同的琴鍵代表了不同的音調(diào)的聲音,從而驅(qū)動(dòng)揚(yáng)聲器發(fā)出不同音調(diào)的聲音。將電路中的矩陣按鍵模擬琴鍵,各個(gè)按鍵對(duì)應(yīng)各個(gè)頻率的脈沖,從而產(chǎn)生各不相同的聲音。頻率低時(shí)聲音低,頻率高時(shí)聲音高。1.4論文的組織結(jié)構(gòu)第一章:緒論。本章首先介紹了課題的研究背景及意義,電子琴的發(fā)展趨勢(shì)作了簡(jiǎn)要的論述,同時(shí)給出了論文的組織結(jié)構(gòu)。第二章:總體設(shè)計(jì)方案的確定,介紹了電子琴的具體要求。系統(tǒng)硬件設(shè)計(jì),先介紹了單片機(jī)STC89C52的主要特性和引腳功能說(shuō)明。再具體闡述硬件電路的設(shè)計(jì),最小系統(tǒng)的設(shè)計(jì),數(shù)碼管模塊設(shè)計(jì),矩陣鍵盤(pán)模塊設(shè)計(jì),功率放大模塊設(shè)計(jì)中對(duì)音樂(lè)信號(hào)產(chǎn)生的原理,LM386引腳的說(shuō)明和主要的特性的進(jìn)行了介紹。第三章:該章節(jié)主要圍繞三個(gè)部分對(duì)系統(tǒng)軟件設(shè)計(jì)進(jìn)行闡述,分別為:主程序部分,程序設(shè)計(jì)原理,最后進(jìn)行了程序調(diào)試。第四章:系統(tǒng)制作及調(diào)試,在制作電子琴的時(shí)候,介紹了焊接注意事項(xiàng),硬件電路的調(diào)試和軟件編程的調(diào)試遇到的問(wèn)題,如何解決這些問(wèn)題。

第二章系統(tǒng)硬件設(shè)計(jì)2.1電子琴設(shè)計(jì)的具體要求(1)完成矩陣鍵盤(pán)的設(shè)計(jì),設(shè)置16個(gè)按鍵,實(shí)現(xiàn)高音八度和低音八度的音階發(fā)音,分配好單片機(jī)各個(gè)端口與按鍵輸入對(duì)應(yīng)控制;(2)完成數(shù)碼管顯示電路的設(shè)計(jì),音符的顯示;

(3)完成功率放大電路的設(shè)計(jì),以更大的電流來(lái)驅(qū)動(dòng)揚(yáng)聲器發(fā)聲;(4)存儲(chǔ)歌曲功能設(shè)計(jì),可以實(shí)現(xiàn)自動(dòng)播放。2.2總體設(shè)計(jì)方案選定選用單片機(jī)作為本設(shè)計(jì)的主控元件,利用STC89C52單片機(jī)簡(jiǎn)單的在線編程方式和豐富的IO端口,及其精確的控制功能,實(shí)現(xiàn)基本的電子琴功能。電子琴?gòu)椬?、演奏和?fù)位功能的實(shí)現(xiàn)通過(guò)外接的矩陣鍵盤(pán)進(jìn)行控制,音階由外接的數(shù)碼管顯示器進(jìn)行顯示,單片機(jī)通過(guò)掃描鍵盤(pán)輸出的與之對(duì)應(yīng)的音符頻率的方波,然后借助LM386功率放大器對(duì)揚(yáng)聲器進(jìn)行驅(qū)動(dòng),發(fā)出鍵盤(pán)對(duì)應(yīng)的音階聲音。其結(jié)構(gòu)如圖2.1所示:圖2.1硬件部分結(jié)構(gòu)圖根據(jù)設(shè)定好的密碼,采用4×4鍵盤(pán)實(shí)現(xiàn)音樂(lè)彈奏的輸入功能,當(dāng)按鍵按下,單片機(jī)掃面是哪個(gè)按鍵按下,然后發(fā)出對(duì)應(yīng)音符的聲音,因?yàn)椴皇亲枣i按鍵只要按鍵一松開(kāi)就不發(fā)出聲音。長(zhǎng)按按鍵,聲音就持續(xù)響著。演奏按鍵:按一下播放第一首音樂(lè),連續(xù)按兩下播放第二首音樂(lè),按復(fù)位按鈕,音樂(lè)停止播放。

(1)單片機(jī)型號(hào)可選STC89C52。(2)高八度、低八度音階的設(shè)定在程序中完成。(3)音階的輸入采用4×4鍵盤(pán)實(shí)現(xiàn)。(4)若輸入的音階為“Mi”,則數(shù)碼管顯示“3”,高八度的“Mi”則顯示為“A”。(5)采用揚(yáng)聲器放大聲音。2.3主控模塊2.3.1主控模塊的選型和論證方案一:采用MSP430系列單片機(jī),該單片機(jī)是TI公司1996年開(kāi)始推向市場(chǎng)的一種16位超低功耗的混合信號(hào)處理器。它處理能力強(qiáng)、運(yùn)算速度快、片內(nèi)資源豐富其內(nèi)部集成了很多模擬電路、數(shù)字電路和微處理器。但是此芯片價(jià)格比較高,不適用于簡(jiǎn)單的設(shè)計(jì)開(kāi)發(fā)。方案二:采用51系列的單片機(jī),該單片機(jī)很難破解,有超強(qiáng)抗干擾能力的8位單片機(jī),32個(gè)IO口,且STC系列的單片機(jī)編程簡(jiǎn)單、調(diào)試便捷。價(jià)格低廉是簡(jiǎn)單設(shè)計(jì)開(kāi)發(fā)的首選。因此選用方案二中的51系列單片機(jī)作為主控芯片。2.3.2STC89C52單片機(jī)的引腳說(shuō)明圖2.2STC89C52單片機(jī)的引腳圖(1)

主電源引腳(2根)

VCC(Pin40):電源輸入,接+5V電源

GND(Pin20):接地線

(2)時(shí)鐘電路引腳(2根)

XTAL1(Pin19):片內(nèi)振蕩電路的輸入端

XTAL2(Pin18):片內(nèi)振蕩電路的輸出端(3)控制引腳(4根)

RST(Pin9):復(fù)位引腳,

在出現(xiàn)的高電平大于兩個(gè)機(jī)器周期時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST一直寫(xiě)入“1”,單片機(jī)就執(zhí)行循環(huán)復(fù)位。ALE/PROG(Pin30):具有兩種功能,可以作為地址鎖存使能端和編程脈沖輸入端。當(dāng)訪問(wèn)外部寄存器時(shí),地址的低8位字節(jié)用地址鎖存允許的輸出電平鎖存;作為編程脈沖輸入端時(shí)為PROG,在進(jìn)行程序下載時(shí)使用。在訪問(wèn)片外存儲(chǔ)器或者是輸入/輸出口時(shí),使得低八位的地址不隨輸入狀態(tài)的變化而變化,以實(shí)現(xiàn)地位地址和數(shù)據(jù)的隔離。在可重復(fù)擦除和寫(xiě)入編程的時(shí)候,可用作輸入。PSEN(Pin29):外部存儲(chǔ)器讀選通信號(hào)。讀取內(nèi)部只讀存儲(chǔ)器時(shí),PSEN不工作;讀取外部只讀存儲(chǔ)器時(shí),在每一個(gè)機(jī)械周期會(huì)動(dòng)作兩次;在讀取外部隨機(jī)存取存儲(chǔ)器時(shí),跳過(guò)兩個(gè)PSEN脈沖不輸出;外接只讀存儲(chǔ)器時(shí),與只讀存儲(chǔ)器的OE管腳相連。EA/VPP(Pin31):具有兩種功能,訪問(wèn)內(nèi)部或外部程序存儲(chǔ)器選擇信號(hào)和提供編程電壓。當(dāng)EN管腳一直處于接低電平時(shí),單片機(jī)從外部程序存儲(chǔ)器開(kāi)始執(zhí)行(0000H-FFFFH單元);當(dāng)EN管腳一直處于接高電平時(shí),從0000H開(kāi)始執(zhí)行內(nèi)部存儲(chǔ)器程序,執(zhí)行完畢轉(zhuǎn)向執(zhí)行外部的。注意要加密方式1時(shí),EN將內(nèi)部鎖定為RESET。(4)可編程輸入/輸出引腳(32根)

P0口:一個(gè)8位漏極型雙向I/O口,每個(gè)引腳可吸收的電流量為8個(gè)TTL門(mén)電流。P0口在作輸入/輸出使用時(shí)需要添加外部上拉電阻。上電復(fù)位時(shí),默認(rèn)其作為輸出口,當(dāng)需要作為輸入口使用時(shí),必須先用程序向每個(gè)I/O口寫(xiě)入1。P1口:一組8位雙向I/O口(帶內(nèi)部上拉電阻),P1口的輸出緩沖器可以驅(qū)動(dòng)(吸收或者輸出電流)4個(gè)TTL邏輯門(mén)電路。因?yàn)镻1口內(nèi)部已經(jīng)有了上拉電阻,于是在作輸入/輸出口時(shí)不再需要添加外部上拉電阻。當(dāng)P1口需要作為輸入口使用時(shí),需要向其每一位都寫(xiě)入1。P1.5、P1.6、P1.7除了作為一般I/O口以外,還可以作為下載接口用于向單片機(jī)下載程序。P2口:一個(gè)8位雙向I/O(內(nèi)部提供上拉電阻),P2口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電流,對(duì)端口P2寫(xiě)“1”時(shí),由于P2口內(nèi)部上拉電阻的作用,其端口被拉到高電平,此時(shí)P2口可作為輸入口使用。因此作為輸入口使用時(shí),外部信號(hào)拉低P2口的某一個(gè)引腳時(shí),將會(huì)輸出一個(gè)電流IIL。這也是內(nèi)部上拉電阻的作用。當(dāng)把P2口用作外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存?。ɡ鐖?zhí)行MOVX@DPTR類似指令)時(shí),P2口將高8位地址數(shù)據(jù)送出。然而在防偽8位地址的外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@RI指令)時(shí),P2鎖存器中的內(nèi)容被P2口輸出。P2口在進(jìn)行Flash編程和校驗(yàn)時(shí),高8位地址信號(hào)和一些控制信號(hào)可以很容易的被P2口接收到。P3口:一個(gè)8位雙向I/O(內(nèi)部提供上拉電阻),P3口的輸出緩沖器可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電流。對(duì)P3口寫(xiě)“1”后,由于內(nèi)部上拉電阻的作用,它們被上拉位高電平,并能夠作為輸入使用。另外P3口除了可以用作一般的I/O線以外,它還有一些特殊功能(如表2.1所示)。表2.1P3口的特殊功能口管腳備選功能P3.0RXD串行輸入口P3.1TXD串行輸出口P3.2外部中斷0P3.3外部中斷1P3.4T0計(jì)時(shí)器0外部輸入P3.5T1計(jì)時(shí)器1外部輸入P3.6外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通2.3.3STC89C52單片機(jī)主要特性(1)具有電可擦可編程(ElectricallyErasableRead-OnlyMemory,EEROM)的功能。(2)運(yùn)行頻率最高可以達(dá)到三十五兆赫茲,6T/12T可選.(3)工作頻率在零到四十兆赫茲,是一般的8051工作頻率的一半,工作中的頻率可能會(huì)達(dá)到四十八兆赫茲。(4)具有低功耗空閑和掉電模式兩種工作模式。(5)由四字的程序存儲(chǔ)器(掩膜只讀存儲(chǔ)器)和一百二十八字節(jié)的數(shù)據(jù)存儲(chǔ)器)(隨機(jī)存取存儲(chǔ)器)組成。(6)支持In-SystemProgrammability/In-ApplicationProgrammability。可通過(guò)串口燒寫(xiě)程序。(7)具有專門(mén)監(jiān)測(cè)單片機(jī)程序運(yùn)行狀態(tài)的芯片也就是Watchdog。(8)有四十個(gè)引腳,四個(gè)八位并行輸入輸出口。(9)STC89C52中斷系統(tǒng)有五個(gè)中斷源,兩個(gè)優(yōu)先級(jí),可以實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。(10)工作溫度范圍:-40~+85℃(工業(yè)級(jí))/0~75℃(商業(yè)級(jí))。(11)塑料雙列直插式封裝(PlasticDualIn-LinePackage,PDIP)。2.3.4單片機(jī)最小系統(tǒng)設(shè)計(jì)圖2.3為單片機(jī)最小系統(tǒng)電路圖,單片機(jī)最小系統(tǒng)有單片機(jī)、時(shí)鐘電路、復(fù)位電路、電源組成,時(shí)鐘電路選用了12MHZ的晶振提供時(shí)鐘,作用為給單片機(jī)提供一個(gè)時(shí)間基準(zhǔn),其中執(zhí)行一條基本指令需要的時(shí)間為一個(gè)機(jī)器周期,單片機(jī)的復(fù)位電路,按下復(fù)位按鍵之后可以使單片機(jī)進(jìn)入剛上電的起始狀態(tài)。圖中10K電阻為P0口的上拉電阻,由于P0口跟其他IO結(jié)構(gòu)不一樣為漏極開(kāi)路的結(jié)構(gòu),因此要加上拉電阻才能正常使用。圖2.3單片機(jī)最小系統(tǒng)電路圖2.4數(shù)碼管模塊設(shè)計(jì)2.4.1顯示模塊的選型和論證方案一:采用點(diǎn)陣式數(shù)碼管顯示,它是由8*8的發(fā)光二極管組成,主要適合于文字的顯示,如果用于數(shù)字顯示的話,操作繁瑣且價(jià)格不便宜,所以在此不適用。方案二:采用LED數(shù)碼管動(dòng)態(tài)掃描,對(duì)于音階的顯示只要一個(gè)數(shù)碼管就足夠顯示數(shù)字0~15,分別顯示為0~F,且價(jià)格適中,占用單片機(jī)口線少。所以本設(shè)計(jì)中方案二中的LED數(shù)碼管作為顯示模塊。2.4.2數(shù)碼管原理介紹數(shù)碼管共有a,b,c,d,e,f,g,dp這8段組成,實(shí)際上這八個(gè)段每一段都是一個(gè)小LED燈,這8個(gè)小LED等組成了數(shù)碼管。按二極管連接方式的不同,數(shù)碼管可分為共陽(yáng)極數(shù)碼管和共陰極數(shù)碼管。共陽(yáng)數(shù)碼管是指將8個(gè)LED小燈的的陽(yáng)極連接在一起,由陽(yáng)極來(lái)控制小燈的亮滅;同理,共陰數(shù)碼管是指8個(gè)小LED登的陰極接到一起,由陰極來(lái)控制小燈的亮滅。對(duì)共陰極數(shù)碼管來(lái)說(shuō),一般情況下將陰極接地,那么我們需要將哪個(gè)數(shù)碼管點(diǎn)亮的話,只要給相對(duì)應(yīng)的發(fā)光二極管加高電平,不要發(fā)光的二極管加低電平就能顯示出我們想要的數(shù)字。對(duì)共陽(yáng)極數(shù)碼管來(lái)說(shuō),連接電路時(shí),我們將公共端接高電平,所以我們要點(diǎn)亮那個(gè)發(fā)光二極管就給它加上低電平。數(shù)碼管的顯示分為兩種:(1)靜態(tài)顯示:

靜態(tài)顯示時(shí)平均每個(gè)發(fā)光二極管分配單片機(jī)的一個(gè)I/O端口,各個(gè)發(fā)光二極管是相互分離的,也就是說(shuō)有多少個(gè)發(fā)光二極管就有分配到多少個(gè)I/O端口。但是單片微機(jī)的I/O端口是有限的。所謂靜態(tài)就是顯示的內(nèi)容不可以改變,顯示一個(gè)數(shù)字或者多個(gè)數(shù)碼管同時(shí)顯示一個(gè)數(shù)字。靜態(tài)顯示編程容易,只要更改數(shù)據(jù)端口的內(nèi)容就可以改變顯示的內(nèi)容,因?yàn)樗恍枰M(jìn)行掃描,換句話說(shuō),片選信號(hào)打開(kāi)后是不用關(guān)閉的。一般情況下這種方法很少用到,如果數(shù)碼管只有一個(gè)的時(shí)候可以使用。

(2)動(dòng)態(tài)顯示:

動(dòng)態(tài)顯示是將所有數(shù)碼管的8個(gè)發(fā)光二極管的同名端相連,此外給每一個(gè)數(shù)碼管的公共端添加位選通控制電路,它是由各自分離的I/O線控制。數(shù)碼管能接收單片機(jī)輸出的全部字形碼,利用單片微機(jī)對(duì)位選通電路的控制來(lái)決定哪個(gè)數(shù)碼管顯示。不同于靜態(tài)顯示不需要打開(kāi)片選信號(hào),而數(shù)碼管動(dòng)態(tài)顯示字符時(shí)需要打開(kāi)位選通控制。其實(shí)動(dòng)態(tài)顯示時(shí)發(fā)光二極管是輪流顯示的,只是利用了人們的視覺(jué)暫留和二極管的余暉效應(yīng),人們才感覺(jué)到在同一時(shí)刻顯示,這就要單片機(jī)保持控制。表2.2七段LED字型碼表顯示字符共陰極字形碼共陽(yáng)極字形碼顯示字符共陰極字形碼共陽(yáng)極字形碼03FHC0HC39HC6H106HF9HD5EHA1H25BHA4HE79H86H34FHB0HF71H8EH466H99HP73H8CH56DH92HU3EHC1H67DH82HR31HCEH707HF8Hy6EH91H87FH80HH76H89H96FH90HL38HC7HA77H88H“滅”00HFFHb7CH83H2.4.3數(shù)碼管電路設(shè)計(jì)圖2.4所示的是一位共陽(yáng)數(shù)碼管的硬件電路的連接圖,由于數(shù)碼管內(nèi)部有8個(gè)LED燈,如果直接把LED的陰極鏈接到單片機(jī)的IO的口,會(huì)使LED通過(guò)的電流過(guò)大從而燒毀數(shù)碼管,因此在設(shè)計(jì)的時(shí)候,加上一個(gè)限流電阻在LED的陰級(jí)和單片機(jī)的IO之間從而起到限流作用。本設(shè)計(jì)選取了1K的電阻。根據(jù)數(shù)碼管真值表我們很容易看出我們需要顯示字符所對(duì)應(yīng)的字形碼,程序編寫(xiě)的時(shí)候可以使過(guò)程更加簡(jiǎn)化。表2.3是共陽(yáng)極數(shù)碼管所對(duì)應(yīng)的真值表。圖2.4共陽(yáng)數(shù)碼管硬件電路連接圖表2.3共陽(yáng)極數(shù)碼管真值表共陽(yáng)極數(shù)碼管數(shù)字顯示二進(jìn)制十六進(jìn)制01100,00000xC011111,10010xF921010,01000xA431011,00000xB041001,10010x9951001,00100x9261000,00100x8271111,10000xF881000,00000x8091001,00000x90A1000,10000x88B1000,00110x83C1100,01100xC6D1010,00010xA1E1000,01100x86F1011,11100xBE2.5矩陣鍵盤(pán)模塊設(shè)計(jì)2.5.1按鍵模塊的選型和論證方案一:輸入模式采用獨(dú)立按鍵,一個(gè)按鍵占用單獨(dú)的一個(gè)I/O口,本設(shè)計(jì)電子琴需要16個(gè)輸入按鍵,可是我們選用的單片機(jī)只有32個(gè)IO口線,獨(dú)立按鍵占用口線多,不利于往后的功能擴(kuò)展。方案二:輸入模式采用4*4的矩陣鍵盤(pán),在矩陣式鍵盤(pán)中,每條行列線和豎列線交界的地方是斷路的,而是通過(guò)一個(gè)按鍵的閉合和斷開(kāi)控制連通和斷開(kāi)。電子琴設(shè)計(jì)需要鍵盤(pán)數(shù)多,單片微機(jī)的I/O口有限,為了減少I/O口的使用,采用矩陣鍵盤(pán)再好不過(guò)。所以本設(shè)計(jì)中方案二中的矩陣按鍵作為鍵盤(pán)模塊。2.5.24*4矩陣鍵盤(pán)的原理該鍵盤(pán)為4×4矩陣鍵盤(pán),就是將按鍵排列成矩陣的形式,也成行列鍵盤(pán),這是一種常見(jiàn)的連接方式。采用了逐行掃描的方法來(lái)識(shí)別鍵盤(pán)鍵入的鍵碼其鍵。這是運(yùn)用很頻繁的一種識(shí)別按鍵的方法,它工作的原理如下:

(1)如何知道用戶是否按下按鍵將P2.3-P2.0置低電平輸出,然后讀取P2.7-P2.4四根輸入列線中有沒(méi)有低電平出現(xiàn)。只要有低電平出現(xiàn)就表明有按鍵按下(實(shí)際編程時(shí),還要進(jìn)行按鍵消抖),反之無(wú)鍵按下。

(2)如何知道是哪個(gè)按鍵被按下

在確認(rèn)有鍵按下后,如果P2.1輸出低電平,也就是P2.3=1,P2.2=1,P2.1=0,P2.0=1,測(cè)得P2.4輸入為低電平,也就是P2.7=1,P2.6=1,P2.5=1,P2.4=0,這樣就可以知道是S11處于閉合狀態(tài)。

鍵盤(pán)接口必須具備以下4個(gè)基本功能:

去抖動(dòng):按鍵在按動(dòng)和釋放的時(shí)候都會(huì)產(chǎn)生很細(xì)微的短暫的抖動(dòng)。這個(gè)時(shí)間與按鍵的機(jī)械特性有關(guān)。一般情況下在5—10ms之間。抖動(dòng)會(huì)導(dǎo)致一次按鍵被誤讀多次。可以通過(guò)軟件編程的方式來(lái)去除。(2)防串鍵為了解決在有多個(gè)按鍵同一時(shí)刻按下時(shí)、之前的按鍵沒(méi)有松開(kāi)后又有按鍵按下所引發(fā)的問(wèn)題??梢圆扇⊥ㄓ玫姆椒ǎ弘p鍵鎖定,在2個(gè)或者多于2個(gè)的按鍵按下時(shí),只產(chǎn)生最后松開(kāi)的鍵的鍵碼;N鍵輪回,有多個(gè)鍵不在同一時(shí)刻按下依據(jù)它們被按下的順序來(lái)產(chǎn)生鍵碼。

(3)被按鍵識(shí)別:主要由接口解決,可由軟件和硬件共同完成??梢圆扇⊥ㄓ玫姆椒ǎ盒袙呙璺ǎ和ㄟ^(guò)軟件編程逐一對(duì)每個(gè)行列掃描,檢測(cè)豎列判斷閉合的鍵。這邊就需要有輸入和輸出口;線反轉(zhuǎn)法:將行列顛倒兩次掃描從而判斷閉合鍵,這邊需要2個(gè)可編程的雙向I/O口。

行線全輸出0,有鍵按下的列為0,輸入列線,得到列值。

(4)鍵碼產(chǎn)生:設(shè)置一個(gè)鍵盤(pán)編碼表放在內(nèi)存區(qū),利用查表法得到按鍵行列編碼對(duì)應(yīng)功能的鍵碼。圖2.5矩陣鍵盤(pán)模塊電路圖硬件電路設(shè)計(jì)圖如圖2.5所示。把單片機(jī)的P2.0-P2.7端口通過(guò)8聯(lián)撥動(dòng)撥碼開(kāi)關(guān)連接到“4*4行列式鍵盤(pán)”,其中P2.4-P2.7作為列線,P2.0-P2.3作為行線,系統(tǒng)首先通過(guò)CPU對(duì)全部鍵盤(pán)進(jìn)行掃描,即把第一根行線置為“0”狀態(tài),其余行線置于“1”狀態(tài),讀入輸入緩沖器的狀態(tài),若其狀態(tài)全為“1”表明該行無(wú)鍵按下,再將第二根行線置為“0”狀態(tài),同樣讀入輸入緩沖器的狀態(tài),如其狀態(tài)也全為“1”,則置第一根行線置為“0”狀態(tài),以此類推。如讀入輸入緩沖器的狀態(tài)不全為“1”,確定哪一根列線為“0”狀態(tài),當(dāng)某個(gè)鍵的行線和列線都為“0”狀態(tài)時(shí),表明該鍵按下。本次電子琴設(shè)計(jì)的彈奏鍵盤(pán)布局如圖2.6所示。利用單片機(jī)的一個(gè)P口分別連接矩陣鍵盤(pán)的4根行線和4根列線來(lái)實(shí)現(xiàn)按鍵功能,有利于矩陣鍵盤(pán)對(duì)于按鍵的使用率同時(shí)也有利于單片機(jī)外圍電路資源的節(jié)約。CdEF89Ab45670123圖2.6琴鍵的布局2.6發(fā)音模塊設(shè)計(jì)發(fā)音模塊電路原理圖如圖2.7所示。發(fā)音模塊由揚(yáng)聲器、LM386功率放大器、上拉電阻構(gòu)成,單片機(jī)本身無(wú)法驅(qū)動(dòng),所以要加上上拉電阻電流驅(qū)動(dòng)。圖2.7發(fā)音模塊電路圖2.6.1功率放大模塊的選型和論證方案一:利用三極管做功率放大器,三極管價(jià)格低,但是設(shè)計(jì)的電路比較復(fù)雜且調(diào)試起來(lái)麻煩,為了調(diào)試方便不采取三極管。方案二:使用集成芯片LM386,它是一種音頻集成功率放大器,靜態(tài)功耗低,大致為4毫安,電池供電就可以工作??晒┕ぷ鞯碾妷悍秶鷱V,外圍電路元器件少。電壓放大系數(shù)可以調(diào)節(jié),失真度也低。因此本設(shè)計(jì)采用方案二中的LM386芯片作為功率放大模塊的芯片。2.6.2音樂(lè)信號(hào)產(chǎn)生的原理單片機(jī)所播放的樂(lè)曲根本上是單一音樂(lè)頻率的,它不具有與之有著相對(duì)應(yīng)幅值得諧波頻率,換句話說(shuō)不會(huì)像能夠電子琴演奏出的各種各樣的音色。但一定要了解聲音的三個(gè)主要的主觀屬性中的一點(diǎn)“音調(diào)”和衡量節(jié)奏的單位的“節(jié)拍”。音調(diào):聲音頻率的高低;節(jié)拍:指有一定強(qiáng)弱不同的一系列拍子在平均隔一段時(shí)間反復(fù)產(chǎn)生,也就是音樂(lè)演奏的時(shí)長(zhǎng)。那么音樂(lè)是如何產(chǎn)生的呢?關(guān)鍵是由單片機(jī)的I/O口輸出高低區(qū)分的脈沖信號(hào)從而操縱喇叭的發(fā)聲。要產(chǎn)生某一音頻的脈沖信號(hào)首先要計(jì)算出這一音頻的周期T,然后T/2得到半個(gè)周期的時(shí)間。單片機(jī)根據(jù)這個(gè)T/2,每次計(jì)時(shí)的時(shí)間到了以后就使得輸出脈沖的I/O口反相,反復(fù)計(jì)時(shí)T/2的時(shí)間再一次反相。這樣我們所要的這個(gè)頻率的脈沖就可以從這個(gè)I/O得到了。通過(guò)變化工作在單片機(jī)的定時(shí)器0的方式1下的初值高八位和低八位來(lái)產(chǎn)生不同頻率。

想要構(gòu)成美妙的音樂(lè)只有音調(diào)是不夠的還需要節(jié)拍,讓樂(lè)曲擁有律動(dòng)也就是旋律。節(jié)拍也就是俗話說(shuō)的打拍子。假設(shè)一拍是1秒鐘,那么二分之一拍就是0.5秒。這個(gè)延遲的時(shí)間就代表節(jié)拍的時(shí)間。二分之一拍是一個(gè)延遲,那么一拍就是兩個(gè)延遲時(shí)間,舉一反三,其余的節(jié)拍就是這個(gè)節(jié)拍的倍數(shù)。一拍確定的是多少秒沒(méi)有明文規(guī)定。音發(fā)聲的時(shí)間我們用拍數(shù)來(lái)表示。音樂(lè)的暫停用休止符表示。各種各樣的音符融合在一起構(gòu)成了音樂(lè),每個(gè)音符都有它固有的頻率,也就是說(shuō)各種不同的頻率加上不同的拍數(shù)就形成了簡(jiǎn)單的音樂(lè)。簡(jiǎn)單的了解到音樂(lè)的頻率是不同的音樂(lè)脈沖產(chǎn)生的,而不同的音樂(lè)頻率脈沖是非常容易得到的,可以通過(guò)單片機(jī)內(nèi)部的定時(shí)器和計(jì)數(shù)器來(lái)產(chǎn)生不同的方波信號(hào)。音符和它相應(yīng)的頻率我們可以通過(guò)查表得到,通過(guò)查閱相關(guān)資料我們也可以得到定時(shí)器計(jì)數(shù)器的關(guān)系。查表可以知道我們所要求的音符的頻率,知道頻率f我們就可以知道周期T=1/f,然后T/2得到半個(gè)周期的時(shí)間,使得單片機(jī)的定時(shí)器計(jì)時(shí)這個(gè)T/2的時(shí)間,當(dāng)計(jì)時(shí)到時(shí)將I/O口反相,計(jì)時(shí)到時(shí)再一次反相,從而可以從這個(gè)I/O口上得到我們想到的這個(gè)音頻的脈沖。要想產(chǎn)生不同的音階,就要產(chǎn)生不同的頻率,這個(gè)不同的頻率就是使得單片機(jī)的內(nèi)部定時(shí)器工作在計(jì)數(shù)器模式一下通過(guò)改變計(jì)數(shù)值高八位和低八位產(chǎn)生的。表2.4音符頻率表音階低音f/HzX中音f/HzX高音f/HzX1262F88CH523FC44H1047FE22H2294F95BH587FCACH1175FE56H3330FA15H659FD09H1319FE85H4349FA67H698FHD341397FE9AH5392FB04H784FD82H1568FEC1H6440FB90H880FDC8H1760FEE4H7494FC0CH988FE06H1976FF03各個(gè)音符所對(duì)應(yīng)的頻率可以通過(guò)表2.4查找。舉個(gè)例子,f為659Hz,其T=1/659=1517μs,因此只要令計(jì)數(shù)器計(jì)時(shí)1517/2=759μs/1μs=759,計(jì)數(shù)759次時(shí)將I/O反相,再計(jì)數(shù)759次時(shí)將I/O再反相,就可得到中音Mi(659Hz)。

計(jì)數(shù)脈沖值與頻率的關(guān)系如式(3-1):

(3-1)式中,N:計(jì)數(shù)值;:機(jī)器頻率(12M的晶振機(jī)械頻率為1M);:想要產(chǎn)生的頻率。

計(jì)數(shù)初值T與計(jì)數(shù)脈沖值關(guān)系如式(3-2):

(3-2)例:設(shè)K=65536,=1MHz,求低音Mi(330Hz)、中音Mi(659Hz)、高音Mi(1319Hz)的計(jì)數(shù)值。

T=65536-N=65536///2=65536-1000000/2/=65536-500000/低音、中音、高音Re的T=65536-500000/330=64021/=65536-500000/659=64777/=65536-500000/1319=651572.6.3LM386的引腳說(shuō)明圖2.8LM386管腳圖圖2.8所示LM386的管腳圖:(1)引腳2為反相輸入端;(2)引腳3為同相輸入端;(3)引腳4為接地端;(4)引腳5為輸出端;(5)引腳6為電源端;(6)引腳7為旁路端;(7)引腳1和8為電壓增益設(shè)定端;使用時(shí)在引腳7和地之間接旁路電容,一般改變放大系數(shù)的電容取10uf,1管腳和8管腳是用來(lái)調(diào)節(jié)放大系數(shù)的。電壓放大系數(shù)通過(guò)在1腳和八腳之間接電容或者不接來(lái)改變。1管腳和8管腳不接時(shí),電壓放大系數(shù)為20,1管腳和8管腳接上10uf電容時(shí),電壓放大系數(shù)為200;因?yàn)?腳在不外加任何激勵(lì)時(shí)會(huì)自己產(chǎn)生振蕩,所以在6腳與地之間接10uf電容來(lái)消除也許發(fā)生的自激震蕩,7腳不會(huì)產(chǎn)生自激振蕩所以可懸空不接。2.6.4LM386的特性(1)靜態(tài)耗電量低。(2)輸出功率適中。

(3)電源電壓Vcc使用范圍廣:四伏到十二負(fù)之間。(4)外部接元器件不多。(5)電壓放大系數(shù)可以在20到200之間調(diào)節(jié)。(6)總諧波失真小。2.6.5LM386使用注意事項(xiàng)(1)在LM386的管腳1(接正極)和管腳8腳間之間接電容來(lái)改變放大系數(shù),不需要是放大系數(shù)為20。所以如果不需要大的增益可以不接電容,這樣既節(jié)省成本又減少噪音。(2)在設(shè)計(jì)PCB的時(shí)候,電路板上的元件盡可能接近LM386;接地的線盡可能粗;輸入/輸出音頻信號(hào)的通路走線要平行。(3)好調(diào)節(jié)音量的電位器。質(zhì)量稍好阻值適中,10K最合適,阻止過(guò)大影響音質(zhì)。(4)可能采用雙音頻輸入/輸出。這樣的話在抵消共模信號(hào)的同時(shí)也有效的抑制了共模噪聲。(5)7管腳必須接旁路電容,這個(gè)電容很好的起到了過(guò)濾噪聲的作用。在穩(wěn)定時(shí)此管腳電壓值約為電源電壓的二分之一。增大旁路電容的容值,從而起到對(duì)直流基準(zhǔn)電壓的上升、下降減速的作用,最終有效抑制噪聲。(6)減少輸出耦合電容。此電容有兩個(gè)作用:隔直+耦合。隔斷直流電壓,因?yàn)槿绻绷麟妷禾蟮脑挄?huì)燒壞喇叭線圈;耦合音頻的交流信號(hào)。此電容同揚(yáng)聲器負(fù)載一起構(gòu)成了一階高通濾波器。(7)電源的處理,因?yàn)殡妷?、?fù)載以及并聯(lián)的去耦電容有所不同,每組電源的上升、下降時(shí)間也有差異。選擇上升較慢的電源接LM386,也不要低于4V。2.7本章小結(jié)本章主要介紹了介紹了簡(jiǎn)易電子琴的設(shè)計(jì)要求,STC89C52單片機(jī)的特性和引腳功能說(shuō)明,各個(gè)模塊的選型進(jìn)行論證,對(duì)硬件電路的設(shè)計(jì)進(jìn)行了闡述,其中硬件電路包含了最小系統(tǒng)設(shè)計(jì),鍵盤(pán)設(shè)計(jì),數(shù)碼管顯示電路設(shè)計(jì),在顯示電路中對(duì)數(shù)碼管顯示的原理、定時(shí)器產(chǎn)生音樂(lè)信號(hào)原理、LM386引腳說(shuō)明和LM386使用時(shí)候注意的事項(xiàng)及特性也作了介紹。

第三章系統(tǒng)軟件設(shè)計(jì)本設(shè)計(jì)開(kāi)發(fā)單片機(jī)程序是基于匯編語(yǔ)言的,所以我們需要一個(gè)匯編語(yǔ)言編譯器。我們選用keil軟件,它支持一系列的單片機(jī)。3.1電子琴設(shè)計(jì)所用設(shè)備軟件KeiluVision2主要特點(diǎn):與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì)。作用:編寫(xiě)程序。(2)STC_ISP_V483主要特點(diǎn):針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C2052系列和12C5410等系列的STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。作用:?jiǎn)纹瑱C(jī)下載編程燒錄軟件。(3)Protel99SE主要特點(diǎn):PC環(huán)境下以獨(dú)特設(shè)計(jì)管理和協(xié)作技術(shù)為核心的印制電路板設(shè)計(jì)軟件系統(tǒng),是基于Windows95、98、2000、NT的全32位EDA設(shè)計(jì)系統(tǒng),只要采用輪流SMartDoc技術(shù)、SmartTool技術(shù)、SmartTeam技術(shù)。作用:數(shù)字電路仿真。ISIS7Professional主要特點(diǎn):具有其它EDA工具軟件的功能,諸如:原理布圖、PCB自動(dòng)或人工布線、SPICE電路仿真。特點(diǎn):互動(dòng)的電路仿真、仿真處理器及外圍電路。作用:繪制電路圖和PCB板圖。Visio2013主要特點(diǎn):更直觀的方式創(chuàng)建圖表的新功能,包括全新和更新的形狀和模具及改進(jìn)的效果和主題,還提供共同編寫(xiě)功能,可使團(tuán)隊(duì)協(xié)作變得更加容易。作用:繪制系統(tǒng)框圖。3.2系統(tǒng)軟件總體設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)由主程序、初始化程序、歌曲播放程序、數(shù)碼管顯示程序、鍵盤(pán)掃描程序、中斷程序、定時(shí)程序等組成。主要程序設(shè)計(jì)流程圖如圖3.1所示:圖3.1主程序流程圖主程序流程圖如圖3.1所示,單片機(jī)上電后先進(jìn)行初始化,清除一些參數(shù)的初值,然后單片機(jī)通過(guò)不斷的掃描矩陣鍵盤(pán)從而判斷用戶按下的是哪個(gè)按鍵,用戶按下按鍵后單片機(jī)通過(guò)裝載不同的值給定時(shí)器從而發(fā)出不同頻率的聲音。3.3程序設(shè)計(jì)原理 軟件操作和硬件電路的設(shè)計(jì)是相鋪相成的。首先,我們要做成一個(gè)完整的電路,必須先確定需要的元器件,選擇同作用的元器件是要從使電路簡(jiǎn)單化,降低成本等多種因素出發(fā),從而確定所要用到的元器件;其次,了解他們的管腳及其工作原理;最終,我們?cè)谠O(shè)計(jì)好電路格局以后我們得先用軟件來(lái)進(jìn)行仿真,進(jìn)行不斷的測(cè)試和調(diào)試可行以后再進(jìn)行電路的搭建和焊接。程序設(shè)計(jì)要從可靠性、嚴(yán)謹(jǐn)性、抽象性、疊加性這幾個(gè)方面出發(fā)考慮。程序設(shè)計(jì)的過(guò)程:(1)、定義問(wèn)題——建立程序的規(guī)格說(shuō)明;(2)、設(shè)計(jì)問(wèn)題——建立程序的系統(tǒng)結(jié)構(gòu)、算法;(3)、程序編碼——用計(jì)算機(jī)語(yǔ)言編寫(xiě)源程序;(4)、程序測(cè)試——通過(guò)調(diào)試和考題檢測(cè)程序的正確性。程序設(shè)計(jì)的準(zhǔn)則:要求程序代碼簡(jiǎn)明易讀;程序占用資源少,運(yùn)行時(shí)間短,與軟硬件環(huán)境有關(guān);改正軟件錯(cuò)誤,因運(yùn)行環(huán)境變化或軟件功能擴(kuò)充而對(duì)軟件進(jìn)行改動(dòng);軟件開(kāi)發(fā)盡可能遠(yuǎn)離機(jī)器特征,通用性好,應(yīng)用范圍廣。是3.4程序模塊是3.4.1主程序模塊主程序主要是完成系統(tǒng)初始化、設(shè)置中斷向量、檢查有無(wú)鍵按下、以及調(diào)用顯示等等。圖3.2中斷程序流程圖主程序部分如下所示:voidmain(){ P0=P1=P2=P3=0xff; TMOD=0x01;EA=1;ET0=1;//定時(shí)器0初始化 while(1) { P1=0xdf; //顯示小數(shù)點(diǎn) key(); //按鍵程序/*****************定時(shí)器0中斷*********************/ voidT0_int()interrupt1{ beep=!beep; TH0=T[m][0]; TL0=T[m][1];}3.4.2按鍵程序模塊鍵盤(pán)采用查詢的方式,將鍵盤(pán)子程序插在主程序中,上電后單片機(jī)一直循環(huán)的執(zhí)行主程序,但是一有按鍵閉合,立即去執(zhí)行鍵盤(pán)掃描子程序,執(zhí)行完后再繼續(xù)循環(huán)執(zhí)行主程序。其程序流程如圖3.3所示:圖3.3按鍵模塊流程圖鍵盤(pán)部分程序如下:/******************按鍵程序*************************/ucharkey_can; //按鍵值P2口高位接縱坐標(biāo)(P2.7-P2.4),低四位接橫坐標(biāo)(P2.3-P2.0)voidkey() //獨(dú)立按鍵程序{ staticucharkey_new=0,key_l; key_can=20;//按鍵值還原 P2=0x0f;//有按鍵按下后,對(duì)應(yīng)按鍵的橫坐標(biāo)電位變成“0” if((P2&0x0f)!=0x0f) //按鍵按下 { delay_1ms(1); //按鍵消抖動(dòng) if(((P2&0x0f)!=0x0f)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; key_l=(P2|0xf0);//矩陣鍵盤(pán)掃描 P2=key_l;3.4.3歌曲播放程序模塊此歌曲播放模塊以列入了小蘋(píng)果、生日快樂(lè)、愛(ài)情買賣三首歌,該處只用小蘋(píng)果一例不加以贅述。選用if語(yǔ)句配合獨(dú)立按鍵的識(shí)別,按一下播放內(nèi)存歌曲的第一首,兩下播放第三首,以此類推。同時(shí)以上歌曲的編程我是利用51單片機(jī)音樂(lè)代碼生成器進(jìn)行編程的,只要按照歌曲簡(jiǎn)譜將音樂(lè)彈入音樂(lè)代碼生成器即可得帶這首歌所對(duì)應(yīng)的音樂(lè)程序,圖3.4是生成器界面:圖3.4音樂(lè)代碼生成器界面歌曲播放程序如下:/*********************歌曲播放*********************/ K1=1; if(K1==0) { delay_1ms(10); //按鍵去抖動(dòng) if(K1==0) { num=8; P1=smg_du[num];//使數(shù)碼管顯示該音調(diào)的字符 flag_en++; flag_i=0;if(flag_en==1) //小蘋(píng)果 m=music1[flag_i][0];n=music1[flag_i][1]; //放歌 P1=smg_du[m%16]; //根據(jù)音調(diào)顯示音階 if(m==0x00) { TR0=0; beep=1; delay(n); flag_i++; } elseif(m==0xFF) //放歌結(jié)束3.4.4數(shù)碼管顯示程序模塊一般這種在程序運(yùn)行中不需要改變的數(shù)組,由于它占空間太大想把它們放在RAM里是不可能的,加了code后它們就會(huì)燒寫(xiě)到flash中,而不會(huì)調(diào)入RAM。圖3.5顯示模塊流程圖數(shù)碼管顯示程序如下:ucharnum=0;//初始化num,用于控制數(shù)1碼管顯示的字符//數(shù)碼管段選定義01234 5 6 7 8 9ucharcodesmg_du[]={0x28,0xee,0x34,0xa4,0xe2,0xa1,0x21,0xec,0x20,0xa0,// A B C D EF 不顯示 0x60,0x23,0x39,0x26,0x31,0x71,0xbf}; //斷碼 顯示模塊在各個(gè)子程序模塊中都有體現(xiàn):(1)彈奏時(shí),有按鍵按下顯示音階,無(wú)按鍵按下上電后顯示小數(shù)點(diǎn)P1=smg_du[key_can]; //顯示 while(P2!=0x0f) P2=0x0f; TR0=0; //關(guān)閉定時(shí)器 } } else //按鍵松開(kāi) { P1=0xdf; //顯示小數(shù)點(diǎn) key_new=1; }(2)播放歌曲時(shí),根據(jù)音階顯示發(fā)出音的音階 P1=smg_du[num];//使數(shù)碼管顯示該音調(diào)的字符P1=smg_du[m%16]; //顯示音階3.5本章小結(jié)軟件設(shè)計(jì)由主程序、初始化程序、數(shù)碼管顯示程序、鍵盤(pán)掃描程序等組成。程序設(shè)計(jì)是分模塊進(jìn)行的,子程序是整體軟件系統(tǒng)的組成部分,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)單化,同時(shí)也方便閱讀,修改等,每個(gè)功能模塊都有它自己的子程序,在本設(shè)計(jì)中是用LED顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計(jì)中用的是矩陣鍵盤(pán),所以就用到鍵盤(pán)掃描子程序。在設(shè)計(jì)的過(guò)程中要通過(guò)不斷調(diào)試確保正確性,只有各個(gè)子程序模塊的正確性得到保證才能確保整個(gè)程序的運(yùn)行順暢。

第四章系統(tǒng)制作及調(diào)試4.1焊接注意事項(xiàng)(1)看懂電路設(shè)計(jì)的原理圖同時(shí)對(duì)照著電路板可以用鉛筆在板子上面畫(huà)出各個(gè)板塊的位置和連線,這樣很清晰的看出布局,按著布局,元器件從低到高、先小后大的順序進(jìn)行焊接,尤其是先焊接USB接口和電阻器件。(2)焊接元器件時(shí),首先固定主要的幾個(gè)引腳,再焊其他的引腳,以免焊接的時(shí)候搖搖晃晃,因?yàn)橐坏┕潭▋蓚€(gè)以上引腳,元器件的位置就不可動(dòng)。

(3)焊接USB接口時(shí),不要焊接旁邊的電容和復(fù)位按鍵,等焊上USB接口后,USB不能短路。(4)電位器都是有方向的,在焊接發(fā)光二極管、電解電容和蜂鳴器時(shí)一定要仔細(xì)它們的極性。對(duì)引腳過(guò)長(zhǎng)的電器元件(如電容器,電阻等),焊接完后,要將其剪短。(5)芯片與底座都是有方向的,焊接時(shí),要嚴(yán)格按照萬(wàn)用板上的缺口所指的方向,使芯片、底座與萬(wàn)用板的缺口一一對(duì)應(yīng)。89C52單片機(jī)系列的芯片都是很脆弱的,焊接溫度不能太高,建議采用點(diǎn)焊而不用拉焊。在洞洞板上焊接芯片之類的器件時(shí)一定要將管腳盡可能的插到底。(6)焊接數(shù)碼管時(shí)一定要注意,必須先焊接板子底層的2個(gè)芯片,在焊接之前可以用剪刀將芯片引腳過(guò)長(zhǎng)的部分剪去。

(7)焊接電阻或者外觀相同電容時(shí),一定要注意它們的阻值和容值,在焊接之前我們可以用標(biāo)簽將阻值容值大小貼在電阻和電容器上,以便查找。(8)電路板焊接并非是焊錫越多焊接的就越好,焊錫量要合適,電烙鐵要選擇好合適的瓦數(shù),焊接元器件前要先對(duì)電路接線圖,原理圖有一定的了解之后再進(jìn)行焊接,不要貿(mào)然行動(dòng)。

(9)接前要把工具都準(zhǔn)備好,窗戶打開(kāi),焊錫的氣味對(duì)身體不好,焊接時(shí)一定要細(xì)心,元器件的方向一定要對(duì),電阻值要選擇好,電解電容、二極管和三極管是有方向的。(10)

管腳剪切的合適,焊接好后就不要再動(dòng)它了,有時(shí)候修改不好,反而使焊接好的板子弄壞了,比如把電路板上鍍的銅箔線刮斷,元器件損壞等,再進(jìn)行補(bǔ)救都不好補(bǔ)了。4.2硬件調(diào)試和軟件調(diào)試的問(wèn)題及解決方法對(duì)于有多個(gè)模塊的電路設(shè)計(jì),在焊接之前必須要先進(jìn)行軟件仿真進(jìn)行測(cè)試電路是否正確,是否能運(yùn)行流暢,如果各方面都調(diào)試好,我們要熟悉電路圖的連接,仿真圖上的線連接錯(cuò)了可以撤銷,但是實(shí)物操作時(shí)一旦連接錯(cuò)了就很難更改,改動(dòng)不好的很可能引起電路的短路。我在本次電子琴電路的焊接中也遇到了一些問(wèn)題:(1)數(shù)碼管一直不能顯示數(shù)字。解決:沒(méi)有確定數(shù)碼管是共陰還是共陽(yáng),共陰的段選送高電平,共陽(yáng)的段選送低電平把共陰數(shù)碼管換成共陽(yáng)數(shù)碼管。如圖4.1是調(diào)試后顯示結(jié)果。(2)以為單片機(jī)IO口可以直接驅(qū)動(dòng)喇叭發(fā)聲,后來(lái)調(diào)試的時(shí)候久久不能出聲音。解決:通過(guò)查閱資料,知道單片機(jī)沒(méi)有能力驅(qū)動(dòng)只能依靠功率放大才能驅(qū)動(dòng)喇叭發(fā)聲。圖4.1調(diào)試后顯示結(jié)果在軟件的調(diào)試過(guò)程中主要遇到的問(wèn)題如下:(1)燒入程序后,LED數(shù)碼管顯示的內(nèi)容不停地閃動(dòng),而且亮暗程度不平衡。解決:這個(gè)是延時(shí)時(shí)間太慢,LED顯示一個(gè)音階后再顯示下一個(gè)音階之間間隔的時(shí)間太長(zhǎng),所以是要將時(shí)間縮短讓人們達(dá)到視覺(jué)暫留就可以解決閃動(dòng)的問(wèn)題。其次,本次設(shè)計(jì)數(shù)碼管顯示采用的是動(dòng)態(tài)掃描的方式,動(dòng)態(tài)掃描很快,人的肉眼是無(wú)法看出,但是調(diào)用的顯示程序時(shí),必須在反回的時(shí)候屏蔽掉最后的附值,不然會(huì)出現(xiàn)數(shù)碼管特別亮的現(xiàn)象,這樣亮度不平衡。解決方法:加上屏蔽的子程序。(2)當(dāng)用戶按下按鍵的時(shí)候,定時(shí)器設(shè)置的頻率跟設(shè)計(jì)的不對(duì)應(yīng)。解決:由于定時(shí)器中,有大量需要處理的語(yǔ)句使設(shè)置定時(shí)器的頻率不準(zhǔn),為了解決這個(gè)問(wèn)題,我把不太相關(guān)的語(yǔ)句放大定時(shí)器外部使用。4.3本章小結(jié)本章節(jié)主要對(duì)硬件焊接電路焊接時(shí)的注意點(diǎn)進(jìn)行了簡(jiǎn)單的介紹,在硬件單路焊接完成后和軟件編程設(shè)計(jì)完成后進(jìn)行調(diào)試,調(diào)試中遇到了什么問(wèn)題,是如何解決的簡(jiǎn)單的說(shuō)明。

結(jié)束語(yǔ)此次畢設(shè)是一次完全脫離課堂、脫離老師的自己思考自己動(dòng)手操作的過(guò)程。這次畢設(shè)把我在大學(xué)課堂上學(xué)到的焊接技術(shù),電路連接技術(shù),書(shū)本上學(xué)到的關(guān)于電路元件、軟件編程結(jié)合運(yùn)用。有句話說(shuō)實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),通過(guò)自己親自實(shí)踐才能將實(shí)際與理論相結(jié)合。在設(shè)計(jì)之前我翻閱了很多關(guān)于基于單片機(jī)設(shè)計(jì)的書(shū)籍也搜集了關(guān)于在我之前也做過(guò)電子琴的前輩們的設(shè)計(jì),我先弄清我的設(shè)計(jì)之前,我要先了解電子琴本身的內(nèi)部結(jié)構(gòu)和外部功能,然后再規(guī)劃我所設(shè)計(jì)的簡(jiǎn)易電子琴需要哪些功能,這些功能都如何實(shí)現(xiàn),需要什么元器件,這些元器件的功能說(shuō)明。結(jié)合前輩們做的復(fù)雜的簡(jiǎn)單的電子琴設(shè)計(jì),我決定本系統(tǒng)基本能實(shí)現(xiàn)矩陣鍵盤(pán)用來(lái)彈奏簡(jiǎn)單的音樂(lè)、揚(yáng)聲器按鍵播放內(nèi)存音樂(lè)、在彈奏和演奏時(shí)數(shù)碼管顯示對(duì)應(yīng)的音符。本次的設(shè)計(jì)只是簡(jiǎn)易的電子琴設(shè)計(jì),所以有很多不足之處:(1)可供彈奏著彈奏的音符數(shù)太少,只設(shè)置了低8度和高8度16個(gè)音符,只能彈奏只有兩個(gè)音調(diào)變換的譜子,但是我們可以增加鍵盤(pán)的數(shù)量,這樣可以設(shè)置低中高音也就可以彈奏復(fù)雜的曲子;(2)電子琴發(fā)出聲音的音量不可以調(diào)高或者調(diào)低。此次畢業(yè)設(shè)計(jì)是一個(gè)綜合設(shè)計(jì),我需要焊接電子琴外部電路實(shí)物再結(jié)合軟件編程來(lái)實(shí)現(xiàn)。關(guān)于硬件部分:我需要考慮到所需要的電子元器件還要熟悉電烙鐵如何焊接;關(guān)于軟件部分:首先硬件電路的焊接需要設(shè)計(jì)原理圖,原理圖可以通過(guò)Protel99軟件來(lái)繪畫(huà),其次電路圖設(shè)計(jì)好以后不能就直接焊接,需要利用protues軟件進(jìn)行仿真,仿真如果調(diào)試可行以后再進(jìn)行焊接電路;最終我們需要用Keil軟件進(jìn)行編程,編譯正確以后先燒入仿真圖中進(jìn)行調(diào)試,調(diào)試正確后方可通過(guò)單片機(jī)的串口燒錄到硬件電路中運(yùn)行。此次畢設(shè)過(guò)程中,我通過(guò)自我學(xué)習(xí),學(xué)會(huì)了各種軟件的使用,同時(shí)也學(xué)會(huì)了分析問(wèn)題解決問(wèn)題的能力,加深了對(duì)所學(xué)理論知識(shí)的理解和運(yùn)用。四年對(duì)工科方面知識(shí)的學(xué)習(xí),雖然學(xué)的不精,但是畢竟也優(yōu)點(diǎn)基礎(chǔ),在結(jié)合對(duì)畢設(shè)的這幾個(gè)月的準(zhǔn)備,也再一次讓我重溫了原來(lái)學(xué)習(xí)的內(nèi)容,我的動(dòng)手能力得到了很大的提高,創(chuàng)新意識(shí)得到了鍛煉。

參考文獻(xiàn)[1]邵發(fā)森.單片機(jī)原理與應(yīng)用及其實(shí)驗(yàn)指導(dǎo)書(shū)[M].北京:北京大學(xué)出版社,2012.[2]高峰.單片機(jī)微型計(jì)算機(jī)原理與接口技術(shù)[M].北京:科學(xué)出版社,2007.[3]郭天祥.51單片機(jī)C語(yǔ)言教程[M].北京:電子工業(yè)出版社,2009.[4]王東峰.單片機(jī)C語(yǔ)言應(yīng)用100例[M].北京:電子工業(yè)出版社,2009.

[5]高稚允,高岳.光電檢測(cè)技術(shù)[M].北京:國(guó)防工業(yè)出版社,1983.[6]潘曉利,陳學(xué)煌,祝祥迪.基于單片機(jī)的MIDI電子琴的設(shè)計(jì)[J].電子測(cè)量技術(shù),2008,31(6):174-176.[7]王嘯東,王春燕.基于單片機(jī)智能電子琴的設(shè)計(jì)[J].考試周刊,2012,12(74):128-128.[8]周琛暉.基于AT89S51單片機(jī)的電子琴設(shè)計(jì)[J].電腦知識(shí)與技術(shù),2009,5(27):3-9.[9]彭建英,彭光含,曾志剛.基于單片機(jī)的簡(jiǎn)易電子琴[J].湖南文理學(xué)院學(xué)報(bào):自然科學(xué)版,2015,8(4):30-32.[10]張玉林,鎮(zhèn)桂勤.基于AT89C51型單片機(jī)的號(hào)音自動(dòng)播放器設(shè)計(jì)[J].國(guó)外電子元器件,2006,12(6):3-8.[11]H.X.Jing.Designandrealizationofmulti-functionalgatewaybasedonsinglechip[J].ImageandSignalprocessing,2009,9(2):1-4.[12]W.J.Kaminsky,E.S.Davidson.SpecialFeature:Developingamultiple-instructonstreamsingle-chipprocessor[J].Computer.1979,12(12):110-115.[13]M.I.Elmasry.BiCMOSIntegratedCircuitDesignwithAnalog,Digital,andSmartPowerApplications[M].IEEEPress,1994.[14]K.Kimura.LowtemperaturecoefficientCMOSvolt-agereferencecircuits[J].IEICETransFundamen-tals,1994,77-A(2):869-872.[15]DavideBaccherini,DonatellaMerlini.Combinatorialanalysisoftetris-likegames[J].DiscreteMathematics,2008,308(18):4165-4176.[16]XMPan,YFWang.Practicalsingle-chipmicrocomputersystemdesign[M].Beijing:Posts&TelecomPress,1992.[17]MQCai.MCS-51seriessingle-chipmicrocomputersystemanditsapplication[M].Beijing:HigherEducationPress,1992.[18]YCSUN.ThenewATMEL'sAT89S52anditsapplications[M].Beijing:TsinghuaUniversityPress,2004.[19]DempseyPE.Energy.FuelcellspromiseassuredpowerforPostalService[J].Environmentalscience&technology,1999,33(23):476-477.[20]MarikoKabayashi.Progressofanelectrohydraulictotalartificialheartsystemwithaseparateenergyconverter[J].ArtifOrgans,2012,36(8):705-713.

附錄A電路圖圖A1系統(tǒng)整體原理圖圖A2焊接實(shí)物圖圖A3系統(tǒng)PCB設(shè)計(jì)圖圖A4系統(tǒng)仿真圖附錄B系統(tǒng)源程序#include<reg52.h> //調(diào)用單片機(jī)頭文件#defineucharunsignedchar//無(wú)符號(hào)字符型宏定義 變量范圍0~255#defineuintunsignedint //無(wú)符號(hào)整型宏定義 變量范圍0~65535sbitbeep=P3^2; //蜂鳴器定義sbitK1=P2^7;//音樂(lè)播放按鍵ucharflag_en=0; //開(kāi)始放歌ucharflag_i=0;ucharnum=0;//初始化num,用于控制數(shù)1碼管顯示的字符//數(shù)碼管段選定義01234 5 6 7 8 9Ucharcodesmg_du[]={0x28,0xee,0x34,0xa4,0xe2,0xa1,0x21,0xec,0x20,0xa0,// A B C D EF 不顯示 0x60,0x23,0x39,0x26,0x31,0x71,0xbf}; //斷碼ucharm,n;ucharcodeT[49][2]={{0,0},{0xF8,0x8B},{0xF8,0xF2},{0xF9,0x5B},{0xF9,0xB7},{0xFA,0x14},{0xFA,0x66},{0xFA,0xB9},{0xFB,0x03},{0xFB,0x4A},{0xFB,0x8F},{0xFB,0xCF},{0xFC,0x0B},{0xFC,0x43},{0xFC,0x78},{0xFC,0xAB},{0xFC,0xDB},{0xFD,0x08},{0xFD,0x33},{0xFD,0x5B},{0xFD,0x81},{0xFD,0xA5},{0xFD,0xC7},{0xFD,0xE7},{0xFE,0x05},{0xFE,0x21},{0xFE,0x3C},{0xFE,0x55},{0xFE,0x6D},{0xFE,0x84},{0xFE,0x99},{0xFE,0xAD},{0xFE,0xC0},{0xFE,0x02},{0xFE,0xE3},{0xFE,0xF3},{0xFF,0x02},{0xFF,0x10},{0xFF,0x1D},{0xFF,0x2A},{0xFF,0x36},{0xFF,0x42},{0xFF,0x4C},{0xFF,0x56},{0xFF,0x60},{0xFF,0x69},{0xFF,0x71},{0xFF,0x79},{0xFF,0x81}};ucharcodemusic[][2]={{0,4},//小蘋(píng)果{17,3},{17,3},{17,3},{17,3},{17,3},{17,3},{17,3},{14,3},{173},{17,3},{17,3},{17,3},{17,3},{17,3},{17,6},{12,3},{12,3},{12,3},{12,3},{12,3},{14,3},{12,3},{12,3},{14,3},{0,23},{17,3},{17,3},{17,3},{17,3},{17,3},{17,3},{17,3},{14,3},{17,3},{17,3},{17,3},{17,3},{17,3},{17,3},{17,6},{12,3},{12,3},{12,3},{12,3},{12,3},{14,3},{12,3},{12,3},{14,3},{0,24},{14,3},{14,3},{14,3},{16,3},{17,3},{21,3},{19,3},{17,3},{16,3},{14,3},{16,3},{14,3},{16,6},{12,3},{12,3},{12,3},{14,3},{16,3},{19,3},{17,3},{16,3},{14,3},{12,3},{14,3},{12,3},{14,8},{14,3},{14,3},{14,3},{16,3},{17,3},{21,3},{19,3},{17,3},{16,3},{14,3},{16,3},{14,3},{16,3},{16,8},{12,4},{12,4},{12,4},{14,6},{16,4},{19,4},{17,4},{16,4},{46,4},{45,4},{43,4},{41,12},{21,6},{17,6},{19,6},{14,6},{21,3},{19,3},{17,3},{19,3},{14,3},{21,4},{17,4},{19,4},{19,4},{24,4},{21,4},{16,4},{17,8},{17,4},{16,4},{14,4},{16,4},{17,4},{19,4},{19,4},{12,5},{26,4},{24,4},{21,4},{21,8},{19,4},{17,4},{19,4},{19,4},{21,4},{19,4},{24,4},{24,2},{24,2},{24,2},{24,2},{24,14},{0xFF,0xFF}};ucharcodemusic2[][2]={{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},{0xFF,0xFF}};ucharcodemusic3[][2]={{0,4}, //愛(ài)情買賣{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},{0,4},{20,4},{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},{25,4},{27,12},{29,4},{29,2},{27,4},{25,4},{27,6},{27,2},{25,4},{24,4},{20,4},{20,2},{17,2},{20,4},{20,2},{22,2},{22,16},{0xFF,0xFF}};voiddelay(ucharp){uchari,j;for(;p>0;p--)for(i=181;i>0;i--)for(j=181;j>0;j--);}voidpause(){uchari,j;for(i=150;i>0;i--)for(j=150;j>0;j--);}/***********************1ms延時(shí)函數(shù)*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}/******************按鍵程序*************************/ucharkey_can; //按鍵值 voidkey() //獨(dú)立按鍵程序{ staticucharkey_new=0,key_l; key_can=20;//按鍵值還原 P2=0x0f; if((P2&0x0f)!=0x0f) //按鍵按下 { delay_1ms(1); //按鍵消抖動(dòng) if(((P2&0x0f)!=0x0f)&&(key_new==1)) { //確認(rèn)是按鍵按下 key_new=0; key_l=(P2|0xf0);//矩陣鍵盤(pán)掃描 P2=key_l; switch(P2) { case0xee:key_can=0;m=8; TR0=1;break;//得到按鍵值//打開(kāi)定時(shí)器case0xde:key_can=1;m=9; TR0=1;break;//得到按鍵值case0xbe:key_can=2;m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論