LED 순차 소등 하기 PORTC.0 => PORTC.7 순서로

 

1초 간격으로 LED 를 PORTC.0 부터 PORTC.7까지 OFF 하고, 모두 OFF 된 후에는 처음상태로 돌아간 후 반복합니다.

 

 

 

 

 

 

 

전체 소스 Codevision 용

 

 

   

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

LED 순차소등하기PORTC.0 => PORTC.7 순서로

PORTC ==> LED 연결

 

 

Tools : Codevision

http://watsim.tistory.com

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

 

 

#include <mega128.h>

 

// time delay for 20us

void Delay_20us(char time_us)        

{

    register char i;

    for(i = 0; i < time_us; i++)            // 4 cycle +

    {

    #asm

         PUSH R0 ;         // 2 cycle +

         POP R0 ;         // 2 cycle +

    #endasm

    }

}

 

// time delay for ms

void Delay_1ms(unsigned int time_ms)    

{

    register unsigned int i;

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

    {

        Delay_20us(50);

    }

}

 

void main(void)

{

    char chTemp=0;

      

    DDRC=0xFF;

 

    while (1)

    {

        PORTC = 0x00;

        Delay_1ms(1000);

 

        for( chTemp = 0;chTemp<8;chTemp++)

        {

            PORTC |=(1<<chTemp);

            Delay_1ms(1000);

        }

    }

}

 

 

 

 

 

 

주요 부품

ATMEGA128 - 1EA

LED – 8EA

Register – 8EA

POWER 5V/1A

 

 

Posted by WhiteAT
,