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등록된 댓글이 없습니다.