답변 : 인터럽 질문이요!
페이지 정보
작성자 master 작성일18-06-08 17:19 조회6,371회 댓글1건본문
EIFR=0x01;
이 동작은 인터럽트 걸리라고 작성하신 것 같은데
인터럽트 플래그를 clear 시키는 코드로 동작합니다.
//
// MCU BASIC: https://www.basic4mcu.com
// DateTime : 2018-06-08 오후 5:22:14
// by Ok-Hyun Park
//
#include <mega128.h>
#include <delay.h>
#asm
.equ __lcd_port=0x18; //PORTB
#endasm
#include <lcd.h>
//interrupt[EXT_INT0]void ext_int0function(void){ }
//
void main(void){
DDRC=0xFF;
//EICRA=0xFF; EIFR=0xFF; EIMSK=1; SREG=0x80;
lcd_init(16);
while(1){
if(PIND.5){
PORTC=0x01; //모터동작
lcd_gotoxy(4,0); lcd_putsf("CRYING");
lcd_gotoxy(5,1); lcd_putsf("BABY!");
}
else if(PIND.6){
PORTC=0x02; //모터동작
lcd_gotoxy(4,0); lcd_putsf("WARNING");
lcd_gotoxy(5,1); lcd_putsf("FIRE!");
PORTC=0x04;
}
else if(PIND.7){
PORTC=0x04; //모터동작
lcd_gotoxy(4,0); lcd_putsf("WARNING");
lcd_gotoxy(5,1); lcd_putsf("CAR!");
}
else{
lcd_gotoxy(4,0); lcd_putsf("DETECTING");
lcd_gotoxy(5,1); lcd_putsf("NOISE..");
}
delay_ms(100);
}
}
인터럽트는 필요 없을 것 같습니다.
댓글 : 1
조회수 : 6,371
허니님의 댓글
허니 작성일감사합니다!