목차
Ⅰ. 목 표
Ⅱ. 개발환경
Ⅲ. 제작
1. 부품리스트
2. 회로도
3. 소스코드
4. 실험결과
5. 기능별 원리 및 동작해석
(1) Timer/counter를 이용한 ‘1초’ 카운트
(2) 키 입력, 키 디바운싱 처리
(3) FND Dynamic Display
(4) EEPROM 시간데이터 저장과 불러오기
(5) 알람기능
(6) 부저기능
(7) 시간설정기능
Ⅱ. 개발환경
Ⅲ. 제작
1. 부품리스트
2. 회로도
3. 소스코드
4. 실험결과
5. 기능별 원리 및 동작해석
(1) Timer/counter를 이용한 ‘1초’ 카운트
(2) 키 입력, 키 디바운싱 처리
(3) FND Dynamic Display
(4) EEPROM 시간데이터 저장과 불러오기
(5) 알람기능
(6) 부저기능
(7) 시간설정기능
본문내용
Ⅰ. 목 표
보고서에서는 AVR을 이용한 디지털 알람시계를 만드는 법에 대하여 알아보도록 한다. 본 디지털 알람시계는 00:00:00 ~ 23:59:59 의 시간범위로 운용되며 AVR의 타이머/카운터 기능을 베이스로 ‘1초’를 카운팅하여 시간을 구성한다. 그리고 2자리 세그먼트 3개로 각 시:분:초의 시간데이터를 시각적으로 출력한다. 기능은 크게 알람설정기능과 시간설정기능, 알람데이터 EEPROM 저장기능 그리고 부저기능을 구현한다.
<중 략>
(1) Timer/counter를 이용한 ‘1초’ 카운트
디지털 시계는 1 Sec 단위로 카운팅되면서 시간이 표시된다. 때문에 AVR의 Timer/Counter 기능을 이용하여 1 Sec 즉, 1hz의 주파수를 만들어 줄 필요가 있다.
그러기 위해서 16 bit인 Timer/Counter 1 을 CTC 모드로 사용하였다. 그리고 프리스케일러의 분주비는 256, OCR1A 의 값은 62499이므로 계산은 다음과 같다.
<중 략>
디지털 시계가 전원이 꺼진 후에도 알람시간 데이터와 설정 데이터를 유지할 수 있게 하기 위하여 EEPROM에 데이터를 저장하고 불러올 수 있게 하였다.
ATmega128 MCU에 내장된 EEPROM은 4 KB의 데이터 사이즈를 가지고 있다. 메모리 번지는 0x0000 ~ 0x0FFF (4096개) 로 할당되어 있다. 본 디지털 시계에서는 아래와 같이 총 5 byte의 데이터를 저장하고 불러온다.
보고서에서는 AVR을 이용한 디지털 알람시계를 만드는 법에 대하여 알아보도록 한다. 본 디지털 알람시계는 00:00:00 ~ 23:59:59 의 시간범위로 운용되며 AVR의 타이머/카운터 기능을 베이스로 ‘1초’를 카운팅하여 시간을 구성한다. 그리고 2자리 세그먼트 3개로 각 시:분:초의 시간데이터를 시각적으로 출력한다. 기능은 크게 알람설정기능과 시간설정기능, 알람데이터 EEPROM 저장기능 그리고 부저기능을 구현한다.
<중 략>
(1) Timer/counter를 이용한 ‘1초’ 카운트
디지털 시계는 1 Sec 단위로 카운팅되면서 시간이 표시된다. 때문에 AVR의 Timer/Counter 기능을 이용하여 1 Sec 즉, 1hz의 주파수를 만들어 줄 필요가 있다.
그러기 위해서 16 bit인 Timer/Counter 1 을 CTC 모드로 사용하였다. 그리고 프리스케일러의 분주비는 256, OCR1A 의 값은 62499이므로 계산은 다음과 같다.
<중 략>
디지털 시계가 전원이 꺼진 후에도 알람시간 데이터와 설정 데이터를 유지할 수 있게 하기 위하여 EEPROM에 데이터를 저장하고 불러올 수 있게 하였다.
ATmega128 MCU에 내장된 EEPROM은 4 KB의 데이터 사이즈를 가지고 있다. 메모리 번지는 0x0000 ~ 0x0FFF (4096개) 로 할당되어 있다. 본 디지털 시계에서는 아래와 같이 총 5 byte의 데이터를 저장하고 불러온다.
소개글