회원가입 ID/PW 찾기

1) 지식 창고는 본인이 작성한 콘텐츠(팁/노하우/리소스/강좌 등)을 무료 혹은 가상화폐인 납포인트를 통해 공유하는 공간입니다.
2) 본인이 작성한 콘텐츠에 대해서만 지식 창고에 등록할 수 있으며, 저작권에 위배되는 콘텐츠는 사전경고 없이 삭제될 수 있습니다.
3) 콘텐츠 구매 및 첨부파일 다운로드는 회원그룹 '연구원' 이상 가능하오니, 경험치를 쌓아 진급한 후에 이용 부탁드립니다.
4) 무료 콘텐츠의 본문은 구매절차 없이 즉시 이용할 수 있으며, 판매 납포인트가 있는 콘텐츠는 구매 후 이용할 수 있습니다.
5) 콘텐츠 판매에 따른 납포인트 수익은 지정한 비율(50%)에 따라 판매자에게 지급하며, 납포인트 수익을 통해 진급을 빨리할 수 있습니다.
6) 구매 후 평가를 하면 구매 납포인트의 20%를 돌려 드립니다.

콘텐츠 수 1,041
판매자 킬유21 판매 납포인트 무료 평점 0점 / 총 0명 참여
/*
헤더 파일 위치 변경!! (AvrEdit3.6)
<io.h> => <avr/io.h> , <interrupt.h> => <avr/interrupt.h>
<sig-avr.h> => <avr/signal.h>

##Chaned Register Names##
GIMSK -> GICR , MCUSR -> MCUCSR , UBRR -> UBRRL
USR -> UCSRA , ADCSR -> ADCSRA
*/

#include <avr/io.h>
#include <avr/signal.h>
#include <avr/interrupt.h>

volatile unsigned char stateFlag;   // RUN => 'R' , STOP => 'S'

void delay( int );

int main(void) {

    stateFlag = 'R';
    unsigned char led = 1;      // default led 1
    unsigned char dFlag = 'L';  // default direction flag LEFT
    DDRC = 0xFF;
    DDRD = 0;                   // INTERRUPT INPUT PORT

    /* INT0 sense mode 의 결정 : rising edge */
    // ISC01 : 1 , ISC00 : 0 => falling edge
    // ISC01 : 1 , ISC00 : 1 => rising edge
    MCUCR = (1 << ISC01) | (1 << ISC00);   

    /* External interrupt mask 결정 */
    // 90s8535 replace mega8535 (GIMSK -> GICR)
    GICR = (1 << INT0);     // INT0 Enable !!

    sei();      // Grobal Interrupt Enable !!

    while(1) {

  		PORTC = led;
        delay(16);

        // stateFlag 가 RUN 상태('R') 일 경우만 시프트 연산을 한다.
        if(stateFlag == 'R') {
            if(dFlag == 'L')    led <<= 1;
            else                led >>= 1;

            if(led == 0x80)     dFlag = 'R';
            else if(led == 1)  dFlag = 'L';
        }
    }
    return 0;
}

// INT0 External event 가 발생할때마다 RUN -> STOP -> RUN 을 번갈아가며 바뀐다.
SIGNAL(SIG_INTERRUPT0) {
    stateFlag = ((stateFlag == 'R') ? 'S' : 'R');
}

void delay(int n) {
	int i, j;

	for(i=0; i<n; i++)
		for(j=0; j<20000; j++) ;
}

profile
om 2015.02.20 00:28
감사합니다^.....^
profile
sensor 2015.02.28 16:11
감사합니다.
profile
시나브로69 2016.07.16 15:49

좋은 자료 감사합니다.

profile
크히히힝 2016.08.12 17:06

감사합니다

search
List of Articles
번호 분류 제목 평점 포인트 판매자 등록일 구매수 조회 수
공지 공공의 목적으로 공유하고자 하는 소프트웨어는 '소프트웨어 자료실'에 업로드를 요청드립니다.
공지 구매후 평점 댓글을 남겨주시면 구매포인트의 20%를 돌려드립니다.
1021 마이크로프로세서 네오스 계산기 VB6 [2] 무료 네오스f91e9 2015-07-30 0 249
1020 마이크로프로세서 AVR projects 사이트 모음 [6] 무료 아크마 2015-07-11 0 2704
1019 마이크로프로세서 Low speed AVR oscilloscope [2] 무료 아크마 2015-07-11 0 329
1018 마이크로프로세서 LSB/MSB 순서 차이에 의한 이종 컴파일러간 통신시 주의점 무료 아크마 2015-06-06 0 300
1017 마이크로프로세서 아두이노 [2] 무료 세넷 2015-05-12 0 145
1016 마이크로프로세서 Freescale MPC56XX 계열 개발경험자 분 있으신가요? [1] 무료 lucawa86 2015-03-31 0 204
1015 마이크로프로세서 PIC18F877로 IDE HDD 제어하는 회로도(PIC18F877+82C55A 확장) [6] 무료 킬유21 2015-02-19 0 335
» 마이크로프로세서 인터럽트 방식으로 LED 제어.c (좌/우 쉬프트) [4] 무료 킬유21 2015-02-19 0 385
1013 마이크로프로세서 Graphic LCD 128X64 dot 용 예제파일 [3] 무료 킬유21 2015-02-19 0 355
1012 마이크로프로세서 Temperature sensor PIC18F2550 vs LM75(회로/펌웨어) [4] 무료 킬유21 2015-02-19 0 190
1011 마이크로프로세서 LM75로 온도센싱하기(AVR16+LM75, IAR Compiler) [2] 무료 킬유21 2015-02-19 0 181
1010 마이크로프로세서 ledDisplay.c(우에서 좌로 좌에서 우로 led 가 물결치듯 시프트) [2] 무료 킬유21 2015-02-19 0 285
1009 마이크로프로세서 8051을 이용한 습도센서 제어.c [2] 무료 킬유21 2015-02-19 0 185
1008 마이크로프로세서 8051을 이용한 디지털시계구현.c [3] 무료 킬유21 2015-02-19 0 472
1007 마이크로프로세서 LM75로 온도센싱하여 7Segment에 표시하기(AVR128 + LM75 TWI Master, 회로포함) [3] 무료 킬유21 2015-02-19 0 296
1006 마이크로프로세서 LM75로 온도센싱하여 LCD에 표시하기(AVR128 + LM75 TWI Master) [2] 무료 킬유21 2015-02-19 0 417
1005 마이크로프로세서 LM75로 온도센싱하기(AVR128 + LM75 TWI Master) [3] 무료 킬유21 2015-02-19 0 149
1004 마이크로프로세서 codevision프로그램으로 블루투스 [2] 무료 dktanoidnw 2014-11-23 0 356
1003 마이크로프로세서 쓸만한 fpga [6] 무료 바람이 2014-06-01 0 1842
1002 마이크로프로세서 at90s2313-10si 안에 락비트 푸실수 있는분? [1] 무료 jazzjazz 2014-05-19 0 213
  • 이 무한한 공간의 영원한 침묵이 나를 두렵게 한다.
    - 파스칼
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.