위 회로 프로테우스로 작성
#include <avr/io.h>
#define S0 PB5 //S0 변수를 PB5로 정의
#define S1 PB6 //S1 변수를 PB6로 정의
#define S2 PB7 //S2 변수를 PB7로 정의
#define D0 PB0 //D0 변수를 PB0 로 정의
#define D1 PB1 //D1 변수를 PB1 로 정의
#define D2 PB2 //D2 변수를 PB2 로 정의
#define D3 PB3 //D3 변수를 PB3 로 정의
#define D4 PB4 //D4 변수를 PB4 로 정의
int main()
{
DDRB = 1<<D0 | 1<<D1 | 1<<D2 | 1<<D3 | 1<<D4;
while(1)
{
if ( !(PINB & (1<<S0)) )
PORTB |= 1<<D0 | 1<<D1;
else
PORTB &= ~(1<<D0 | 1<<D1);
if ( !(PINB & (1<<S1)) )
PORTB |= 1<<D2;
else
PORTB &= ~(1<<D2);
if ( !(PINB & (1<<S2)) )
PORTB |= 1<<D3 | 1<<D4;
else
PORTB &= ~(1<<D3 | 1<<D4);
}
return 0;
}
'임베디드 > Atmega128' 카테고리의 다른 글
도트매트릭스 8x8 차례대로 켜기 / ㄹ 모양으로 흐르게 하기 (0) | 2020.12.09 |
---|---|
프로테우스 7.0 설정 (아트멜 스튜디오에서 코드 올릴 때) (0) | 2020.12.09 |
74LS47IC (0) | 2020.12.08 |
LED8개 차례대로 켜기 시프트 (0) | 2020.12.07 |
FND (7 segment) (0) | 2020.12.07 |