목차 Ⅰ. 목 표 Ⅱ. 개발환경 Ⅲ. 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 <avr/interrupt.h> #include <util/delay.h> #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이므로 계산은 다음과 같다. 하고 싶은 말 제가 직접 실험하고 공부한 레포트를 정리해서 작성한 압축문서입니다. 구성 : 보고서, 회로도, 소스코드, 결과사진/동영상 보고서에 실험환경이나 사용된 부품리스트 등이 나와 있기때문에 제공되는 소스코드와 회로도대로만 하시면 의도된 결과가 나올 것 입니다. 소스코드에는 주석이 디테일하게 기술되어 있고 실험마다 해설을 서술하여 공부하시고 이해하시기 좋도록 작성된 보고서입니다. 실행결과에 대한 사진과 동영상 파일도 첨부되어서 실험하시거나, 보고서를 작성하실 때 도움이 되실거라 생각합니다. 키워드 AVR스탑워치, atmega128초시계, 디지털초시계, 회로도, 타이머카운터 |
2016년 4월 25일 월요일
AVR 스탑워치 (StopWatch) 만들기AVR스탑워치,초시계,디지털초시계,atmega128,회로도,소스코드,동작원리,스톱워치,타이머
AVR 스탑워치 (StopWatch) 만들기AVR스탑워치,초시계,디지털초시계,atmega128,회로도,소스코드,동작원리,스톱워치,타이머
피드 구독하기:
댓글 (Atom)
댓글 없음:
댓글 쓰기