PORTB0 ~ PORTB7 에 연결된 LED 를 교차 ON/OFF 하는 예제입니다.

 

< 시작화면: PB1, PB3, PB5, PB7 의 LED 를 ON 합니다. >

 

 

 

 

 

< 100mS경과: PB0, PB2, PB4, PB6 의 LED 를 ON 합니다. >

 

 

 

 

전체 소스 CodeVision 1.24.0 용

 

 

/*********************************************

LED 교차 점소등하기

 

PA0, PA2, PA4, PA6 이 점등되면

PA1, PA3, PA5, PA7 이 소등되어

교차 점소등 함

 

PORTB ==> LED 연결

 

 

 

Tools : Codevision

 

http://avr128.com

*********************************************/

 

 

#include <mega128.h>

 

// time delay for us

void Delay_us(char time_us)        

{

    register char i;

    for(i = 0; i < time_us; i++)        

    {

    #asm

         PUSH R0 ;         // 2 cycle +

         POP R0 ;         // 2 cycle +

         PUSH R0 ;         // 2 cycle +

         POP R0 ;         // 2 cycle +

         PUSH R0 ;         // 2 cycle +

         POP R0 ;         // 2 cycle +

 

    #endasm

    }

}

 

// time delay for ms

void Delay_ms(unsigned int time_ms)    

{

    register unsigned int i;

    for(i = 0; i < time_ms; i++)

    {

        Delay_us(250);

        Delay_us(250);

        Delay_us(250);

        Delay_us(250);

    }

}

 

void main(void)

{

 

    // 포트 B 를 출력으로 설정

    DDRB=0xFF;

      

    // PB1, PB3, PB5, PB7 의 LED 를 ON

    PORTB = 0x55;

 

 

    while (1)

    {

    Delay_ms(100);

        // PB0, PB2, PB4, PB6 의 LED 를 ON

         PORTB = 0xAA;

         

        Delay_ms(100);

        // PB1, PB3, PB5, PB7 의 LED 를 ON

         PORTB = 0x55;

    }     

}

 

 

 

 

 

 

주요 부품

ATMEGA128 - 1EA

LED – 8EA

POWER 5V/1A

 

 

 



실행파일 다운로드

이번 예제가 추가되면서 실행파일이 업데이트 되었습니다.

이 예제를 사용하기 위해서는 최신 버전(0.2.1.2 이상)으로 패치 하시기 바랍니다.

 

실행파일:

 

 

프로젝트 파일(소스 포함):

 

 

 

 

 

 

Posted by WhiteAT
,