Page 426 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 426
always @ (posedge clk, negedge rst) //PWM 카운트 모듈
if(!rst) dc_speed<=0;
else
begin
if(dc_speed>270000) dc_speed<=0;
else dc_speed<=dc_speed+1;
end
always @(posedge clk, negedge rst)
if(!rst) {left_mtr,right_mtr}<=0;
else
begin
if(en==1)
begin
if(state==FRONT) //기본 상태 (전진)
begin
if(pwm_value>dc_speed) left_mtr<=SPIN_F;
else left_mtr<=STOP; //정지
if(pwm_value2>dc_speed) right_mtr<=SPIN_F;
else right_mtr<=STOP;
end
else if(state==LEFT) //좌회전
begin
if(pwm_value>dc_speed) left_mtr<=SPIN_B;
else left_mtr<=STOP; //정지
if(pwm_value2>dc_speed) right_mtr<=SPIN_F;
else right_mtr<=STOP;
end
else if(state==RIGHT) //우회전
begin
if(pwm_value>dc_speed) left_mtr<=SPIN_F;
else left_mtr<=STOP; //정지
if(pwm_value2>dc_speed) right_mtr<=SPIN_B;
else right_mtr<=STOP;
end
else if(state==BACK) //후진
begin
- 419 -