[전자공학]VHDL-디지털 시계
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2006.08.11 / 2019.12.24
- 20페이지 / hwp (아래아한글2002)
- 평가한 분이 없습니다. (구매금액의 3%지급)
- 1,000원
최대 20페이지까지 미리보기 서비스를 제공합니다.
자료평가하면 구매금액의 3%지급!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
추천 연관자료
- 하고 싶은 말
-
VHDL 수업하믄서 만든
디지털 시계 소스프로그램 입니다
스톱워치 알람 타임
BCD를 7segment를 출력하기 위한 값으로 디코딩하기 위한 구문
프로그램 소스 모두 있어요
- 본문내용
-
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY digital_clock IS
PORT (
-- 10KHz 클럭입력
CLK : IN STD_LOGIC;
-- 모드 변환 버튼
SW_MODE : IN STD_LOGIC;
-- 설정 위치 변경 버튼
SW_F1 : IN STD_LOGIC;
-- 값 변경 버튼
SW_F2 : IN STD_LOGIC;
-- 7segment data
SEGMENT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
-- 7segment 디스플레이 위치 지정
COMMON : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
-- 알람 설정 표시
ALARM_ON : OUT STD_LOGIC;
-- 알람 출력( LED로 표시한다.)
BEEP : OUT STD_LOGIC;
-- 모드 표시
LED_MODE : OUT STD_LOGIC_VECTOR (2 DOWNTO 0));
END digital_clock;
ARCHITECTURE A OF digital_clock IS
--10KHz의 클럭입력을 사용하여 1Hz와 100Hz의 클럭을 발생시킨다.
COMPONENT CLK_DIV
PORT (
CLK : IN STD_LOGIC;
CLK_1H : OUT STD_LOGIC;
CLK_100H : OUT STD_LOGIC
);
END COMPONENT;
--선택모드를 위한 설정.
COMPONENT WATCH
PORT (
CLK_1H : IN STD_LOGIC;
CLK_100H : IN STD_LOGIC;
SW_MODE : IN STD_LOGIC;
SW_F1 : IN STD_LOGIC;
SW_F2 : IN STD_LOGIC;
HOUR : OUT INTEGER RANGE 23 DOWNTO 0;
MINUTE : OUT INTEGER RANGE 59 DOWNTO 0;
SECOND : OUT INTEGER RANGE 59 DOWNTO 0;
SEC_HUN : OUT INTEGER RANGE 99 DOWNTO 0;
DIGIT_ON : OUT STD_LOGIC_VECTOR (3 DOWNTO 0);
ALARM_ON : OUT STD_LOGIC;
BEEP : OUT STD_LOGIC;
LED_MODE : OUT STD_LOGIC_VECTOR (2 DOWNTO 0));
END COMPONENT;
COMPONENT DETECT1
PORT(
NUMBER : IN INTEGER RANGE 23 DOWNTO 0;
SEG_TEN : OUT STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_ONE : OUT STD_LOGIC_VECTOR (6 DOWNTO 0));
END COMPONENT;
COMPONENT DETECT2
PORT(
NUMBER : IN INTEGER RANGE 59 DOWNTO 0;
SEG_TEN : OUT STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_ONE : OUT STD_LOGIC_VECTOR (6 DOWNTO 0));
END COMPONENT;
COMPONENT DETECT3
PORT(
NUMBER : IN INTEGER RANGE 99 DOWNTO 0;
SEG_TEN : OUT STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_ONE : OUT STD_LOGIC_VECTOR (6 DOWNTO 0));
END COMPONENT;
COMPONENT SEG_MODULE
PORT (
CLK : IN STD_LOGIC;
SEG_EN : IN STD_LOGIC_VECTOR (7 DOWNTO 0);
SEG_8 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_7 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_6 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_5 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_4 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_3 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_2 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_1 : IN STD_LOGIC_VECTOR (6 DOWNTO 0);
SEG_OUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);
COMMON : OUT STD_LOGIC_VECTOR (7 DOWNTO 0));
END COMPONENT;
SIGNAL CLK_1H, CLK_100H : STD_LOGIC;
SIGNAL HOUR : INTEGER RANGE 23 DOWNTO 0;
SIGNAL MINUTE : INTEGER RANGE 59 DOWNTO 0;
SIGNAL SECOND : INTEGER RANGE 59 DOWNTO 0;
SIGNAL SEC_HUN : INTEGER RANGE 99 DOWNTO 0;
SIGNAL DIGIT_ON : STD_LOGIC_VECTOR (3 DOWNTO 0);
SIGNAL SEG_EN : STD_LOGIC_VECTOR (7 DOWNTO 0);
SIGNAL SEG_8 ,SEG_7 ,SEG_6 ,SEG_5 : STD_LOGIC_VECTOR (6 DOWNTO 0);
SIGNAL SEG_4 ,SEG_3 ,SEG_2 ,SEG_1 : STD_LOGIC_VECTOR (6 DOWNTO 0);
BEGIN
U0 : CLK_DIV
PORT MAP (
CLK => CLK,
CLK_1H => CLK_1H,
CLK_100H => CLK_100H);
U1 : WATCH
PORT MAP (
CLK_1H => CLK_1H,
CLK_100H => CLK_100H,
SW_MODE => SW_MODE,
SW_F1 => SW_F1,
SW_F2 => SW_F2,
HOUR => HOUR,
MINUTE => MINUTE,
자료평가
-
아직 평가한 내용이 없습니다.