pit.kr System On Chip 설계 및 응용 - 시계 + 스탑워치 + 시간설정 + 알람설정 구현 > pit5 | pit.kr report

System On Chip 설계 및 응용 - 시계 + 스탑워치 + 시간설정 + 알람설정 구현 > pit5

본문 바로가기

pit5


[[ 이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다. ]


System On Chip 설계 및 응용 - 시계 + 스탑워치 + 시간설정 + 알람설정 구현

페이지 정보

작성일 23-01-26 19:58

본문




Download : System On Chip 설계 및.hwp




스탑워치 제어는 put변수를 만들어 각각의 스위치 눌러지면 미리 정해놓은 값이 들어가 다른 버튼이 눌러지기 전까지 그 값을 유지하게 하였다. 그리고 카운터가 1/100초를 셀수 있도록 125,000번 클럭(25Mhz)이 발생하면 Clk_out을 반전되도록 하였다. 여기서 약간의 문제가 있었다. if문을 안쓰고 rem을 써보려했지만 카운터 data(자료)형이 unsigned형이 아니라 명령어를 쓸 수 없었다.두 번째로 시간을 설정하는 부분에서 많은 시행착오를 겪다가 시계소스 안에서 스위치 라이징엣지를 clk_in라이징엣지와 중복해서 사용하는 건 부적절한 듯싶어서 새롭게 파일을 만들었다. 알람동작은 알람 <시:분:초>와 같거나 클 경우 그리고 <시:분+1:초>보다 작을 경우 buzzer값에 0을 넣어서 dot_matrix를 작동 시킨다.


System On Chip 설계 및 응용,시계,스탑워치,시간설정, 알람설정 구현
처음 스탑워치 구현은 전자회로 test(실험) 시간에도 자주해 본 알고리즘이고 시계소스도 이미 만들어져 있기 때문에 큰 어려움없이 구현 할 수 있었다. 알람을 어느 정도 동작되고 꺼야 했는데 이 프로젝트에서는 알람시각으로부터 1분간 작동되고 알람이 꺼지도록 했다. 그리고 0에서 한 단계 뒤는 그 변수의 최고치이므로 세그먼트 출력부 중 others값은 최고치에 맞춰 주어야한다. 시계에서 시간 부분을 제거한 후 1/100초 부분을 추가해줬다. 원래는 0으로 설정되어있따 이렇게 만들고 나니 의도하지는 않았지만 알람설정도 자연스럽게 되었다. 그 다음 put변수값을 비교하여 카운터를 증가시키거나 유지할 수 있었다. 여기서 전달되는 카운터 값은 세그먼트에 표시된 값보다 한 단계 증가해서 전해지기 때문에 시계에서 세그먼트로 갱신 될 때 한 단계만큼 감소시켜 출력시켜야 정상적으로 출력되었다.
다. 똑같은 방식으로 새로운 파일을 만들어 알람시간을 정하고 그 값이 저장된 변수들을 시계로 보내서 현재 시간과 비교해서 같을 경우 부저신호를 내보내면 되는 것 이였다. 그러기 위해서는 십의자리와 일의자리로 나누어진 초의 변수들을 하나의 십진수로 만들어서 현재시각과 비교가 필요했다. 시계의 경우는 12,500,000번이다. 시계와 소스는 대부분 같지만 클럭으로 시분초가 올라가는게 아니라 각각의 스위치 라이징엣지에 반응하여 시분초가 올라가도록 만들고 그 값들을 설정모드 일 경우에만 시계의 시분초 카운터들과 연결시켜서 시간설정을 구현 할 수 있었다. 앞에서도 말했듯이 카운터값은 현재시각의 한단계 높은 값을 가지고 있기 때문에 1을 빼줘야 하는데 무작정 빼면 0에서 음수가 되어버리기 때문에 그 부분을 고려하여 if문으로 0일 경우는 빼지 않고 최고치로 넘어갈 수 있도록 하여 임시변수에 넣은 뒤 십의 자리에는 10을 곱한 후 일의자리와 더해서 하나의 10진수를 만들었다.레포트 > 공학,기술계열
순서
System On Chip 설계 및-4422_01.jpg System On Chip 설계 및-4422_02_.jpg System On Chip 설계 및-4422_03_.jpg System On Chip 설계 및-4422_04_.jpg System On Chip 설계 및-4422_05_.jpg

use ieee.std_logic_arith.all;
entity easy_clock is

clk_in: in std_logic;


System On Chip 설계 및 응용 - 시계 + 스탑워치 + 시간설정 + 알람설정 구현
library ieee;



use ieee.std_logic_unsigned.all;


Download : System On Chip 설계 및.hwp( 69 )


use ieee.std_logic_1164.all;

port (



설명


resetn: in std_logic;
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity easy_clock is port ( clk_in: in std_logic; resetn: in std_logic;


dotmatrix에는 한글로 “알람”을 표시하도록 코딩하였다. 또한 스탑워치의 모든 카운터 값을 ‘0’으로 초기화시킬 수 있었다.
Total 6,139건 312 페이지
pit5 목록
번호 제목
1474
1473
1472
1471
1470
1469
열람중
1467
1466
1465
1464
1463
1462
1461
1460

검색

REPORT 73(sv75)



해당자료의 저작권은 각 업로더에게 있습니다.

www.pit.kr 은 통신판매중개자이며 통신판매의 당사자가 아닙니다.
따라서 상품·거래정보 및 거래에 대하여 책임을 지지 않습니다.
[[ 이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다 ]]

[저작권이나 명예훼손 또는 권리를 침해했다면 이메일 admin@hong.kr 로 연락주시면 확인후 바로 처리해 드리겠습니다.]
If you have violated copyright, defamation, of rights, please contact us by email at [ admin@hong.kr ] and we will take care of it immediately after confirmation.
Copyright © www.pit.kr All rights reserved.