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

 

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

 

 

 

 

 

 

 

전체 소스 Codevision 용

 

 

   

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

LED 순차점등하기

PORTC ==> LED 연결

 

 

 

Tools : Codevision

http://watsim.tistory.com

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

 

 

#include <mega128.h>

 

// time delay for us

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 = 0xFF;

    Delay_1ms(1000);

      

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

    {

        PORTC <<=1;

         Delay_1ms(1000);

    }

    }

}

 

 

 

 

 

주요 부품

ATMEGA128

LED,

Register

 

 

Posted by WhiteAT
,