검색어 입력폼
평가점수C

avr을 이용한 디지털 시계(기능추가)

저작시기 2007.01 |등록일 2007.06.06 파일확장자압축파일 (zip) | 21페이지 | 가격 1,100원

소개글

avr 8515/128을 이용하여 디지털 시계를 제작하였고 기능을 추가시킴으로써 기존의 디지털 시계와 차별화를 두었다. 소스코드와 flow chart가 첨부되어 있다.

(1) 프로그램의 실행
① LCD Line 1
- alm 아이콘, 년/월/일 초기값(2000- 1- 1) 출력
② LCD Line 2
- AM , 현재시간 초기값(12:00:00) 출력
- 프로그램의 시작과 동시에 알람과 겹치지 않게 하기 위해 알람 초기값은 PM 으로 설정

(2) 1초 발생
- 타이머/카운터1 비교 B매치 인터럽트를 이용하여 0.5초마다 인터럽트를 발생시키고, 깜 빡거리는 주기로 인해 1초 생성

(3) 시간 조정모드에서의 커서 위치 결정
- 년/월/일 과 현재시간, 또한 알람기능 모두 단 2개의 스위치를 이용하여야 하기 때문에 Switch문을 이용하여 제어

(4) 년/월/일 과 현재시간 조정
- 외부 인터럽트 요구 1을 이용하였고, 현재시간의 경우 AM / FM을 출력하기 위한 알고리 즘만 추가하였고, 년/월/일의 출력을 위해 먼저 각각의 달을 배열값으로 설정하고, 다중 if문을 사용하여 제어

(5) 알람모드 에서의 조정
- 알람모드로 들어가게 되면 임의의 시간을 지정할 수 있으며, 입력이 완료되면 다시 인터 럽트를 받아 현재시간모드로 되돌아 간 뒤, 현재시간과 셋팅된 시간이 일치할 경우 LCD 에 wakeup!을 출력하고, LED를 구동

(6) LCD Display

컴파일 실행환경

code vision

본문내용

1. 개요
- 책에 제공된 예제를 바탕으로 KUT-8515 Board와 2 Line LCD를 이용하여 기능을 추가 한 디지털시계를 제작하였다.

(1) 추가된 기능
① 년/월/일 Display
② AM / FM Display
③ 알람 기능

(2) 기본 알고리즘
- 타이머/카운터1을 일반모드(모드 0)로 하여 출력비교 인터럽트를 이용하여 0.5초 마다 출 력비교 인터럽트가 발생하도록 레지스터 OCR1B에 값을 설정하고, 파형출력은 OC1B(PWM)핀에 연결된 LED를 0.5초 단위로 On/Off 토글되어 표시하도록 한다. 따라 서, 출력 비교 인터럽트가 2번 발생하면 1초가 되므로, 출력 비교 인터럽트가 2번 발생할 때마다 시간을 증가시키면 된다.

OCR1B = 오실레이터 주파수 x 1/프리스케일 x 1/2
- 0.5초의 주기를 얻기 위한 타이머/카운터1의 출력비교 레지스터 OCR1B의 값

압축파일내 파일목록

watch.txt
시계최종.hwp

참고 자료

알기쉽게 배우는 atmega128
다운로드 맨위로