마이크로프로세서 텀프로젝트(다기능 시계)
- 최초 등록일
- 2018.08.06
- 최종 저작일
- 2017.03
- 33페이지/ 한컴오피스
- 가격 1,000원
목차
1. 구현 기능 설명
2. 회로도 해석 및 주요 기능 구현 방법
1) 기본 시계(분,초)
2) 알람 타이머
3) 시간 재설정
4) 시계 속도 설정
3. 고찰
본문내용
<구현 기능 설명>
기능 / 내용 요약
기본 시계
기본 추가기능 없이 일상생활에서 볼 수 있는 시계기능
알람 타이머
설정한 시간에 소리가 울리는 알람 기능
시간 재설정
원하는 시간을 설정하는 기능
시계 속도 설정
기본 시계와 알람 타이머의 시간 간격 속도를 조절하는 기능
<회로도 해석 및 주요 기능 구현 방법>
1. 기본 시계(분,초)
-1초의 시간간격을 설정하기 위해 timer interrupt를 사용하였다. Interrupt가 발생할 때 마다 달라지는 CNT(DISP 함수에 나오는 변수)의 값에 따라 분기하여 '10분', '1분', '10초', '1초'로 나누어 표시되도록 작성하였다.Timer interrupt가 4번 발생하면 CNT를 CLEAR 시켜서 다시 DISP00로 갈 수 있게 해서 계속 반복되도록 했다. 그리고 분기가 0,1,2,3 순서이기에 TIMER INTERRUPT가 4번 실행 될 때 마다 DISP00, 01, 10, 11이 각각 한 번 씩 실행된다. 그러므로 “INCF INT_CNT”를 DISP11에 배치해서 4번의 interrupt가 걸릴 때 마다 1씩 증가하도록 했고, 이러한 INT_CNT의 값을 이용하여 1초의 시간간격을 설정할 수 있다.
그리고 각각의 DISP00, 01, 10, 11 내부에 있는 CONV와 DISPLAY_ON_7SEG 함수를 이용한다. 먼저 CONV는 2진법(or 16진법) 숫자로 기록되어있는 SEC_ONE, SEC_TEN, MIN_ONE, MIN_TEN값 들을 7-SEGMENT에 해당하는 숫자를 표시할 수 있는 값으로 만들어주는 함수이다. 이 값을 W REG에 저장해준다. 그리고 이 값은 DISPLAY_ON_7SEG에게 전달되어 진다. 이 DISPLAY_ON_7SEG는 7-Segment의 “a~dot”까지의 회로결선을 적절히 풀어서 값을 7-segment에 전달해주는 함수이다. 이 함수의 원리는 먼저 CALL conv에 의해서 변형된 W를 DISPLAY_PASS에 전달한다. 그리고 이 변수를 한 bit단위로 쪼개서 출력한다.
참고 자료
없음