Ⅲ. AVR을 이용한 스탑워치 설계
1. 부품리스트
2. 회로도
3. 소스코드
4. 실험결과
5. 원리 및 동작해석
Ⅰ. 목 표
AVR ATmega128을 이용하여 스탑워치(Stop Watch)를 구현해본다. 분:초:프레임(1/100) 의 구성으로 00:00:00 ~ 59:59:99 의 범위안의 시간을 카운팅한다. 그리고 Start, Stop, Reset 스위치 버튼을 이용해서 스탑워치의 시간을 시작하고, 멈추고, 초기화시킬 수 있도록 한다.
AVR의 Timer/Counter 기능을 이용하고 7-Segmnet를 이용하여 숫자를 출력하여 스탑워치를 구현한다.
Ⅱ. 개발환경
· OS : Windows
· Program tool : AVR Studio, Atmel studio
· Compiler : AVR-GCC
· Language : C language
· AVR MCU : ATmega128
<중략>
#include #include
#define Fnd_delay 3 // FND Dynamic display 방식의 출력지연(mSec)
unsigned int min = 0, sec = 0;
unsigned int min_d1,min_d2,sec_d1,sec_d2,frm_d1,frm_d2;
unsigned int stop_flag = 0;
unsigned int count=0;
<중략>
위의 결과와 같이 시:분:프레임이 세그먼트에 1/100 Sec 단위로 표시되는 것을 확인 할 수 있다. Stop 버튼을 누르면 시간이 멈추고 Start 버튼을 누르면 다시 시간이 카운팅 된다. Reset 버튼을 누르면 시간이 00:00:00으로 초기화 된다.
- 원리 및 동작해석
· 1/100 Sec 단위 카운팅
본 스탑워치는 1/100 Sec 단위로 카운팅되면서 시간이 표시된다. 때문에 AVR의 Timer/Counter 기능을 이용하여 1/100 Sec 즉, 100hz의 주파수를 만들어 줄 필요가 있다.
그러기 위해서 16 bit인 Timer/Counter 1 를 CTC 모드로 사용하였다. 그리고 프리스케일러의 분주비는 256, OCR1A 의 값은 624이므로 계산은 다음과 같다.
· 해피레포트는 다운로드 받은 파일에 문제가 있을 경우(손상된 파일/설명과 다른자료/중복자료 등) 1주일이내 환불요청 시 환불(재충전) 해드립니다.
(단, 단순 변심 및 실수로 인한 환불은 되지 않습니다.)
· 파일이 열리지 않거나 브라우저 오류로 인해 다운이 되지 않으면 고객센터로 문의바랍니다.
· 다운로드 받은 파일은 참고자료로 이용하셔야 하며,자료의 활용에 대한 모든 책임은 다운로드 받은 회원님에게 있습니다.
저작권안내
보고서 내용중의 의견 및 입장은 당사와 무관하며, 그 내용의 진위여부도 당사는 보증하지 않습니다.
보고서의 저작권 및 모든 법적 책임은 등록인에게 있으며, 무단전재 및 재배포를 금합니다.
저작권 문제 발생시 원저작권자의 입장에서 해결해드리고 있습니다. 저작권침해신고 바로가기