타이머 / 디지털 시계 [마컴 예비레포트]
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

타이머 / 디지털 시계 [마컴 예비레포트]에 대한 보고서 자료입니다.

목차

1. 실험 목적
2. 실험도구
3. 이론
4. 실험 소스 코드 분석
4. 실험 예상

본문내용

ure
기타
RTC 기능, 타이머/카운터 모두 프리스케일러를 사용
캡쳐 기능
⑴ 타이머 / 카운터에 대한 간단한 필요한 지식
⑵ 7 세그먼트 LCD
7세그먼트 표시기라고 하는 소자는 0에서 9까지의 숫자를 표시하기 위해 만들어진 소자이다. 이 소자는 막대모양의 LED 7개를 8자 모양으로 배열시키고 각 LED에 불을 켜거나 끔으로서 10진 숫자를 표시하도록 되어 있다.
AVR 내에서는 2개의 FND는 COMMON CATHODE 타입의 FND 디스플레이로서 이용하여 타이머나 시계 및 여러 가지 실험을 할 수 있도록 구성이 되어 있다.
FND 디스플레이 연결
FND1
FND2
SEG NAME
신호 명
번지
SEG NAME
신호 명
번지
A
D7
0x2000번지
A
D7
0x2000번지
B
D6
0x2000번지
B
D6
0x2000번지
C
D5
0x2000번지
C
D5
0x2000번지
D
D4
0x2000번지
D
D4
0x2000번지
E
D3
0x2000번지
E
D3
0x2000번지
F
D2
0x2000번지
F
D2
0x2000번지
G
D1
0x2000번지
G
D1
0x2000번지
Dp
D0
0x2000번지
Dp
D0
0x2000번지
DIG1
D7
0x2200번지
DIG1
D3
0x2200번지
DIG2
D6
0x2200번지
DIG2
D2
0x2200번지
DIG3
D5
0x2200번지
DIG3
D1
0x2200번지
DIG4
D4
0x2200번지
DIG4
D0
0x2200번지
4. 실험 소스 코드 분석
⑴ EXP06.1.asm
;[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
;[] []
;[] Exp06_1.asm : Digital Clock on Text LCD Module []
;[] []
;[][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][][]
;
;Designed and programmed by Duck-Yong Yoon in 2005.
;
;------------------------------------------------
;Include Header File
;------------------------------------------------
.include \"MEGA128.INC\"; include ATmega128 definition file
.include \"OK128DEF.INC\"; include OK-128 I/O definition file
;====================================================================
;Main Program
;====================================================================
.cseg
.org0x0000
JMP RESET ; power-on reset entry point
.org 0x0018
JMP TIMER1_COMPA; interrupt vector OC1A
RESET:LDIAH,high(RAMEND); initialize SP
LDIAL,low(RAMEND)
OUTSPH,AH
OUTSPL,AL
CALLINIT_OK128; initialize ATmega128 CPU & OK-128 kit
CALLD50MS; wait for system stabilization
CALLINIT_LCD; initialize text LCD
;------------------------------------------------
;Initialize Digital Clock
;------------------------------------------------
CALLLCD_HOME1; display title
CALLLCD_STRING
.db\" Digital Clock \",0,0//텍스트 LCD 첫줄에 출력
CALLLCD_HOME2
CALLLCD_STRING
.db\" 12:00:00 AM \",0,0//텍스트 LCD 둘째줄에 출력
CALLBEEP
LDI AL,0b00000000 ; CTC mode(4), don\'t output OC1A
OUT TCCR1A,AL// TCCR1A의 COM1A1:A0, WGM:00
LDI AL,0b00001100 ; interrupt = 16MHz/256/(1+62499) = 1Hz
OUT TCCR1B,AL// TCCR1B의 COM1B1:B0 WGM:01
LDI AL,0b00000000
STS TCCR1C,AL// TCCR1C 초기화
LDI AL,high(62499)
OUT OCR1AH,AL//OCR1AH에 62499 입력
LDI AL,low(62499)
OUT OCR1AL,AL//OCR1AL에 62499 입력
LDI AL,0b00010000 ; enable Timer/Counter1 OC1A interrupt
OUT TIMSK,AL
LDI AL,0b00000000
STS ETIMSK,AL
LDI AL,0b00000000 ; clear all interrupt flags
OUT TIFR,AL
LDI AL,0b00000000
STS ETIFR,AL
SEI ; global interrupt enable
LDIDH,\'A\'; DH = AMPM = \'A\'
LDIDL,12; DL = hour = 12
LDICH,0; CH = minute = 00
LDICL,0; CL = second = 00
LOOP: RJMP LOOP ; wait interrupt
;====================================================================
;Interrupt Service Routine of OC1A
;====================================================================
TIMER1_COMPA:
IN AL,SREG; store registers
PUSH AL//AL을 STACK에 저장한다.
INCCL; increment second
CPICL,60; CL을 60까지 카운트 했을
  • 가격2,000
  • 페이지수12페이지
  • 등록일2012.05.22
  • 저작시기2011.5
  • 파일형식한글(hwp)
  • 자료번호#748625
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니