版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計說明書畢業(yè)生姓名:專業(yè):學號:指導教師:所屬系(部):二一年六月iv摘 要本設(shè)計是采用單片機為核心設(shè)計的數(shù)字音樂盒。具體硬件電路包括:at89c2051單片機、音頻發(fā)生器、音頻放大器、按鍵電路、復(fù)位電路、時鐘電路。本音樂盒可以播放三首音樂,通過軟件程序來控制單片機內(nèi)部的定時器使其產(chǎn)生音樂頻率,演奏出優(yōu)美動聽的音樂同時,用戶通過選擇按鍵電路來選擇自己喜歡的音樂,同時具有播放暫停功能。與傳統(tǒng)的機械式音樂盒相比,用單片機設(shè)計的音樂盒體積更小巧,且制作工藝簡單,音質(zhì)更優(yōu)美能演奏出和弦音樂。關(guān)鍵詞:音樂盒 at89c2051 播放暫停abstractthis design is used as
2、the core design of single chip digital music box. specific hardware circuit includes: at89c2051 microcontroller, audio generator, audio amplifier, keypad circuit, reset circuit, clock circuit. the music box can play three songs, through the software program to control the microcontrollers internal t
3、imer frequency to produce music, playing the beautiful sounds of music at the same time, the user by selecting the button circuit to select your favorite music, both play pause function. with the traditional mechanical music box than a music box with a single chip design is more compact size and sim
4、ple fabrication process, can play a sound more beautiful polyphonic music. keywords: music box at89c2051 broadcast pause 目 錄摘 要iabstractii第一章 緒論1第一節(jié) 選題目的及國內(nèi)外發(fā)展情況1一、選題目的1二、國內(nèi)外發(fā)展情況1第二節(jié) 設(shè)計所研究的內(nèi)容及所做工作2第二章 方案論證3第一節(jié) 設(shè)計方案3第二節(jié) 設(shè)計方案的確定4第三章 音樂盒的硬件系統(tǒng)設(shè)計5第一節(jié) 音樂盒的硬件電路設(shè)計框圖5第二節(jié) 控制系統(tǒng)的設(shè)計5一、at89c2051介紹5二、時鐘電路設(shè)計8三、復(fù)位電路
5、的設(shè)計10第三節(jié) 音頻放大器的設(shè)計13一、音頻放大器的作用13二、lm386的性能介紹13第四節(jié) 按鍵選擇輸入電路15一、鍵盤接口設(shè)計15二、按鍵識別方式16三、鍵盤模塊處理方式17四、鍵盤設(shè)計實用技巧19第四章 音樂盒的軟件系統(tǒng)設(shè)計20第一節(jié) 音符盒的發(fā)音原理20一、音符頻率20二、音符節(jié)拍21三、建立曲譜編碼表23第二節(jié) 程序模塊設(shè)計24一、主程序模塊設(shè)計24二、音樂部分模塊設(shè)計25三、外部中斷模塊設(shè)計30四、定時器模塊設(shè)計31第五章 軟硬件調(diào)試33第一節(jié) 硬件調(diào)試33第二節(jié) 軟件調(diào)試34第三節(jié) 性能分析35第六章 抗干擾措施36第一節(jié) 干擾的來源及后果36一、干擾的來源36二、干擾產(chǎn)生的
6、后果36第二節(jié) 硬件抗干擾設(shè)計37第三節(jié) 軟件的抗干擾設(shè)計38結(jié)束語39參考文獻40附錄一:音樂盒硬件電路原理圖41附錄二:程序42外文資料47中文翻譯53致 謝58第一章 緒論第一節(jié) 選題目的及國內(nèi)外發(fā)展情況一、選題目的通過設(shè)計電子音樂盒這個系統(tǒng),有利于進一步鞏固單片機的知識,將所學知識綜合運用到實際當中來,并且提高自身的設(shè)計能力、動手操作能力以及解決問題的能力。二、國內(nèi)外發(fā)展情況音樂盒的起源,可追溯至中世紀歐洲文藝復(fù)興時期。當時為使教會的鐘塔報時,而將大小的鐘表裝上機械裝置,被稱為“可發(fā)出聲音的組鐘”。音樂盒有著300多年的發(fā)展歷史,是人類文明發(fā)展的歷史見證。傳統(tǒng)的音樂盒多是機械音樂盒,其
7、工作原理是通過齒輪帶動一個帶有鐵釘?shù)蔫F桶轉(zhuǎn)動,鐵桶上的鐵釘撞擊鐵片制成的琴鍵,從而發(fā)出聲音。但是,機械式的音樂盒體積比較大,比較笨重,且發(fā)音單調(diào)。水、灰塵等外在因素,容易使內(nèi)部金屬發(fā)音條變形,從而造成發(fā)音跑調(diào)。另外,機械音樂盒放音時為了讓音色穩(wěn)定,必須放平不能動搖,而且價格昂貴,不能實現(xiàn)大批量生產(chǎn)。音樂盒300多年的產(chǎn)品發(fā)展,同時也是人類文明300多年發(fā) 展的歷史鑒證。每個不同時期的音樂盒造型,都能折射出當時不同的社會心態(tài)和文明發(fā)展現(xiàn)狀,它也成了時代的一面鏡子?,F(xiàn)今,音樂盒的制造,延襲傳統(tǒng),結(jié)合現(xiàn)代,正日益成為人們或為了典藏一段歲月,或為了收藏一份情感,或出于對音樂的追求,或?qū)τ谂f時代的懷念,
8、或為了居室的美化,等等,而得到眾多品位人士的追求。最重要的是現(xiàn)在的音樂盒體積小,輕巧易攜帶,且音質(zhì)好,功能多,有時出現(xiàn)一些問題時只需要改一改軟件部分的程序即可。本文設(shè)計的音樂盒,是基于單片機設(shè)計制作的電子式音樂盒。與傳統(tǒng)的機械式音樂盒相比更小巧,音質(zhì)更優(yōu)美且能演奏和弦音樂。電子式音樂盒動力來源是電池,制作工藝簡單,可進行批量生產(chǎn),所以價格便宜?;趩纹瑱C制作的電子式音樂盒,控制功能強大,可根據(jù)需要選歌,使用方便。所放歌曲的節(jié)奏可以根據(jù)需要進行設(shè)置,根據(jù)存儲容量的大小,可以盡可能多的存儲歌曲。第二節(jié) 設(shè)計所研究的內(nèi)容及所做工作本設(shè)計以at89c2051單片機為核心器件,外部加上時鐘與復(fù)位電路、選
9、擇按鍵電路、音頻發(fā)生器、音頻放大器、揚聲器,以此來實現(xiàn)音樂演奏控制器的硬件電路,通過匯編來控制單片機內(nèi)部的定時器使其產(chǎn)生音頻,演奏出優(yōu)美動聽的音樂。用戶可以按照自己的喜好通過選擇按鍵來選擇音樂。設(shè)計完成的內(nèi)容:1.提出了音樂盒的整體設(shè)計方案,以at89c2051單片機為核心器件,對硬件各個模塊進行了設(shè)計2.對音符頻率進行了編碼,并對主流程圖及各個子程序模塊進行了設(shè)計3.完成了硬件和軟件及軟硬件聯(lián)調(diào),并針對工作中出現(xiàn)的噪音提出相應(yīng)的一些防干擾措施4.通過加按鍵電路,采用中斷方式,達到選曲的目的第二章 方案論證第一節(jié) 設(shè)計方案 設(shè)計中考慮了兩種設(shè)計方案,兩種設(shè)計方案中主要區(qū)別在于硬件電路的不同,對
10、于本設(shè)計通過模擬電路和單片機設(shè)計均可以實現(xiàn),最后根據(jù)設(shè)計要求、可行性和設(shè)計成本的考慮選擇了單片機設(shè)計的方案?,F(xiàn)在一一介紹論證如下: 方案一: 此方案采用的是模擬電路,其中涉及有幾部分: 1.基準頻率產(chǎn)生器,產(chǎn)生基準頻率,其值應(yīng)根據(jù)音調(diào)發(fā)生器的頻率要求決定。 電路可由晶振構(gòu)成時鐘脈沖振蕩器。 2.音調(diào)發(fā)生器,音調(diào)發(fā)生器產(chǎn)生各個音區(qū)與音符所對應(yīng)的頻率;音符代碼存儲器,用來存儲與樂曲的音符對應(yīng)的數(shù)字代碼及樂曲的數(shù)量。 3.通常先將樂曲進行編碼,再將其代碼存儲在eprom存儲器。 4.節(jié)拍發(fā)生器與地址計數(shù)器,節(jié)拍發(fā)生器的振蕩頻率由樂曲演奏的速度所決 定。演奏的速度越快,節(jié)拍發(fā)生器的速度越高。 5節(jié)拍分
11、配器,將節(jié)拍分配好,產(chǎn)生驅(qū)動打擊的節(jié)拍信號。6.聲音驅(qū)動電路,使樂曲的節(jié)拍和頻率通過發(fā)音演奏出所想要的樂曲。方案二:采用單片機來設(shè)計電路。其中主要涉及以下幾個部分:1.at89c2051單片機,通過對其進行編程,利用其內(nèi)部的定時器/計數(shù)器改變計數(shù)初值,可以實現(xiàn)不同的音調(diào)。2.按鍵電路 每按一次按鍵就可順序播放一首歌曲,實現(xiàn)選曲的目的。3.時鐘與復(fù)位電路 由石英晶體振蕩器產(chǎn)生單片機工作時所必須的時鐘信號。振蕩器采用12mhz的晶振,使之機器周期 tcy=1us,方便發(fā)音程序的計算和編譯。 4.音頻放大器 經(jīng)過音頻放大器,音頻信號經(jīng)過適當?shù)墓β史糯?,可以?qū)動揚聲器使之發(fā)聲。第二節(jié) 設(shè)計方案的確定經(jīng)
12、過查資料、構(gòu)思和自己的設(shè)計,為保證電路基本功能實現(xiàn),經(jīng)過分析,從實現(xiàn)難度、性能、經(jīng)濟等方面綜合就以上兩種方案進行比較:1.從實現(xiàn)音樂盒電路的硬件方面看,用單片機實現(xiàn)所用硬件電路比用模擬電路實現(xiàn)所用器件少,接線圖簡單,功耗較小,穩(wěn)定性和抗干擾性及相對方案1好 2.用單片機實現(xiàn)音樂盒,通過編程就可實現(xiàn)音頻和節(jié)拍,省去了節(jié)拍發(fā)生器和節(jié)拍分配器,實現(xiàn)音樂的產(chǎn)生較簡單3.at89c2051微處理器的性價比高,用它完全可以實現(xiàn)本設(shè)計當中要求的功能,且體積小,便于產(chǎn)品小型化,功耗小,工作電壓范圍寬。4.用單片機設(shè)計的音樂盒通過lm386功率放大器以后音質(zhì)較方案一好5.用單片機設(shè)計的音樂盒電路可以加按鍵電路實
13、現(xiàn)播放暫停及選曲功能綜合以上因素,選擇方案二比較可行。第三章 音樂盒的硬件系統(tǒng)設(shè)計 該設(shè)計選擇at89c2051單片機,硬件電路包括時鐘與復(fù)位電路、按鍵電路、音頻放大器、音頻發(fā)生器等幾部分。其中通過t0定時中斷,并配合p3.0引腳(p3.0引腳輸出接揚聲器)構(gòu)成音頻發(fā)生器輸出音頻頻率,通過p3.2引腳接入“播放下一曲”選擇按鍵,中斷方式接入。在p1口接入64個發(fā)光二極管,可以輸入音符的編碼,將它們點亮,像“滿天星”一樣閃爍,能增加一些情趣。第一節(jié) 音樂盒的硬件電路設(shè)計框圖音樂盒的硬件電路有六部分組成:單片機、時鐘與復(fù)位電路、選擇按鍵輸入電路、音頻發(fā)生器、音頻放大器和揚聲器。音樂盒的硬件電路設(shè)計
14、框圖如圖3-1所示。圖3-1 電路設(shè)計框圖第二節(jié) 控制系統(tǒng)的設(shè)計一、at89c2051介紹1.at89c2051的特點at89c2051是美國愛特梅爾(atmel corporation)半導體制造公司生產(chǎn)的一種高性能的單片機,它的指令集和引腳結(jié)構(gòu)與intel公司的mcs51系列單片機高度兼容、低功耗、可以在接近零頻率下工作,廣泛的應(yīng)用于各種計算機系統(tǒng)、工業(yè)控制、電訊設(shè)備、宇航設(shè)備及消費類產(chǎn)品中。由于atmel是全球最大的flash和eeprom生產(chǎn)制造公司,加之以其eeprom技術(shù)與intel的80c31內(nèi)核技術(shù)交換,使atmel從此擁有80c31內(nèi)核的使用權(quán),從而該公司的89c51系列單片
15、機具有極高的性能價格比。 at89c2051的性能結(jié)構(gòu):at89c2051是一個功能強大的單片機,它將at89c51的p0口、p2口、ea/vcc、ale/prog、 口線簡化后,形成的一種僅20個引腳的單片機,相當于intel8031的最小應(yīng)用系統(tǒng)。這對于一些不太復(fù)雜的控制場合,僅用一片at89c2051就足夠了。由于將多功能的8位cpu和2kb閃速存儲器以及模擬電壓比較器集成到單個芯片上,從而成為一種多功能的微處理器,這為許多嵌入式控制提供了一種極佳的方案,使傳統(tǒng)的51系列單片機的體積大、功耗大、可選模式少等諸多困擾設(shè)計工程師們的致命弱點不復(fù)存在。 at89c2051的主要特點:2kb字節(jié)
16、閃速可編程可擦除只讀存儲器(flash eeprom)和128bytes的隨機存取數(shù)據(jù)存儲器(ram),重復(fù)擦寫1000次,數(shù)據(jù)保存時間10年,工作電壓范圍:2.76v,工作頻率:024mhz ,5根可編程i/o引線,2個16位定時器/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行口,一個精密模擬比較器,兩級程序加密,輸出口可直接驅(qū)動led顯示,低功耗的閑置和調(diào)電保護工作方式,以及片內(nèi)振蕩器和時鐘電路。如下:(1)與intel mcs-51系列和winbond-78系列單片機兼容;(2)2kb可重編程flash存儲器;(3)耐久性高,1000次寫/擦除;(4)2.76v的操作范圍;(5)全靜態(tài)
17、操作,024mhz;(6)2級加密程序存儲器;(7)1288位內(nèi)部ram;(8)15條可編程i/o引線;(9)2個16位定時/計數(shù)器;(10)5個中斷源;(11)編程串行通用異步接受發(fā)送器uart;(12)直接led驅(qū)動輸出;(13)片內(nèi)模擬比較器;(14)低功耗空閑和掉電方式; 2.引腳功能說明at89c2051的引腳結(jié)構(gòu)如圖3-2所示,各項功能說明如下所示。3-2 at89c2051引腳圖(1)vcc:電源端。(2)gnd :接地端。(3)p1:p1是一個8位準雙向i/o端口。引腳p1.2p1.7提供上拉電阻。p1.0和p1.1要求外部提供上拉電阻。p1.0和p1.1還可分別作為片內(nèi)精密模
18、擬比較器的同相輸入(ain0)端和反相輸入(ain1)端。當p1.0端輸入的電壓高于p1.1端的電壓時,p3.6輸出為高電平,否則為低電平。p1輸出緩沖器可吸收20ma電流,并能直接驅(qū)動led顯示。當p1引腳寫入“1”后,才可以用作輸入端,這也是準并行端口的含義。當引腳p1.2p1.7用作輸入端并被外部拉低時,將因內(nèi)部的上拉電阻而輸出電流。p1還在flash編程和程序校驗期間接受代碼數(shù)據(jù)。(4)p3: p3的p3.0p3.5,p3.7是帶有內(nèi)部上拉電阻的7個雙向i/o引腳。p3.6用于固定輸入片內(nèi)比較器的輸出信號,不能作為一個通用i/o引腳來進行訪問。p3緩沖器可吸收20ma電流。當p3引腳寫
19、入“1”時,它們被上拉電阻拉高并可用作輸入端。在用作于輸入端時,被外部拉低的p3引腳將會在上拉電阻的作用下輸出電流。p3還可以用于實現(xiàn)at89c2051的其他功能,如表1示。另外p3還用于接收一些flash存儲器編程和程序校驗的控制信號。 端口引腳第二功能p3.0rxd串行輸入端口p3.1txd串行輸出端口p3.2外部中斷0p3.3外部中斷1p3.4t0定時器0外部中斷p3.5t1定時器1外部中斷表1 p3引腳功能(5)rst:復(fù)位輸入。rst一旦變成高電平,所有的i/o端口就復(fù)位到“1”。當振蕩器正在運行時,持續(xù)給出rst引腳兩個機器周期的高電平便可完成復(fù)位。每一個機器周期需要12個振蕩周期
20、或時鐘周期。(6)xtal1:作為振蕩器反相放大器的輸入和內(nèi)部時鐘發(fā)生器的輸入。(7)xtal2:作為振蕩器反相放大器的輸出。(8)at89c2051不允許構(gòu)造外部總線來擴充程序/數(shù)據(jù)存儲器,所以它不需要ale、psen、ra、wr一類的引腳。 at89c2051型號的單片機性價比高,是51系列單片機的精簡版,由于將多功能的8位cpu和2kb閃速存儲器以及模擬電壓比較器集成到單個芯片上,從而成為一種多功能的微處理器,這為許多嵌入式控制提供了一種極佳的方案,使傳統(tǒng)的51系列單片機的體積大、功耗大、可選模式少等諸多困擾設(shè)計工程師們的致命弱點不復(fù)存在。且性價比高,工作電壓范圍寬,為2.7伏6伏,工作
21、頻率為024mhz ,且用該型號的單片機能滿足該設(shè)計要求,所以選用at89c2051單片機。二、時鐘電路設(shè)計1.內(nèi)部時鐘方式該單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是此放大器的輸入端和輸出端。這個放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成一個自激振蕩器。圖3-3是51單片機內(nèi)部時鐘方式的振蕩器電路。外接晶體(在頻率穩(wěn)定性要求不高而希望盡可能廉價時,可選用陶瓷諧振器)以及電容c和c構(gòu)成并聯(lián)諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小多少會影響振蕩器頻率的高低、振蕩器的穩(wěn)定性、起振的快速性和溫度穩(wěn)定性。外接晶
22、體時,c1和c2的值通常選擇為30pf左右;外接陶瓷諧振器時,c1和c2的典型值約為47pf。再設(shè)計印刷電路板時,晶體或陶瓷諧振器和電容應(yīng)盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證振蕩器的穩(wěn)定和可靠工作。為了提高溫度穩(wěn)定性,應(yīng)采用具有溫度補償特性的單片陶瓷電容。 51單片機常選擇振蕩頻率為6mhz或12mhz的石英晶體,隨著集成電路制造工藝技術(shù)的發(fā)展,單片機的時鐘頻率也在逐步提高,現(xiàn)在的高速單片機時鐘芯片的頻率已達40mhz。圖3-3 片內(nèi)時鐘方式2.外部時鐘方式 外部時鐘方式是使用外部振蕩脈沖信號,常用于多片單片機同時工作,以便于同步。對外部脈沖信號只要求高電平持續(xù)時間內(nèi)大于2
23、0微妙。一般為低于12 mhz的方波。這時,外部振蕩器的信號接至xtal2,即內(nèi)部時鐘發(fā)生器的輸入端,而內(nèi)部反相放大器的輸入端xtal1應(yīng)接地,如圖4-3所示。由于xtal2端的邏輯電平不是ttl的,故建議外接一個上拉電阻。圖3-4 外部時鐘方式本設(shè)計采用內(nèi)部時鐘方式即可,各參數(shù)如圖3-5所示.由于內(nèi)部時鐘方式中的c1和c2電容起著系統(tǒng)時鐘頻率微調(diào)和穩(wěn)定的作用,因此,在本系統(tǒng)中的實際應(yīng)用中一定注意正確選擇參數(shù)(3010pf),并保證電路的對稱性(盡可能匹配),選用正牌廠家生產(chǎn)的瓷片或云母電容,如果可能的話,溫度系數(shù)要盡可能低。該系統(tǒng)時鐘電路的選的電容c1和c2的參數(shù)為22pf。圖3-5 時鐘電
24、路三、復(fù)位電路的設(shè)計1.復(fù)位的作用在上電或復(fù)位過程中,控制cpu的復(fù)位狀態(tài):這段時間內(nèi)讓cpu保持復(fù)位狀態(tài),而不是一上電或剛復(fù)位完畢就工作,防止cpu發(fā)出錯誤的指令、執(zhí)行錯誤操作,也可以提高電磁兼容性能。無論用戶使用哪種類型的單片機,總要涉及到單片機復(fù)位電路的設(shè)計。而單片機復(fù)位電路設(shè)計的好壞,直接影響到整個系統(tǒng)工作的可靠性。許多用戶在設(shè)計完單片機系統(tǒng),并在實驗室調(diào)試成功后,在現(xiàn)場卻出現(xiàn)了“死機”、“程序走飛”等現(xiàn)象,這主要是單片機的復(fù)位電路設(shè)計不可靠引起的。單片機在啟動時都需要復(fù)位,以使cpu及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復(fù)位信號是從rst引腳輸入到芯片內(nèi)的
25、施密特觸發(fā)器中的。當系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果rst引腳上有一個高電平并維持2個機器周期(24個振蕩周期)以上,則cpu就可以響應(yīng)并將系統(tǒng)復(fù)位。2.單片機的復(fù)位方式單片機系統(tǒng)的復(fù)位方式有:手動按鈕復(fù)位和上電復(fù)位 (1)手動按鈕復(fù)位手動按鈕復(fù)位需要人為在復(fù)位輸入端rst上加入高電平,如圖3-5所示。一般采用的辦法是在rst端和正電源vcc之間接一個按鈕。當人為按下按鈕時,則vcc的+5v電平就會直接加到rst端。手動按鈕復(fù)位的電路如圖3-5所示。由于人的動作再快也會使按鈕保持接通達數(shù)十毫秒,所以完全能夠滿足復(fù)位的時間要求。圖3-6 手動復(fù)位(2)上電復(fù)位at89c2051的上電
26、復(fù)位電路如圖3-6所示,只要在rst復(fù)位輸入引腳上接一電容至vcc端,下接一個電阻到地即可。對于cmos型單片機,由于在rst端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1f。上電復(fù)位的工作過程是在加電時,復(fù)位電路通過電 容加給rst端一個短暫的高電平信號,此高電平信號隨著vcc對電容的充電過程而逐漸回落,即rst端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統(tǒng)能夠可靠地復(fù)位,rst端的高電平信號必須維持足夠長的時間。上電時,vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10mhz,起振時間為1ms;晶振頻率為1mhz,起振時間則為10ms。在圖
27、3-7的復(fù)位電路中,當vcc掉電時,必然會使rst端電壓迅速下降到0v以下,但是,由于內(nèi)部電路的限制作用,這個負電壓將不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“l(fā)”態(tài)。如果系統(tǒng)在上電時得不到有效的復(fù)位,則程序計數(shù)器pc將得不到一個合適的初值,因此,cpu可能會從一個未被定義的位置開始執(zhí)行程序。圖3-7 上電復(fù)位3.復(fù)位電路的實現(xiàn)設(shè)計復(fù)位電路的實現(xiàn)通常有兩種方式:即專用&p監(jiān)控電路和rc復(fù)位電路。前者電路實現(xiàn)簡單,成本低,但復(fù)位可靠性相對較低;后者成本較高,但復(fù)位可靠性高,尤其是高可靠重復(fù)復(fù)位。對于復(fù)位要求高、并對電源電壓進行監(jiān)視場合,大多采用這種方式
28、。(1)專用&p監(jiān)控電路專用監(jiān)控電路又稱為電源監(jiān)視電路,具有上電時可靠產(chǎn)生復(fù)位信號和電源電壓跌落到“門檻值”時可靠產(chǎn)生復(fù)位信號等功能。按有效電平分,有高電平輸出、低電平輸出兩種;按功能分,有簡單的電源監(jiān)視復(fù)位電路帶“看門狗”定時器的監(jiān)控電路和wdt+ eprom的監(jiān)控電路等多種類型。比較常見的生產(chǎn)廠家有maxim、philips、imp及dalls等,51系列的微處理器中常用的型號有max813l 、max809、x25043/5等。(2)rc復(fù)位電路本系統(tǒng)采用的是rc復(fù)位方式。rc復(fù)位電路的實質(zhì)是一階充放電電路,此復(fù)位電路只要rst引腳處至少保持2個機器周期(24個振蕩器周期)的高電平就可實
29、現(xiàn)復(fù)位,在rst段出現(xiàn)高電平后的第二個周期,執(zhí)行內(nèi)部復(fù)位,以后每個周期重復(fù)一次,直至rst端變低。本設(shè)計采用的是rc復(fù)位電路,并采用上電復(fù)位與手動復(fù)位相結(jié)合的方案實現(xiàn)復(fù)位更加可靠。復(fù)位電路圖如下3-8所示圖3-8 復(fù)位電路第三節(jié) 音頻放大器的設(shè)計一、音頻放大器的作用由于單片機端口輸出信號的電流較小,不能直接驅(qū)動音頻電路使喇叭發(fā)出聲音,因此,需要接一個音頻放大器將信號經(jīng)過適當?shù)墓β史糯蠹纯沈?qū)動揚聲器發(fā)聲。二、lm386的性能介紹本設(shè)計采用的是lm386音頻放大器,lm386是美國國家半導體公司生產(chǎn)音頻功率放大器,主要應(yīng)用于低電壓消費類產(chǎn)品。為使外圍元件最少,電壓增益內(nèi)置為20。但在1腳和8腳之間
30、增加一只外接電阻和電容,便可將電壓增益調(diào)為任意值,直至200。以下圖3-9、 圖3-10是不同的增益值的電路圖。圖3-9 放大增益為20圖3-10 放大增益為200輸入端以地位參考,同時輸出端被自動偏置到電源電壓的一半,在6v電源電壓下,它的靜態(tài)功耗僅為24mw,使得lm386特別適用于電池供電的場合,也因此本設(shè)計采用電池供電。lm386的封裝形式有塑封8引線雙列直插式和貼片式。 特性(features): 1.靜態(tài)功耗低,約為4ma,可用于電池供電。 2.工作電壓范圍寬,4-12v or 5-18v。 3.外圍元件少。 4.電壓增益可調(diào),20-200。 5.低失真度。圖3-11 lm386的
31、外形和引腳的排列l(wèi)m386的外形和引腳如上圖3-11所示,引腳2為反相輸入端,3為同向輸入端,引腳5為輸出端,引腳6為電源端,引腳4為地,引腳1和8是電壓增益設(shè)定端,使用時在引腳7和地之間接旁路電容,通常取10微法本設(shè)計中的音頻放大器如下圖3-12所示,采用音頻放大器放大比用三極管放大后的音質(zhì)要好一些,抗干擾相對好一些。圖3-12 音頻放大器電路圖lm386電源電壓4-12v,音頻功率0.5w。音響功放是nsc制造的,它的電源電壓范圍非常寬,最高可使用到15v,消耗靜態(tài)電流為4ma,當電源電壓為12v時,在8歐姆的負載情況下,可提供幾百毫瓦的功率,它的典型輸入阻抗為50k。第四節(jié) 按鍵選擇輸入
32、電路 在單片機應(yīng)用中,人機交互對話最通用的方法就是通過鍵盤進行的。操作者通過鍵盤向系統(tǒng)發(fā)送各種指令或置入必要的數(shù)據(jù)信息。因此鍵盤模塊設(shè)計的好壞,直接關(guān)系到系統(tǒng)的可靠性和穩(wěn)定性。一、鍵盤接口設(shè)計常用的按鍵接口一般分為“獨立式按鍵接口設(shè)計”、“專用芯片式設(shè)計“和“矩陣式接el設(shè)計”幾種。具體采用哪種方式,應(yīng)該根據(jù)所設(shè)計系統(tǒng)的實際情況而定。下面分別介紹不同接口方式的優(yōu)缺點及適用場合。 1.獨立式按鍵接口設(shè)計: 獨立式按鍵接口設(shè)計優(yōu)點是電路配置靈活。軟件實現(xiàn)簡單,但缺點也很明顯,每個按鍵需要占用一根口線,若按鍵數(shù)量較多,資源浪費將比較嚴重,電路結(jié)構(gòu)也變得復(fù)雜。因此本方法主要用于按鍵較少或?qū)Σ僮魉俣纫?/p>
33、較高的場合。軟件實現(xiàn)時,可以采用中斷方式,也可以采用查詢方式,示意圖如圖3-13和3-14所示。圖3-13 中斷方式圖3-14 查詢方式2.矩陣式接口設(shè)計 矩陣式按鍵設(shè)計適應(yīng)于按鍵數(shù)量較多,又不想使用專用鍵盤芯片的場合。這種方式的按鍵接口由行線和列線組成,按鍵位于行、列的交叉點上。這種方式的優(yōu)點就是相對于獨立接口方式可以節(jié)省很多i0資源,相對于專用芯片式可以節(jié)省成本,且更為靈活。缺點就是需要用軟件處理消抖、重鍵等問題。矩陣式按鍵接口根據(jù)采用的按鍵識別方法不同基本有兩種接法:線反轉(zhuǎn)法和掃描法。其中掃描法的列線始終為輸入,行線始終為輸出;線反轉(zhuǎn)法則需要改變列線和行線的方向。二、按鍵識別方式 按鍵接
34、口方式確定后,需要對按鍵進行編碼 按鍵編碼沒有特殊約定,只要有利于按鍵處理即可,同時應(yīng)根據(jù)情況確定是否對按鍵進行緩沖。但對于矩陣式按鍵接口一般是先獲得按鍵的掃描碼,然后將其轉(zhuǎn)換為事先約定的按鍵編碼。 1.按鍵識別方法 不同的按鍵接口方式對應(yīng)不同的按鍵識別方法,但無論哪種接口方式,按鍵的閉合與否都反映在電壓的高低上,因此系統(tǒng)可以通過檢測不同的電平狀態(tài)來識別按鍵是否按下。實際設(shè)計時可以根據(jù)需要設(shè)定鍵閉合或斷開的電平狀態(tài)。例如,我們利用低電平表示鍵按下,高電平表示鍵釋放。 對應(yīng)上述兩種按鍵接口方法,獨立式按鍵識別方法很簡單,只需要檢測相應(yīng)口線的電平即可,沒有鍵按下時為高電平,有鍵按下時為低電平;因此
35、下面主要講述矩陣式按鍵接口方式對應(yīng)的按鍵識別方法。 2.按鍵識別原理 按鍵設(shè)置在行、列的交點上,行列線分別連接到按鍵開關(guān)的兩端,行線或列線通過上拉電阻接到+5v上。平時無按鍵動作時,處于高電平狀態(tài),而當有鍵按下時,電平狀態(tài)將發(fā)生改變。這一點是按鍵識別的關(guān)鍵所在。由于矩陣鍵盤中行線和列線為多鍵共用,各按鍵均影響該鍵所在的行和列的電平,即各鍵相互間有影響,必須協(xié)調(diào)處理。 (1)掃描法識別按鍵 掃描法識別按鍵分兩步進行:第一步,識別有無按鍵按下;第二步,若有鍵按下,識別出該鍵。具體辦法如下:識別鍵盤有無按鍵按下方法:讓所有列線均置為0電平,檢查各行線是否有變化,如果有變化,則說明有鍵被按下,如果沒有
36、變化,則說明無鍵被按下。 識別具體按鍵的方法:逐列置零電平,其余各列置為高電平,檢查各行線電平的變化,如果某行電平由高電平變?yōu)榈碗娖剑瑒t可確定此行此列交叉點處的按鍵被按下。 (2)線反轉(zhuǎn)法識別按鍵 掃描法要逐列掃描查詢,若被按下的鍵處于最后一列時,要經(jīng)過多次掃描才能最后獲得此按鍵的行列值。 線反轉(zhuǎn)法則很簡練,無論被按鍵處于第一列或是最后一列,均只需兩步便能獲得按鍵的行列值。 第一步:將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在行為按鍵所在行。 第二步:吲第一步相反,將行線編程為輸出線,列線編程為輸入線,并f吏輸出線輸出為全零電、 ,則列線中電平由高到
37、低所在行為按鍵所在列。綜合一、二兩步的結(jié)果,可確定按鍵所在行和列,從而識別所按的鍵。該方法的優(yōu)點是:非常簡單適用。 三、鍵盤模塊處理方式 單片機應(yīng)用系統(tǒng)中,鍵盤掃描只是mcu的工作之一。mcu在忙于各項工作任務(wù)時,如何兼顧鍵盤的輸入,取決于鍵盤的工作方式。鍵盤工作方式的選取原則是既要保證能及時響應(yīng)按鍵操作,也要不過多占用mcu的工作時間。一般而言,有三種工作方式:編程掃描、定時掃描和中斷掃描。 1.編程掃描方式 本方式中mcu對鍵盤的掃描采取程序控制方式,一旦進入鍵掃描狀態(tài),則反復(fù)地掃描鍵盤,等待用戶從按鍵上輸入命令或數(shù)據(jù)。而在執(zhí)行鍵入命令或處理鍵入數(shù)據(jù)過程中,mcu將不再響應(yīng)鍵入要求,直到m
38、cu返回重新掃描鍵盤為止。編程掃描程序流程圖如圖3-15所示圖3-15 編程掃描程序流程圖2.定時掃描方式 定時掃描工作方式是利用mcu內(nèi)部的定時器產(chǎn)生定時中斷,cpu響應(yīng)中斷時對鍵盤進行掃描,并在有鍵按下時識別出該鍵并執(zhí)行相應(yīng)的鍵功能程序。該種方式不再需要單獨的延遲去抖動處理。 3.中斷掃描方式 鍵盤工作在編程掃描方式時,mcu要不問斷地對鍵盤進行掃描,其問mcu不能進行其它任何工作,若mcu工作量較大,該方式不適應(yīng);定時掃描方式前進了一大步,只是定時的監(jiān)視一下鍵盤輸入情況,其它時間mcu可以做其它事情;若想進一步提高mcu利用率,可以用中斷掃描方式,即只有在有鍵按下時才理睬鍵盤,否則不理。
39、 綜上所述,鍵盤工作分為三個層次: 第一層:監(jiān)視鍵盤輸入。根據(jù)需要選擇合適的鍵盤工作方式(如上所述三種方式)。 第二層:確定具體按鍵。根據(jù)需要選擇合適的識別方法( 掃描法或線反轉(zhuǎn)法)。 第三層:鍵功能程序執(zhí)行。 上述三種鍵盤工作方式都可以根據(jù)系統(tǒng)需要靈活選用,并非任何情況下都要使用中斷方式,也不是任何時候都不能用編程掃描方式。 四、鍵盤設(shè)計實用技巧 遵循上述方法,完全可以設(shè)計出適用于不同場合的按鍵輸入接口,但實際設(shè)計過程中有很多設(shè)計技巧和方法可以增加系統(tǒng)的可靠性、靈活性。 軟件消抖技術(shù) 按鍵在按下和釋放地瞬問都將伴隨一連串的抖動,抖動時間由按鍵的機械特性決定,一般為5l0ms。按鍵的穩(wěn)定閉合的
40、長短由操作人員決定。按鍵抖動的消除,通常有硬件和軟件兩種方法。硬件消抖除了成本增加外,當按鍵較多時實現(xiàn)非常困難,因此最好采用軟件方法消除抖動。軟件消抖一般都是第一次檢測到有鍵按下時,延時通常的鍵抖動時間后再次檢測按鍵是否仍按下,若仍按下則認為真正有鍵按下,從而消除了影響。 本設(shè)計按鍵電路的設(shè)計如下圖3-16所示。因為該電路中按鍵不多,所以選擇獨立按鍵電路比較簡單,采用中斷方式,采用軟件(通過延時)去抖。圖3-16 按鍵電路圖第四章 音樂盒的軟件系統(tǒng)設(shè)計軟件設(shè)計的重點在于如何產(chǎn)生不同的音調(diào)、怎樣控制節(jié)拍以及怎樣從表取相應(yīng)的音調(diào)對應(yīng)的編碼,及按鍵過程中怎樣用中斷服務(wù)程序進行處理、消抖等問題。第一節(jié)
41、 音符盒的發(fā)音原理一、音符頻率1.音符頻率概念一般來說,單片機演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能像電子琴那樣奏出多種音色的聲音。因此單片機奏樂只需要弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長的時間。在音樂中所謂音調(diào)。其實就是我們通常說的“音高”,也就是其基本音調(diào)的頻率,知道了一個音符的頻率以后。怎樣讓單片機發(fā)出相應(yīng)頻率的聲音呢?2.利用定時器計數(shù)器0產(chǎn)生音符頻率一般來說,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應(yīng)揚聲器的i/o口來回取反,從而讓揚聲器發(fā)出聲音,為了讓單片機發(fā)出不同頻率的聲音,
42、我們只需將定時器預(yù)置不同的定時初值就可實現(xiàn)。那么怎樣確定一個頻率所對應(yīng)的定時器的定時值呢?方法如下:例如:中音1(do)的頻率=523hz,周期t=1/523s=1912us;定時器/計數(shù)器0的定時時間為:t/2=1912/2us=956us;定時956us的計數(shù)值=定時時間/機器周期=956us/1us=956(時鐘頻率=12mhz);裝入tho、tlo的計數(shù)初值thtl=65536-956=64580。 將64580裝入tho、tlo寄存器中,啟動t1工作后,每計數(shù)956次時將產(chǎn)生溢出中斷,進入中斷服務(wù)程序時,每次對p3.0引腳的輸出值進行取反,就可得到中音do(523hz)的音符頻率。以
43、下是對應(yīng)不同音調(diào)的音符頻率表4-1表 4-1 對應(yīng)不同音調(diào)的音符頻率表音符音調(diào)c262294330350393441495d294330371393441495556e330371416441495556624f350393441467525589661g393441495525589661742a441495556589661742833b495556589661742833935音符音調(diào)do1re2mi3fa4so5la6si7c523589661700786882990d5896617007868829901112e66170078688299011121284f700786882990
44、111212481322g7868829901112124813221484a88299011121248132214841665b9901112124813221484166518693.編碼及計數(shù)初值通過上面的分析可見,為了產(chǎn)生音符,必須求出音符c低音到高音的所有計數(shù)初值。例如:c調(diào)的低音do的thtl=65536-500000/262=63627,中音do的thtl=65536-500000/523=64580,高音do的thtl=65536-500000/1047=65059。為了編程記譜方便,對它們進行簡單的音符編碼,如表4-2所示,在編程時,歌曲音符用編碼記譜,然后根據(jù)音符編碼查找
45、對應(yīng)的計數(shù)初值。音符thtl音符編碼音符thtl音符編碼音符thtl音符編碼642601464820765161d644002564898865200e645243664968965236f1645804765030a65269g264684565087b不發(fā)音0364777665136c表4-2 音符編碼表二、音符節(jié)拍1.節(jié)拍的定義節(jié)拍就是一個音符唱多長的時間,例如,4/4是用來表示節(jié)拍的。以3/4為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小節(jié)為三拍。比如:1=c 3/4 |1 2 3 4 5 6| ,其中1、2為一拍,3、4、5為一拍,6為一拍共三拍。1、2的時長為四分音符的一半,即
46、為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5分時長為四分音符的一半,即為八分音符,6的時長為四分音符長。那么一拍到底唱多長呢?一般來說,如果樂曲沒有特殊說明,一排的時長大約為400-500ms,我們以一拍的時長為400ms為例,則當以四分音符為節(jié)拍時,四分音符的時長就是400ms,八分音符的時長就是200ms。2.節(jié)拍的產(chǎn)生在單片機上控制一個音符唱多長可采用循環(huán)延時的方法來實現(xiàn),首先,我們確定一個基本時長的延時程序,比如十六分音符的時長為基本延時時間,那么,對于一個音符,若它為十六音符,則只需調(diào)用一次延時程序,其他一次為它的倍數(shù)即可。例如,1拍=0.4s,1/4拍=0.1s
47、,以此類推;假設(shè)1/4拍執(zhí)行一次延時程序,則1/2拍就執(zhí)行兩次延時程序,所以只要求出1/4延時時間,其余的節(jié)拍就是它的倍數(shù)。如表4-3所示。為了記譜方便,將節(jié)拍數(shù)也進行了編碼。由于不同的音樂每小節(jié)的拍數(shù)不同,可以適當調(diào)節(jié)一個延時時間的長度。如表4-4所示按1/4拍為一個延時時間的節(jié)拍編碼與節(jié)拍對應(yīng)表按1/8拍為一個延時時間的節(jié)拍編碼與節(jié)拍對應(yīng)表節(jié)拍編碼節(jié)拍節(jié)拍編碼節(jié)拍節(jié)拍編碼節(jié)拍節(jié)拍編碼節(jié)拍11/46162821/483a3a4c41/2c5f5表4-3 節(jié)拍與節(jié)拍編碼對照表樂譜節(jié)拍1/4拍的延時時間/ms樂譜節(jié)拍1/8拍的延時時間/ms1256218794250125表4-4 樂譜節(jié)拍建立了
48、音符編碼和節(jié)拍編碼后,在編程時,每個音符占用一個字節(jié),高4位是音符編碼,低四位是節(jié)拍編碼。根據(jù)上述原則建立樂譜編碼表table,以及按照音符順序?qū)?yīng)的thtl值表table1。在程序運行的過程中順序取出樂譜編碼,然后查找到對應(yīng)的thtl值。三、建立曲譜編碼表1.按照音符的順序建立定時器0的計數(shù)初值表。表的首地址位table,表table的內(nèi)容是c調(diào)低音低音高音的計數(shù)初值。table: dw 64260 64400 64524 64580 64684 64777 64820 64898 dw 64968 65030 65087 65136 65161 65200 65236 652692.生日快
49、樂歌詞曲如圖5-1所示,根據(jù)曲譜并按照音符編碼寫出曲譜編碼表table1,高四位是音符編碼,低四位是節(jié)拍編碼。例如:第一個音符“5”的音符編碼為“8”,見表5-2,第一個音符“5”的節(jié)拍是2/4拍節(jié)拍編碼為“2”,見表5-3。為了好聽兩個同音符之間空1/4拍,即在5*5加入“01h”編碼,生日快樂歌的樂譜(如圖5-1所示)及對應(yīng)的節(jié)譜編碼表song00如下(樂譜為c調(diào)3/4拍):生日快樂歌c 3/4| 55 6 5 | 7 | 55 6 5 | |祝你 生 日 快 樂, 祝你 生 日 快 樂。| 55 | 7 6 | | |我們 高 聲 歌 唱, 祝 你 生 日 快樂。 圖5-1 生日快樂歌詞
50、曲(1)生日快樂歌:song00: db 82h, 01h, 81h ,94h db 84h, 0b4h,0a4h,04h db 82h, 01h, 81h ,94h,84hdb 0c4h,0b4h,04hdb 00h(2)新年快樂編碼表song01: db 42h ,42h, 44h ,14h,02h db 62h,62h,64h,44h,04hdb 42h,62h,84h,84h,02hdb 72h,62h,54h,04hdb 00h (3)兩只蝴蝶songo2: db 62h,52h,64h,04hdb 52h,62h,52h,44h,04hdb 22h,42h,54h,64h,52h,42h,22h,42h,14h,04hdb 62h,52h,64h,04h db 52h,62h,52h,44h,04hdb 22h,42h,54h,64h,52h,42h,22h,42h,54h,04hdb 00h第二節(jié) 程序模塊設(shè)計一、主程序模塊設(shè)計主程序安排的任務(wù)比較多,首先,要進行初始化工作,其次,計算出c調(diào)各個音符與計數(shù)初值t的對應(yīng)值,然后查表取出各音調(diào)對應(yīng)的的計數(shù)值,然后開定時器。利用at89c2051的p3.2引腳接收到的信號,判斷是否有鍵按下,若有,則轉(zhuǎn)到中斷服務(wù)程序,可以實現(xiàn)選曲功能,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年轉(zhuǎn)向系統(tǒng):齒輪投資申請報告
- 2023年潔廁劑資金申請報告
- 2024年智能電能表及配件項目資金需求報告代可行性研究報告
- 一年級數(shù)學計算題專項練習集錦
- 國慶節(jié)放假前校長安全教育講話稿
- 方艙項目可行性研究報告
- 2024年育兒嫂全天候服務(wù)勞動協(xié)議
- 2024年企業(yè)勞動派遣協(xié)議
- 2024年化博物館建設(shè)協(xié)議樣本
- 2024年度封山育林工程承包協(xié)議樣本
- 20世紀時尚流行文化智慧樹知到期末考試答案章節(jié)答案2024年浙江理工大學
- 公路銑刨機整機的設(shè)計含全套CAD圖紙
- 六年級語文上冊06.第六單元教學導讀
- 「」初中人教版七年級英語常用方位介詞和短語鞏固練習
- 機器人學課程教學大綱
- 基于PLC的谷物烘干機控制系統(tǒng)設(shè)計--程序代碼-附 錄
- 社區(qū)治安巡邏隊工作方案
- GHTF—質(zhì)量管理體系--過程驗證指南中文版
- 信用社(銀行)借新還舊申請書(精編版)
- (完整版)蘇教版五年級數(shù)學上冊知識點歸納總結(jié)
- lampsite LTE 站點配置指導v1.1
評論
0/150
提交評論