atmega128 타이머 카운터 0 과 스위치를 사용한 엘이디 가지고놀기
- 곰부리
- 2596
- 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;
}
#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 초마다 깜빡 거린다.
곰부리
자료는 포인트로 구매하세요
문의 010-6744-8207
문의 010-6744-8207
댓글 0
권한이 없습니다. 로그인