질문게시판 > 답변 : Atmega128 아트메가128 인터럽트 질문

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

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


BASIC4MCU | 질문게시판 | 답변 : Atmega128 아트메가128 인터럽트 질문

페이지 정보

작성자 master 작성일2022-05-31 12:22 조회1,515회 댓글0건

본문

	
#include <avr/interrupt.h> // 헤더파일 추가하고

ISR(INT0_vect){ // 인터럽트 함수도 추가합니다.
}
ISR(INT1_vect){ // 인터럽트 함수도 추가합니다.
}

    PORTD=0x03; // 내부 풀업저항
    EICRA=0xAA; EIFR=0xFF; EIMSK=0x03; SREG=0x80; // INT0,1 falling edge
메인 무한루프 전에 인터럽트를 설정합니다.
//---------------------------------------------------------------------------------
프로그램을 5개 만드나보죠?

1) sw1을 누르면 FND1, FND2에 가각 랜덤 숫자 출력

volatile char n=0; //  전역변수 추가합니다.

  난수는 타이머0 CTC 비교매치 인터럽트로 만듭니다.
  TCCR0=0x09; OCR0=99; // TCNT0은 0~99까지 자동으로 증가하며, 0~99까지의 시간이 6.25us밖에 안걸립니다.
메인 인터럽트 설정 위에 추가하세요

ISR(INT0_vect){ // 인터럽트 함수도 추가합니다.
  n=TCNT0; // 난수를 읽고
}
메인 무한루프에서는 FND2에는 n/10, FND1에는 n%10 출력 (FND2을 상위자리라고 가정)

2) sw1을 누르면 숫자증가, sw2를 누르면 숫자감소

volatile char n=0; //  전역변수 추가합니다.

ISR(INT0_vect){ 
  if(n<9)n++; //증가
}

ISR(INT0_vect){
  if(n>0)n--; //감소
}

메인 무한루프에서는 FND1 n 출력

3) sw1을 누르면 FND1-FND2 1씩 증가 (0-60 까지 )
volatile char n=0; //  전역변수 추가합니다.

ISR(INT0_vect){ 
  if(n<60)n++; // 0~60증가
}

ISR(INT0_vect){
}

메인 무한루프에서는 FND2에는 n/10, FND1에는 n%10 출력 (FND2을 상위자리라고 가정)

4) sw1을 누르면 1씩 증가, sw2를 누르면 1씩 감소 (0에서 59까지 변화)
volatile char n=0; //  전역변수 추가합니다.

ISR(INT0_vect){ 
  if(n<60)n++; // 0~60증가
}

ISR(INT0_vect){
  if(n>0)n--; //감소
}

메인 무한루프에서는 FND2에는 n/10, FND1에는 n%10 출력 (FND2을 상위자리라고 가정)

5) sw1을 누르면 FND 1또는 FND 2 증가
Sw2를 이용하여 FND1이나 FND2를 선택
SW2를 누른 후 SW1을 누르면 FND2 증가 , 다시 SW2를 누른후 SW1을 누르면 FND 1 증가

volatile char n1=0,n2=0,sel=0; //  전역변수 추가합니다.

ISR(INT0_vect){ 
  if(sel==0){ // FND1 선택이면
    if(n1<9)n1++; // 0~9증가
    else n1=0; // 9면 0
  }
  else{ // FND2 선택이면
    if(n2<9)n2++; // 0~9증가
    else n2=0; // 9면 0
  }
}

ISR(INT0_vect){
  sel^=1; // 자리 선택 (0,1토글)
}

메인 무한루프에서는 FND2에는 n2, FND1에는 n1 출력
//

 EIMSK=0x03;
외부인터럽트를 2개 이네이블 시켰다면 
사용하지 않더라도 외부 인터럽트도 2개 모두 있어야 합니다.

ISR(INT1_vect){
}
사용하지 않는 함수는 빈 상태로 만들어두면 됩니다.

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 1,515

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
질문게시판 목록
제목 작성자 작성일 조회
답변 답변글 답변 : atmega128에서 초음파 센서(HC-SR04)를 통해 부저 소리를 내려합니다.댓글[1] master 22-06-08 1350
질문 stm32 pwm구동 여부 질문입니다.댓글[6] 손문일 22-06-08 2292
질문 Atmaga128 인터럽트를 사용한 main문 재실행 질문입니다.댓글[5] 나욜렌 22-06-08 1319
질문 Atmega128 코딩 도와주세요,,! 이미지첨부파일 화니뿌뿌 22-06-07 1191
답변 답변글 답변 : Atmega128 코딩 도와주세요,,!댓글[3] master 22-06-08 1314
질문 스템모터 연동질문 초보코디러 22-06-07 549
답변 답변글 답변 : 스템모터 연동질문 master 22-06-07 694
질문 서보모터 질문댓글[2] 죠르디 22-06-07 1023
질문 atmega128 코드 질문있습니다 콜뚜기 22-06-07 1016
답변 답변글 답변 : atmega128 코드 질문있습니다댓글[3] master 22-06-07 1338
질문 AVR 128 -> 2560으로 변경하는 법좀 알려주세요ㅠㅠ댓글[2] tnwls 22-06-07 1339
질문 보드레이트 관련 질문댓글[1] 죠르디 22-06-07 947
답변 답변글 답변 : 보드레이트 관련 질문 죠르디 22-06-07 1247
답변 답변글 답변 : 답변 : 보드레이트 관련 질문댓글[1] master 22-06-07 1128
답변 답변글 답변 : 답변 : 답변 : 보드레이트 관련 질문댓글[1] 죠르디 22-06-16 747
질문 우노 하드웨어 시리얼 전환댓글[7] 면지지 22-06-06 1600
질문 ATMEGA128질문입니다.댓글[1] suid82 22-06-06 1155
질문 스텝모터2개 + 초음파센서댓글[1] 공천 22-06-06 1033
질문 시리얼 통신 블루투스 질문입니다.댓글[2] 이미지첨부파일 현두이노 22-06-06 948
질문 아두이노 서보모터 2개제어댓글[1] 아드초 22-06-06 1063
질문 아두이노 서보모터 질문드립니다. 아드초 22-06-06 817
답변 답변글 답변 : 아두이노 서보모터 질문드립니다.댓글[1] master 22-06-06 1321
질문 신호를 받아서 진동울리기댓글[4] 메론맛드링크 22-06-06 1266
질문 아두이노 자율주행 rc카 초음파 장애물에 닿으면 정지하고 장애물 없어지면 다시 전진하는 코딩을 잘모르겠습니다…댓글[5] 종느 22-06-06 2074
질문 아두이노 우노 listen() 사용댓글[3] 첨부파일 면지지 22-06-05 1039
질문 아두이노 메가 2560 관련 질문입니다!댓글[3] 이미지 아뒤노 22-06-05 1314
질문 아두이노 모터 제어 코드 질문 히동 22-06-05 1304
답변 답변글 답변 : 아두이노 모터 제어 코드 질문댓글[1] master 22-06-05 851
질문 atmega128 프로젝트 외주 사례합니다댓글[1] 공돌ㅇ 22-06-05 1012
질문 atmega128 프로테우스 부저소리 관련하여..댓글[1] 꿍다라링 22-06-04 889
게시물 검색

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
모바일버전으로보기