【正文】
hen 42 = D=00000100。 when 40 = D=00000100。 when 38 = D=00001000。 when 36 = D=00000100。 when 34 = D=00000010。 when 32 = D=00000010。 when 30 = D=00000001。 when 28 = D=00000001。 when 26 = D=00010000。 when 24 = D=00000100。 when 22 = D=00000010。 when 20 = D=00000010。 when 18 = D=00000100。 when 16 = D=00010000。 when 14 = D=00010000。 when 12 = D=00010000。 when 10 = D=00000100。 when 8 = D=00000001。 when 6 = D=00000010。 when 4 = D=00001000。 when 2 = D=00000100。 then ――啟動(dòng)自動(dòng)播放后,在5HZ的脈沖下,每來一個(gè)脈沖相應(yīng)播放一個(gè)音符 case count0 is when 0 = D=00010000。 musicplay:process(C,B,A) begin if B=39。 end if。 else count0=count0+1。139。 half:process(clk2) begin if(clk239。 end if。count3=0。 elsif count3=10000 then clk2=39。 if count3=5000 then clk2=39。139。 elsif(C39。clk2=39。039。 記錄自動(dòng)播放的樂曲的脈沖并控制播放 signal count3:integer range 0 to 10000。 architecture music of autoplay is signal clk2:std_logic。 D:out std_logic_vector(7 downto 0))。 entity autoplay is port(A:in std_logic_vector(7 downto 0)。 use 。 自動(dòng)播放模塊: library ieee。 G3:control port map(A=clk1,B=tone0,C=play)。 -- 音調(diào)發(fā)生器的輸出和數(shù)控分頻部分的輸入,表示音符的頻率 begin ――在這個(gè)進(jìn)程