질문게시판 > ATMEGA128 0번핀과1번핀 스위치를 누르면 LED점등 속도 제어

인기검색어 > 아두이노 센서 ATMEGA128

최신글 질문게시판 동영상강좌 가입하기

▼ BASIC4MCU 후원업체 신제품 정보 ▼

▲ BASIC4MCU 후원업체 신제품 정보 ▲

BASIC4MCU > 질문게시판

ATMEGA128 0번핀과1번핀 스위치를 누르면 LED점등 속도 제어

페이지 정보

작성자 dfas123 작성일22-05-11 15:40 조회1,062회 댓글3건

본문

CTC모드와 외부인터럽트를 이용해서 0번 스위치를 누르면 1초간격으로 LED패턴이 바뀌고,

1번 스위치를 누르면 0.5초간격으로 패턴이 바뀌는것을 프로그래밍 해보았으나, 스위치를 눌러도 반응이 없습니다. 어디부분이 잘못된 것일까요?

 

 

 

#include <mega128.h>

unsigned char led = 0xfe;

unsigned int cnt, delaytime, delaymax, delaymin, step;

interrupt [EXT_INT0] void exint0(void)

{

  if(delaytime + step <= delaymax) delaytime += step; 

}

interrupt [EXT_INT1] void exint1(void)

{

  if(delaytime - step >= delaymin) delaytime -= step;

interrupt [TIM2_COMP] void timer2_comp_isr(void)

{

    if(cnt-- ==1 ) //(10USEC=10X10^-6 X 50000)= 500ms=0.5   (msec= 10^-3) (usec= 10^-6) (1초=1000ms)

    {

        cnt = delaytime;

        if(led!=0x7f) led = (led << 1) | 0x01;

        else led = 0xfe;

    }

    OCR2 = 159; PORTC = led;

}

void main(void)     

{

    DDRC = 0xff;

    PORTC = led;

    SREG |= 0x80;

    TIMSK |= 0x80;

    TCCR2 |= 1;             

    TCCR2 |= 0x08;

    OCR2 = 159; //10USEC= 1*(1+159)/16

    delaytime=50000;

    cnt = delaytime;

    delaymax=100000;

    delaymin=50000;

    step=50000;

    for(;;);

    

}

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

댓글 : 3

조회수 : 1,062

master님의 댓글

master 작성일

delaymax=100000;
unsigned int의 범위를 벗어납니다. 0~65535

master님의 댓글

master 작성일

#include <mega128.h>
//
unsigned char led=0xfe;
unsigned int cnt=0,delaytime=1000;
//
interrupt [EXT_INT0] void exint0(void){ delaytime=1000; }
interrupt [EXT_INT1] void exint1(void){ delaytime= 500; }
//
interrupt [TIM2_COMP] void timer2_comp_isr(void){ // 1ms
  if(++cnt>=delaytime){ cnt=0;
    if(led!=0x7f)led=(led<<1)|1;
    else        led=0xfe;
  }
  PORTC=led;
}
//
void main(void){
  DDRC=0xff;  PORTC=led;
  TCCR2=0x0B; OCR2=249; TIMSK=0x80; //16000000/64/(1+249),1ms
  SREG=0x80;
  for(;;);
}

dfas123님의 댓글

dfas123 댓글의 댓글작성일

정말 감사합니다 덕분에 문제가 해결되었습니다!

게시물 검색

BASIC4MCU > 질문게시판 목록

제목 날짜
질문 atmega 128 led 순차적 제어입니다 졸업예정  22-06-09
답변 답변 : atmega 128 led 순차적 제어입니다 master  22-06-09
질문 아두이노 우노 온습도센서와 LED 댓글[7] 체펠리  22-06-08
질문 키패드 led 인체감지 질문 면지지  22-06-02
답변 답변 : 키패드 led 인체감지 질문 댓글[3] master  22-06-02
질문 atmega128에서 스위치1개는LED, 스위치 1개는… aasdw  22-05-26
답변 답변 : atmega128에서 스위치1개는LED, 스위… 댓글[1] master  22-05-26
질문 ATMEGA128 0번핀과1번핀 스위치를 누르면 LED댓글[3] dfas123  22-05-11
질문 Atmega128 led 왕복 점등 및 스위치 방향 전… 댓글[1] MaeuM  22-05-06
질문 LED 점등 예제 질문입니다. 댓글[4] 첨부파일홍머생  22-05-01
질문 Atmega128 led 점등 Eleccc  22-05-01
답변 답변 : Atmega128 led 점등 댓글[8] master  22-05-01
질문 (ATmega128 LED점등)이 부분이 왜 오류가 뜨… 댓글[3] 첨부파일isdpolicy  22-04-29
질문 아두이노 모터+자이로센서+서보모터+led 제어 질문입니… 댓글[3] Mobile  22-04-21
질문 마이크로 스위치 입력하면 LED출력 댓글[1] 두두칠리  22-04-18
질문 AVR, atmega128에서 led 점등 코드 댓글[5] 제발도와주세요  22-04-14
질문 Led 점등시키기 댓글[1] 하이용  22-04-12
질문 마이크로프로세서 실습키트LED 점등시키기 댓글[1] 하이용  22-04-12
질문 Avr atmega128 led 제어 질문드리겠습니다 임연수구이  22-04-04
답변 답변 : Avr atmega128 led 제어 질문드리… 댓글[1] master  22-04-04
질문 아두이노 LED 실행코드 댓글[5] PEANUTS  22-04-04
질문 가변저항 값으로 4개의 LED 밝기를 조절하기 댓글[3] 웰치스  22-04-03
질문 아두이노 8x8 led로 가위바위보 게임하기 댓글[3] jsham21  22-04-02
질문 아두이노 조이스틱를 이용한 rgb led 표현 + rg… 댓글[5] 나Ks  22-03-25
질문 아두이노 led 시간제어질문이요!!...ㅠ 댓글[1] dd1304  21-12-18
질문 atmega128 초음파센서(HC-SR04)를 이용한 … 댓글[2] 호2  21-12-04
질문 토글스위치와 블루투스를 동시에 이용하여 led한개를 제… 댓글[3] 첨부파일화일  21-12-03
질문 안녕하세요 아트메가128 LED 질문입니다! 댓글[2] 첨부파일아트메가공부중  21-11-28
질문 atmega 128 을 이용한 LED 댓글[1] 초보오  21-11-22
질문 artmega128 초음파 센서로 LED 점등하기 댓글[1] 첨부파일maximum  21-11-22
게시물 검색


Privacy Policy
MCU BASIC ⓒ 2017
PC버전