본문 바로가기
임베디드/Atmega128

201203 프로테우스회로 / 코드리뷰

by sj0020 2020. 12. 3.

201203.DSN
0.08MB

 

위 회로 프로테우스로 작성

 

 

#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;
}