BASIC4MCU | 질문게시판 | 외부인터럽트이용하여 누를때마다 LED쉬프트
페이지 정보
작성자 zkf12 작성일2018-06-29 13:58 조회7,854회 댓글0건
https://www.basic4mcu.com/bbs/board.php?bo_table=gac&wr_id=2087
본문
이클립스 프로그램으로 외부인터럽트를 이용하는 LED 시프트 문제입니다.
SW0을 누를 때 마다 LED가 왼쪽(LED0->LED7)으로 이동SW1을 누를 때 마다 LED가 오른쪽(LED7->LED0)으로 이동#include <avr/io.h>#include <util/delay.h>#include <avr/interrupt.h>uint8_t i;ISR(INT4_vect) // INT4 Interrupt service routine{for(i = 0 ; i<8 ; i++){if(!(PINE&0x10)){PORTA = 1<<i; // 4번 비트 토글}}}ISR(INT5_vect) // INT5 Interrupt service routine{for(i = 0 ; i<8 ; i++){if(!(PINE&0x20)){PORTA = 1<<(7-i);// 5번 비트 토글}}}void init_ExInt(void){EICRB = 0xaa;EIMSK = 0xf0;}int main(void){DDRA = 0xff;PORTA = 0x00;init_ExInt();sei();for(;1;);}for문을 써서 변수i로 스위치를 한번누를때마다 한번씩 시프트되는 LED제어인데 정상작동하게 만들고싶어요
댓글 0
조회수 7,854등록된 댓글이 없습니다.