스크랩

각 복사하기 버튼을 이용하여 블로그나 카페에 HTML 형식으로 붙여넣기 하실 수 있습니다.

소스복사하기

[[AVR 스탑워치(StopWatch) 만들기]]AVR스탑워치,초시계,디지털초시계,atmega128,회로도,소스코드,동작원리,스톱워치,타이머

다운로드: iconAVR 스탑워치(StopWatch) 만들기.zip


목차
Ⅰ. 목 표

Ⅱ. 개발환경

Ⅲ. 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이므로 계산은 다음과 같다.
2024-04-26 00:51:42 211.234.109.229/data/data_scrap.html 최근 수정일: 2019-11-06 15:55:18. 총퀴리수 : 3 총쿼리시간 : 0.00217 [0.00044]/[ DB:report] select count(*) AS CNT from psCart where SessNum='20240426005142166776'; [0.00042]/[ DB:report] SELECT seq FROM psRlist WHERE rpID=748697; [0.00131]/[ DB:report] SELECT * FROM psReport WHERE rpID=748697;