목차
1. 실험 목적
2. 실험도구
3. 이론
4. 실험 소스 코드 분석
4. 실험 예상
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까지 카운트 했을
기타
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.3.4세대 컴퓨터
컴퓨터의 이해 문제풀이 레포트
20세기에 영향을 끼친 인물 - 빌게이츠
MS사의 독점 (마이크로 소프트)
[레지스트리의 의미][레지스트리의 구조][레지스트리의 백업][레지스트리의 복구][레지스트리...
컴퓨터 공학과의 진보적 입장
전공 컴퓨터와 기초 - 7~80만우너 조립컴퓨터 구성, 인터넷 사기
[Bill-Gates부터Steven-Ballmer까지]Microsoft의 성장과 Leadership의 변화
마이크로소프트 (MS : Microsoft) - 마이크로소프트 기업분석, 마이크로-소프트 창업, MS 운...
소개글