Page 427 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 427
if(pwm_value>dc_speed) left_mtr<=SPIN_B;
else left_mtr<=STOP; //정지
if(pwm_value2>dc_speed) right_mtr<=SPIN_B;
else right_mtr<=STOP;
end
end
else
begin
left_mtr<=STOP; //정지
right_mtr<=STOP;
end
end
endmodule
D) 멜로디 모듈
module music_box(reset,clk,speaker,en,music_sel,screen);
input reset, clk, en, music_sel,screen;
output reg speaker ;
reg [15:0] addr = 0;
reg [27:0] play_time = 0;
reg [27:0] sound_cnt = 0;
reg [15:0] address;
reg [32:0] scale,note;
parameter do = 103200 , rae = 91941 , mi = 81910 , pa = 77313 , sol = 68878 , ra = 61363;
parameter si = 54668, do4 = 51600 , rae4 = 45971, shim = 0 , sol2 = 137756;
parameter r48 = 0.2 , n4 = 8 , n2 = 16 , nd2 = 24 , n8 = 4 , nd8 = 6 , n16 = 2;
parameter nd4=12, r482 = 1, r4 = 8;
parameter tempo = 2700000;
reg [27:0] scale1 [132:0];
reg [27:0] note1 [132:0];
reg [27:0] scale2 [180:0];
reg [27:0] note2 [180:0];
initial //scale1
begin
scale1[0] = ra; scale1[1]=shim; scale1[2] = ra; scale1[3]=shim; scale1[4] = ra;
scale1[5] = si; scale1[6]=si; scale1[7] = mi; scale1[8]=shim; scale1[9] = mi;
scale1[10] = rae; scale1[11]=mi; scale1[12] = shim; scale1[13] = mi; scale1[14] = ra;
- 420 -