Page 420 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 420
end
function_set: state<= clear_display; // Fuction Set
clear_display: state<= display_on; // 디스플레이 ON
display_on: state<= entry_mode; // 엔트리 모드
entry_mode: state<= display_data; // 엔트리 모드를 통해서 3개의 모드를 구현할 것임
display_data: // line 값은 내가 출력한 것에 맞춰서
begin
if(line>=33) state<= delay_50ms;
else state<=state;
end
delay_50ms: // display모드와 delay_ms모드를 반복해서 LCD에 값을 출력함
begin
if(cnt_50ms==5) state<= display_data;
else state<=state;
end
endcase
end
end
// FSM_ output logic
always @ (state, pos, apm, screen, constant_A, constant_B,
constant_C, constant_D, on_off, music_sel)
begin
case(state)
delay_100ms: {lcd_rs, lcd_data}=0;
function_set: {lcd_rs, lcd_data} = 9'b0_0011_1000;
clear_display: {lcd_rs, lcd_data} = 9'b0_0000_0001;
display_on: {lcd_rs, lcd_data} = 9'b0_0000_1100;
entry_mode: {lcd_rs, lcd_data} = 9'b0_0000_0110;
display_data:
begin
if(!screen)// 현재 시간 출력
begin
case(line)
0: {lcd_rs, lcd_data} = {1'b0, DDRAM}; // DDRAM어드레스 설정
1: {lcd_rs, lcd_data} = {1'b1, " "};
2: {lcd_rs, lcd_data} = {1'b1, "C"};
3: {lcd_rs, lcd_data} = {1'b1, "u"};
4: {lcd_rs, lcd_data} = {1'b1, "r"};
- 413 -