蜂鳴器實(shí)驗(yàn)報(bào)告600字_第1頁(yè)
蜂鳴器實(shí)驗(yàn)報(bào)告600字_第2頁(yè)
蜂鳴器實(shí)驗(yàn)報(bào)告600字_第3頁(yè)
蜂鳴器實(shí)驗(yàn)報(bào)告600字_第4頁(yè)
蜂鳴器實(shí)驗(yàn)報(bào)告600字_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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)介

蜂鳴器實(shí)驗(yàn)報(bào)告600字

驅(qū)動(dòng)蜂鳴器實(shí)驗(yàn)一、實(shí)驗(yàn)要求完成驅(qū)動(dòng)蜂鳴器實(shí)驗(yàn)二、實(shí)驗(yàn)?zāi)康?.2.3.4.學(xué)習(xí)Proteus軟件的使用方法學(xué)習(xí)Keil軟件的使用方法學(xué)習(xí)端口輸出的使用方法掌握延時(shí)程序的設(shè)計(jì)三、實(shí)驗(yàn)說(shuō)明(條理清晰,含程序的一些功能分析計(jì)算)分析系統(tǒng)要實(shí)現(xiàn)的功能,怎么設(shè)計(jì)實(shí)現(xiàn)方案,有哪些計(jì)算相關(guān)數(shù)據(jù)要計(jì)算,需要使用哪些什么特殊功能寄存器等,四、硬件原理圖及程序設(shè)計(jì)(一)硬件原理圖設(shè)計(jì)在PROTEUS中截圖過(guò)來(lái),并有文字說(shuō)明(二)程序流程圖設(shè)計(jì)(三)程序設(shè)源代碼#include<reg51.h>sbitbuzzer=P3^7;voiddelay(int);voidpulse_BZ(int,int,int);main(){while(1){pulse_BZ(100,1,1);delay(1000);}}voiddelay(intx){inti,j;for(i=0;i<x;i++)for(j=0;j<60;j++);}voidpulse_BZ(intcount,intTH,intTL){inti;for(i=0;i<count;i++){buzzer=1;delay(TH);buzzer=0;delay(TL);}}將程序的源代碼付上,主要句子和功能要有注釋五.實(shí)驗(yàn)總結(jié)1、實(shí)驗(yàn)過(guò)程中遇到的問(wèn)題及解決方法2、體會(huì)

第二篇:vhdl實(shí)驗(yàn)報(bào)告--蜂鳴器8700字VHDL實(shí)驗(yàn)報(bào)告一、實(shí)驗(yàn)?zāi)康?、掌握蜂鳴器的使用;2、通過(guò)復(fù)雜實(shí)驗(yàn),進(jìn)一步加深對(duì)VHDL語(yǔ)言的掌握程度。二、實(shí)驗(yàn)原理樂(lè)曲都是由一連串的音符組成,因此按照樂(lè)曲的樂(lè)譜依次輸出這些音符所對(duì)應(yīng)的頻率,就可以在蜂鳴器上連續(xù)地發(fā)出各個(gè)音符的音調(diào)。而要準(zhǔn)確地演奏出一首樂(lè)曲,僅僅讓蜂鳴器能夠發(fā)聲是不夠的,還必須準(zhǔn)確地控制樂(lè)曲的節(jié)奏,即每個(gè)音符的持續(xù)時(shí)間。由此可見(jiàn),樂(lè)曲中每個(gè)音符的發(fā)音頻率及其持續(xù)的時(shí)間是樂(lè)曲能夠連續(xù)演奏的兩個(gè)關(guān)鍵因素。樂(lè)曲的12平均率規(guī)定:每2個(gè)八度音(如簡(jiǎn)譜中的中音1與高音1)之間的頻率相差1倍。在2個(gè)八度音之間,又可分為12個(gè)半音。另外,音符A(簡(jiǎn)譜中的低音6)的頻率為440Hz,音符B到C之間、E到F之間為半音,其余為全音。由此可以計(jì)算出簡(jiǎn)譜中從低音l至高音1之間每個(gè)音符的頻率,如表2.1所示。音名頻率/Hz音名頻率/Hz音名頻率/Hz低音1低音2低音3低音4低音5低音6低音7261.6293.7329.6349.2392440493.9中音1中音2中音3中音4中音5中音6中音7523.3587.3659.3698.5784880987.8高音1高音2高音3高音4高音5高音6高音71045.51174.71318.51391.1156817601975.5表2.1簡(jiǎn)譜音名與頻率的對(duì)應(yīng)關(guān)系產(chǎn)生各音符所需的頻率可用一分頻器實(shí)現(xiàn),由于各音符對(duì)應(yīng)的頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將計(jì)算得到的分頻數(shù)四舍五入取整。若分頻器時(shí)鐘頻率過(guò)低,則由于分頻系數(shù)過(guò)小,四舍五入取整后的誤差較大;若時(shí)鐘頻率過(guò)高,雖然誤差變小,但分頻數(shù)將變大。實(shí)際的設(shè)計(jì)應(yīng)綜合考慮兩方面的因素,在盡量減小頻率誤差的前提下取合適的時(shí)鐘頻率。實(shí)際上,只要各個(gè)音符間的相對(duì)頻率關(guān)系不變,演奏出的樂(lè)曲聽(tīng)起來(lái)都不會(huì)走調(diào)。音符的持續(xù)時(shí)間須根據(jù)樂(lè)曲的速度及每個(gè)音符的節(jié)拍數(shù)來(lái)確定。因此,要控制音符的音長(zhǎng),就必須知道樂(lè)曲的速度和每個(gè)音符所對(duì)應(yīng)的節(jié)拍數(shù),本例所演奏的樂(lè)曲的最短的音符為四分音符,如果將全音符的持續(xù)時(shí)間設(shè)為1s的話(huà),那么一拍所應(yīng)該持續(xù)的時(shí)間為0.25秒,則只需要提供一個(gè)4HZ的時(shí)鐘頻率即可產(chǎn)生四分音符的時(shí)長(zhǎng)。本例設(shè)計(jì)的音樂(lè)電子琴選取12MHZ的系統(tǒng)時(shí)鐘頻率。在數(shù)控分頻器模塊,首先對(duì)時(shí)鐘頻率進(jìn)行16分頻,得到0.75MHZ的輸入頻率,然后再次分頻得到各音符的頻率。由于數(shù)控分頻器輸出的波形是脈寬極窄的脈沖波,為了更好的驅(qū)動(dòng)蜂鳴器發(fā)聲,在到達(dá)蜂鳴器之前需要均衡占空比,從而生成各音符對(duì)應(yīng)頻率的對(duì)稱(chēng)方波輸出。這個(gè)過(guò)程實(shí)際上進(jìn)行了一次二分頻,頻率變?yōu)樵瓉?lái)的二分之一即0.375MHZ。因此,分頻系數(shù)的計(jì)算可以按照下面的方法進(jìn)行。以中音1為例,對(duì)應(yīng)的頻率值為523.3Hz,它的分頻系數(shù)應(yīng)該為:0.375MHZ0.375?106??716523.3523.3至于其他音符,同樣可由上式求出對(duì)應(yīng)的分頻系數(shù),這樣利用程序可以很輕松地得到相應(yīng)的樂(lè)聲。音名頻率/Hz分頻系數(shù)音名頻率/Hz分頻系數(shù)261.614331045.5358低音1高音1293.712771174.7319低音2高音2329.611381318.5284低音3高音3349.210741391.1268低音4高音43929601568239低音5高音54408531760213低音6高音6493.97591975.5190低音7高音7523.3716587.3638中音1中音2表2.2各音名對(duì)應(yīng)的分頻系數(shù)至于音長(zhǎng)的控制,在自動(dòng)演奏模塊,每個(gè)樂(lè)曲的音符是按地址存放的,播放樂(lè)曲時(shí)按4HZ的時(shí)鐘頻率依次讀取簡(jiǎn)譜,每個(gè)音符持續(xù)時(shí)間為0.25秒。如果樂(lè)譜中某個(gè)音符為三拍音長(zhǎng),那又該如何控制呢?其實(shí)只要在3個(gè)連續(xù)地址存放該音符,這時(shí)就會(huì)發(fā)三個(gè)0.25秒的音長(zhǎng),即持續(xù)了三拍的時(shí)間,通過(guò)這樣一個(gè)簡(jiǎn)單的操作就可以控制音長(zhǎng)了。三、實(shí)驗(yàn)步驟1、設(shè)置端口1)輸入端口CLK:12MHZ系統(tǒng)時(shí)鐘輸入端口。2)輸出端口device:樂(lè)曲的聲音輸出端口,輸出的是對(duì)應(yīng)各音符頻率的方波信號(hào)。2、設(shè)置模塊1)自動(dòng)演奏模塊自動(dòng)演奏模塊可以自動(dòng)播放電子琴內(nèi)置樂(lè)曲,按節(jié)拍讀取內(nèi)置樂(lè)譜。將鍵盤(pán)輸入的音符信號(hào)輸出。因此,本模塊是向Tone模塊提供音符信息。首先,對(duì)12MHz系統(tǒng)時(shí)鐘進(jìn)行3M的分頻,得到4Hz的信號(hào),這樣一秒中就可以按照四拍進(jìn)行。然后依照此頻率進(jìn)行地址累計(jì)。2)音頻發(fā)生器模塊根據(jù)自動(dòng)演奏模塊的信號(hào)輸出,不同的信號(hào)被翻譯為不同的頻率。3)蜂鳴器驅(qū)動(dòng)模塊根據(jù)音頻發(fā)生器發(fā)出音頻的不同,蜂鳴器得到的驅(qū)動(dòng)也不同。首先,對(duì)系統(tǒng)時(shí)鐘進(jìn)行16分頻,再對(duì)0.75mhz的脈沖再次分頻,得到所需要的音符頻率,然后再進(jìn)行2分頻。四、實(shí)驗(yàn)代碼libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitytoneisport(index:instd_logic_vector(15downto0);--音符輸入信號(hào)tone0:outintegerrange0to2047--音符的分頻系數(shù));endtone;architecturebehavioraloftoneisbeginsearch:process(index)--此進(jìn)程完成音符到音符的分頻系數(shù)譯碼,音符的顯示,高低音階begincaseindexiswhen"0000000000000001"=>tone0<=1433;when"0000000000000010"=>tone0<=1277;when"0000000000000100"=>tone0<=1138;when"0000000000001000"=>tone0<=1074;when"0000000000010000"=>tone0<=960;when"0000000000100000"=>tone0<=853;when"0000000001000000"=>tone0<=759;when"0000000010000000"=>tone0<=716;when"0000000100000000"=>tone0<=358;when"0000001000000000"=>tone0<=319;when"0000010000000000"=>tone0<=284;when"0000100000000000"=>tone0<=268;when"0001000000000000"=>tone0<=239;when"0010000000000000"=>tone0<=213;when"0100000000000000"=>tone0<=190;when"1000000000000000"=>tone0<=638;whenothers=>tone0<=0;endcase;endprocess;endbehavioral;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entityspeakerisport(clk1:instd_logic;tone1:inintegerrange0to2047;spks:outstd_logic);endspeaker;architecturebehavioralofspeakerissignalpreclk,fullspks:std_logic;beginp1:process(clk1)--此進(jìn)程對(duì)系統(tǒng)時(shí)鐘進(jìn)行16分頻variablecount:integerrange0to16;beginifclk1'eventandclk1='1'thencount:=count+1;ifcount=8thenpreclk<='1';--系統(tǒng)時(shí)鐘12mhz--音符分頻系數(shù)--驅(qū)動(dòng)揚(yáng)聲器的音頻信號(hào)elsifcount=16thenpreclk<='0';count:=0;endif;endif;endprocessp1;p2:process(preclk,tone1)--對(duì)0.75mhz的脈沖再次分頻,得到所需要的音符頻率variablecount11:integerrange0to2047;beginifpreclk'eventandpreclk='1'thenifcount11<tone1thencount11:=count11+1;fullspks<='1';elsecount11:=0;fullspks<='0';endif;endif;endprocessp2;p3:process(fullspks)--此進(jìn)程對(duì)fullspks進(jìn)行2分頻variablecount2:std_logic:='0';beginiffullspks'eventandfullspks='1'thencount2:=notcount2;ifcount2='1'thenspks<='1';elsespks<='0';endif;endif;endprocessp3;endbehavioral;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitylaohuisport(clk:instd_logic;--系統(tǒng)時(shí)鐘;鍵盤(pán)輸入/自動(dòng)演奏tone_key_0:bufferstd_logic_vector(15downto0)--音符信號(hào)輸出);endlaohu;architecturebehavioraloflaohuissignalcount0:integerrange0to31;--changesignalclk2:std_logic;beginp1:process(clk)--對(duì)12mhz系統(tǒng)時(shí)鐘進(jìn)行3m的分頻,得到4hz的信號(hào)clk2variablecount:integerrange0to3000000;beginifclk'eventandclk='1'thencount:=count+1;ifcount=1500000thenclk2<='1';elsifcount=3000000thenclk2<='0';count:=0;endif;endif;endprocessp1;p2:process(clk2)--此進(jìn)程完成自動(dòng)演奏部分樂(lè)曲的地址累加beginifclk2'eventandclk2='1'thenifcount0=29thencount0<=0;elsecount0<=count0+1;endif;endif;endprocessp2;p3:process(count0,tone_key_0)begincasecount0is--此case語(yǔ)句:存儲(chǔ)自動(dòng)演奏部分的樂(lè)曲when0=>tone_key_0<=b"00000001_00000000";--1when1=>tone_key_0<=b"00000010_00000000";--2when2=>tone_key_0<=b"00000100_00000000";--3when3=>tone_key_0<=b"00000001_00000000";--1when4=>tone_key_0<=b"00000001_00000000";--1when5=>tone_key_0<=b"00000010_00000000";--2when6=>tone_key_0<=b"00000100_00000000";--3when7=>tone_key_0<=b"00000001_00000000";--1when8=>tone_key_0<=b"00000100_00000000";--3when9=>tone_key_0<=b"00001000_00000000";--4when10=>tone_key_0<=b"00010000_00000000";--5when11=>tone_key_0<=b"00000100_00000000";--3when12=>tone_key_0<=b"00001000_00000000";--4when13=>tone_key_0<=b"00010000_00000000";--5when14=>tone_key_0<=b"00010000_00000000";--5when15=>tone_key_0<=b"00100000_00000000";--6when16=>tone_key_0<=b"00010000_00000000";--5when17=>tone_key_0<=b"00001000_00000000";--4when18=>tone_key_0<=b"00000100_00000000";--3when19=>tone_key_0<=b"00000001_00000000";--1when20=>tone_key_0<=b"00010000_00000000";--5when21=>tone_key_0<=b"00100000_00000000";--6when22=>tone_key_0<=b"00010000_00000000";--5when23=>tone_key_0<=b"00001000_00000000";--4when24=>tone_key_0<=b"00000100_00000000";--3when25=>tone_key_0<=b"00000001_00000000";--1when26=>tone_key_0<=b"00000100_00000000";--3when27=>tone_key_0<=b"00000000_00100000";--di6when28=>tone_key_0<=b"00000001_00000000";--1whenothers=>null;endcase;endprocessp3;endbehavioral;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitybeep0isp

溫馨提示

  • 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)論