AVR > 타이머 인터럽트에서 스위치 입력 체크하기

TODAY1,092 TOTAL2,933,378
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | AVR | 타이머 | 타이머 인터럽트에서 스위치 입력 체크하기

페이지 정보

작성자 키트 작성일2017-08-29 09:25 조회2,863회 댓글0건

본문

#define SW1    P00
#define SW2    P01
#define SW3    P02
#define SW4    P03
#define SW5    P04
#define SW6    P05
#define SW7    P06
#define SW8    P07

bit sw1Flg=0, sw2Flg=0, sw3Flg=0, sw4Flg=0, sw5Flg=0, sw6Flg=0, sw7Flg=0, sw8Flg=0;
bit SW_FLAG=0;
char SW_BUF;

타이머인터럽트(){
    TH0=xx; TL0=xx; 

    if(!SW1){
        if(!sw1Flg){ sw1Flg=1; SW_BUF='1'; SW_FLAG=1; }
    }
    else{ sw1Flg=0; };

    if(!SW2){
        if(!sw2Flg){ sw2Flg=1; SW_BUF='2'; SW_FLAG=1; }
    }
    else{ sw2Flg=0; };

    if(!SW3){
        if(!sw3Flg){ sw3Flg=1; SW_BUF='3'; SW_FLAG=1; }
    }
    else{ sw3Flg=0; };

    if(!SW4){
        if(!sw4Flg){ sw4Flg=1; SW_BUF='4'; SW_FLAG=1; }
    }
    else{ sw4Flg=0; };

    if(!SW5){
        if(!sw5Flg){ sw5Flg=1; SW_BUF='5'; SW_FLAG=1; }
    }
    else{ sw5Flg=0; };

    if(!SW6){
        if(!sw6Flg){ sw6Flg=1; SW_BUF='6'; SW_FLAG=1; }
    }
    else{ sw6Flg=0; };

    if(!SW7){
        if(!sw7Flg){ sw7Flg=1; SW_BUF='7'; SW_FLAG=1; }
    }
    else{ sw7Flg=0; };

    if(!SW8){
        if(!sw8Flg){ sw8Flg=1; SW_BUF='8'; SW_FLAG=1; }
    }
    else{ sw8Flg=0; };
}


main(){

    while(1){
        if(SW_FLAG){
            SW_FLAG=0; th_char(SW_BUF);
        }
    }
}

댓글 0

조회수 2,863

등록된 댓글이 없습니다.

AVRHOME > AVR > 전체 목록

게시물 검색

2022년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2021년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2020년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2019년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
2018년 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월 11월 12월
Privacy Policy
MCU BASIC ⓒ 2020
모바일버전으로보기