SWITCH 제어

Download Report

Transcript SWITCH 제어

컴퓨터 프로그래밍
switch 제어
본체
Reset
LED
ATTiny2313
세그먼트
Enable Sw
Sw
2
회로도
3
CodeVisionAVR 사용법
4
CodeVisionAVR
5
CodeVisionAVR 사용법
6
CodeVisionAVR 사용법
7
SWITCH 제어
PIND
PIND7 PIND6 PIND5 PIND4 PIND3 PIND2 PIND1 PIND0
PIND의 특징
• ATtiny의 단자에 입력되는 데이터를 저장
• 5V - 1, GND – 0 으로 인식
8
SWITCH 제어
PIND7
PIND6
PIND5
PIND4
PIND3
PIND2
PIND1
PIND0
Hex 값
0
0
1
1
1
1
0
0
0x3c
9
SWITCH 제어
• 마스킹의 필요성
PIND7
PIND6
PIND5
PIND4
PIND3
PIND2
PIND1
PIND0
Hex 값
1
0
1
1
1
1
0
0
0x3c
스파크등의 잡음으로 1로 변경
되어 오작동의 원인이 될수 있다.
10
SWITCH 제어
PIND7
PIND6
PIND5
PIND4
PIND3
PIND2
PIND1
PIND0
Hex 값
1
0
1
1
1
1
0
0
0xbc
and
bit7
bit6
bit5
bit4
bit3
bit2
bit1
bit0
Hex 값
0
1
1
1
1
1
0
0
0x7c
1
0
0
0x4c
=
0
0
1
1
1
11
SWITCH 제어
• 과제 – 스위치를 누르면 7-Segment에 숫자를 표시하는 프로그램을
작성하시오. (단, 이 때 스위치를 때도 숫자는 계속 유지 한다.)
SW1
SW2
SW3
SW4
SW5
12
SWITCH 제어
• 리피트 현상
사람이 스위치를 누르는 속도
보다 프로세서가 키를 입력하
는 시간이 빨라 생기는 현상
• 프로세서가 키를 인식하는 시
간을 증가 시킨다.
13
SWITCH 제어
<프로그램 예1>
<프로그램 예2>
14
SWITCH 제어
• 과제1 – 두 개의 스위치를 이용하여 SW1을 누르면 업카운트를 하고
SW2를 누르면 다운카운트 하여 LED에 표시하는 프로그램을 작성
하시오.
SW1
SW2
15
SWITCH 제어
• 과제2 – 두 개의 스위치를 이용하여 SW1을 누르면 업카운트를 하고
SW2를 누르면 다운카운트 하여 7-Segment에 표시하는 프로그램
을 작성하시오. (단 이 때, 키를 계속 누르고 있어도 한번만 카운트
되어야 한다.)
SW1
SW2
16