< |
AVR 스탑워치(StopWatch).zip |
해당 자료는 해피레포트에서 구매 후 열람이 가능합니다 |
분량 : 11 페이지 /zip 파일 |
설명 : 제가 직접 실험하고 공부한 레포트를 정리해서 작성한 압축문서입니다. [구성 : 보고서, 회로도, 소스코드, 결과사진/동영상] 보고서에 실험환경이나 사용된 부품리스트 등이 나와 있기때문에 제공되는 소스코드와 회로도대로만 하시면 의도된 결과가 나올 것 입니다. 소스코드에는 주석이 디테일하게 기술되어 있고 실험마다 해설을 서술하여 공부하시고 이해하시기 좋도록 작성된 보고서입니다. 실행결과에 대한 사진과 동영상 파일도 첨부되어서 실험하시거나, 보고서를 작성하실 때 도움이 되실거라 생각합니다. 동작영상은 http://happyjaryo.blogspot.kr/2016/11/avr-stopwatch.html 에서 확인하실 수 있습니다. |
Ⅰ. 목 표 Ⅱ. 개발환경 Ⅲ. 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이므로 계산은 다음과 같다. |
출처 : 해피레포트 자료실 |