Page 415 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 415
input clk, rst;
input [7:0] hour, min; // 현재 시간
input song_sw; // 알림 노래 설정하기
input [7:0] A_hour, A_min; // 알람 설정형 시간
input [3:0] pos; // 시계와의 접합시, 이 변수는 [5:0]로 바뀐다. 쉬프트를 이용해 바꿀 생각 이다.
input screen; // 알람 on, off
input apm; // am, pm
input a_apm; // 알람 am, pm
input music_sel; //vpos값이 2일때 노래 선택 music_sel이 0이면 -1번째 곡, 1이면-2번째 곡
input sw_off;
output reg lcd_rs, lcd_en; // LCD 기본 설정들
output reg [7:0] lcd_data; // LCD 문자 출력 부분
output lcd_rw;
reg [2:0] state; // FSM의 상태
reg [17:0] cnt_clk;
reg [4:0] cnt_100ms;
reg [8:0] cnt_50ms;
reg [5:0] line;
reg [17:0] cnt_half=187500;
reg [31:0] cnt_sec;
reg [7:0] hour10 ; // hour의 10의 자리 : 0 또는 1
reg [7:0] hour1 ; // hour의 1의 자리 : 0 ~ 9
reg [7:0] min10 ; // min의 10의 자리 : 0 ~ 5
reg [7:0] min1 ; // min의 1의 자리 : 0 ~ 9
reg [7:0] A_hour10; // 첫번째 알람형 hour
reg [7:0] A_hour1 ; // 두번째 알람형 hour
reg [7:0] A_min10 ; // 두번째 알람형 min
reg [7:0] A_min1 ; // 첫번째 알람형 min
reg [7:0] DDRAM = 8'b10000000; // DDRAM 00H번지
reg [7:0] constant_A; // 디버깅을 위한, 소스 간략화를 위한 constant
reg [7:0] constant_B;
reg [7:0] constant_C;
reg [7:0] constant_D;
assign lcd_rw = 0;
assign show_a_apm = (a_apm == 1)? 1 : 0;
parameter delay_100ms=0, function_set=1, clear_display=2;
parameter display_on=3, entry_mode=4, display_data=5, delay_50ms=6;
parameter on_off = 24999999;
- 408 -