• 목록
  • 아래로
  • 위로
  • 쓰기
  • 검색

atmega128 타이머 카운터 0 과 스위치를 사용한 엘이디 가지고놀기

#include<mega128.h>
#include<delay.h>        
int i;        
int sw;
int k; 
unsigned char cnt=0;  
unsigned char led=0x00;
interrupt [TIM0_OVF] void timer0_ovf(void)
{
     TCNT0=50;
     if (++cnt>=50)
     {       cnt=0;
         if(led==0x00)led=0xff;
         else if(led==0xff)led=0x00;        
                   
     }


}  
 void main()
{

DDRB=0xff;
DDRD=0x00;
PORTB=0xff;
PORTD=0xff;    

 TCCR0=0x07;
 TCNT0=50;
 TIMSK=0x01;
 SREG|=0x80;

 


while(1)
{  
sw=~PIND&0x0f;  

if(sw==1)k=1;
else if(sw==2)k=2;
if(k==1){PORTB=~0x01;}
if(k==2){PORTB=led;}

}
}

 

 

 

// 스위치 1을 넣으면 LED1이 켜져있다

// 스위치 2를 넣으면 LED전체가 0.5 초마다 깜빡 거린다. 

곰부리 곰부리
10 Lv. 108847/121000P

자료는 포인트로 구매하세요
문의 010-6744-8207

공유

facebooktwitterpinterestbandkakao story
퍼머링크

댓글 0

권한이 없습니다. 로그인

신고

"님의 댓글"

이 댓글을 신고 하시겠습니까?

삭제

"님의 댓글"

cmd_comment_do 삭제하시겠습니까?