728x90
반응형
SMALL
스위치 (Switch)
전기 회로를 끊거나 잇는 기구를 말한다.
Tactile 스위치 |
리셋, 인터럽트 등 |
Slide 스위치 |
전원 on/off, 모드 선택 등 |
Dip 스위치 |
다수의 모드 선택, 초기값 제공 등 |
Rocker 스위치 |
전원 on/off 등 |
JKIT-128-1에서 스위치 연결
• 스위치는 공간의 제약으로 최소한의 개수인 2개만 배정하고동일한 입출력 포트에 할당 • 스위치는 인터럽트 시험용으로도 사용 가능하여야 하므로 ATmega128의 외부인터럽트 (External Interrupt)를 사용할 수 있는 입출력 포트 PE (PE4, PE5)에 할당 • 스위치는 tactile 스위치를 사용하고, 크기가 작고 가격이 저렴한 것으로 하며, 스위치가 눌려지지 않았을 때는 ‘1’, 눌려졌을 때는 ‘0’이 되도록 설계 • 실습용이므로 스위치 bouncing 현상을 방지하기 위한 대비 회로는 크게 고려하지 않음 |
Switch Bouncing
• 기계 스위치의 경우, 원하는 곳에 최종 접속되기 이전에 짧게 여러 번 연결되었다 끊어졌다를 반복하는 현상 • Chattering이라고 하며, 수 ms 이내에 사라짐 |
Switch Switch Debouncing
• Bouncing 현상을 막아주는 회로 또는 방법 • Debouncing 처리 방법 1. RS 플립플롭을 사용하는 방법 2. 스위치에 컨덴서를 달아주는 방법 3. 슈미트트리거 NAND 회로를 2개 연속 달아주는 방법 4. 소프트웨어로 처리하는 방법 |
스위치로 LED 제어
#include <avr/io.h>
int main(void)
{
DDRA = 0xff;
DDRE = 0x00;
while (1){
if ((PINE & 0x10) == 0x00) // SW1 = PE bit4
PORTA = 0xff; // LED = ‘ON’
else
PORTA = 0x00; // LED = ‘OFF’
}
}
728x90
반응형
LIST
'Embedded System > AVR' 카테고리의 다른 글
[AVR] USART 통신 (0) | 2022.07.15 |
---|---|
[AVR] 타이머 세팅 (0) | 2022.07.08 |
[AVR] 부저 (Buzzer) (0) | 2022.06.14 |
[AVR] FND (Flexible Numeric Device) (0) | 2022.06.14 |
[AVR] 타이머 오버플로우 인터럽트 (0) | 2022.06.10 |