Page 423 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 423
28: {lcd_rs, lcd_data} = {1'b1, (pos == 2)? (music_sel==1 && cnt_sec <= on_off)? " " :
"o" : "O"};
29: {lcd_rs, lcd_data} = {1'b1, (pos == 2)? (music_sel==1 && cnt_sec <= on_off)? " " :
"l" : (sw_off)? "N" : "F"};
30: {lcd_rs, lcd_data} = {1'b1, (pos == 2)? (music_sel==1 && cnt_sec <= on_off)? " " :
"o" : (sw_off)? " " : "F"} ;
31: {lcd_rs, lcd_data} = {1'b1, (pos == 2)? (music_sel==1 && cnt_sec <=
on_off)? " " : "r" : " "};
32: {lcd_rs, lcd_data} = {1'b1, (pos == 2)? (music_sel==1 && cnt_sec <=
on_off)? " " : "o" : " "};
default: {lcd_rs, lcd_data}=0;
endcase
end
end
delay_50ms: {lcd_rs, lcd_data}=0; // 쉬는 시간
default: {lcd_rs, lcd_data} = 0;
endcase
end
endmodule
C) 모터 모듈
module motor_ctrl2(en,clk,rst,sen,left_mtr,right_mtr);
input [2:0]sen; //3개의 센서
input clk,rst,en;
output reg [1:0]left_mtr, right_mtr; //좌,우모터 정,역방향
reg [2:0]state; //센서 감지 상태
reg flag=0;
reg [15:0] dc_speed;
integer clk_cnt=0, clk_cnt2=0;
parameter FRONT=0, BACK=1, LEFT=2, RIGHT=3;
parameter SPIN_F=2'b10, //정회전
SPIN_B=2'b01, //역회전
STOP=2'b00;
parameter pwm_value =190000; //pwm 속도제어 LEFT
parameter pwm_value2=269999; //pwm 속도제어 RIGHT
parameter SEC1=200000000, SEC2=550000000,SEC3=100000000; // 1초, 2초
always @(posedge clk, negedge rst)
- 416 -