Page 374 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 374
.adc_clk(adc_clk), .adc_eoc(adc_eoc),
.CDS(CDS), .adc_input(adc_input),
.adc_channel(adc_channel)); // AD변환
PWM U1( .clk(clk), .reset(reset), .lamp(lamp),.CDS(CDS), .mode(sw_mode),
.phase(sw_phase), .lp(lp)); // lamp 밝기 조절
clock U2( .clk(clk), .reset(reset), .dipsw(dipsw),
.sw(sw), .hour(hour), .thour(thour),
.min(min),.tmin(tmin), .tsec(tsec),
.select(select), .timer_flag(timer_flag),.enable(enable)); // 시계
bell U3(.clk(clk),.reset(reset), .sw(enable), .spk(spk)); // 멜로디
// AM PM 결정해주는 곳
assign am_pm = (hour>=12) ? "P" : "A";
// 시간 각 자릿수를 나눠주는 곳
assign hour10 = (!dipsw&&select==1&&cnt_1s_half<=99)?" ":hour/10%10+"0";
assign hour1 = (!dipsw&&select==1&&cnt_1s_half<=99)?" ":hour%10+"0";
assign min10 = (!dipsw&&select==2&&cnt_1s_half<=99)?" ":min/10%10+"0";
assign min1 = (!dipsw&&select==2&&cnt_1s_half<=99)?" ":min%10+"0";
// 타이머 각 자릿수를 나눠주는 곳
assign thour10 = (dipsw&&select==1&&cnt_1s_half<=99&&!timer_flag)?" ":thour/10%10+"0";
assign thour1 = (dipsw&&select==1&&cnt_1s_half<=99&&!timer_flag)?" ":thour%10+"0";
assign tmin10 = (dipsw&&select==2&&cnt_1s_half<=99&&!timer_flag)?" ":tmin/10%10+"0";
assign tmin1 = (dipsw&&select==2&&cnt_1s_half<=99&&!timer_flag)?" ":tmin%10+"0";
assign tsec10 = (tsec/10)%10 + "0";
assign tsec1 = tsec%10 + "0";
// LAMP가 자동일 때 수동 일 때 LCD 표현 값 설정
assign A_M =(sw_mode==1)? "M" :"A";
assign write=(A_M=="A")? " " :"M";
assign write2=(A_M=="A")? "A" :"A";
assign write3=(A_M=="A")? "U" :"N";
assign write4=(A_M=="A")? "T" :"U";
assign write5=(A_M=="A")? "O" :"A";
assign write6=(A_M=="A")? " " :"L";
assign cnt_5ms_half=187499;
assign lcd_rw=1'b0; //쓰기 기능
- 367 -